Sunteți pe pagina 1din 24

Codificação de Áudio

Parte I – Sub-Bandas
ESTI019 – Codificação de Sinais Multimídia
Profs. Celso S. Kurashima, Kenji Nose e Mário Minami
Março 2018
Ilusões de Áudio
https://www.youtube.com/watch?v=kzo45hWXRWU
Ou seja,
• São famosas as “ilusões de ótica”, mas
devido ao funcionamento do nosso sistema auditivo, muitos “ilusões
de audição” podem ser criadas, que nos “enganem” (cfr.
KOHLRAUSCH2005).
• As tecnologias de Codificação de Áudio (p.ex. MPEG), ou
compensação de ruído (p.ex. Dolby) utilizam os limites e restrições do
nosso sistema sensorial-perceptivo auditivo, para obter os ganhos em
armazenamento e/ou processamento.
Algumas propriedades da Transformada Z (TZ)
Dadas as sequências x1[n], x2[n]
• Linearidade, sendo a e b quaisquer:
• Se y[n] = ax1[n] + bx2[n], então: Y(z) = aX1(z)+bX2(z)
• Convolução:
• Se 𝑦 𝑛 = 𝑥1 [𝑛] ∘ 𝑥2 [𝑛] ≜ σ∞
𝑚=−∞ 𝑥1 𝑛 − 𝑚 𝑥2 [𝑚], então Y(z) =X1(z)X2(z)

• Teorema do Atraso (Delay): um sinal atrasado de D amostras no


tempo tem a TZ multiplicada por zD:
• 𝑌 𝑧 = σ∞
𝑚=−∞ 𝑦 𝑛 𝑧
−𝑛
= σ∞
𝑚=−∞ 𝑥 𝑛 − 𝐷 𝑧
−𝑛
= 𝑋(𝑧)𝑧 𝐷
Decimação (Down-Sampling)
• Lembrando que as K raízes de 1 são simétricas no
círculo unitário, sua somatória é nula:

• Por exemplo nas raízes cúbicas de 1: 1, 𝑒 𝑗2𝜋/3 , 𝑒 𝑗4𝜋/3 ,


• o conjunto das raízes ao quadrado será ele mesmo, mas em outra ordem:
1, 𝑒 𝑗4𝜋/3 , 𝑒 𝑗8𝜋/3 = 𝑒 𝑗2𝜋/3
• o conjunto das raízes ao cubo será todo unitário: 1, 𝑒 𝑗6𝜋/3 = 1, 𝑒 𝑗12𝜋/3 = 1
• Assim, para as K raízes de 1, teremos a regra para soma das potências das raízes:
𝐾−1
1 1 se 𝑚 = 𝑛𝐾
෍ 𝑒 𝑗2𝜋𝑟𝑚/𝐾 = 𝛿𝑚,𝑛𝐾 = ቊ
𝐾 0 caso contrário
𝑟=0
(1)
TZ para dados decimados por fator K
• Seja y[n] = x[nK] dados decimados por fator K,
∞ ∞ ∞

𝑌 𝑧 = ෍ 𝑦 𝑛 𝑧 −𝑛 = ෍ 𝑥 𝑛𝐾 𝑧 −𝑛 = ෍ 𝑥 𝑚 𝑧 −𝑚/𝐾 𝛿𝑚,𝑛𝐾 para um n


𝑛=−∞ 𝑛=−∞ 𝑚=−∞

∞ 𝐾−1 𝐾−1 ∞
1/𝐾 −𝑚 1 1 −𝑚
= ෍ 𝑥𝑚 𝑧 ෍ 𝑒 𝑗2𝜋𝑟𝑚/𝐾 = ෍ ෍ 𝑥 𝑚 𝑧1/𝐾 𝑒 −𝑗2𝜋𝑟/𝐾 =
𝐾 𝐾
𝑚=−∞ 𝑟=0 𝑟=0 𝑚=−∞

𝐾−1
1
= ෍ 𝑋 𝑧1/𝐾 𝑒 −2𝜋𝑟/𝐾
𝐾
𝑟=0
(2)
➢ Ou seja, a TZ do dado decimado é soma de K termos
Análise na frequência da decimação:
• Se o dado foi amostrado com frequência de fs, na decimação por K teremos
cada ponto decimado espaçado no tempo e a nova frequência de amostragem
será fs /K.
• O conteúdo espectral do sinal original fora de –fs /2K até fs /2K terá
sopreposição (aliasing).
• Os K-1 termos extra na TZ decimada são os termos sobrepostos
• Embora os dados decimados tenham frequência efetiva de fs /K o dado no DT
é uma nova sequência com taxa fs. Podemos associar a TZ com a TF:
1 𝐾−1 𝑓 𝑓𝑠
𝑌 𝑓 = σ 𝑋 −𝑟 (3)
𝐾 𝑟=0 𝐾 𝐾
• Assim: a) A largura de banda sofre um espalhamento por K (termo r=0) e
b) ocorre sobreposição para bandas fora de –fs /2K até fs /2K
Efeito de Aliasing e escalamento na Decimação
Up-Sampling K: aumento artificial de fs
• Colocação de K-1 zeros entre amostras:
𝑥[𝑚] se 𝑛 = 𝑚𝐾
𝑦 𝑛 =ቊ
0
𝑌 𝑧 = 𝑋(𝑧 𝐾 ) (4)
• No DF Y(f) = X(Kf), ou seja, o espectro é esprimido por um fator K.
• Se X(f) for periódica com período fs o espectro Y(f) terá réplicas de X(f)
Codificação por Sub-Bandas
Operação:
• O sinal de entrada x(n) é decomposto M faixas de frequêcias:
• banco de filtros de análise em sub-bandas
• Os sinais de cada sub-banda xi(n) são decimados (redução da taxa,
downsampling) para
yi (m) = xi (Mm) e depois quantizados.
• O decodificador combina os signais das sub-bandas 𝑦෥𝑖 (𝑚) em um
sinal de saída 𝑥(𝑚)
෤ e
• depois interpola (upsampling) para 𝑥෥𝑖 (𝑚):
𝑥෥𝑖 𝑚𝑀 = 𝑦෥𝑖 (𝑚) e 𝑥෥𝑖 𝑚𝑀 + 𝑙 = 0 para l = 0, ... , M -1
• Por fim, sintetisa por um Banco (Crochiere and Rabiner 1983, Vaidyanathan 1993)
Quais os princípios que motivam?
➢Num Sistema PCM sem compressão a taxa de bits e a SNR são
constantes (p.ex. 16 bits/96 dB para o CD).
• Como a percepção humana varia em cada faixa de frequência (vide Modelo
Auditivo), porque não se pode variar a taxa de codificação em cada sub-
banda?

➢Assim, o número de bits alocados em cada sub-banda pode ser


adaptado para uma SNR específica de acordo com a banda crítica,
diminuindo-se a taxa de bits total.

➢Quanto menos bits alocados, menor a qualidade, e vice-versa.


Banco de Filtros de Dois Canais com Reconstrução
Perfeita (RP)
• Iniciamos com um banco de dois filtros para chegar aos multi-filtros:

• Reconstrução X’(z) em função dos sinais codificados, usando (1),(2) e (4):

𝑋 ′ 𝑧 = 𝑌0 𝑧 2 𝐺0 𝑧 + 𝑌1 (𝑧 2 )𝐺1 (𝑧) (5)


RP: Banco de Filtros de Dois Canais
• Sinais codificados em função das entradas:
1
𝑌0 𝑧 = 𝐻0 𝑧1/2 𝑋 𝑧1/2 + 𝐻0 −𝑧1/2 𝑋(−𝑧1/2 ) (6a)
2
1
𝑌1 𝑧 = 𝐻1 𝑧1/2 𝑋 𝑧1/2 + 𝐻1 −𝑧1/2 𝑋(−𝑧1/2 ) (6b)
2
• Combinando (5) com (6a) e (6b) temos:
𝑋 ′ 𝑧 = 12 𝐻0 𝑧 𝐺0 𝑧 + 𝐻1 (𝑧)𝐺1 (𝑧) 𝑋(𝑧)+
+12 𝐻0 −𝑧 𝐺0 𝑧 + 𝐻1 (−𝑧)𝐺1 (𝑧) 𝑋(−𝑧) (7)
As componentes X(-z) representa as componentes de sobreposição espectral das
componentes em torno de f – fs /2 nas componentes em torno de f :
➢ Para garantir a reconstrução perfeita precisamos cancelar estas componentes.
RP: Eliminando o Aliasing (sobreposição)
𝐻0 −𝑧 𝐺0 𝑧 + 𝐻1 −𝑧 𝐺1 𝑧 = 0 (8)
Que pode ser obtida impondo-se:
𝐺0 𝑧 = 𝐻1 (−𝑧)
ቊ (9)
𝐺1 𝑧 = −𝐻0 (−𝑧)
Assim o termo em X(-z) se anula e:
𝑋 ′ 𝑧 = 12 −𝐻0 𝑧 𝐻1 −𝑧 + 𝐻1 (𝑧)𝐻0 (−𝑧) 𝑋(𝑧) (10)
As expressões no DT de (9) são:
𝑔0 𝑛 = −1 𝑛 ℎ1 [𝑛]
ቊ (11)
𝑔1 𝑛 = − −1 𝑛 ℎ0 [𝑛]
Reconstrução Perfeita por Quadrature Mirror Filters (QMF)

• Aliasing é eliminado pela escolha adequada dos filtros de síntese:


𝑧
𝐻1 𝑧 = 𝐻0 −𝑧 ֞ ℎ1 𝑛 = −1 𝑛 ℎ0 [𝑛] (12)
• No DF teremos:
𝑓𝑠
𝐻1 𝑓 = 𝐻0 (𝑓 − ) (13)
2
Se H0( f ) for um filtro Passa-Baixas, H1( f ) será um filtro Passa-Altas e
vice-versa.
Filtros QMF para Reconstrução Perfeita
Definindo todos os filtros em função de H0(z):
𝑍
𝐻1 𝑧 = 𝐻0 −𝑧 ֞ ℎ1 𝑛 = −1 𝑛 ℎ0 [𝑛]
𝑧
𝐺0 𝑧 = 𝐻0 𝑧 ֞ 𝑔0 𝑛 = ℎ0 𝑛 (14)
𝑧
𝐺1 𝑧 = −𝐻0 −𝑧 ֞ 𝑔1 𝑛 = − −1 𝑛 ℎ0 [𝑛]
A saída será:
𝑋 ′ 𝑧 = 12 𝐻0 (𝑧)2 − 𝐻0 (−𝑧)2 𝑋(𝑧) (15)
O sinal de saída terá RECONSTRUÇÃO PERFEITA da entrada com D atrasos se:
𝐻0 (𝑧)2 − 𝐻0 −𝑧 2 = 2𝑧 −𝐷 (16)
Exemplo QMF: Filtro de Haar
O filtro de Haar h0[n] tem uma resposta ao impulso:
1 1
𝑧 1
ℎ0 𝑛 = 2
, 2
,0,0,… ֞ 𝐻0 𝑧 = 2
(1+𝑧 −1 ) (17)
Que satisfaz a condição de Reconstrução Perfeita (16) se:
𝐻0 (𝑧)2 − 𝐻0 −𝑧 2 = 2𝑧 −1 (18)
Obtendo todos os filtros:
1
𝐻1 𝑧 = 2
(1−𝑧 −1 )
1
𝐺0 𝑧 = 2
(1+𝑧 −1 ) (19)
1
𝐺1 𝑧 = − (1−𝑧 −1 )
2
Resposta dos QMF Haar x QMF “ideal”

• Embora simples, a resposta impulsiva curta dos filtros Haar torna a


seletividade deles muito suave
• Para transições mais seletivas outras alternativas de projetos FIR QMF
“ideais” são necessárias ou outras abordagens (cfr. Vaidynathan 1993).
• Uma proposição são os FIR CQF (Conjugate Quadrature Filter)
Filtros Pseudo-QMF
(ou M Filtros Passa Faixas em Paralelo)

Filtros Hi(z) são obtidos pela modulação da resposta impulsiva h(n) de um


protótipo PB por M portadoras fi distribuídas uniformemente em [0,1/2]:
ℎ𝑖 𝑛 = ℎ(𝑛)cos(2𝜋𝑓𝑖 𝑛 + 𝜑𝑖 ) 2𝑖 + 1 1
𝑓𝑖 =
𝑔𝑖 𝑛 = 𝑔(𝑛)cos(2𝜋𝑓𝑖 𝑛 + 𝜃𝑖 ) 2𝑀 2
Condição na fase, para cancelar aliasing:
2𝑖 + 1
𝜑𝑖 = − 𝜋 = 𝜃𝑖
4
A banda normalizada dos filtros deve ser 1/4M ao invés de ¼.
Os filtros de síntese para serem as imagens espelhadas devem ser:
ℎ𝑖 𝑛 = 𝑔𝑖 𝑁 − 1 − 𝑛 ,
Ou seja, Hi(z)Gi(z) em todas as sub-bandas deverão ter fase linear.

➢ Estes filtros PQMF são usados na norma MPEG-1, camada I de


áudio.
Protótipo PQMF fs/64
Alguns filtros PQMF do MPEG1, camada 2
Referências
• DUTOIT, T. and MOREAU, N., How is sound processed in an MP3
player?, in: Applied Signal Processing, Ch.3, Springer, New York, 2009.
• BOSI, M. and GOLDBERG, R. E., Introduction to Digital Audio Coding
and Standards, Kluwer Academic Publishers, Dordrecht, 2003.
• KOHLRAUSCH, A. and PAR, S., Audio-Visual Interation in the Context
of Multi-Media Applications, in: Communication Acoustics, Edited by
Blauert, J., Springer, Berlin, 2005.
• VAIDYNATHAN, P. P., Multirate Systems and Filter Banks, Prentice-
Hall PTR, New Jersey, 1993.