Trilha 16

Imagens, áudio e vídeo

De ondas sonoras a pixels e frames: como computadores representam, processam e comprimem multimídia — e a matemática por trás dos codecs modernos.

O que você vai aprender

Som é uma onda de pressão no ar. Para um computador, é uma sequência de números — amostras de amplitude capturadas milhares de vezes por segundo (PCM). O Teorema de Nyquist define quantas amostras são suficientes para reconstruir perfeitamente qualquer frequência audível.

Imagens são grades de pixels com valores R, G, B. JPEG comprime aplicando transformada discreta de cosseno (DCT) em blocos 8×8 e descartando detalhes de alta frequência que o olho mal percebe. PNG usa compressão sem perdas baseada em Huffman — a mesma ideia do ZIP e do gzip.

Vídeo é sequência de imagens. H.264 e HEVC comprimem em 100× armazenando apenas as diferenças entre frames consecutivos (P-frames), com frames de referência completos (I-frames) intercalados.

Projetos desta trilha

🎵

Sintetizador FM

Construa um sintetizador FM (frequency modulation) com Web Audio API: um oscilador modula a frequência de outro. Adicione envelope ADSR (attack, decay, sustain, release) e um teclado virtual no browser.

🖼️

Compressor de imagem

Implemente um compressor de imagem usando DCT + quantização em blocos 8×8 via Canvas 2D. Compare a qualidade visual e o tamanho de arquivo em diferentes níveis de qualidade (1–100).

📦

Compressor Huffman

Implemente compressão e descompressão Huffman em JavaScript: encode uma string em bits, serialize a árvore junto com os dados comprimidos, e decode de volta — tudo sem bibliotecas externas.

← Voltar ao início Começar trilha →