Upload
internet
View
121
Download
0
Embed Size (px)
Citation preview
Sistemas Embarcados 1
Mp3 Player
Trabalho Final da Cadeira de Sistemas Embarcados
Alex Panato & Rodrigo Cardozo
Sistemas Embarcados 2
Finalidade do MP3 Player
Transforma um arquivo de som em formato MP3 para o formato PCM.
PCM é o sistema usado para reprodução do som. O formato MP3 compacta os dados, garantindo uma redução na
memória necessária para armazenamento dos arquivos. Produzir, no processo, as menores perdas possíveis. Baseado no modelo psicoacústico humano para produzir uma
compressão de dados com mínimas perdas.
Sistemas Embarcados 3
Formato PCM
Amostra valores do sinal sonoros e os quantiza estes valores com um número fixo de bits por cada amostra.
Necessidade de freqüência de amostragem duas vezes superior à de transmissão do sinal.
Formato dos dados:0010 0000 1100 0011 1010 Uma gravação de 16 bits,
com taxa de amostragem de 48 kHz em stereo consome 192kbytes por segundo de som.
Sistemas Embarcados 4
Formato PCM
Problemas com PCM: Muitos dados são necessários para codificar um
arquivo. Ex: Uma gravação de 16 bits, com taxa de
amostragem de 48 kHz em stereo consome 192kbytes por segundo de som.
Uma codificação MP3 pode transformá-lo em até 4kbytes por segundo.
Sistemas Embarcados 5
O que é?
O MP3 é o layer três na codificação de som do padrão MPEG, que prevê codificação para vídeo.
Este trabalho trata do padrão MPEG1, mas já existem outros.
Em vídeo, estes novos padrões são usados. Em som, a maioria trabalha com MPEG1.
Sistemas Embarcados 6
Características Principais
Layer: MPEG1 layer 3 Taxa de Transferência: 32, 40, 48, 56, 64, 80, 96, 112, 128,
160, 192, 224, 256 e 320 kbps. Taxa de Amostragem: 32, 48 e 44.1 kHz. Modos: Stereo, Joint Stereo, Dual Channel, Single Channel.
Sistemas Embarcados 7
Formato do MP3
Duração do frame: Varia com a freqüência de amostragem usada. Para 44.1Khz é de ~26ms.
Taxa de Transferência: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 e 320 kbps.
Taxa de Amostragem: 32, 48 e 44.1 kHz. Modos: Stereo, Joint Stereo, Dual Channel, Single Channel. Frame:
Sistemas Embarcados 8
Formato do MP3
Partes da codificação MP3:
Sincronização, Decodificação e Huffman.Dequantização.Transformada Inversa e Filtros.
Sistemas Embarcados 9
Formato do MP3
Decodificação do Frame Frame composto por: Header Side Information Main Data
Sincronização feita com trilho de 12 1s.
Side Information contém informações para decodificação.
Sistemas Embarcados 10
Decodificação do Frame
Um método para cada campo do frame Header: informações gerais fixas Side: informações para decodificação Main Data: Scale factors e dados codificados Huffman
Sistemas Embarcados 11
Decodificação do Frame
Um método para sincronismo
Leitura de dados em 1 byte Mascaramento e
concatenação de variáveis Armazenamento em
variáveis públicas Necessário o cálculo de
variáveis auxiliaresFormato do Header
Sistemas Embarcados 12
Huffman
Tabela para busca de valores Altos valores de energia contidos nas baixas freq Baixos valores de energia contidos nas altas freq Isso permite compactação dos dados
Sistemas Embarcados 13
Le_byte
Sync
Demux_topHeader
Codificação do bloco
Side_mono
Side_stereo
Main_data
Calc
Huffman
Sistemas Embarcados 14
Dequantizador
Restabelecer os valores originais de atribuição energética de cada faixa de freqüências.
Equações:
w])sfb][windos[gr][ch][(scalefac_ultipleierscalefac_m2
]b][windowngr][ch][sf)subblock[8210in[gr][ch](global_ga.2524/3)i
abs(S)i
sign(isi
xr
])[]][[]][][[_(_2
)210]][[_(25.23/4)()(sfbpretabchgrpreflagsfbchgrlscalefacrmultipleiescalefac
chgrgainglobal
iSabsiissignixr
(global_gain 210 8 subblock)-12 ( _ _ )2 i 2
12 log xr 12 log abs(is ))+3i i
(sign(is ) ) ( scalefac multiplier scalefac s
2 212 log ( ( ) ) 16 log ( ( )) 3 _ 210) 12 _ ( _ )i i isign is xr abs is global gain scalefac mul scalefac l preflag pretab
Sistemas Embarcados 15
Filtros (Codificação)
Sistemas Embarcados 16
Filtros (Decodificação)
Sistemas Embarcados 17
Filtro Alias Reconstruction
Remove efeito do overllaping das 32 bandas;
8 alias butterflies feitas antes da IMDCT;
Coeficientes csi e cai tabulados na ISO 11172-3;
Sistemas Embarcados 18
IMDCT (window)
a) Normal window (block_type=0)b) Start window (block_type=1)c) Short window (block_type=2)d) Stop window (block_type=3)
Sistemas Embarcados 19
IMDCT
Transforma as 18 linhas de freqüência de cada subbanda em 36 sinais;
No caso de janela curta, é feito o overadd de três janelas subseqüentes, gerando os 36 sinais.
Sistemas Embarcados 20
IMDCT (overlap add)
Cada 18 amostras finais de cada subbanda é somada com as 18 amostras iniciais da próxima subbanda;
Obtem-se 32 novas subbandas de 18 amostras no tempo.
Sistemas Embarcados 21
Filtro polifásico
Para cada amostra no tempo de cada uma das 32 subbandas é gerado 32 amostras de aúdio consecutivas;
Sistemas Embarcados 22
Filtro Polifásico
Sistemas Embarcados 23
Codificação dos filtros
Filtro_control
Filtro AliasIMDCT
IMDCT_win
IMDCT_cos
Filtro Polifásico
Sistemas Embarcados 24
Blocos do Decodificador MP3
Dequantizador
Sincronizador/Decodificador
FiltrosPCM
8 bits
Dados Desquantizados
8 bits
Dados Quantizados
chamada de variáveis
MP3
8 bits
chamada de variáveis
Variáveis de Sistema
Controle de Chamadas Externo
Sistemas Embarcados 25
Trabalhos Futuros
Tomada de dados do Main_data; Huffman Table; Instrumentação do código; Geração de um código portável para o FemtoJava; Comparação de desempenho NOC x BUS.