Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Compresión de audio MPEG (página 5)




Enviado por smangiaterra



Partes: 1, 2, 3, 4, 5

La función
SPREADING (esparcir, extender)

Muchos puntos en la descripción del modelo hacen
referencia a la función spreading. Esta se calcula
de la sig. manera:

tmpx=1.05 (j-i)

Donde i es el valor Bark de
la señal a ser extendida (spread) y j es el
valor Bark de la banda a ser extendida dentro de i. Tmpx
es una variable temporal.

x= 8.minimo[ (tmpx-0,5)2 –
2.(tmpx-0,5) , 0 ]

Donde x es una variable temporal y mínimo(a,b)
devuelve el valor más negativo entre a y b.

tmpy = 15,811389 + 7,5.(tmpx+0,474)
– 17,5.[1,0 + (tmpx+0,474)2
]0,5

Donde tmpy es otra variable temporal.

if (tmpy < -100)

Sprdngf(i,j) = 0

else

Sprdngf(i,j) =
10(x+tmpy)/10

end if

Pasos en el cálculo
del umbral

  1. La longitud de desplazamiento (iblen) de las
    muestras nuevas está disponible en cada llamada al
    generador de umbral. El generador de umbral debe almacenar
    1024 muestras iblen y concatenarlas (a esas muestras), para
    reconstruir precisamente 1024 muestras consecutivas de la
    señal de entrada si donde i
    representa el índice tal que 1 < i
    < 1024 para el actual flujo de entrada.

  2. Reconstrucción de 1024
    muestras de la señal de entrada.
  3. Cálculo
    del espectro complejo de la señal de
    entrada.
  1. swi = si * [0.5 – 0.5 (cos
    2p (i – 0.5))]

    1024

    Notar que en layer III una ventana más corta
    puede usarse en caso de que window_switching esté
    activo, con el apropiado centrado de la ventana. (ver
    descripción del codificador Layer III)

  2. Si se enmarca (windowed) con una ventana
    tipo Hann de 1024 puntos. Por ejemplo:
  3. Se calcula la FFT de swi
  4. Se calcula representación polar de la
    transformada donde se obtiene rw y fw que
    representan las componentes de amplitud y fase de la
    transformada de swi, respectivamente.
  1. La magnitud r’ y fase f’, estimadas por
    un cálculo predictivo, son calculadas a partir los 2
    bloques de cálculos de umbral precedentes r y
    f:

    r’w = 2*rw(t-1)
    – rw(t-2) ver que: x(t) =
    x(t-1) + [x(t-1) –
    x(t-2)]

    f’w = 2*fw(t-1)
    – fw(t-2)

    Donde t representa el bloque actual, t-1 apunta al
    bloque de datos previo
    y t-2 indica el bloque de datos anterior a t-1. O sea que el
    valor predicho es igual al anterior más la
    variación (con signo) del valor anterior con su
    predecesor.

  2. Cálculo de
    r y f predichos.

    La medida de impredecibilidad Cw
    es:

    Cw = { [rw
    .cos(fw) – r’w
    .cos(f’w)]2 + [rw
    .sen(fw) – r’w
    .sen(f’w)]2
    }0.5

    rw +
    abs(r’w)

    Sacrificando performance, (calidad),
    esta medición puede ser calculada sobre la
    porción más baja de las líneas de
    frecuencia solamente. Los cálculos se deberían
    extender desde Dc hasta por lo menos 3 KHz o,
    preferentemente, 7 KHz. Un límite superior inferior a
    5.5 KHz puede reducir la performance considerablemente con
    respecto a los tests subjetivos realizados al algoritmo
    de audio. El valor de cw por encima de este
    límite debería ser seteado en 0.3. Mejores
    resultados se obtienen calculando cw hasta los 20
    KHz. La impredecibilidad da, entonces, una idea del error de
    predicción cometido.

  3. Cálculo
    de la medida de impredecibilidad
    cw
  4. Cálculo
    de la Energía e Impredecibilidad en las particiones de
    cálculo de umbral.

La energía de cada partición,
eb es:

Las particiones de cálculo del umbral proveen una
resolución de aproximadamente una línea de FFT o de
1/3 de Bark (lo que resulte más ancho). A bajas
frecuencias, una sola línea de la FFT constituirá
una partición de cálculo. En altas frecuencias,
muchas líneas se combinarán en una sola
partición de cálculo.

Un conjunto de valores de
partición se dan para cada una de las 3 tasas de muestreo en la
tabla D3 ("Calculation Partition Tables"). Estos elementos
de las tablas serán usados para el proceso de
cálculo de umbral. Existen muchos elementos en cada
entrada a la tabla:

  1. El índice de la partición de
    cálculo, b
  2. La línea de frecuencia más baja en la
    partición, w
    lowb
  3. La línea de frecuencia más alta en la
    partición, w
    highb
  4. El valor medio de Bark de la partición,
    bvalb
  5. El límite inferior de SNR en la
    partición que controla los efectos de no-enmascarado de
    estéreo, minvalb
  6. El valor de ruido tonal
    de enmascarado (tone masking noise) (en dB) para la
    partición, TMNb.

El valor más grande de "b",
bmáx, igual al índice más alto,
existe para cada tasa de muestreo.

  1. bmáx

    ecbb = å ebb *
    sprdng(bvalbb,bvalb)

    bb=1

    bmáx

    ctb = å cbb *
    sprdng(bvalbb,bvalb)

    bb=1

    Dado que ctb está ponderado por la
    energía de la señal, éste debe ser
    normalizado a cbb.

    Cbb =
    ctb

    ecbb

    Al mismo tiempo,
    debido a la naturaleza
    no normalizada de la función spreading,
    ecbb debería ser renormalizado y, entonces
    calcular la energía normalizada,
    enb.

    Enb = ecbb *
    rnormb

    Donde el coeficiente de normalización, rnormb
    es:

    bmáx

    Rnormb=[ å
    sprdng(bvalbb,bvalb)
    ]-1

    bb=0

  2. Convolucionar la
    energía particionada y la impredecibilidad con la
    función de Spreading.

    Tbb = -0,299 – 0,43
    loge (cbb)

    Cada tbb está limitado en su rango
    a: 0<tbb<1

  3. Convertir
    cbb a tbb, el índice de
    tonalidad

    NMTb = 5,5 dB para todos los b

    NMTb es el valor del ruido tonal de
    enmascaramiento (en dB) para la partición.

    La relación señal ruido requerida,
    SNRb es:

    SNRb = máximo [
    minvalb , (tbb * TNMb +
    (1-tbb )*NMTb )
    ]

    Donde la función máximo(a,b) retorna
    el valor menos negativo entre a y b.

  4. Cálculo de
    la SNR requerida en cada partición

    La relación de potencia, bcb ,
    es:

    bcb = 10
    -SNRb/10

  5. Cálculo de
    la relación de potencia.

    nbb = enb *
    bcb

  6. Cálculo del
    umbral de energía actual,
    nbb.

    nbw = nbb

    w highb
    – w lowb
    +1

  7. Extender (spread)
    el umbral de energía sobre las líneas de FFT,
    obteniendo nbw.

    thrw = max(nbw ,
    absthrw )

    Los valores de absthrw (en dB) se
    encuentran en la tabla D4 (Absolute Threshold Tables)
    y son relativos al nivel que una señal senoidal de
    amplitud igual a ± 1/2 lsb
    (lest significant bit) tiene en la FFT utilizada para el
    cálculo del umbral. Los
    valores en dB deben ser convertidos en el dominio de la
    energía después de considerar la
    normalización de la FFT actualmente usada.

  8. Incluir los
    umbrales absolutos, obteniendo el umbral de energía de
    audibilidad final, thrw :

    Para Layer III, el control de
    pre-eco tiene lugar en este punto. El control actual se
    describe en la parte de la especificación del
    codificador Layer III. Este paso se omite para los Layers I y
    II.

  9. Control de
    Pre-eco
  10. Cálculo
    de las relaciones señal-máscara,
    SMRn

La tabla D5 "Layer I y II coder partition table"
muestra:

  1. El índice n de la partición del
    codificador.
  2. El índice más bajo w lown de la partición del
    codificador.
  3. El índice más alto w highn de la partición del
    codificador.
  4. El índice de ancho, widthn n donde
    widthn=1 para una banda de factores de escala (SCF
    band) psicoacústicamente angosta. Una banda de factores
    de escala psicoacústicamente angosta es aquella cuyo
    ancho es menor que 1/3 de la banda crítica, aproximadamente.

La energía en el SCF band, epartn
es:

w highn

epartn = å
rw2

w =w lown

Entonces si widthn = 1, el nivel de ruido en
el SCF band, npartn se calcula como:

w highn

npartn = å thrw

w =w lown

sino,

npartn = mínimo [ thrw lown , …….., thrw highn] * [w highn – w lown +1]

Donde en este caso mínimo (a,…,z) es una
función que retorna el argumento positivo más
pequeño de la lista de argumentos a,…,z .

Las relaciones que se enviarán al codificador,
SMRn , se calculan como:

SMRn = 10.log10
epartn

npartn

Modificaciones al modelo
Psicoacústico II para su Uso con Layer
III

Las adaptaciones que se le hacen al modelo
psicoacústico 2
para su utilización con Layer
III son las siguientes:

  • El modelo se calcula 2 veces en paralelo.
  • Un proceso se hace con una longitud de desplazamiento
    (shift length, iblen) de 192 muestras (para ser usados en
    bloques cortos). Para esto, la longitud del bloque de la FFT se
    cambia a 256 y otros parámetros cambian
    acordemente.
  • Otro proceso se calcula con una shift length de 576
    muestras (para bloques largos).
  • Se realizan modificaciones en el cálculo de
    la impredecibilidad métrica
    del modelo
    psicoacústico 2. Estas son:
  • Esta se calcula para las primeras 206 líneas
    espectrales, para las restantes esta se setea en el valor
    0.4.
  • Dentro de las primeras 206 líneas espectrales,
    para las primeras 6 líneas se utiliza una FFT larga
    (longitud de ventana = 1024 shiftlen=576) y,
  • Para las líneas espectrales 6 a 205 se utiliza
    una FFT corta (longitud de ventana=256
    shitlen=192.)

cw_l para 0 <= w < 6

cw(w) = cw_s para 6 <= w <
206

0,4 para w > 206

donde cw_l es la impredecibilidad calculada con
la FFT larga,

cw_s es la impredecibilidad calculada desde
el segundo bloque corto de los tres bloques cortos dentro de
un gránulo

w corresponde al número de
línea espectral.

  • Otros parámetros internos del modelo se
    modifican (la función "spreading" y parámetros de
    conversión de la impredecibilidad).

if j > i

tempy = 3,0 (j-i)

else

tempy = 1,5 (j-i)

end if

Sólo los valores de sprdngf() >
10-6 se utilizan. los valores menores se setean en
0.Además:

conv1= -2,99

conv2= -0,43

  • El valor de NMT (Noise Masking Tone) se establece en
    6db para todas las particiones donde se calcula el
    umbral.
  • El parámetro TMN (Tone Masking Noise) se
    establece en 29 dB para todas las particiones.
  • La entropía psicoacústica se estima
    como la relación thr/eb donde thr es el umbral y eb es
    la energía.

pe = – å [cbwidthk . log
(thrk / (ebk+1) )]

donde k indexa las particiones de cálculo de
umbral y cbwidth es el ancho de la partición de
cálculo de umbral (ver tabla C8)

  • Se modifican constantes en el cálculo de
    pre-ecos. (ver diagrama de
    bloques)

rpelev=2

rpelev2=16

  • El umbral no se extiende (spread) sobre las
    líneas de la FFT. Las particiones donde se calcula el
    umbral son convertidas directamente a SCF bands (bandas de
    factor de escala). Varias particiones conforman un SCF band y
    la 1ra y última de las particiones que conforman un SCF
    band son ponderados con constantes (ver tabla C8). Dicha
    tabla contiene también el número de particiones
    que conforman cada SCF band, excluyendo la primera y la
    última que deben ser ponderadas en forma
    especial.
  • Los parámetros bo y bu
    que se utilizan para la conversión de particiones donde
    se calcula el umbral a SCF bands son incluidos en la Tabla
    C8.
  • Para bloques cortos se utiliza una versión
    simplificada del cálculo del umbral (SNR constante).
    Estas constantes se pueden encontrar en la tabla
    C7.

Figura U.1. Diagrama de bloques del
modelo psicoacústico 2: Cálculo del Umbral
(Parte

Figura U.2. Diagrama de Bloques del
modelo psicoacústico 2 Layer III: Cálculo del
umbral para bloques cortos

8 – Aplicaciones del estándar
MPEG-1.

Generalidades

Ya tenemos una idea medianamente clara de qué es
y cómo funciona, pero ¿para qué sirve
emplear tiempo y dinero en
comprimir el sonido? Ya hemos
visto los diferentes radios de compresión que alcanzan los
tres layers:

El layer-1 obtiene la mayor calidad de sonido a
384 kbps. Las aplicaciones para las que resulta más
útil son las relacionadas con la grabación, tanto
en cinta como disco duro o
discos magneto-ópticos, que aceptan esta tasa de bits sin
problemas.

El layer-2 produce sus mejores resultados de
calidad a 256 kbps, pero se mantiene en un nivel aceptable hasta
los 64 kbps. Esto hace que se utilice en transmisión de
audio, televisión, grabación profesional o
doméstica y productos
multimedia.

Ciertamente, el mejor miembro de la familia es
el layer-3. Para una determinada calidad de sonido ofrece
la menor tasa de bits y viceversa, fijando la tasa de bits ofrece
la mejor calidad posible.   

Resumen de las
características de performance las 3
capas

El layer-3 está orientado a aplicaciones donde la
necesidad de un ancho de banda reducido justifique el costoso y
sofisticado sistema de
codificación. La calidad es excelente hasta
64 kbps, de forma que se utiliza, como veremos ahora con
más detalle, en telecomunicaciones y sistemas de
sonido profesional, así como al nivel de usuario por parte
de aficionados con formación
informática. Los siguientes puntos se complementan con
ejemplos reales de la industria y el
mercado del
audio.

Conexiones musicales
vía ISDN:

Las redes telefónicas
digitales (ISDN = Integrated Services Digital Network) ofrecen
servicios
seguros de
conexión con dos canales de datos de 64 kbps por
adaptador; en otras redes los canales son de 56 kbps, pero en
ambas los costes de transmisión son similares a las
líneas telefónicas tradicionales,
analógicas, que permiten un máximo de 33’6
kbps (vía módem). Con el layer-3 una
conexión de banda estrecha ISDN de bajo coste permite
transmitir sonido con calidad CD. Los
estudios de sonido y estaciones de transmisión se
benefician de la posibilidad de la "música por teléfono" de varias maneras. Se ahorra
dinero, pues sólo se paga el tiempo de transmisión,
a diferencia de la línea telefónica y
únicamente se emplea un pequeño conector ISDN para
cada canal. Los programas pueden
aumentar su atractivo, ofreciendo tomas de alta calidad y
noticias en
directo sin la pérdida de calidad del sonido
telefónico. Aparecen nuevos campos, como el Estudio
Virtual, donde artistas en distintas localidades pueden tocar y
grabar juntos sin necesidad de viajar hasta el estudio en
sí.

  Ejemplos 

  • En 1992, Radio FFN, una
    estación privada de Niedersachsen, Alemania,
    reemplazó sus líneas telefónicas
    tradicionales por conexiones ISDN y codecs layer-3, para
    transmitir 8 programas locales diarios al estudio central. El
    ahorro
    declarado en cuotas de transmisión fue de 300.000 $
    anuales.
  • En uno de los primeros ensayos
    reales de la potencia de este sistema, todas las estaciones de
    radio privadas en Alemania utilizaron codecs layer-3 durante
    los Juegos
    Olímpicos de Invierno en Albertville para conectar
    las diferentes localizaciones del evento con la sede central en
    Meribel, con gran éxito.
  • En varios festivales internacionales de música
    se ha experimentado con éxito en la conexión
    entre lugares muy separados, uniendo a diferentes artistas en
    la interpretación de una obra.

   Transmisión digital por
satélite:

Actualmente se encuentra en plena construcción un sistema de
transmisión de sonido digital a escala mundial por
satélite. El nombre del proyecto es
Worldstar y utilizará tres satélites
en órbita geoestacionaria, llamados AfriStar1 (21 Este),
CaribStar1 (95 Oeste) y AsiaStar1 (105 Este), esperándose
el lanzamiento del primero a mediados del año 1998 y
partiendo los demás en los siguientes doce meses. Cada uno
está equipado con tres canales de conexión que se
pueden multiplexar en hasta 96 subcanales de 16 kbps. Estos son
combinables dinámicamente, de manera que se pueden agrupar
para formar canales de hasta 128 kbps de capacidad, codificados
con el layer-3. Así, se pueden utilizar cuatro subcanales
para formar uno de 64 kbps para transmitir un concierto y al
finalizar, utilizar cada uno de ellos para enviar las noticias en
cuatro idiomas diferentes.

La empresa
responsable del proyecto, Worldspace, ofrece canales en sus tres
satélites y ha firmado acuerdos con Voice of America,
Radio Nederland, Kenia Broadcasting Corporation, National
Broadcasting of Ghana, National Broadcasting of Zimbabwe, New Sky
Media of Korea y RCN of Columbia, sumando en total un
millón de dólares en inversiones.
Alcatel Espace, de Francia, se
encarga tanto de la contratación de la lanzadera como del
equipo de comunicaciones. Los receptores se han
diseñado buscando la máxima simplicidad con los
resultados más efectivos. Se han previsto dos millones de
estas unidades, que apenas requerirán sintonización
y serán totalmente automáticas. El chip principal
de estos sistemas ha sido fabricado por ITT Intermetall con
tecnología
DSP y su nombre es "MAS 3503 C"

Audio en
Internet

Como es sabido, Internet es una red mundial de
conmutación de paquetes con cientos de miles de máquinas
unidas entre sí por medio de varios sistemas de
comunicaciones. Los proveedores
profesionales normalmente acceden a la red a través de
enlaces con un ancho de banda muy elevado (hasta 2 Gbps). El
consumidor
doméstico, sin embargo, utiliza canales de bajo coste y
ancho de banda limitado (ISDN de 64 kbps o conexión
telefónica de 56 kbps). La tasa de transmisión
efectiva varía en función del uso de la parte de la
red accedida, situándose en algún punto entre cero
y la máxima capacidad del módem.

Sin la codificación de audio, obtener ficheros de
audio sin comprimir de un servidor remoto
llevaría a unos tiempos de transmisión simplemente
inaceptables. Por ejemplo, suponiendo que se alcanza la tasa de
28,8 kbps (lo cual es bastante optimista) una pista de CD de
sólo tres minutos tardaría más de dos horas
en recibirse. Por tanto, el audio en Internet exige un método de
codificación que ofrezca la mayor calidad posible a la vez
que permita la decodificación en tiempo real para un
amplio número de plataformas sin necesidad de ampliar el
hardware, aunque
incluya esta posibilidad como elemento de hipotéticas
tarjetas de
ampliación. Por supuesto, la elección es el
layer-3. Hay varios reproductores en tiempo real, como el
Winplay3, que ofrecen el servicio
requerido.

En la práctica, las expectativas se han cumplido
con creces, de tal manera que el fenómeno MP3 está
en plena expansión en la telaraña mundial. Ya hay
innumerables servidores que
ofrecen diferentes piezas en el formato layer-3 (ficheros de
extensión MP3), de los cuales forman parte tanto
aficionados como casas de grabación y grupos
independientes. Además, se incorporan temas en este
formato a las páginas
WEB como elemento para incrementar su atractivo, de forma
similar a como se venía haciendo con el MIDI, salvando la
barrera de las muy inferiores posibilidades de este.

Llegados a este punto, hay que señalar la
importancia de respetar los copyrights a la hora de incluir temas
de música en un servidor, así como al almacenarlos
en disco duro o CD-ROM. La
perspectiva de duplicar la capacidad de los CDs tradicionales
resulta sumamente interesante a la comunidad
informática, y dado el auge de las
grabadoras domésticas puede decirse que el mercado pirata
de CDs conteniendo las discografías al completo de
diversos grupos o compositores es una realidad, sea con
ánimo de lucro o no. El más que previsible auge del
DVD-ROM como
estándar en el futuro cercano no supone sino un
agravamiento del problema.

Las aplicaciones legales que se conocen hasta ahora son,
por ejemplo, las de Opticom y Cerberus Sound. La primera ofrece
soluciones
para que las casas ofrezcan a los clientes audio
por demanda,
enviando los temas seleccionados al ordenador remoto del usuario.
Cerberus se dedica a la comercialización directa de estos temas
como un sistema más de venta electrónica. Asimismo se avanza en el
concepto de
Internet Radio, dado que se obtiene calidad superior a la de la
onda corta con un ancho de banda tan escaso como 16 kbps. Opticom
de nuevo está a la cabeza en este campo, junto a Telos,
compañía que asociada con Apple presentó en
Septiembre del 96 la tecnología Audioactive. Por
último, el gigante Microsoft
anunció en Diciembre de ese mismo año su
intención de incluir el layer-3 como parte de la
tecnología multimedia Netserver.

Tabla 3: rendimiento del esquema-3 para diferentes
calidades requeridas

Llegados a este punto, hay que señalar la
importancia de respetar los copyrights a la hora de incluir temas
de música en un servidor, así como al almacenarlos
en disco duro o CD-ROM. La perspectiva de decuplicar la capacidad
de los CDs tradicionales resulta sumamente interesante a la
comunidad informática, y dado el auge de las grabadoras
domésticas puede decirse que el mercado pirata de CDs
conteniendo las discografías al completo de diversos
grupos o compositores es una realidad, sea con ánimo de
lucro o no. El más que previsible auge del DVD-ROM como
estándar en el futuro cercano no supone sino un
agravamiento del problema.

Las aplicaciones legales que se conocen hasta ahora son,
por ejemplo, las de Opticom y Cerberus Sound. La primera ofrece
soluciones para que las casas ofrezcan a los clientes audio por
demanda, enviando los temas seleccionados al ordenador remoto del
usuario. Cerberus se dedica a la comercialización directa
de estos temas como un sistema más de venta
electrónica. Asimismo se avanza en el concepto de Internet
Radio, dado que se obtiene calidad superior a la de la onda corta
con un ancho de banda tan escaso como 16 kbps. Opticom de nuevo
está a la cabeza en este campo, junto a Telos,
compañía que asociada con Apple presentó en
Septiembre del 96 la tecnología Audioactive. Por
último, el gigante Microsoft anunció en Diciembre
de ese mismo año su intención de incluir el
esquema-3 como parte de la tecnología multimedia
Netserver.

Reproductores
portátiles MP3’s

RIO
MP3

Por precio,
tamaño, peso y comodidad, este pionero del audio digital
portátil se ha convertido en el estándar para
escuchar música "en el camino".

 


La idea del Rio es tan simple como efectiva: ofrecer al usuario
un pequeño depósito de memoria (32 MB,
ampliables a 64 con tarjetas de expansión) para poder llevar a
cualquier parte hasta una hora de música digitalizada. El
usuario extrae en su PC sus canciones preferidas de sus discos
compactos, las convierte en archivos MP3 y
las transfiere al pequeño aparato. Para que esto sea
posible, Rio trae el MusicMatch Jukebox (un software para digitalizar y
reproducir audio en una computadora),
un cable que conecta al reproductor con el puerto
paralelo de la PC y un par de auriculares.

Se puede discutir si el Rio PMP300 de Diamond Multimedia
es el pionero de los reproductores portátiles de MP3. Rio
llegó a las tiendas de los Estados Unidos en
octubre de 1998, y dos meses más tarde comenzó a
comercializarse en la Argentina. Eiger Labs asegura que su MPMan
es anterior. Pero no hay dudas de que Rio es el primero de estos
productos que alcanzó una distribución masiva a nivel mundial, y el
único que, por ahora, puede ser fácilmente
encontrado en los principales negocios de
computación de América
Latina, a tal punto que para muchos usuarios, "Rio" es hoy la
designación genérica de esta clase de
dispositivos.

Es fácil entender por qué. Con el
tamaño y el peso de un mazo de cartas, El Rio es
extremadamente cómodo de llevar y simple de usar. Tiene un
clip para sujetarlo al cinturón, y una cubierta de
plástico que parece razonablemente
resistente frente a los golpes azarosos de la vida cotidiana.
Cuenta con un solo botón para operar las funciones
principales (encendido, reproducción, retroceso, avance, pausa y
apagado) y ocho más (cinco en el frente y tres en la parte
superior) para agregar funcionalidad sin complicar su manejo. Una
sola batería pequeña (tamaño AA) le da entre
10 y 12 horas de energía (aunque el tiempo se reduce
considerablemente cuanto mayor es la calidad del
sonido).

Un pequeño monitor de
cristal líquido ofrece la información imprescindible: volumen, carga de
la batería, duración del tema en ejecución y
grado de compresión del audio. De acuerdo con el grado de
compresión elegido, los 32 MB del Rio pueden contener
entre 35 minutos de música con máxima calidad de
sonido o poco más de una hora con un aceptable nivel de
audio.

El menú tiene lo suficiente para satisfacer al
oyente en movimiento:
reproducción de temas al azar, repetición de un
tema o de toda la lista de canciones, cuatro modos de
ecualización preconfigurados (normal, classic, jazz y
rock) y un
modo de audición "intro", que ejecuta sólo los diez
primeros segundos de cada tema.

Rio parece haber establecido un estándar en el
diseño
de este tipo de productos: sus competidores siempre tratan de
ofrecer más que él, pero no dejan de lado casi
ninguna de sus características. Algunos traen radio, otros
pueden reproducir casetes; algunos incluyen un grabador de voz,
mientras que otros ofrecen medios
removibles (como disquetes o discos Clik!, de Iomega) para pasar
los archivos de la PC al reproductor. Frente a la abundancia de
recursos, la
gente de Diamond ha apostado a mantener la ligereza y la
elegancia de su Rio como una marca de
fábrica. El último modelo de la serie, el Rio
PMP300 Special Edition (SE), sólo agrega el doble de
memoria inicial y una cubierta más colorida.

Otro parámetro que el Rio ha fijado es el precio
de esta familia de
productos: con su modelo básico a unos 200 dólares
en los Estados Unidos y algo más de 300 en América
Latina (El Sitio lo comercializa en la Argentina a 334
dólares), los que salen a hacerle frente están
desafiados a mantenerse el valor de sus aparatos dentro de esa
franja.

Rio PMP300
Reproductor portátil de archivos de audio en formato
MP3

  • Memoria interna: 32 MB (ampliable a 48 ó
    64).
  • Tamaño (cm): 5,6 x 1,78 x 8,13
  • Peso (sin batería): 76 gramos.
  • Accesorios: cable paralelo para conectar a la PC,
    auriculares, CD con software.
  • Tasa de transferencia de archivos: 10 segundos por
    MB.
  • Capacidad: 35 minutos de audio de máxima
    calidad, 65 minutos de calidad estándar.
  • Tipo de batería requerida: una alcalina,
    AA.
  • Garantía básica: un
    año.
  • Requisitos: PC con Windows 95
    ó 98 y 16 MB (mínimo) de RAM.

MPMan

Otro nuevo producto es el
MPMan, un reproductor de la empresa coreana Saehan
Electronics, que no sólo almacena archivos MP3, sino que
también sirve para guardar información que
esté en formatos doc, gif, txt, bmp, wav y otros. Existen
cinco modelos
distintos, en un pequeño tamaño que permite
guardarlo en el bolsillo de la camisa o del
pantalón.

Yepp
Presentado como el más pequeño reproductor de audio
de MP3, el Yepp es la última novedad salida de los
laboratorios de la empresa
surcoreana Samsung. Permite reproducir no sólo archivos
MP3, sino también los archivos musicales que tienen la
extensión wav, además de otros archivos gráficos o de texto. El
aparato tiene un tamaño similar al de una tarjeta de
crédito
(58 x 85 x 17 milímetros), y puede almacenar unos 40 MB, o
sea aproximadamente 10 canciones de 4 minutos cada una. El
usuario también tiene la posibilidad de editar los
archivos que se bajan de la Internet, para escuchar de esa manera
sólo aquello que realmente le interesa. El Yepp trae,
además, una pequeña pantalla de cristal
líquido en donde indica el nombre de la canción que
está siendo reproducida, el nombre del artista y el tiempo
de duración. Durante la canción, incluso, las
letras pueden aparecer en la pantalla. Existen dos modelos, uno
de los cuales permite también grabar sonidos externos,
como por ejemplo de radio FM, discos compactos, voz o
conferencias.

Autos con sonido digital

Uno de los que se presentarán en el mercado es el
Empeg-car, un producto que permitirá acceder en
forma inmediata a más de 500 álbumes, con
una calidad similar a los compact discs. A la vez,
combinará la tecnología digital estéreo con
el sistema operativo Linux, lo que
permitirá mostrar los distintos archivos como si fueran un
sintonizador de radio. De esa manera, se podrá elegir
entre los distintos archivos al igual que hoy en día se
eligen las distintas frecuencias de AM o FM. Este producto
estará disponible el año que viene, y
costará unos 950 dólares.

9 – Temas Relacionados

Códigos binarios
para audio.

Para el uso en audio, el principal propósito de
los números binarios es expresar el valor de las muestras,
las que representan la forma de onda analógica de la
amplitud del sonido. Existen un número fijo de bits en las
muestras, los que determinan el rango de variación de la
señal digitalizada. En un código
de 16 bits existen 65536 diferentes números. Cada
número representa un diferente voltage analógico de
la señal, por lo que debe tenerse cuidado durante la
conversión para asegurar que la señal no se excede
del rango del conversor, sino ésta se
truncará.

En la figura se observa que el rango varía entre
0000 y FFFF (en hexadecimal), donde 0000h representa el valor
más negativo mientras que 7FFFh el menor valor negativo.
Por otra parte 8000h será el menor valor positivo y FFFFh
el mayor valor positivo que puede asumir la
señal

Figura 9.1.

digitalizada. Efectivamente, el rango numérico
del conversor ha sido desplazado de manera que tanto los valores
positivos como negativos de la verdadera señal de audio
pueden se expresados por números binarios. Esto es
denominado offset binario y resulta perfectamente aceptable
cuando la señal se digitalizada para grabación o
transmisión de un lugar a otro, tras los cual se
convertirá nuevamente en señal analógica.
Observar que invirtiendo el bit más significativo se
transforma en una codificación binaria con complemento a
dos.

Transformada Discreta del
Coseno

La DCT (Discrete Cosine Transform) es un caso especial
de la transformada discreta de Fourier en la que se han eliminado
los componentes senoidales de los coeficientes dejando una sola
componente cosenoidal. Esto resulta en la práctica
bastante fácil.

Figura 9.2

La figura 9.2 [a] muestra un bloque de muestras de
entrada al proceso de transformación. Espejando las
muestras de entrada respecto a las ordenadas y aplicando la
transformada discreta de Fourier sobre el bloque de doble
longitud que el original se obtiene un set de muestras de la DCT.
El efecto del espejado de las muestras de entrada es transformar
el bloque en una función par en la que los coeficientes
con senos son todos ceros. Este efecto se puede visualizar en la
figura 9.2 (b). En la práctica, el calculo de los
componentes senoidales no se realiza . Otra ventaja es que
duplicando la longitud del bloque (al espejarlo) se duplica la
resolución en frecuencia por los que se obtiene el doble
de los coeficientes. En realidad, la DCT produce tantos
coeficientes útiles como muestras de entrada. Por otra
parte, cuando se realiza el proceso inverso de la transformada,
el bloque espejado se descarta obteniéndose el
original.

En MPEG-1 layer III se utiliza la Transformada Discreta
del Coseno Modificada (MDCT). Esta consiste en utilizar una DCT
en bloque que se solapan con un 50% de solapamiento. Esto genera
el doble de los coeficientes dado que cada muestra aparece en dos
subbloques. Luego se submuestrea para obtener un muestreo
crítico, lo que resulta en un potencial solapamiento
(aliasing) en el dominio frecuencial.

De todas formas, el solapamiento producido al
transformarse el bloque (vía MDCT) se puede cancelar al
realizarse la transformación inversa (IMDCT), dado que los
productos de alias de la segunda mitad de un bloque transformado
son de igual magnitud pero de polaridad inversa a los de la
primera mitad del bloque contiguo. Esto puede verse en la figura
9.3.

Filtros
digitales

Principios
Esenciales

El proceso de filtrado es inseparable del audio digital.
Se necesitan filtros analógicos o digitales y, en
ocasiones, ambos- en los ADC, DAC, en los canales de datos de los
grabadores digitales y en los sistemas de transmisión,
así como en los conversores y ecualizadores de la
frecuencia de muestreo. La diferencia principal entre los filtros
analógicos y los digitales es que, en el dominio digital,
pueden construirse arquitecturas muy complejas a bajo costo en LSI y
que los cálculos aritméticos no están
sujetos a la tolerancia o las
variaciones de los componentes.

El filtrado puede modificar la respuesta en frecuencia
de un sistema y/o la respuesta de fase. Toda combinación
entre la respuesta en frecuencia y la de fase determina la
respuesta impulsiva en el dominio temporal. La siguiente figura
se muestra que la comprobación de la respuesta impulsiva
nos puede decir mucho sobre un filtro. En un filtro perfecto,
todas las frecuencias deben experimentar el mismo retardo
temporal. Dado que un impulso contiene un espectro infinito, un
filtro que presente un error de retardo de grupo
separará las distintas frecuencias de un impulso a lo
largo del eje temporal.

Un retardo puro provoca un desplazamiento de fase
proporcional a la frecuencia, y un filtro que presente esta
característica se dice que es de fase lineal. La respuesta
impulsiva de un filtro de fase lineal es simétrica. Si un
filtro presenta un error de retardo de grupo, no podrá ser
de fase lineal. Es prácticamente imposible fabricar un
filtro analógico con una fase lineal perfecta, por lo que
muchos filtros van seguidos de una etapa de ecualización
de retardo de grupo que, a menudo, es igual de compleja que el
propio filtro. En el dominio digital, es fácil realizar un
filtro de fase lineal, por lo que la ecualización de fase
no es necesaria.

Debido a la naturaleza muestreada de la señal,
cualquiera que sea la respuesta a bajas Frecuencias, todos los
canales digitales (así como los canales analógicos
muestreados) funcionan como filtros pasa-bajo de corte en el
límite de Nyquist o a la mitad de la frecuencia de
muestreo.

La figura 9.5 (a) se muestra una sencilla red RC y su
respuesta impulsiva. Se trata de la caída exponencial tan
familiar que se produce debido a la descarga del condensador a
través de la resistencia (en
serie con la impedancia de la fuente que aquí se considera
despreciable). La figura también muestra la respuesta a
una onda cuadrada en la figura 9.5(b). Estas respuestas pueden
calcularse porque las entradas implicadas son relativamente
sencillas. Cuando la forma de onda de entrada y la respuesta
impulsiva son funciones complejas, esta configuración es
prácticamente imposible.

En cualquier filtro, la forma de onda de salida en el
dominio temporal representa la convolución de la repuesta
impulsiva con la forma de onda de entrada. El impulso y la
entrada son un conjunto de muestras discretas que, evidentemente,
deben tener el mismo espaciamiento de muestreo.

La respuesta impulsiva sólo tiene valor donde
coinciden los impulsos; en los demás lugares es cero. Por
tanto, la respuesta impulsiva es escalonada a través de la
señal de entrada a razón de un período de
muestra cada vez. En cada escalón, el área sigue
siendo proporcional a la salida, pero como los escalones de
tiempo tienen una anchura uniforme, el área es
proporcional a la altura del impulso y, de esta manera se obtiene
la salida sumando las longitudes solapadas. En términos
matemáticos, las muestras de salida representan la
convolución de la entrada y la respuesta impulsiva sumando
los productos coincidentes.

Dado que un filtro digital funciona de esta forma,
quizás no se trate de un filtro, sino de una simulación
matemática
de un filtro analógico. Este sistema es bastante
útil para visualizar el funcionamiento de un filtro
digital.

Entre el filtro analógico y el digital, se
encuentra el filtro con condensador conmutado. Éste emplea
magnitudes analógicas, esto es, las cargas de los condensadores,
pero el eje temporal es discreto debido a que las diferentes
cargas son direccionadas mediante conmutadores
electrónicos que se cierran durante varias fases del reloj
de frecuencia de muestreo. Los filtros con condensadores
conmutados presentan las mismas características que los
filtros digitales con una precisión infinita. Se suelen
utilizar en lugar de los filtros analógicos de tiempo
continuo en conversores con circuitos
integrados ya que pueden implementarse empleando las mismas
técnicas de integración.

Figura 9.6

Las
Transformadas

El proceso de convolución es demasiado extenso
para representarlo sobre papel.

Es mucho más fácil trabajar en el dominio
de la frecuencia. La figura superior se muestra que si una
señal con un espectro, o un contenido de frecuencia
a pasa por un filtro de respuesta en frecuencia
b, el resultado será un espectro de salida
que es simplemente el producto de ambos. Si se representan las
respuestas en frecuencia en escalas logarítmicas (esto es,
calibradas en decibelios), ambas pueden sumarse simplemente ya
que la suma de logaritmos es lo mismo que su producto. La
multiplicación de los espectros de las respuestas es un
proceso mucho más simple que la
convolución.

Para poder pasar al dominio de la frecuencia o del
espectro desde el dominio temporal o de la forma de onda, es
necesario utilizar la transformada de Fourier o, en sistemas
muestreados, la transformada discreta de Fourier (DFT). El
análisis de Fourier sostiene que cualquier
forma de onda puede ser reproducida sumando un número
arbitrario de ondas senoidales
relacionadas armónicamente con distintas amplitudes y
fases.

La figura 9.7 muestra el modo de poder conseguir una
onda cuadrada con armónicos. El espectro puede obtenerse
trazando gráficamente la amplitud de los armónicos
con relación a la frecuencia. Como puede verse, se obtiene
un espectro que es una onda de caída, que pasa por el cero
en todos los múltiplos pares de la fundamental. La forma
del espectro es una curva senoidal x/x. Si una onda cuadrada
tiene un espectro (sen x)/x, se deduce que un filtro con una
respuesta impulsiva rectangular tiene un espectro (sen
x)/x.

Un filtro pasa-bajo tiene un espectro rectangular y
éste tiene una respuesta impulsiva (sen x)/x. Estas
características se conocen como par de transformada. En
los pares de transformada, si un dominio tiene una forma del par,
el otro dominio tendrá la otra forma. Así, una onda
cuadrada tiene un espectro (sen x)/x y un impulso (sen x)/x tiene
un espectro cuadrado. Un impulso de dominio temporal de una
duración infinitamente corta presenta un espectro plano.
Así, una forma de onda plana, es decir, la CC, sólo
tiene cero en su espectro. Curiosamente, la transformada de una
respuesta gaussiana sigue siendo gaussiana. La respuesta
impulsiva de la óptica
de un disco láser
tiene una función (sen x)2/x2, y
esto es responsable de la respuesta en frecuencia descendente
triangular del lector láser.

Comparación
entre Filtros FIR Y Filtros IIR

Los filtros pueden clasificarse dentro de dos grupos
principales, de acuerdo con la naturaleza de la respuesta
impulsiva. Los filtros con respuesta impulsiva finita (FIR,
finite-impulse response) siempre son estables y, como su nombre
indica, responden una sola vez a un impulso, ya que tienen
únicamente un camino directo. En el dominio temporal, el
tiempo en el que un filtro responde a una entrada es finito, fijo
y bien establecido. Lo mismo ocurre, por tanto, con la distancia
en la que un filtro FIR responde dentro del dominio espacial. Los
filtros FIR pueden hacerse perfectamente lineales en fase si es
necesario. La mayoría de los filtros empleados para la
conversión de la frecuencia de muestreo y. para el
sobremuestreo entran dentro de esta categoría.

Los filtros de respuesta impulsiva infinita (IIR,
infinite-impulse response) responden a un impulso de manera
indefinida y no son necesariamente estables, ya que tienen un
camino de retorno de la salida a la entrada. Por esta
razón, se les denominan también filtros recursivos.
Dado que la respuesta impulsiva no es simétrica, los
filtros IIR no son de fase lineal. Los reverberadores y los
ecualizadores digitales utilizan filtros recursivos.

Un filtro FIR funciona reconstruyendo
gráficamente la respuesta impulsiva de cada muestra de
entrada. Es necesario establecer primero la respuesta impulsiva
correcta.

En la figura 9.8(a) muestra el ejemplo de un filtro
pasa-bajo que corta a un cuarto de la frecuencia de muestreo. La
respuesta impulsiva de un filtro pasa-bajo perfecto es una curva
sen x/x, en la que el tiempo entre los dos puntos centrales de
paso por el cero es el recíproco de la frecuencia de
corte.

De acuerdo con las matemáticas, la forma de onda siempre ha
existido y seguirá existiendo siempre. El valor de pico de
la salida coincide con el impulso de entrada. Esto significa que
el filtro no es causal, debido a que la salida ha cambiado antes
de que se conociera la entrada. Por tanto, en todas las
aplicaciones prácticas es necesario truncar los extremos
de la respuesta impulsiva, lo que provoca un efecto de apertura,
así como introducir en el filtro un retardo de tiempo
igual a la mitad de la duración del impulso truncado para
hacer que el filtro sea causal.

En la figura 9.8(b), un impulso de entrada es desplazado
a través de la serie de registros,
creándose así la respuesta impulsiva, ya que en
cada punto es multiplicada por un coeficiente, como ocurre en la
figura 9.8(c).

Estos coeficientes son simplemente el resultado de
muestrear y cuantificar la respuesta impulsiva deseada.
Evidentemente, la frecuencia de muestreo empleada para muestrear
el impulso debe ser la misma que la frecuencia de muestreo para
la que está siendo diseñado el filtro. En la
práctica, se calculan los coeficientes en lugar de
intentar muestrear una respuesta impulsiva real. La longitud de
palabra del coeficiente será un compromiso entre el costo
y las prestaciones.
Debido a que la muestra de entrada se desplaza por los registros
del sistema para crear el perfil de la respuesta impulsiva, a
esta configuración también se la conoce como filtro
transversal. En funcionamiento con cadenas de muestras reales,
habrá en todo momento valores de muestra consecutivos en
los registros del filtro con el fin de convolucionar la entrada
con la respuesta impulsiva.

Si simplemente se trunca la respuesta impulsiva, se
produce una transición abrupta de las muestras de entrada
que interesan y de aquéllas que no. El truncamiento del
filtro superpone un perfil rectangular a la respuesta impulsiva
en el dominio temporal. En el dominio de la frecuencia, el perfil
rectangular se transforma en una curva característica sen
x/x que se superpone a la respuesta en frecuencia deseada en
forma de rizado. Una de las consecuencias que esto trae se conoce
como el fenómeno de Gibb: la tendencia que tiene la
respuesta a alcanzar el valor de pico justo antes de la
frecuencia de corte. Como resultado, la longitud del impulso que
debe considerarse dependerá no sólo de la respuesta
en frecuencia, sino también de la cantidad de rizado que
puede tolerarse. Si el período relevante del impulso se
mide en períodos de muestra, el resultado será el
número de puntos o de multiplicaciones que son necesarios
en el filtro. En la figura 9.9 se compara el rendimiento de
varios filtros con diferentes números de puntos. Un filtro
FIR para audio digital típico puede llegar a necesitar
hasta 96 puntos.

En lugar de simplemente truncar en tiempo la respuesta
impulsiva, es mejor realizar una transición suave entre
las muestras que no cuentan y las que sí
cuentan.

Esto puede realizarse multiplicando los coeficientes del
filtro por una función ventana que presente su valor de
pico en el centro del impulso.

En el ejemplo de la figura 9.10, el filtro paso bajo de
la figura anterior aparece con una ventana Bartlett. Un valor de
rizado aceptable determina el número de períodos de
muestra significativos que abarca el impulso. Esto determina a su
vez el número de puntos en el filtro y el retardo del
mismo. En este ejemplo, el número de puntos es mucho menor
de lo que sería normal en una aplicación de audio.
Como el impulso es simétrico, el retardo será la
mitad del período del impulso. La respuesta impulsiva es
una función sen x/x, que ha sido calculada en la figura.
La respuesta sen x/x se multiplica después por la
función ventana para obtener una respuesta impulsiva a
través de la ventana. Si los coeficientes no se
cuantifican con suficiente exactitud, será como si se
hubiesen calculado sin precisión, y el rendimiento del
filtro será menor de lo esperado. La Figura 9.11 muestra
un ejemplo de coeficientes de cuantificación. De manera
inversa, si se eleva la longitud de palabra de los coeficientes,
aumentará el costo.

La respuesta en frecuencia del filtro puede variarse a
voluntad modificando los coeficientes. Un filtro programable
sólo requiere una serie de memorias PROM
que proporcionen los coeficientes; la dirección suministrada a las PROM
seleccionará la respuesta. También variará
la respuesta en frecuencia de un filtro digital si se modifica la
frecuencia de reloj; así que, a menudo, resulta menos
ambiguo especificar una frecuencia de interés en
un filtro digital en términos de una fracción del
intervalo fundamental en lugar de hacerlo en términos
absolutos. La configuración mostrada en la figura 9.8
sirve como ilustración de este principio. Las unidades
empleadas en los diagramas son
períodos de muestra y la respuesta es proporcional a estos
períodos o espaciamientos, por tanto, no es necesario
emplear cifras reales.

En la figura 9.12 se muestra un filtro FIR que ha sido
adaptado con el propósito de simular una red RC. Dado que una red
RC es causal, es decir, la salida no puede aparecer antes que la
entrada, la respuesta impulsiva es asimétrica y representa
una caída exponencial, como se muestra en la figura
9.10(a). La asimetría de la respuesta impulsiva confirma
el resultado esperado de que este filtro no es lineal en fase. La
implementación del filtro es exactamente igual que los
ejemplos ofrecidos anteriormente; únicamente se han
modificado los coeficientes. La simulación de las redes RC
es algo muy común en el audio digital con fines de
ecualización o de control de tono. Se requiere un gran
número de puntos en un filtro FIR para crear las
caídas exponenciales necesarias, pero el filtro FIR
presenta aquí un inconveniente, ya que una caída
exponencial puede calcularse como si cada muestra de salida fuera
una proporción fija de la anterior. En la figura 9.12(b)
se muestra una configuración de hardware mucho más
sencilla, en la que la salida es devuelta de forma atenuada a la
entrada. La respuesta de este circuito a una sola muestra
seña una serie de muestras decrecientes, en las que la
frecuencia de caída está controlada por la ganancia
del multiplicador. Si la ganancia es igual a la unidad, la salida
puede continuar indefinidamente. Por esta razón, la
configuración se conoce como filtro de respuesta impulsiva
infinita (IIR). Si la ganancia del multiplicador es algo mayor
que la unidad, la salida se incrementará exponencialmente
después de una sola entrada distinta de cero hasta
alcanzar el límite del rango numérico. A diferencia
de los filtros FIR, los IIR no son necesariamente estables. Los
filtros FIR son fáciles de comprender, pero
difíciles de realizar en aplicaciones de audio; los
filtros IIR son fáciles de hacer, dado que se necesita
menos hardware, pero son más difíciles de
comprender.

Un aspecto que hay que tener muy en cuenta a la hora de
tener que emplear técnicas recursivas es que la exactitud
de los coeficientes debe ser mucho mayor. Esto es así
debido a que una respuesta impulsiva se crea haciendo que cada
salida sea una fracción de la anterior, por lo que un
pequeño error en el coeficiente se conviene en un gran
error tras varias recursiones. Este error entre lo que se desea y
lo que se obtiene tras haber utilizado coeficientes truncados
puede ser razón suficiente para que un filtro real sea
inestable, aunque el modelo teórico no lo sea.

Los términos retardo de fase y adelanto de fase
se emplean para describir características de los circuitos
analógicos, y pueden aplicarse también a circuitos
digitales.

Codificación
Huffman

Generalidades

La compresión Huffman se basa en la
sustitución de cadenas de caracteres por códigos
que ocupan menos espacio (generalmente binarios). Como la
mayoría de métodos de
compresión, busca las cadenas de datos que se repitan
más veces en una secuencia: cuanto mayores sean estas
cadenas y más veces se repitan mayor será el grado
de compresión, pero por lo general esto no ocurre
así. Estadísticamente está comprobado que
las cadenas grandes casi no se repiten dentro de una secuencia de
datos. Es más probable encontrar cadenas pequeñas
que se repitan.

Una razón para utilizar el codificador de Huffman
es que es fácil de implementar en hardware. Para comprimir
los símbolos de los datos, el codificador de
Huffman crea códigos más cortos para
símbolos que se repiten frecuentemente y códigos
más largos para símbolos que ocurren
ocasionalmente.

Ejemplo

Por ejemplo, vamos a codificar un fragmento de la
canción que interpreta Michael Jackson: Bad
®

Because I'm bad, I'm bad — come on

Bad, bad– really, really bad

You know I'm bad, I'm bad–

you know it

Bad, bad– really, really bad

You know I'm bad, I'm bad– come on, you know

Bad, bad– really, really bad

El primer paso para crear el código de Huffman es
la creación de una tabla que asigne un valor de frecuencia
a cada frase. En la letra de la canción, se ignoran las
mayúsculas. Se muestra lo antes mencionado en la tabla
3-1.

Figura 9.13 Frecuencia de repetición de las
palabras en la canción Bad®

Inicialmente se designan los símbolos, como los
nodos formados por la unión de una hoja y la rama de un
árbol. Ahora empezando por los dos nodos de menor peso,
agregue el par de menor valor en un nuevo nodo. Por ejemplo, en
la carta de
frecuencia de arriba, Because e it serán agregados
primero. Repita este proceso para una nueva serie hasta que la
serie de símbolos este representado por un sólo
nodo. El resultado se muestra en la figura 3-9.

Figura 9.14 Diagrama de árbol
para la canción Bad®

Un código de Huffman puede ser
generado para cada símbolo mediante la asignación
de un dígito binario para cada rama. Vamos a asignar el
dígito binario 1 para cada rama del lado izquierdo y el
dígito binario cero para cada rama del lado derecho. El
código de símbolos es generado siguiendo el
patrón de ramificaciones desde el nodo superior al
símbolo del nodo de la hoja. Para el caso de la palabra
bad, el código de Huffman es 1, y para la palabra I'm el
código de Huffman es 011. Una tabla con los valores
correspondientes a cada palabra se muestra a
continuación.

Figura 9.15 Código de Huffman para las
palabras en la canción Bad®

Para decodificar una cadena de bits, inicie desde el
nodo superior, y sígala hacia la ramificación
izquierda o derecha dependiendo del valor tomado por la cadena de
bits; continúe hasta que un nodo de hoja es alcanzado. El
símbolo decodificado es el símbolo asociado con esa
hoja.

En el ejemplo de arriba los primeros bits en la cadena
de bits de salida son, (se insertaron barras para conveniencia
del lector).

00001-011-1-011-1-…

La eficiencia de
nuestro código puede ser calculado comparando el
número de bits requeridos para realizar la letra de la
canción. Para el código de Huffman arriba, la
longitud de 15(1) + 16(3) + 2(4) + 2(5) = 81 bits. En
comparación, para un código de 3 bits, la longitud
es de 35(3) = 105 bits; y para un código ideal de 7
símbolos la longitud es de 35(log27) = 98.3 bits. El
código de Huffman comprime la letra en cerca de 20 por
ciento, pero esta figura no incluye el costo de transmitir la
tabla inicial del código de Huffman al
decodificador.

10 Glosario

Adapatative bit allocation: La
asignación de bits a las subbandas de manera variable en
tiempo y frecuencia, de acuerdo al modelo
psicoacústico.

Adapatative noise allocation: Es la
asignación del ruido de codificación a las bandas
de frecuencias de manera variable en tiempo y frecuencia de
acuerdo al modelo psicoacústico.

Alias: componente de señal espejada
proveniente del muestreo con una tasa debajo de la de
Nyquist.

Análisis Filterbank: Banco de filtros
del codificador que transforma una señal de audio PCM de
banda ancha en
un conjunto de muestras de subbandas submuestreadas.

Audio Access Unit:
Para los Layers I y II una unidad de acceso de audio se define
como la parte más pequeña del bitstream codificado
que puede ser decodificado por sí mismo, donde
decodificado significa: sonido completamente
reconstruido.

Para Layer III una unidad de acceso de audio representa
la parte del bitstream que es decodificable con el uso de la
información principal (main information) previamente
adquirida.

Audio sequence: Series de tramas de audio
NO interrumpidas en la que los siguientes parámetros no
cambian:

  • ID.
  • Layer
  • Frecuencia de Muestreo
  • Para Layers I y II: Indice de bitrate

Bark: Unidad de banda crítica. La
escala Bark es un mapeo en la escala de frecuencias dentro del
rango de audio que se corresponde de manera más cercana
con la selectividad de frecuencias del oído
humano sobre la banda audible.

Bitrate: La tasa a la cual el bitstream
comprimido es entregado desde el medio de almacenamiento a
la entrada del decodificador.

Bound: La subbanda más baja a
partir de la cual se utiliza la codificación de
estéreo intenso.

Coded audio bitstream: Es una
representación codificada de una señal de audio
como la especificada en la norma ISO
11172/3.

Critical band rate: Función
psicoacústica de la frecuencia. A una dada frecuencia
audible, ésta es proporcional al número de bandas
críticas por debajo de esa frecuencia. La unidad de una
banda crítica es el BARK.

Critical band: Es una medida
psicoacústica en el dominio espectral la que se
corresponde con la selectividad en frecuencia del oído
humano. Esta selectividad se expresa en BARK.

Dual Channel Mode: Es un modo donde dos
canales de audio con contenidos de programación independiente (por ejemplo:
distintos idiomas) son codificados dentro de un bitstream. El
proceso de codificación es el mismo que para el modo
estéreo.

Emphasis: Filtrado aplicado a la
señal de audio antes del almacenamiento o
transmisión para mejorar la relación señal
ruido en altas frecuencias.

Encoding Process: Proceso, no especificado
en la Norma ISO 11172, que lee una secuencia de entrada de
muestras de audio y produce un bitstream codificado válido
a la salida como se especifica en al norma.

FFT: Transformada rápida de
Fourier.

Filterbank: Es un conjunto de filtros
pasabandas que cubren el rango entero de audio.

Fixed segmentation: Es una
subdivisión de la representación digital de una
señal de audio en intervalos fijos de tiempo.

Forbidden: Indica que un determinado valor
(al que se le aplica este término) nunca será
usado. En general es para evitar similitudes con palabras
utilizadas para sincronismo.

Free format: Cualquier bitrate distinto a
los definidos que es menor que el máximo bitrate de cada
layer.

Gránulos (Layer II): Es un conjunto
de 3 muestras de subbandas consecutivas (de las 32 subbandas) que
se consideran juntas antes de la cuantificación.
Corresponden a 36 muestras PCM.

Gránulos (Layer III): 576
líneas de frecuencias que llevan su propia
información lateral (side information).

Hann Window: Es una función
temporal que se aplica "muestra por muestra" a un bloque de
muestras de audio antes de la transformada de Fourier.

Huffman Codding: En método
específico de codificación
entrópica.

Hibrid Filterbank: Es una
combinación de un filtro subbanda y la MDCT (Modified
Discrete Cosine Transform).

IMDCT: Inversa de la transformada
modificada discreta del coseno.

Intensity Stereo: Es un método para
explotar la irrelevancia y la redundancia en señales
de audio estereofónicas basado en conservar solamente la
energía de la envolvente de los canales derecho e
izquierdo en altas frecuencias.

Joint Stereo Coding: Es un método
que explota la irrelevancia o redundancia
estereofónica

Layer :Uno de los niveles en la
jerarquía de codificación del sistema de audio
definido en la ISO/IEC 11172.

Mapping: Conversión de una
señal de audio del dominio tiempo al dominio frecuencia
por medio del filtrado subbanda y/o MDCT.

Masking: Enmascarado. Propiedad del
sistema de audición humana por la cual una señal de
audio no es percibida en presencia de otra señal de
audio.

Masking Threshold: Una función del
tiempo y la frecuencia debajo de la cual una señal de
audio no puede ser percibida por el sistema de audición
humana.

MDCT: Transformada Discreta del Coseno
Modificada.

MS stereo: Es un método para
explotar la irrelevancia o redundancia en señales de audio
estereofónicas basada en codificar la suma y diferencias
de canales en vez de los canales derecho e izquierdo.

Non tonal Component: Componente de tipo
ruido de una señal de audio.

Padding: Relleno. Es un método para
ajustar la longitud promedio en el tiempo de una trama de audio a
la duración de las muestras de audio PCM correspondientes,
por medio de agregar, condicionalmente, un slot a la trama de
audio.

Polyphase filterbank: Es un conjunto de
filtros pasabandas de idéntico ancho de banda con una
interrelación de fase especial, que permite un
implementación eficiente del banco de filtros.

Psicoacústic Model: Es un modelo
matemático del comportamiento
de enmascaramiento del sistema de audición
humano.

Requantization: recuantificación.
Decodificación de las muestras de subbandas codificadas de
manera de recuperar los valores cuantificados
originalmente.

Scalefactor Band: Es un conjunto de
líneas de frecuencia en Layer III que son escaladas por un
factor de escala.

Scalefactor Index: Código
numérico que se asigna a un scalefactor.

Side Information: Información del
bitstream necesario para el control del decodificador.

Slot: El slot es una parte elemental del
bitstream. En Layer I consiste de 4 bytes y en layers II y III de
1 byte.

Spreading function: Es una función
que describe la propagación en frecuencia de la
máscara.

Stereo Mode: Es un modo donde dos canales
de audio, que forman un par estéreo, izquierdo y derecho,
son codificados dentro de un bitstream. El proceso de
codificación es el mismo que para el modo de doble
canal.

Stuffing (bits), Stuffing (bytes): bits o
bytes que se incluyen en el bistream comprimido que son
descartados en el proceso de decodificación. Su
función es incrementar la tasa de bits del
bitstream.

Subband: Subdivisión de la banda de
frecuencias de audio.

Subband filterbank: Es un conjunto de
filtros de banda que cubren el rango completo de frecuencias de
audio. En norma ISO/IEC 11172 el banco de filtros subbanda es un
banco de filtros polifásicos.

Subband Samples: El banco de filtros
dentro del codificador de audio genera una representación
filtrada y submuestreada del conjunto de muestras de audio de la
entrada. Estas muestras filtradas se denominan muestras de
subbanda. Por cada 384 muestras consecutivas en el tiempo se
generan 12 muestras de subbanda consecutivas (en el tiempo) en
cada una de las 32 subbandas (384/32=12).

Syncword: Palabra código de 12 bits
en el bitstream de audio que identifica el comienzo de una
trama.

Synthesis Filterbank: Banco de filtros en
el decodificador que reconstruye la señal de audio PCM a
partir de las muestras de subbanda.

Triplet: Es un conjunto de 3 muestras
consecutivas de una subbanda. Un triplet de cada una de las 32
subbandas conforma un gránulo.

Tonal Component: Una componente de la
señal de audio asimilable a una senoide (y no a un
ruido).

Variable length coding: Es un procedimiento
reversible para la codificación que asigna códigos
más cortos a los eventos
más frecuentes y códigos más largos a los
menos frecuentes.

Mnemónicos

Bslbf: bit string, left bit first. Cadena
de bits, el bit izquierdo primero (forma en que se escriben las
cadenas de bits en la norma ISO/IEC 11172.

Ch: Canal. Si su valor es 0, indica el
canal izquierdo de una señal estéreo o el primero
de una señal de 2 canales independientes.

Gr: Gránulo de 3×32 muestras de
subbanda en Layer II o 18×32 muestras de subbanda en Layer
III.

Main_data: parte de la porción del
bitstream de audio que contiene los Scalefactors, datos
codificados con Huffman e información auxiliar
(ancillary).

Main_data_beg: Es la ubicación en
la trama del comienzo de Main_data. Esta ubicación
corresponde al final de Main_data de la trama anterior más
1 bit. Esta se calcula a partir de main_data_end de la trama
previa.

Part2_length : representa el número
de bits de main_data utilizado para los SCF.

Rpchof: coeficientes polinomiales
remanentes, el orden más alto primero.

Sblimit: Es el número de la
subbanda más baja en la cual no se asignan
bits.

SCF: Factor(es) de
escala.(SCaleFactor)

SCFSI: Selección
de Información de los Factores de Escala (SCale Factor
Selection Information).

Window: (Ventana). Número del
actual slot de tiempo en el caso de ser block_type=2 ,
0<=window<=2.

Referencias:

Nombre

Autor
(Fecha)

MPEG Information tecnology- Coding
and moving picturesand associated audio for digital storage
media at up about 1.5 Mbits/seg. (Part 3)

ISO/IEC 11172 (1993)

Compression in Video and
Audio

John Watkinson (1995)

IIIE Comminication Magazine –
Wideband Speech and Audio Coding

Peter Noll (Nov/1993)

IIIE Signal Processing Magazine
– MPEG digital Audio Coding.

Peter Noll (Sep/1997)

Layer III: A Flexible Coding
Standard

AES 94th Convention
(Mar/1993)

Audio Digital

John Watkinson (1996)

MPEG.
Compresión digital de video y audio asociado.
Monografía de la Cátedra de
Comunicaciones.

Escuela de Ing. Electrónica. Fac de
Ingeniería Agrimensura y Cs Exactas.
UNR (1996)

MPEG
Technology

Philips Electronics (1997)

Frequently Asked Questions about
MPEG Audio Layer-3

Fraunhofer Institut Integrierte Schaltungen
IIS,

Información general sobre el
esquema-3.

MPEG3 Site. ||||http://www.mpeg3.com

Codificación Huffman y otros
algoritmos

Pcmanía (1998)

Sergio Mangiaterra

Partes: 1, 2, 3, 4, 5
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter