Codificação huffman

Definição - o que significa a codificação Huffman?

A codificação Huffman é um algoritmo de codificação de dados sem perdas. O processo por trás de seu esquema inclui a classificação de valores numéricos de um conjunto em ordem de frequência. Os números menos frequentes são eliminados gradualmente por meio da árvore de Huffman, que adiciona as duas frequências mais baixas da lista classificada em cada novo "ramo". A soma é então posicionada acima dos dois valores de frequência inferiores eliminados e os substitui na nova lista classificada. Cada vez que um novo ramo é criado, ele move a direção geral da árvore para a direita (para valores mais altos) ou para a esquerda (para valores mais baixos). Quando a lista ordenada se esgota e a árvore está completa, o valor final é zero se a árvore terminou em um número à esquerda, ou é um se terminou à direita. Este é um método de redução de código complexo em sequências mais simples e é comum na codificação de vídeo.

Definirtec explica a codificação Huffman

A compactação de dados tem um histórico anterior à computação física. O código Morse, por exemplo, compacta informações atribuindo códigos mais curtos a caracteres que são estatisticamente comuns no idioma inglês (como as letras “e” e “t”). A codificação Huffman surgiu como resultado de um projeto de classe no MIT por seu então aluno, David Huffman.

Em 1951, Huffman estava tendo um curso com Robert Fano, que (com a ajuda de um engenheiro e matemático chamado Claude Shannon) inventou um esquema de eficiência conhecido como codificação de Shannon-Fano. Quando Fano deu à classe a oportunidade de escrever um trabalho de conclusão de curso ou fazer um exame final, Huffman escolheu o trabalho de conclusão de curso, que buscava encontrar um método de codificação binária eficiente. Isso resultou na codificação de Huffman, que na década de 1970 se tornou um algoritmo de codificação digital proeminente.