CODIFICADOR MP3 EN MATLAB

Este sitio está dedicado al formato de audio MPEG-1 Capa III


Contenido

Principal

Psicoacústica
Definición
Aspectos relevantes
Conclusión

Grupo MPEG
Historia
Estándares MPEG
Audio MPEG

Codificación MP3
La Capa III
Análisis psicoacústico
Filtro híbrido
Cuantización
Formato
Encabezado
Información secundaria
Datos principales

Descargas

Links


CODIFICACIÓN MP3

DATOS PRINCIPALES

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

  • Factores de escala: Éstos se usan para colorear el ruido de cuantización. Los factores de escala se transmiten para cada grupo de líneas de frecuencia (bandas del factor de escala) de cada gránulo, dependiendo del valor de scfsi para ese grupo particular de líneas de frecuencia. La cantidad de factores de escala realmente transmitidos, también depende de block_type, window_switching_flag y mixed_block_type. Los factores de escala consumen entre 0 y 74 bits.
  • Código de Huffman: Las líneas de frecuencia de cada gránulo se dividen en tres particiones (rzero, count1 y big_values). La partición rzero no se codifica, ya que sólo contiene valores iguales a cero (0). La partición count1 contiene cuádruplos de valores iguales a -1, 0 ó 1, que se codifican usando una de 2 posibles tablas de Huffman, la cual ha sido especificada por coun1table_select. Para cada valor diferente de cero, se agrega un bit que indica el signo ('0' si es positivo). La partición big_values fue subdividida en tres regiones, las cuales se codifican separadamente, usando una de 32 posibles tablas de Huffman (numeradas de 0 a 31, pero en realidad son 30, ya que las tablas 4 y 14 no existen), o sea, una tabla por región. Dentro de la partición big_values, los pares de líneas de frecuencia con valor absoluto menor que 15, se codifican directamente. Para cada valor absoluto mayor o igual a 15, se agregan 1 ó 2 campos extras llamados "linbitsx" o "linbitsy" dependiendo de cuál es el valor del par (x,y) que es mayor o igual a 15. Este campo extra usa de 0 a 13 bits, dependiendo del parámetro "linbits", el cual se calcula con base en el valor máximo de la región, como se muestra en la siguiente fórmula:



    De nuevo, para cada valor diferente de cero, se agrega bit de signo ('0' si es positivo). Por ejemplo: Asúmase, primero que la tabla de Huffman ya ha sido seleccionada, y también:

Par de valores cuantizados (x,y) = (0,15)
Máximo valor cuantizado de la región = 1039
Código de Huffman para el par (0,15) = '01101'
Valor adicional para 'y' = linbitsy = 15-15 = 0

        En el caso de que 'x' también sea mayor que 14, se debe buscar el código de
          Huffman para el par (15,15), y además también se debe codificar un valor adicional
          llamado "linbitsx", que indica la diferencia entre 15 (máximo valor de las tablas) y
          el valor verdadero de 'x'. Adicionalmente, por cada valor diferente de cero se debe
          agregar un bit de signo ('0' si es positivo, '1' si es negativo). En el ejemplo, la
          cantidad total de bits que se necesita para codificar el par es 17 bits, ya que se
          debe agregar un bit para indicar que 'y' es diferente de cero (0).
  • Datos auxiliares: Éstos son opcionales, y la cantidad de bits repartidos para este campo, se define por el usuario.

[ Principal ]
Psicoacústica: [
Definición | Aspectos relevantes | Conclusión ]
Grupo MPEG: [
Historia | Estándares MPEG | Audio MPEG ]
Codificación MP3: [
La Capa III | Análisis psicoacústico | Filtro híbrido | Cuantización | Formato
Encabezado | Información secundaria | Datos principales ]
[
Descargas ]
[
Links ]