+ All Categories
Transcript
  • 8/18/2019 CODIFICACIÓN MP3

    1/27

    CODIFICACIÓN MP3

    LA CAPA III

    El instituto Fraunhofer IIS (Institut für Integrierte Schaltungen, Instituto para el

    Circuito Integrado), de Alemania, en uno de sus grupos de trabajo se concentra enla transmisión inalámbrica de datos en la codificación de las se!ales de audio "ideo# En $%&', este instituto forma parte del proecto E*E+A E$',*A-I.-IFSI/0 -E A-I. -I1I2A3, empie4a a desarrollar in"estigacionessobre codificación de audio perceptual#

    En cooperación conjunta con la ni"ersidad de Erlangen (el profesor -ieterSeit4er), el instituto Fraunhofer finalmente ideó un algoritmo mu poderoso 5ue secon"irtió en estándar internacional como IS.6IEC 78E1 Audio, Capa III (IS.6IEC$$$'9:;, Capa III)# En la siguiente tabla se muestran algunos datos deldesempe!o de este algoritmo:

  • 8/18/2019 CODIFICACIÓN MP3

    2/27

    En resumen, el proceso es el siguiente: el flujo de audio a la entrada pasa a tra"=sde un banco de filtros 5ue di"ide la se!al en m>ltiples subbandas# El filtraje sehace paralelamente al análisis psicoac>stico 5ue determina el ruido (l=asedistorsión permitida) en cada subbanda# 3a etapa *E8A*2ICI/0 -E *I-. usalas distorsiones permitidas para decidir cómo di"idir el n>mero total de bits decódigo disponibles# Finalmente, la >ltima etapa toma las muestras codificadas con?uffman, reali4ando el formato para entregar un flujo de bits 78; "álido#

    ANÁLISIS PSICOACÚSTICO

    El modelo psicoac>stico II 5ue se usa en la Capa III tiene mejoras adicionales 5ue

    se adaptan mejor a las propiedades del o@do humano, en comparación con elmodelo empleado en las otras dos capas (modelo I)# El análisis psicoac>stico tienedos tareas 5ue cumplir : decidir 5u= tipo de blo5ue usar, calcular la distorsiónmáima permitida#

    8rimero el modelo con"ierte el audio al dominio espectral, usando una FF2 de$B9 puntos para conseguir una buena resolución de frecuencia poder calcularcorrectamente los umbrales de enmascaramiento# Antes de la FF2, se aplica una"entana de ?anning con"encional para e"itar las discontinuidades en los etremosde la se!al# 3a salida de la FF2 se usa primero para anali4ar 5u= tipo de se!alestá siendo procesada una se!al estacionaria hace 5ue el modelo escoja blo5ues

    largos, una se!al con muchos transitorios da como resultado blo5ues cortos# Eltipo de blo5ue se usa luego en la parte 7-C2 del algoritmo# -espu=s de esto, elmodelo psicoac>stico calcula el m@nimo umbral de enmascaramiento para cadasubbanda# Estos "alores de umbral se usan luego para calcular la distorsiónpermitida# El modelo pasa entonces las distorsiones permitidas a la sección*E8A*2ICI/0 -E *I-. en el codificador para uso posterior#

  • 8/18/2019 CODIFICACIÓN MP3

    3/27

    El estándar $$$'9:; proporciona dos modelos psicoac>sticosD el modelo I esmenos complejo 5ue el modelo psicoac>stico II simplifica mucho los cálculos#

     Ambos modelos trabajan para cual5uiera de las capas, aun5ue re5uierenadaptaciones espec@ficas para el es5uema de la Capa III# Eiste considerablelibertad en la implementación del modelo psicoac>sticoD la precisión 5ue se

    re5uiera del modelo es dependiente de la aplicación de la tasa de bits 5ue se5uiere lograr# 8ara bajos ni"eles de compresión, donde ha un n>mero generosode bits para reali4ar la codificación, el modelo psicoac>stico puede sercompletamente omitidoD en cuo caso, sólo se calcula la relación se!al a ruido(S0*) más baja, con este "alor se reali4a el proceso de repartición de ruido parala subbanda# A continuación se muestran los pasos generales para el cálculopsicoac>stico de la se!al#

    1) Alineación en tiempo Se debe tener en cuenta 5ue cuando se hace lae"aluación psicoac>stica, los datos de audio 5ue son en"iados al modelo deben

    ser concurrentes con los datos de audio a ser codificados# El modelo psicoac>sticodebe tener en cuenta el retardo de los datos al pasar por el banco de filtros aplicar un despla4amiento adicional, de tal manera 5ue los datos rele"antes5ueden centrados en la "entana del análisis psicoac>stico# 8or ejemplo, usando elmodelo I para la Capa I, el retardo a tra"=s del banco de filtros es 9 muestras el despla4amiento necesario para centrar las ;& muestras, dentro de la FF2 de$9 puntos, es:

    ($9 : ;&) 6 9 G puntos

    El despla4amiento re5uerido es, entonces, de ;9B puntos para alinear los datosdel modelo I con la salida del banco de filtros polifásico#

    !) "ep#e$entación e$pect#al El modelo psicoac>stico reali4a una con"ersión deltiempo a la frecuencia totalmente independiente del mapeo reali4ado por el bancode filtros por5ue necesita una mejor resolución en frecuencia para calcular congran precisión los umbrales de enmascaramiento# Ambos modelos usan unatransformada de Fourier para reali4ar el mapeo#

    El modelo I usa una FF2 de $9 puntos para la Capa I una FF2 de $B9 puntospara las Capas II III# -ebido a 5ue el análisis se reali4a para ;& muestras en laCapa I, la FF2 de $9 puntos proporciona la cobertura adecuada# El análisispsicoac>stico para las Capas II III se reali4a sobre $$9 muestras, as@ 5ue laFF2 de $B9 puntos no proporciona cobertura total# Idealmente, la FF2 deber@acubrir todas las $$9 muestrasD aun5ue $B9 puntos es un compromiso ra4onablea 5ue las muestras 5ue se omiten, no tienen maor impacto en el análisispsicoac>stico#

    El modelo II usa una FF2 de $B9 puntos para todas las capas# En la Capa I, elmodelo centra las ;& muestras dentro de la FF2 de $B9 puntos# 8ara las Capas

  • 8/18/2019 CODIFICACIÓN MP3

    4/27

  • 8/18/2019 CODIFICACIÓN MP3

    5/27

    enmascarantes)# Este proceso consiste en escoger >nicamente las componentestonales no:tonales 5ue "erdaderamente enmascaran el sonido (cua magnitud distancia en barHs debe ser apropiada), desechando el resto de componentescomputadas en el paso anterior#

    -espu=s de reali4ada esta escogencia, el modelo I calcula el efecto deenmascaramiento 5ue cada componente enmascarante (tonal o no:tonal) tienesobre las l@neas de frecuencia adacentes a ella# Este análisis sólo es necesariohacerlo para las l@neas de frecuencia 5ue se encuentran entre :; K& barHs apartir de la componente enmascarante#

    . sea, el análisis abarca todas las l@neas de frecuencia 5ue se encuentren tres (;)bandas cr@ticas a la i45uierda (hacia las bajas frecuencias), ocho (&) bandascr@ticas a la derecha (hacia las altas frecuencias) de la componente enmascarante#Esto se debe a 5ue el efecto de enmascaramiento de la componente tonal o no:tonal 5ue está siendo anali4ada (por más intensidad 5ue =sta tenga) es

    demasiado tenue por fuera de este rango#Como el modelo II nunca separa las componentes no:tonales tonales, sino 5uecalcula el @ndice de tonalidad (en función de la frecuencia) 5ue presenta cadacomponente enmascarante, entonces no es necesario hacer el cálculo de losumbrales de enmascaramiento indi"iduales#

    .) +m,#al e enma$ca#amiento /lo,al Ambos modelos psicoac>sticos incluenun umbral de enmascaramiento absoluto, el cual ha sido determinadoemp@ricamente el m@nimo umbral auditi"o en un ambiente silencioso# Se deberecordar 5ue =ste es la intensidad del sonido más d=bil 5ue se puede escucharcuando no ha más sonidos presentes#

    sando el modelo I, este umbral absoluto se combina con los umbralesindi"iduales calculados en el paso anterior para determinar el umbral deenmascaramiento global sobre toda la banda de audio#

    El modelo II no calcula el umbral de enmascaramiento global, sino 5ue trabajatodos los datos dentro de cada subbanda, de acuerdo con el @ndice de tonalidad5ue tenga cada componente enmascarante en esa subbanda#

    0) +m,#al e enma$ca#amiento mnimo Ambos modelos psicoac>sticosseleccionan el m@nimo umbral de enmascaramiento en cada subbanda#

    Con el modelo I, para encontrar el umbral de enmascaramiento m@nimo en cadasubbanda, simplemente se etrae el m@nimo "alor del espectro global incluidoentre las dos frecuencias l@mites de cada subbanda, o sea, el "alor etra@do delumbral global debe ser el "alor m@nimo de enmascaramiento en la subbanda# Estem=todo se comporta bien para las subbandas más bajas donde la subbanda es

  • 8/18/2019 CODIFICACIÓN MP3

    6/27

    estrecha con respecto a las bandas cr@ticas, pero se "uel"e inadecuado para lassubbandas altas por5ue una banda cr@tica en esta frecuencia se distribue sobre"arias subbandas# Esta imprecisión se incrementa toda"@a más, debido a 5ue elmodelo I concentra todas las componentes no:tonales, dentro de cada bandacr@tica, en un >nico "alor para una sola frecuencia#

    El modelo II selecciona el m@nimo de todos los umbrales de enmascaramiento encada subbanda sólo para regiones de frecuencia donde el ancho de la subbandaes amplio comparado con el ancho de la banda cr@tica# Si el ancho de la subbandaes estrecho en comparación con el ancho de la banda cr@tica, el modelo reali4a unpromedio entre todos los umbrales de enmascaramiento en esa subbanda# Elmodelo II es más preciso para las subbandas altas, a 5ue =ste no concentra lascomponentes de ruido#

    2) "elacione$ $eal a m4$ca#a 3os dos modelos computan la relación se!al a

    máscara, S7*, como la relación entre la energ@a de la se!al en la subbanda (parala Capa III, un grupo de bandas) el m@nimo umbral de enmascaramiento paraesa subbanda# El modelo psicoac>stico pasa este "alor a la sección*E8A*2ICI/0 -E *I-. (para las Capas I II, *E8A*2ICI/0 -E I2S)para uso posterior# En la Capa III, el "alor 5ue se entrega no es la S7*, sino un"alor e5ui"alente llamado -IS2.*SI/0 8E*7I2I-A o *I-. 8E*7I2I-.#Este "alor determina cuál es la cantidad máima de ruido de cuanti4ación 5ue sepermite en el blo5ue *E8A*2ICI/0 -E *I-.#

    FILT"O 567"IDO

    1) Filt#o pa$aalto$ El estándar IS.6IEC $$$'9:; proporciona respuesta enfrecuencia hasta el ni"el de -C (corriente directa ó B ?4)# Sin embargo, paraciertas aplicaciones, se puede incluir un filtro pasaaltos a la entrada delcodificador, con su frecuencia de corte ubicada entre 9 $B ?4# 3a aplicación detal filtro e"ita el innecesario re5uerimiento de una alta tasa de bits para lasubbanda más baja aumenta la calidad total en el sonido#

    !) 7anco e 8ilt#o$ poli84$ico auti4ado como FI32*. A0L3ISIS, es uno delos blo5ues más importantes, usado en todas las capas del codificador de audio78E1#

  • 8/18/2019 CODIFICACIÓN MP3

    7/27

    F(ente: 8A0, -a"is# A tutorial on 78E16Audio compression# En IEEE 7ultimediaMournal# Jol# 9 0o# 9 (Summer $%%)#

    Su función es di"idir la se!al de audio en ;9 subbandasD estas subbandas estánigualmente espaciadas en frecuencia, no reflejan eactamente las bandascr@ticas del o@do#

    El o@do tiene una limitada selecti"idad en frecuencia 5ue "ar@a en eactitud desdemenos de $BB ?4 para las frecuencias más bajas hasta un poco más de +?4para las frecuencias más altas# El ancho de banda 5ue proporcionan los filtros esdemasiado amplio para las bajas frecuencias, demasiado estrecho para las altasfrecuenciasD as@ 5ue el n>mero de bits del cuanti4ador no se puede optimi4ar parala sensiti"idad al ruido dentro de cada banda cr@tica# Entonces, lo mejor es 5ue alespectro audible se le hagan particiones en bandas cr@ticas (por medio de latransformada 7-C2) 5ue reflejen la selecti"idad en frecuencia del o@do humano#

    El filtro es relati"amente simple, pero da una buena resolución en el tiempo conuna aceptable resolución en frecuencia# El banco de filtros polifásico presentap=rdidasD inclusi"e sin cuanti4ación no ha posibilidad de recuperar eactamentela se!al de entrada# Afortunadamente, el o@do humano no es capa4 de percibir elerror introducido por el banco de filtros# 2ambi=n eiste solapamiento enfrecuencia entre bandas adacentes del filtroD por lo tanto, una se!al en unafrecuencia particular puede afectar las dos salidas adacentes en el banco defiltros#

  • 8/18/2019 CODIFICACIÓN MP3

    8/27

    3) T#an$8o#maa i$c#eta el co$eno moi8icaa 3a Capa III procesa lassalidas del banco de filtros con una -C2 7odificada de ó $& puntos BN desolapamiento, con el fin de compensar la falta de precisión del banco de filtros,logrando subdi"idir la salida espectral en frecuencias 5ue proporcionen mejor

    resolución con respecto a las bandas cr@ticas# sando $& puntos, el n>meromáimo de componentes frecuenciales es:

    ;9 $& G '

    -ando lugar a una resolución frecuencial de:

    9BBB6' G $,' ?4 (si f s G & +?4)

    Si se usan l@neas de frecuencia la resolución frecuencial es menor, pero latemporal es maor, se aplica en a5uellas 4onas en las 5ue se espera efectos de

    preeco (transiciones bruscas de silencio a altos ni"eles energ=ticos, como porejemplo justo antes de un sonido percusi"o)# En estos casos se produce untransitorio con ele"ados errores de cuanti4ación, debido a la saturación delcuanti4ador# Al reali4ar la decodificación, el error se distribue por toda la trama,ocasionando 5ue las partes de silencio a no sean silencio, sino 5ue presentenparte de la energ@a de las otras regiones de la trama# Esto obliga al uso de"entanas 7-C2 temporales más pe5ue!as 5ue limitan el efecto de preeco a unn>mero menor de muestras, en comparación con el uso de "entanas grandesDlogrando de esta manera, reducir la distorsión# El preenmascarmiento temporale"ita 5ue la distorsión restante sea audible# 3a transformación 7-C2 no presentap=rdidas comparada con el banco de filtros análisis#

  • 8/18/2019 CODIFICACIÓN MP3

    9/27

    3a Capa III tiene tres modos de blo5ue dos modos donde las ;9 salidas del bancode filtros pueden pasar a tra"=s de las "entanas las transformadas 7-C2D todaslas salidas con la misma longitud de blo5ue# < un modo de blo5ue mito donde lasdos bandas de frecuencia más baja usan blo5ues largos las ;B bandassuperiores usan blo5ues cortos# 3a decisión del modo de blo5ue a ser usadorecae sobre el modelo psicoac>stico si la se!al presenta muchos transitorios sedebe usar blo5ue corto, correspondiente a tres "entanas cortasD pero si la se!al esmás estacionaria, se debe usar blo5ue largo, correspondiente a una "entana larga#El cambio entre modos no es instantáneoD un blo5ue largo con una "entana dedatos especiali4ada ("entana larga a corta o, "entana corta a larga) proporciona elmecanismo de transición entre modos# En la siguiente figura se muestran loscuatro () tipos de "entana 5ue se usan durante el proceso 78; (a) N"RMAL, (b)transición de "entana larga a corta (START ), (c) ; "entanas cortas (S%"RT ), (d)transición de "entana corta a larga (ST"P )#

  • 8/18/2019 CODIFICACIÓN MP3

    10/27

    Si se ejecuta la 7-C2 sobre cual5uiera de las "entanas largas (N"RMAL, START ,

    o ST"P ), se producirán $& l@neas de frecuencia debido al BN de solapamiento#Cuando se usan las tres "entanas cortas se producirán ; gruposD cada grupo con l@neas de frecuencia 5ue pertenecen a diferentes inter"alos de tiempo# Elproceso de la transformación 7-C2 sobre cual5uier tipo de blo5ue producirá,entonces, ' l@neas de frecuencia referidas como 1*L03. (subdi"isión deuna trama)#

    En resumen, el proceso 5ue se ha mostrado es ' muestras 8C7 de entrada secon"ierten en ' muestras subbanda# El solapamiento, antes de la 7-C2,ocasiona 5ue esta cantidad se dupli5ue en este punto son $$9 muestrassubbanda, las cuales finalmente producen ' coeficientes 7-C2 (l@neas de

    frecuencia) de salida#

     Antes de continuar, se reali4a la reducción del aliasing introducido por el filtroanálisis# Este proceso se reali4a a5u@, para lograr reducción en la cantidad deinformación a ser codificada transmitida# 3a reducción se logra a tra"=s decálculos mariposa de 9 puntos como se "e en la siguiente figura#

  • 8/18/2019 CODIFICACIÓN MP3

    11/27

    Cada cálculo mariposa se computa como se muestra en la siguiente figura, donde

    los "alores cai  csi son dos coeficientes proporcionados por el estándarinternacional IS.6IEC $$$'9:;#

    "9PA"TICIÓN D9 "+IDO

    Osta se hace en la Capa III, mientras las Capas I II usan repartición de bits# 3arepartición de bits >nicamente aproima la cantidad de ruido causado por lacuanti4ación, mientras la repartición de ruido "erdaderamente calcula el ruido# 3arepartición se hace en un ciclo de iteración 5ue consiste de un ciclo interno unoeterno#

  • 8/18/2019 CODIFICACIÓN MP3

    12/27

    1) Ciclo inte#no El ciclo interno reali4a la cuanti4ación no:uniforme de acuerdocon el sistema de punto flotante "erdadero (cada "alor espectral 7-C2 se ele"a ala potencia ;6)# El ciclo escoge un determinado inter"alo de cuanti4ación(&uanti'ation ste( si'e), a los datos cuanti4ados se les aplica codificación de

    ?uffman# Si al reali4ar este proceso se encuentra 5ue el n>mero de bits re5ueridopara codificar los "alores ecede la cantidad de bits disponibles, de acuerdo con latasa de bits escogida, entonces el ciclo comien4a otra "e4 con un nue"o inter"alode cuanti4ación, ejecutando la cuanti4ación la codificación de ?uffman otra "e4#El ciclo termina cuando los "alores cuanti4ados 5ue han sido codificados con?uffman usan menor o igual n>mero de bits 5ue la máima cantidad de bitspermitida#

    !) Ciclo ete#no Ahora el ciclo eterno se encarga de "erificar si el factor deescala para cada subbanda tiene más distorsión de la permitida (ruido en la se!al

    codificada), comparando cada banda del factor de escala (scalefactor )and 

    ) conlos datos pre"iamente calculados en el análisis psicoac>stico# Si cual5uiera de lasbandas del factor de escala tiene más ruido 5ue el máimo permitido, el cicloamplifica esa banda del factor de escala ejecuta ambos ciclos (el interno eleterno) de nue"o# El ciclo eterno termina cuando una de las siguientescondiciones se cumple:

    • 0inguna de las bandas del factor de escala tiene mucho ruido#• 3a próima iteración amplificar@a una de las bandas más de lo permitido#• 2odas las bandas han sido amplificadas al menos una "e4#

    mero total de bits,donde los s@mbolos con más alta probabilidad tienen códigos más cortos# 3oscódigos de ?uffman tienen la propiedad de poseer un >nico prefijo por lo tanto,pueden ser decodificados correctamente a pesar de su longitud "ariableD elproceso de la decodificación es mu rápido, a tra"=s de una tabla decorrespondencias# Este tipo de codificación permite ahorrar, en promedio,aproimadamente un 9BN en espacio de almacenamiento#

  • 8/18/2019 CODIFICACIÓN MP3

    13/27

    3as t=cnicas 5ue se han mostrado son el complemento ideal para la codificaciónpsicoac>stica durante gran polifon@a, muchos sonidos están enmascarados odisminuidos, logrando 5ue la codificación psicoac>stica sea mu eficienteD debido a 5ue ha poca información id=ntica, entonces el algoritmo de ?uffman

    presenta poca eficiencia# 8ero durante los sonidos puros ha mu pocos efectosde enmascaramiento, es a5u@ donde la codificación de ?uffman se "uel"e mueficiente debido a 5ue los sonidos puros, cuando se digitali4an, contienen grancantidad de btes redundantes, 5ue entonces serán reempla4ados por códigosmás cortos#

    FO"MATO D9L FL+;O D9 7ITS

    El >ltimo paso en el proceso de codificación es producir un flujo de bits 78;"álido# Este blo5ue es el encargado de almacenar el audio codificado algunosdatos adicionales en tramas, donde cada trama contiene información de $$9

    muestras de audio# na trama consiste de encabe4ado datos de audio junto conel che5ueo de errores los datos auiliares, estos dos >ltimos opcionales# Elencabe4ado describe, entre otros, cuál capa, tasa de bits frecuencia demuestreo se están usando para el audio codificado# 3os datos codificados con?uffman su información secundaria están locali4ados en la parte de los datos deaudio, donde la información secundaria dice 5u= tipo de blo5ue, tablas de ?uffman factores de ganancia deben ser usados#

    La$ t#ama$ e a(io El audio en un flujo 78E1:$ está organi4ado de tal manera5ue cada fragmento del audio codificado (llamado trama) sea decodificable por s@mismo, con una posible ecepción para la Capa III# 3a trama está constituida porlas muestras de audio por la información secundaria# Esta >ltima sir"e de control,además de proporcionar información del archi"o# 8ara la Capa III, la trama estáconstituida por :

    1 trama = 1152 muestras de audio + información de la trama

     A la salida del banco de filtros polifásico, las muestras de audio se di"iden porsubbandas de la manera mostrada en la siguiente figura# Como se "e, cadasubbanda aporta $9 muestras para un total de ;& muestras de audio, en la CapaID mientras 5ue para la Capa III, cada subbanda aporta ; muestras de audio paraun total de $$9 muestras subbanda por trama#

  • 8/18/2019 CODIFICACIÓN MP3

    14/27

    na trama es un blo5ue de datos con su propio encabe4ado e información deaudio# En el caso de las Capas I ó II, las tramas son elementos totalmenteindependientes, as@ 5ue se puede etraer cual5uier fragmento de datos del archi"o78E1 decodificarlo correctamente# Sin embargo, en el caso de la Capa III, lastramas no son totalmente independientes siempre: debido al posible uso del )itreser*oir , 5ue es una especie de b>fer, las tramas son a menudo dependientesunas de otras# En el peor caso, se pueden necesitar hasta nue"e tramas antes depoder reali4ar la decodificación de una sola# 3a siguiente figura puede ser"ir comoidea general#

    mainPdataPbegin es un puntero de ajuste negati"o, incluido dentro de lainformación secundaria, 5ue indica el inicio de la información de audio dentro decada trama# 8or ejemplo, mainPdataPbeginP es igual a cero, indicando 5ue losdatos de audio empie4an inmediatamente despu=s de la información secundaria#

  • 8/18/2019 CODIFICACIÓN MP3

    15/27

    8ara indicar 5ue el audio de la trama se inicia en la trama , se especificamainPdataPbeginP como un ajuste negati"o 5ue indica el despla4amiento enbtes hacia la i45uierda para encontrar el primer dato de audio de la trama #

    En el ejemplo se "e como cada trama permite el uso del )it reser*oir # En el caso

    de la trama ', el proceso empie4a codificando la información de audio de su propiatramaD como los datos re5uieren mu pocos bits, la trama ten@a espaciodisponible, entonces todos los datos de audio de la trama ' se incluen en latrama , pero la trama sigue con espacio para bit reser"oir, 5ue se usa paradatos de la trama &D por lo 5ue gracias al bit reser"oir, la trama inclue los datosde audio de tres (;) tramas las tramas , ' El audio de la trama & se reparteentre las tramas 'D sin embargo, =ste no alcan4a a ocupar todo el espaciodisponible en la trama ', as@ 5ue el bit reser"oir de la trama ' se usa para la trama%, as@ sucesi"amente, teniendo en cuenta 5ue los datos de audio de unadeterminada trama no pueden estar despla4ados más de nue"e (%) tramas#

    Este caso puede ocurrir en una se!al de audio 78E1:$ est=reo, si la frecuenciade muestreo es & +?4 la tasa de transferencia deseada es ;9 +bps# En estecaso, cada trama consume '& bits, donde ;B bits (;9 bits para el encabe4ado,$ bits para el che5ueo de errores, 9 bits para la información secundaria) sonfijos# 8or lo tanto, 5uedan bits disponibles para los datos codificados con?uffman, debido a 5ue el "alor de mainPdataPbegin puede apuntar máimo $$btes (B&& bits) hacia atrás, entonces es posible 5ue mainPdataPbegin apuntesobre más de ocho (&) tramas (no se cuenta ninguno de los bits usados para elencabe4ado la información secundaria de ninguna trama)#

    2ambi=n es importante mencionar 5ue el bit reser"oir sólo puede originarse detramas 5ue a han sido codificadasD para este b>fer no es posible usar tramaspara las 5ue toda"@a no se haa hecho la repartición de los bits disponibles(repartición de ruido)#

    El formato 5ue tiene cada trama se muestra en la siguiente figura, en la cual sepuede "er el encabe4ado de trama 5ue posee ;9 bits (cuatro btes) de longitudDlos primeros $9 bits siempre se ponen en Q$Q, se llaman #RAME SNC , se usanpara sincroni4ación de la trama#

  • 8/18/2019 CODIFICACIÓN MP3

    16/27

    3as tramas pueden tener opcionalmente un C*C para che5ueo de errores# Sulongitud es de $ bits, si eiste, se pone despu=s del encabe4ado# Jol"iendo acalcular el C*C se puede comprobar si la trama ha sido alterada durante latransmisión del flujo de bits de audio 78;# A continuación sigue la información

    secundaria (Side Infor+ation) 5ue indica cómo se reali4ó la codificación, por lotanto, cómo debe reali4arse la decodificación# En el >ltimo blo5ue s@ "ienen losdatos de audio (+ain data), repartidos entre dos (9) gránulos#

    -entro de la información secundaria, 5ue usa $; bits en modo monofónico 9bits en los otros modos, se inclue el mainPdataPbegin, 5ue es el puntero a "isto#3os bits pri"ados están a disposición del usuario# -espu=s "iene la información5ue indica cuál combinación de factores de escala se está usando (scfsi,scalefactor selection infor+ation)# 3os >ltimos dos subblo5ues corresponden a lainformación secundaria (Side Info, SI) para cada uno de los dos gránulos(subtramas) en los 5ue se di"ide una trama#

    El >ltimo blo5ue, +ain data, es el 5ue lle"a la información de audioD las muestras7-C2 codificadas con ?uffman, repartidas entre dos gránulos# Cada gránulocontiene información de ' muestras de audio (eactamente la mitad de lainformación total de la trama)# Además, en este mismo blo5ue se incluen losfactores de escala de la trama la información auiliar, siendo esta >ltimaopcional#

    9L 9NCA79fer bit reser"oir) en las partes donde senecesite#

    El encabe4ado de la trama tiene la siguiente presentación, con las posiciones paracada uno de los ;9 bits

  • 8/18/2019 CODIFICACIÓN MP3

    17/27

    A: syncword  Con $9 bits de longitud, todos en Q$Q para identificar el comien4o dela trama#

    7: ID# n ($) bit usado para identificación del audio# Siempre en Q$Q, para indicar

    5ue se trata de audio 78E1:$#C: Layer # -os (9) bits usados para descripción de la capa# 8ara identificar cuáles5uema (l=ase capa) fue usado durante la codificación del audio#

    D: protection_bit # n ($) bit de protección# Si está en QBQ indica 5ue la trama está

    protegida por un código de redundancia c@clica para detección de errores#

    9: bitrate_index # Cuatro () bits para proporcionar el @ndice de la tasa de bits, deacuerdo con la siguiente tabla#

    F: sampling_frequency # -os (9) bits 5ue indican la tasa de muestreo#

  • 8/18/2019 CODIFICACIÓN MP3

    18/27

    =: padding_bit  n ($) bit usado para relleno# Si está en Q$Q la trama se rellenacon una ranura etra# Rnicamente se usa para frecuencias de #$ +?4# 8orejemplo, un sonido $9& +bps #$ +?4 Capa II usa muchas tramas de $& btesde largo unas pocas de $' btes para cumplir eactamente la tasa detransferencia de $9& +bps# 3a ranura consume & bits ($ bte) para las Capas II III#

    5: private_bit # n ($) bit para uso pri"ado# 0o se usa generalmente#

    I: mode# -os (9) bits 5ue indican el modo de canal, tal como se muestra acontinuación#

    En el modo Stereo indica 5ue el canal comparte bits, pero no usa codificación,oint Stereo# En el modo ,oint Stereo s@ se saca pro"echo de la correlacióneistente entre los dos canales para representar más eficientemente la se!al# Elmodo Dual Channel  está conformado por dos canales mono totalmenteindependientes (cada uno es un archi"o de audio diferente)D cada canal usaeactamente media tasa de bits del archi"o# 3a maor@a de los decodificadores losprocesan como est=reo, pero no es siempre el caso# Single Channel  consiste enun >nico canal de audio#

    ;: mode_extension# -os (9) bits indicando etensión al modoD sólo se usa enmodo ,oint Stereo# 3a etensión al modo se usa para información 5ue no es deninguna utilidad en el efecto est=reo# Estos bits se determinan dinámicamente porun codificador en el modo ,oint Stereo, este modo puede cambiar entre tramas,o incluso se puede dejar de usar en algunas tramas# En la Capa III, estos dos bitsindican 5u= tipo de codificación ,oint Stereo se está usando, Intensidad est=reo oEst=reo 76S# Est=reo 76S se refiere a transmitir los canales normali4adosMiddle6Side (Suma6-iferencia) de los canales i45uierdo derecho en lugar de loshabituales I45uierdo6-erecho# En el lado del codificador los canales habituales sereempla4an usando la fórmula

    7i G 7iddle> Si G Side> 3i G I45uierdo> *i G -erecho

  • 8/18/2019 CODIFICACIÓN MP3

    19/27

    3os "alores 7i se transmiten por el canal i45uierdo los "alores S i se transmitenpor el canal derecho#

    En el lado del decodificador los canales i45uierdo derecho se reconstruen as@ :

    Intensidad est=reo se refiere a retener en las frecuencias superiores a 9 +?4 sólola en"ol"ente de los canales i45uierdo derecho#

    El código indica 5ue tipo de etensión al modo se está usando de la siguientemanera:

    ?: copyrigth# n ($) bit usado para co(-right # 2iene el mismo significado 5ue el bitde co(-right  en C- cintas -A2, indicar 5ue es ilegal copiar el contenido delarchi"o si el bit está en Q$Q#

    L: original/copy # n ($) bit usado para indicar si se trata de un medio original, siel bit está puesto en Q$Q# En QBQ indica 5ue es una copia del medio original#

    M: emphasis# -os (9) bits usados para información del =nfasis# 3e indica aldecodificador 5ue el sonido debe ser re:ecuali4ado despu=s de una supresión deruido tipo Dol)- # Se usa raramente#

  • 8/18/2019 CODIFICACIÓN MP3

    20/27

    C59@+9O D9 9""O"9S

    Si el bit de protección en el encabe4ado es igual a QBQ, se inclue un C*C de $bits despu=s del encabe4ado# Si el bit de protección está en Q$Q, no ha che5ueo

    de errores estos bits pueden ser usados para los datos de audio# El m=todo paradetección de errores 5ue se utili4a es C*C:$, cuo polinomio generador es :

    C*C:$ G $ K $ K 9 K $

    INFO"MACIÓN S9C+NDA"IA

    Osta consta de $' btes para el modo monofónico, de ;9 btes en cual5uier otromodo# 3a información 5ue contiene, consiste de cuatro partes: el puntero

    mainPdataPbegin, información secundaria para ambos gránulos (scfsi pri"atePbits), información secundaria para el gránulo B, e información secundariadel gránulo $#

    • mainata,e/in: el campo mainPdata no está necesariamente locali4ado justo despu=s de la información secundaria# mainPdataPbegin es unpuntero 5ue usa % bits, indicando la locali4ación donde está el primer btedel mainPdata de la trama actual# 3a locali4ación está especificada como un

    despla4amiento negati"o en btes desde el encabe4ado actual (btes a lai45uierda, antes del primer bit del encabe4ado)#

    3a información secundaria (SI) com>n a ambos gránulos se muestra acontinuación:

    • p#i-ate,it$: El n>mero de pri"atePbits para la información secundariadepende del n>mero de canales ( para mono ; para est=reo)# El n>merode bits reser"ados para pri"atePbits es definido por el usuario#

    $c8$i: 3a "ariable scfsi (información para selección del factor de escala)determina si los factores de escala se en"@an para cada gránulo, o si soncomunes para ambos gránulos, por canal# Se transmiten cuatro () bits porcanal, cada bit perteneciente a un grupo de bandas del factor de escaladiferente# n QBQ para un grupo espec@fico de bandas del factor de escala,indica 5ue los factores de escala para ese grupo en particular, se transmitenpara cada gránulo# n Q$Q indica 5ue se usan los mismos factores de escala

  • 8/18/2019 CODIFICACIÓN MP3

    21/27

    para ambos gruposD por lo tanto, sólo se transmiten los factores de escalacorrespondientes al grupo de bandas del primer gránulo#

    -espu=s de la información secundaria para ambos gránulos, sigue la informaciónsecundaria para cada gránulo:

    Figura 1. Información secundaria para cada gránulo.

    En el caso de blo5ues largos, la información secundaria para cada gránulo es :

    • pa#t!3len/tB: -enota el n>mero de bits 5ue son usados en mainPdatapara los factores de escala los datos codificados con ?uffman# Se usan$9 bits en modo mono 9 en los otros modos# Como la cantidad de bits

    usados para la información secundaria es constante, part9P;Plength puedeusarse para calcular el comien4o del próimo gránulo#

    • ,i/-al(e$: -espu=s de la cuanti4ación, las ' muestras 7-C2cuanti4adas están organi4adas en un orden determinado (de menor amaor frecuencia)# 3uego, estos "alores se di"iden en tres particionesconsecuti"as r4ero, count$ bigP"alues# 3a primera partición, r4ero, selocali4a en las altas frecuencias consiste en pares de ceros# 3a particiónde la mitad, count$, consiste de cuádruplos cuo "alor es :$, B ó $# 3a>ltima partición, bigP"alues, se locali4a en las bajas frecuenciasetendi=ndose hasta el ni"el de directa (frecuencia de B ?4) se compone

    de pares de "alores restringidos a una amplitud máima absoluta de &9B(&$%$K$, el cual es el máimo "alor cuanti4ado permitido)# El campobigP"alues indica la cantidad de pares cuanti4ados 5ue pertenecen a estapartición# 0ue"e (%) bits se usan para bigP"alues en modo mono $& en losotros modos#

  • 8/18/2019 CODIFICACIÓN MP3

    22/27

    • /lo,al/ain: Contiene información acerca del inter"alo usado en elcuanti4ador, donde la cuanti4ación se hace logar@tmicamente# 3a "ariableglobalPgain usa & bits en modo mono $ bits para los otros modos#

    • $cale8accomp#e$$: Es una "ariable de bits (en modo mono),

    transmitida para cada gránulo, la cual determina el n>mero de bits usadospara la transmisión de los factores de escala# Cada gránulo se di"ide en $9ó 9$ bandas del factor de escala dependiendo del tipo de "entana 5ue seest= usando# Estas bandas del factor de escala se di"iden de nue"o en dosgrupos (B:$B $$:9B para "entanas largasD B: :$$ en el caso de"entanas cortas)# 3a "ariable scalefacPcompress se usa como @ndice a unatabla proporcionada en el estándar IS. $$$'9:;, la cual retorna dos"ariables llamadas slen$ slen9, 5ue indican la cantidad de bits usadospara los factores de escala del primer segundo grupo de bandas,respecti"amente#

    ino$itcBin/8la/: n ($) bit por canal 5ue se!ala si una "entanadiferente del tipo N"RMAL se está usando# Este "alor determina lossiguientes 99 bits en la información secundaria si está en Q$Q, se a!aden losbits de la figura $(b)D si está en QBQ, se a!aden los bits de la figura $(c)#

    • ta,le$elect: ?abilita el uso de ;9 diferentes tablas para el código de?uffman, dependiendo de las estad@sticas de la se!al# Se usan $ bits porcanal ( bits por región) para indicar cuáles de las ;9 tablas han sidoseleccionadas#

    • #e/ionco(nt: 8ara mejorar el desempe!o en la codificación, la partición

    bigP"alues se subdi"ide en tres regiones llamadas regionB, region$ region9# Cada región se codifica con una de las ;9 tablas de ?uffman(seleccionada con tablePselect)# 3a "ariable regionBPcount especifica ell@mite entre regionB region$# Esta "ariable de bits (en modo mono)especifica la cantidad de bandas del factor de escala incluidas en estaregión, pero disminuidas en $#

    region0_count = bandas del factor de escala en region0 - 1

    • #e/ion1co(nt: especifica el l@mite entre region$ region9# Esta "ariablede ; bits por canal indica las bandas del factor de escala incluidas en

    region$, disminuidas en $#

    region1_count = bandas del factor de escala en region1 - 1

    • p#e8la/: n ($) bit por canal, indicando 5ue se usó pre=nfasis (o sea,amplificación adicional en las altas frecuencias)# Este "alor apunta a unatabla en el estándar IS. $$$'9:;, cuos 9$ "alores son sumados a losfactores de escala# 8ara blo5ues cortos, no se usa pre=nfasis#

  • 8/18/2019 CODIFICACIÓN MP3

    23/27

    • $cale8ac$cale: 3os factores de escala están cuanti4ados de maneralogar@tmica con un inter"alo de 9 ó (9)$69, dependiendo del "alor descalefacPscale, 5ue usa $ bit por canal#

    • co(nt1ta,le$elect: Esta "ariable, 5ue usa $ bit por canal, indica cuál de

    dos (9) posibles tablas de ?uffman fue usada para codificar la particióncount$#

    En el caso de blo5ues cortos, la información secundaria sólo cambia en las"ariables mostradas en la figura $(c), las cuales son reempla4ados por a5uellas dela figura $(b)# 3as otras "ariables mostradas en la figura $ no cambian#

    • ,locEt%pe: Indica el tipo de "entana 5ue se usa en un gránulo particular#3a "ariable blocHPtpe consume 9 bits por canal#

    mie,locE8la/: Esta "ariable, 5ue consume $ bit por canal, indica 5uese usan diferentes tipos de "entana en las bajas en las altas frecuencias#Si esta "ariable está en Q$Q, las dos subbandas más bajas usan "entanaN"RMAL, las ;B subbandas restantes usan el tipo de "entanaespecificado por blocHPtpe#

    • ta,le$elect: En este caso, tablePselect usa $B bits por canal, debido a5ue, para blo5ues cortos, la partición bigP"alues sólo se subdi"ide en dos(9) regiones#

    • $(,,locE/ain: ?abilita una ganancia por un factor de para un

    subblo5ue particular# Esta "ariable usa ; bits por canal#

    DATOS P"INCIPAL9S

    En esta parte del flujo de bits de la Capa III, están incluidos los campos mostradosen la siguiente figura:

    • Facto#e$ e e$cala: Ostos se usan para colorear el ruido de cuanti4ación#

    3os factores de escala se transmiten para cada grupo de l@neas defrecuencia (bandas del factor de escala) de cada gránulo, dependiendo del"alor de scfsi para ese grupo particular de l@neas de frecuencia# 3a cantidadde factores de escala realmente transmitidos, tambi=n depende deblocHPtpe, indoPsitchingPflag miedPblocHPtpe# 3os factores deescala consumen entre B ' bits#

  • 8/18/2019 CODIFICACIÓN MP3

    24/27

    • Cói/o e 5(88man: 3as l@neas de frecuencia de cada gránulo se di"idenen tres particiones (r4ero, count$ bigP"alues)# 3a partición r4ero no secodifica, a 5ue sólo contiene "alores iguales a cero (B)# 3a partición count$contiene cuádruplos de "alores iguales a :$, B ó $, 5ue se codifican usandouna de 9 posibles tablas de ?uffman, la cual ha sido especificada por

    coun$tablePselect# 8ara cada "alor diferente de cero, se agrega un bit 5ueindica el signo (QBQ si es positi"o)# 3a partición bigP"alues fue subdi"idida entres regiones, las cuales se codifican separadamente, usando una de ;9posibles tablas de ?uffman (numeradas de B a ;$, pero en realidad son ;B,a 5ue las tablas $ no eisten), o sea, una tabla por región# -entro dela partición bigP"alues, los pares de l@neas de frecuencia con "alor absolutomenor 5ue $, se codifican directamente# 8ara cada "alor absoluto maor oigual a $, se agregan $ ó 9 campos etras llamados linbits o linbitsdependiendo de cuál es el "alor del par (,) 5ue es maor o igual a $#Este campo etra usa de B a $; bits, dependiendo del parámetro linbits, elcual se calcula con base en el "alor máimo de la región, como se muestra

    en la siguiente fórmula:

    -e nue"o, para cada "alor diferente de cero, se agrega bit de signo (QBQ si espositi"o)# 8or ejemplo As>mase, primero 5ue la tabla de ?uffman a hasido seleccionada, tambi=n:

    8ar de "alores cuanti4ados (,) G (B,$)7áimo "alor cuanti4ado de la región G $B;%Código de ?uffman para el par (B,$) G QB$$B$Q

    Jalor adicional para QQ G linbits G $:$ G B

      En el caso de 5ue QQ tambi=n sea maor 5ue $, se debe buscar el códigode ?uffman para el par ($,$),  además tambi=n se debe codificar un "aloradicional llamado linbits, 5ue indica la diferencia entre $ (máimo "alor de lastablas) el "alor "erdadero de QQ # Adicionalmente, por cada "alor diferente de cerose debe agregar un bit de signo (QBQ si es positi"o, Q$Q si es negati"o)# En el ejemplo,

  • 8/18/2019 CODIFICACIÓN MP3

    25/27

    la cantidad total de bits 5ue se necesita para codificar el par es $' bits, a 5ue sedebe agregar un bit para indicar 5ue QQ es diferente de cero (B)#

    • Dato$ a(ilia#e$: Ostos son opcionales, la cantidad de bits repartidospara este campo, se define por el usuario#

    CODIFICADO" MP3 9N MATLA7

    El archi"o 5ue se puede descargar desde esta página es un programa 5uecon"ierte un archi"o de sonido TAJ de 7icrosoft, en un archi"o de sonido 78;,de acuerdo a las especificaciones dadas en el estándar internacional IS.6IEC$$$'9:;#

    El archi"o TAJ debe ser monofónico, con frecuencia de muestreo igual a $BB?4 en formato 8C7#

    El archi"o resultante es creado con el mismo nombre del archi"o TAJ original, está codificado en formato 78E1:$ Capa III, con las siguientes caracter@sticas:

    : 2asas de transferencia G %###;9B +bps#: Frecuencia de muestreo G $BB ?4#: 7odo G 7onofónico#

    El proecto consiste de "arios archi"os:m relacionados entre s@, pensados parafuncionar como un todo, no para su utili4ación independienteD aun5ue despu=sde entender el código, pueden ser personali4ados# 3os archi"os 5ue se incluen

    en este proecto son:

    •  Archi"o principal:: Ta"9mp;#m

    • Filtro h@brido:: Ci#mat: FiltroPsubbanda#m: 2ransfPdiscretaPcoseno#m: Aliasing#m

    • 7odelo 8sicoac>stico I:

    : AnalisisPfft#m: 3imitesPbandaPcritica#m: ComponentesPtonales#m: *educcion#m: mbralesPenmascPindi"idual#m: mbralPenmascPglobal#m

  • 8/18/2019 CODIFICACIÓN MP3

    26/27

    • Cuanti4ación6Codificación:: -istorsionPpermitida#m: CicloPinterno#m: ?uffman#m: CicloPeterno#m

    • Formato: Encabe4ado#m: InfoPsecundaria#m: -atosPprincipales#m

    3os archi"os son totalmente modificables, de acuerdo con lo 5ue cada usuariodesee "isuali4ar del programa# Adicionalmente, se incluen tres (;) archi"os 5uepueden ser usados por cual5uier persona interesada en ampliar el codificadorhacia las Capas I II del formato de audio 78E1:$# Estos archi"os etra intentan

    facilitar la ampliación mejoramiento del codificador# 3os ; archi"os adicionalesson (todos pertenecientes al modelo psicoac>stico I):

    : FactoresPescala#m: 0i"elPpresionPsonora#m: mbralPenmascPminimo#m

    El código ha sido probado en 7A23A #9 corriendo sobre Tindos % 8araempe4ar a utili4ar el programa, se deben copiar todos los archi"os en un directoriodel disco duro 5ue est= incluido en el 8A2? de 7atlab luego, llamar la rutinaTa"9mp; desde la "entana de comandos#

    Este programa está pensado de una manera didáctica, el objeti"o principal no esun desempe!o óptimo en cuanto a "elocidad o calidad en el sonido, sino mostrarlo más detalladamente posible cómo funciona el es5uema de codificación 78;#

    En cuanto a la "elocidad de codificación, lo más recomendable es codificartiempos pe5ue!os, a 5ue el codificador en 7atlab no fue pensado para trabajaren tiempo real, además de 5ue la manera en 5ue 7atlab está construido, no lopermite#

    Este programa está basado en

    Information 2echnolog :: Coding of mo"ing pictures and associated audio fordigital storage media at up to about $, 7bit6s :: 8art ;: Audio# IS.6IEC# 1enU"e,Sit4erland# First Edition# $%%;:B&:B$# IS.6IEC IS $$$'9:;#

    0oticia 3egalEl estándar IS.6IEC $$$'9:; es propiedad de la .rgani4ación Internacional para laEstandari4ación IS.# 2odos los derechos reser"ados#

  • 8/18/2019 CODIFICACIÓN MP3

    27/27


Top Related