Top Banner
Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008
46

Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Apr 07, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 1 / 46

Compressão de Áudio MPEG AAC

Guido StolfiMackenzie2008

Page 2: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 2 / 46

MPEG-2 AAC (Advanced Audio Coding)

• Derivado do MPEG-2 Nível III• 1 a 48 canais de áudio• 8 a 96 kHz de amostragem• Patentes: AT&T, Sony, Dolby, Fraunhofer• Usado no sistema ISDB, XM Radio e DRM

– Low Complexity AAC (AAC-LC)– High Efficiency (HE-AAC ou “AACPlus”– Scalable Sample Rate (AAC-SSR)– Bit Sliced Arithmetic Coding (BSAC)

Page 3: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 3 / 46

Diferenças do AAC x MPEG-2

• Banco de filtros implementado por DCT modificada, 1024 pontos (Processamento T / F)

• Não é compatível com MPEG-1• Utiliza preditor linear para pré-codificação• Efetua “Noise Shaping” adaptativo• Pode utilizar replicação espectral (SBR)• Otimização da codificação estatística dos símbolos

transmitidos

– Resultado: redução de 50% na taxa de bits

Page 4: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 4 / 46

Diagrama de Blocos da Codificação AAC

Page 5: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 5 / 46

Controle de Ganho

LP

HP

LP

HP

LP

HP

Controle de Ganho

(0-24 kHz)

(0-6 kHz)

(6-12 kHz)

(12-18 kHz)

(18-24 kHz)

(Coeficientes)

Page 6: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 6 / 46

Banco de Filtros: DCT com Janela Temporal

DCT2048256

(1024 / 128 Coeficientes)

Janela Longa / Curta

Page 7: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 7 / 46

Janelas Temporais Superpostas

1 Frame (1024 Amostras)

DCT Longa (2048 Amostras)

8 DCTs Curtas (256 Amostras)

DCT Transição (2048 Amostras)

DCT Transição (2048 Amostras)

Janelas Longas

Janelas Curtas

Page 8: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 8 / 46

Codificador com Preditor

Preditor Preditor

y(t)

y(t)^ y(t)^

y(t)e(t)+-

Transmissor Receptor

Canal

S1 S2

•Eficácia do preditor reduz a energia do sinal transmitido e(t)

•Chaves S1 e S2 devem ser abertas em instantes apropriados

Page 9: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 9 / 46

Preditor Espectral

Espectro deEntrada

Espectro QuantizadoDo Frame Anterior

Erro Espectral

Filtro de 2a Ordem

Filtro de 2a Ordem

Filtro de 2a Ordem

CoeficientesEspectrais

P/ Quantizador

Page 10: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 10 / 46

Noise Shaping

Q

Sinal

Ruído deQuantização

Quantizador

Q

Sinal

Ruído deQuantização

Quantizador

F F-1

Equalizador(Pré-ênfase)

De-ênfase

Page 11: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 11 / 46

TNS – Temporal Noise Shaping

F

Espectro doSinal

Filtro no DomínioDa Freqüência

EnvoltóriaEspectral

1/x

Equalização(Pré-ênfase)

Q

Quantizador

Sinal com“Noise Shaping”

Forma do “Noise Shaping” éVariável no Tempo

Page 12: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 12 / 46

Quantizador Não Linear

QX0,75 X1,333

Fator de Escala(Frame / Freqüência)

CoeficienteEspectral

CoeficienteQuantizado

(Restauração noDecodificador)

Quantizador(Frame / Freqüência)

Page 13: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 13 / 46

Quantizador Não Linear

s(x)

s(x)0,75

Page 14: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 14 / 46

Compactação dos Coeficientes

• Fatores de Escala:– Codificação Diferencial em relação ao Frame anterior– Resolução de 1,5 dB

• Quantizador: – Selecionado com resolução de 1,5 dB

• Fator de Escala + Quantizador:– Codificado como um símbolo conjunto– Vários dicionários (Huffmann) selecionáveis para codificação

• Coeficientes Quantizados:– Agrupados (2 ou 4) e codificados com um de 11 dicionários,

válidos por faixas de freqüência.

Page 15: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 15 / 46

MPEG-4 AAC

Ferramentas Adicionais

Page 16: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 16 / 46

MPEG-4 – Ferramentas de Codificação

• Codificação de Áudio Natural:– MPEG-2 AAC– SBR: Spectral Band Replication– CELP: Code Excited Linear Prediction

• Codificação paramétrica:– HVXC: Harmonic Vector Excitation Coding– HILN: Harmonic, Individual Line + Noise

• Áudio Sintético:– M-TTS: MPEG Text To Speech– SAOL: Structured Audio Orchestra Language– SASL: Structured Audio Score Language– SASBF: Structured Audio Sample Bank Format– MIDI: Musical Instruments Digital Interface

Page 17: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 17 / 46

SBR (Spectral Band Replication)

Page 18: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 18 / 46

Decodificação SBR (Spectral Band Replication)

Page 19: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 19 / 46

MPEG-4 AAC – Decodificador Paramétrico

• HVXC – Harmonic Vector Excitation Coding– Codificação de Voz, 1.2 a 4 kb/s – Amostragem: 8 kHz– Processamento: Frames de 20 ms (160 amostras)

• HILN – Hamonic and Individual Line + Noise– Voz e música, > 4 kb/s– Usa PNS (Perceptual Noise Substitution)

Page 20: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 20 / 46

MPEG-4 AAC – Decodificador Paramétrico

Modo de Codificação:PARAmode = 0 HVXC 1 HILN 2 Comutado HVXC / HILN (fading 20 ms) 3 Combinado HVXC / HILN

Page 21: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 21 / 46

Decodificador HVXC

• Sinais Vocálicos:– Quantização Vetorial da envoltória espectral dos

resíduos da codificação LPC (VQ)

• Sinais Não Vocálicos:– Codificação por Excitação Vetorial (VXC)

Page 22: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 22 / 46

Conceitos Básicos

• Vocoder• LPC (Linear Predictive Coding)• Quantização Vetorial (VQ)• Decodificação Excitada por Código• Síntese harmônica• PNS (Perceptual Noise Substitution)

Page 23: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 23 / 46

Síntese Básica de Voz (Vocoder)

freqüência

ganho

ruído

formantesvogais

Page 24: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 24 / 46

Síntese por LPC (Linear Predictive Coding)

Preditor Preditor

y(n)

y(n)^ y(n)^

y(n)e(n)+

-

(Filtro Linear)

Receptor

Canal

S1 S2

Transmissor

LMS

Algoritmo de Ajuste do Filtro

Preditor

Coeficientes doFiltro

)(...)2()1()(ˆ 21 Mnybnybnybny M Exemplo de Filtro FIR:

Page 25: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 25 / 46

Quantização Vetorial

• Conjunto N-dimensional de valores de entrada é quantizado como um vetor (de N dimensões), escolhido entre um conjunto de M vetores possíveis, de acordo com um critério de “mínima distância”;

• A lista dos M vetores possíveis é o “dicionário de vetores” (codebook);

• O conjunto de valores de entrada é convertido em um número (índice) que identifica o vetor quantizado dentro da lista.

Page 26: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 26 / 46

Quantização Vetorial

1

2

3

.

.

.

M

Ganho

Índice m

Sinal de Entrada

2x

VQ(m)

EQ(m)

Vetor quantizado é dado pelo índice m para o qual foi obtido o menor erro de quantização EQ(m).

Page 27: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 27 / 46

Decodificação Excitada por Código

1

2

3

.

.

.

M

FiltroLPC

Ganho

Índice

Resíduo (erro de predição)

Coeficientes LPC

Saída

Vetor de Excitação

Page 28: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 28 / 46

Síntese Harmônica

1

2

3

.

.

.

M

Ganho

Índice

Freqüência

Interpolador

Resíduo

PreditorLPC

Coeficientes LPC

EnvoltóriaEspectral

EnvoltóriaEspectral

Interpolada

Espectro de Saída

Page 29: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 29 / 46

PNS (Perceptual Noise Substitution)

1

2

3

.

.

.

M

Ganho

Índice

RuídoBranco

Interpolador

Componentes harmônicas

EnvoltóriaEspectral

EnvoltóriaEspectral

Interpolada

Ruídoperceptual

Espectro composto

Page 30: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 30 / 46

Decodificador HVXC

(Line Spectral Pairs)

Page 31: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 31 / 46

Decodificador HVXC

Excitação Vocálica do Decodificador HVXC

Page 32: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 32 / 46

Codificador HVXC

Page 33: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 33 / 46

Codificador HILN

Page 34: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 34 / 46

Decodificador MPEG-4 CELP

Page 35: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 35 / 46

Modos de Operação MPEG-4 CELP

• Taxa de Amostragem de 8 kHz:– Quantizador Vetorial– Taxas de Bits de 3850 a 12200 bps

• Taxa de Amostragem de 16 kHz:– Quantizador Escalar– Taxas de Bits continuamente variáveis de 13667 a

20133 bps e de 21800 a 24000 bps

Page 36: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 36 / 46

Ferramentas Específicas do Decodificador CELP MPEG-4

Page 37: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 37 / 46

Requisitos Computacionais Típicos (MPEG-4)

fA (kHz) MOPS kWords

AAC Principal 48 5 5AAC-LC 48 3 3AAC-SSR 48 4 3LTP 48 4 4AAC Escalável 48 5 4VQ Duplo 24 2 3CELP 8 1 1CELP 16 2 1CELP 8/16 3 1HVXC 8 2 1

Page 38: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 38 / 46

Áudio Sintético

• Síntese Musical– SAOL: Structured Audio Orchestra Language– SASL: Structured Audio Score Language– SASBF: Structured Audio Sample Bank Format– MIDI: Musical Instruments Digital Interface

• Síntese de Fala– TTS (Text To Speech)

Page 39: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 39 / 46

Modelo de Síntese Musical

Page 40: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 40 / 46

Elementos da Sintaxe SASBF

• Geradores de:– Índice: apontam para outra estrutura de dados– Range: indicam uma faixa de valores onde um

parâmetro (nota, intensidade) é definido– Substituição: atribuem um valor numérico a um evento– Amostra: afetam as propriedades de um som

amostrado– Valor: afetam diretamente parâmetros do som

sintetizado.

Page 41: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 41 / 46

Gerador de Amostra

StartStartLoop

EndLoop

End

SampleID

PITCH: Afeta freqüência de amostragem, após modificado por Vibrato, Modulação etc.

Page 42: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 42 / 46

Sintaxe MIDI (Musical Instruments Digital Interface)

• Canal MIDI: 1 a 16 – identifica módulo que deve receber o comando.

• Note ON: identifica o Canal MIDI, a nota musical (0 a 127) e a velocidade de acionamento (1 a 127, associada geralmente à intensidade).

• Note OFF: idem, com velocidade de “desacionamento”.• Controlador: CC 0 a 127: atribui valores contínuos (14

bits) a parâmetros pré-determinados (volume, pitch bend, filtro, etc.)

• Program Change: seleciona configuração pré-programada para conjunto de parâmetros de síntese (ex. General Midi estabelece lista de instrumentos padronizados).

Page 43: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 43 / 46

Sintaxe MIDI (Musical instruments Digital Interface)

• Aftertouch: parâmetro que afeta uma nota de um dado canal, após o evento Note ON (p. ex, alterando a modulação ou intensidade).

• System Exclusive: Informação específica para um determinado equipamento (p. ex., programação de parâmetros).

• Standard Midi File (SMF): seqüência de comandos MIDI com informaçoes de temporização relativa entre os comandos

Page 44: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 44 / 46

Mensagem MIDI

1 0 0 0 n n n n

“Note ON” Canal = n+1

0 k k k k kkk

Nota k (64 = Dó Central)

0 v vv vv vv

Velocidade (0 = Note OFF)

Comando / Dado

Page 45: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 45 / 46

Codificador MPEG-4 TTS (Text To Speech)

Page 46: Guido Stolfi 1 / 46 Compressão de Áudio MPEG AAC Guido Stolfi Mackenzie 2008.

Guido Stolfi 46 / 46

Aplicação do Codificador TTS

Sintetizador de Voz

Sintetizador Facial

Controlador DMUX

Base de Dados(Histórias)

“Contador de Histórias” sob demanda