Alocação Ótima de Bits
Alan Dantas de Medeiros Endalécio
Diego Berg Brum
Nilson Carvalho Silva Junior
Victor Pereira da Costa
Vitor Borges Coutinho da Silva
Processamento Digital de Áudio
Introdução
 Ganho de Codificação
 Espectro Colorido
 Sinais Quase Estacionários
 Modelo Psicoacústico de Mascaramento
 Alocação Ótima
 Minimização do Erro Médio Quadrático
Introdução
 Quantização uniforme
 < Ɛ𝟐 > =
𝟏
𝟑∗𝟐𝟐𝑹
 Realocação de Bits

𝟏
+
𝟑∗𝟐𝟐(𝑹+𝜹)
𝟏
𝟑∗𝟐𝟐(𝑹−𝜹)
≥
𝟐
𝟑∗𝟐𝟐𝑹
 Erro Constante nas Amostras
 Ponto Flutuante

𝒒𝟐
𝒃𝒍𝒐𝒄𝒌
=
𝟏
𝑲
𝑲−𝟏
𝒌=𝟎
𝟐
< Ɛ𝒌 > =
𝟏
𝑲
𝟐
𝑲−𝟏 𝒙𝒌
𝒌=𝟎 𝟑∗𝟐𝟐𝑹𝒌
Introdução
𝟐
 Como 𝒙𝒌 = 𝟐
𝒍𝒐𝒈𝟐 (𝒙𝒌 𝟐 )
, 𝒒
𝟐
𝒃𝒍𝒐𝒄𝒌
=
𝟏
𝟏
𝑲
𝟐
𝑲−𝟏 𝒙𝒌
𝒌=𝟎 𝟑∗𝟐𝟐𝑹𝒌
 𝑹𝒌 = (𝑪 + 𝒍𝒐𝒈𝟐 𝒙𝒌 𝟐 )
𝟐
 Maior escala requer mais bits
 Substituindo C em função do número total de bits e fazendo a média
 𝑪=
𝑷
𝟐
𝑲𝒑
𝒐𝒑𝒕
 𝑹𝒌
=
−
𝑷
𝑲𝒑
𝟏
𝑲𝒑
+
𝒑𝒂𝒔𝒔𝒆𝒅 𝒌 𝒍𝒐𝒈𝟐
𝟐
𝒙𝒌 =
𝑷
𝟐
𝑲𝒑
𝟏
𝟏
𝒍𝒐𝒈𝟐 𝒙𝒌 𝟐 − < 𝒍𝒐𝒈𝟐 𝒙𝒌 𝟐
𝟐
𝟐
− 𝒍𝒐𝒈𝟐
𝒑𝒂𝒔𝒔𝒆𝒅 𝒌 𝒙𝒌
𝟐
𝟏
𝑲𝒑
>𝒑𝒂𝒔𝒔𝒆𝒅 𝒌
 𝑲𝒑 -> número de frequências com, pelo menos, 1 bit de mantissa alocado
 𝑷 -> total de bits de mantissa
Ganho de Codificação e Planitude
Espectral
𝒐𝒑𝒕
𝒐𝒑𝒕
𝒃𝒍𝒐𝒄𝒌 e
𝒖𝒏𝒊𝒇𝒐𝒓𝒎
𝒒𝟐 𝒃𝒍𝒐𝒄𝒌
 Substituindo 𝑹𝒌 em 𝒒𝟐
em consideração em


𝒐𝒑𝒕
𝒒𝟐 𝒃𝒍𝒐𝒄𝒌 =
𝒖𝒏𝒊𝒇𝒐𝒓𝒎
𝒒𝟐 𝒃𝒍𝒐𝒄𝒌
levando a potência
𝟏
𝑲
=
𝑲−𝟏
𝟐
𝟐𝑹
𝒙
(𝟑
∗
𝟐
)
𝒌
𝒌=𝟎
𝟏 𝑲−𝟏
𝒙𝒌 𝟐 (𝟑 ∗ 𝟐𝟐𝑹 )
𝒌=𝟎
𝑲
 Quando 𝒔𝒇𝒎 =
𝑲−𝟏
𝟐
𝒌=𝟎 𝒙𝒌
𝟏
𝑲
(
𝟏
𝑲
𝑲−𝟏
𝟐
𝒌=𝟎 𝒙𝒌 )
alocação com ponto flutuante é melhor
< 𝟏, a
Ganho de Codificação e Planitude
Espectral
 𝒔𝒇𝒎 =
𝑲−𝟏
𝟐
𝒙
𝒌
𝒌=𝟎
𝟏
𝑲
(
𝟏
𝑲
𝑲−𝟏
𝟐)
𝒙
𝒌
𝒌=𝟎
≤ 𝟏 (Média
Geométrica/Média Aritmética)
 Igual a 1 para ruído branco
 Quanto menor, maior ganho de codificação
Quantização em Ponto Flutuante por
Blocos
 Número de bandas de frequência pequeno
 Alocação ótima de bits
 Quantização amostra por amostra
 Número de bandas de frequência grande
 Agrupamento de amostras em sub-bandas
 Quantização das sub-bandas em FP por Blocos
Quantização em Ponto Flutuante por
Blocos
 Equação de alocação de bits para sub-banda “b”:
𝒐𝒑𝒕
 𝑹𝒃
=
𝑷
𝑲𝒑
+
𝟏
𝒍𝒐𝒈𝟐
𝟐
𝒙𝒎𝒂𝒙 𝒃 𝟐 −
𝟏
𝑲𝒑
𝒑𝒂𝒔𝒔𝒆𝒅 𝒃 𝑵𝒃 ∗
𝟏
𝒍𝒐𝒈𝟐
𝟐
 b -> índice de sub-banda
 Nb -> Número de amostras na sub-banda “b”
 𝑥 2 𝑚𝑎𝑥𝑏 -> Valor máximo de 𝑥 2 𝑘 na sub-banda “b”
𝒙𝒎𝒂𝒙 𝒃 𝟐
Quantização em Ponto Flutuante por
Blocos
 Informações necessárias para descrever alocação:
 Se bandas são passadas e quantos bits por banda
 Alocação ótima de bits:
 Garantir resultados coerentes
 Número de bits alocados positivo
 Pelo menos 2 bits de mantissa para quantizações midtread
Quantização em Ponto Flutuante por
Blocos
 Informações necessárias para descrever alocação
 Problema:
 Overhead
 Número grande de alocações diferentes por sub-banda
 Solução:
 Valores pré-definidos no decodificador
 MPEG II – máximo de bits alocados para certas bandas
Quantização em Ponto Flutuante por
Blocos
 Equação de alocação de bits
 Problemas:
 Número de bits alocados > máximo permitido
 Número de bits alocados < 2 por sub-banda
Quantização em Ponto Flutuante por
Blocos
 Soluções:
 Ajustar limites superior e inferior do sinal
 Alocação “water-filling”
Quantização em Ponto Flutuante por
Blocos
 Escolha de limites de sinal para alocação de bits:

2
1
Se 𝑙𝑜𝑔2 (𝑥𝑚𝑎𝑥 ) >
2
𝑏
limite máximo => máximo de alocação
de bits(Saturação)


2
1
Se 𝑙𝑜𝑔2 (𝑥𝑚𝑎𝑥 ) < limite mínimo => nenhum bit é alocado
2
𝑏
2
1
Se limite mínimo < 𝑙𝑜𝑔2 (𝑥𝑚𝑎𝑥 ) < limite máximo:
2
𝑏
 Fórmula ótima de alocação de bits para sub-banda
 Se resultados da fórmula incluirem alocações superiores ao
limite máximo de bits ou inferiores a 2 bits
 limites de sinal inválidos
 Aumenta limite inferior e diminui superior.
Quantização em Ponto Flutuante por
Blocos
 Alocação “water-filling”: Condição inicial (0 bits)
Ordenar sub-bandas
Limite =
2
1
𝑙𝑜𝑔2 (𝑥𝑚𝑎𝑥 )
2
𝑏
2
1
Max( 𝑙𝑜𝑔2 (𝑥𝑚𝑎𝑥 ))
2
𝑏
1
Limite--
Se (2 𝑙𝑜𝑔2 (𝑥𝑚𝑎𝑥
2
𝑏
)) >= Limite
Se numBits𝑏 < MaxBits
numBits𝑏 ++
 Até que P=0
 Se existirem sub-bandas com numBits𝑏 = 1, agrupar em pares
na mesma situação ou distribuir bits para outras amostras.
Download

Apresentacao 1