UMA ETAPA DE UMA CADEIA — O QUE ENTRA, O QUE SAI E O QUE QUEBRA DEPOIS
Onde isto fica no pipeline de codificação
Um codificador de vídeo não é um algoritmo, mas oito etapas numa ordem fixa, e a ordem não é arbitrária: cada etapa existe porque a anterior tornou o seu trabalho possível. Esta ferramenta modela uma delas. A cadeia abaixo liga às outras sete.
Playground de codificação de entropia — empacota os símbolos quantizados em tão poucos bits quanto a sua estatística permite
- O que entra
- Um fluxo de inteiros quantizados, fortemente enviesado para zero.
- O que sai
- O bitstream final. Aqui nada é descartado.
- O que a etapa seguinte pressupõe
- Nada a jusante — esta é a última etapa de codificação. O que ela pressupõe está a montante: que a distribuição de símbolos já foi tornada desigual para ela.
- O que dá errado aqui
- Nenhum codificador entrópico consegue bater a entropia de Shannon do que lhe é entregue, então o seu teto é fixado inteiramente pelas etapas anteriores. Rodá-lo sobre coeficientes não quantizados encontra pouca redundância, e essa é a razão de o passo com perda vir primeiro e não por último.
Problema resolvido na íntegra
-
O espaço restante para um algoritmo mais engenhoso do que o de Huffman em 16 símbolos 6 passos
16 símbolos, distribuição de Laplace, entropia de 3,010 bits. Huffman obtém 3,012. Determine quanta margem resta para um algoritmo mais inteligente.
-
A entropia é a surpresa média, em bits, de um símbolo extraído desta distribuição. É uma propriedade exclusiva das probabilidades e não depende de qualquer código.
-
A alternativa ingénua atribui a cada símbolo o mesmo número de bits, e 16 símbolos necessitam de 4. Esta é a linha de base em relação à qual a poupança é medida.
-
Huffman atribui códigos curtos a símbolos frequentes e longos a símbolos raros, sendo a média o comprimento ponderado pelas probabilidades.
-
A poupança compara os dois comprimentos de código, não o código com a entropia — razão pela qual é uma afirmação sobre esta alternativa e não sobre o limite.
-
Agora compare em relação ao limite. O teorema da codificação de fonte de Shannon estabelece que nenhum código de prefixo pode ficar abaixo de H, e Huffman garante um valor inferior a H + 1.
-
Exprima a margem restante sob a forma de fração e a questão da otimização responde por si mesma.
Resposta
0,002 bits por símbolo, ou 0,07%. O teorema de Shannon delimita qualquer código de prefixo entre H e H + 1. Sendo o de Huffman comprovadamente ótimo nesse grupo, nenhum código de prefixo fará melhor do que 3,012 neste texto. A redução de 24,7% face à codificação de comprimento fixo é real, e os 0,07% restantes traduzem a totalidade do que uma engenharia mais apurada jamais poderia acrescentar. A partir daqui, a compressão só ganha terreno ao alterarmos o modelo em vez do código: caso os símbolos adjacentes se correlacionem, a entropia da distribuição condicional desce abaixo de 3,010. Trata-se de uma grandeza completamente diferente.
-
Referências (1)
- Insight block 2 — entropy as average surprise, and the limit Huffman cannot beat: C. E. Shannon, "A Mathematical Theory of Communication." Bell System Technical Journal 27(3), 379–423, 1948.