CODECs de Imagem/Vídeo

Aprenda a criar CODECs de imagem/vídeo usando C

CODECs de Imagem/Vídeo

Criando Codec de Imagem

Parte 1

Entendendo o funcionamento das Cores, dos Pixels e o formato RGB24

Nessa primeira lição, vamos aprender o básico da biologia até chegar na computação.

Parte 2

Espaços de Cor: RGB, YCbCr e por que separar luminância de crominância

Aprenda um pouco mais sobre os usos de espaço de cor, RGB, YCbCr, luminância de crominância

Parte 3

Chroma Subsampling: o truque que corta dados pela metade (4:4:4, 4:2:2, 4:2:0)

Aprende alguns truques de compressão de imagem usando a anotação J:a:b

Parte 4

O que é compressão? Lossless vs Lossy, entropia e redundância

Aprenda um pouco sobre compressão de dados, teoria do pombo e as diferenças entre Lossless e Lossy

Parte 5

RLE (Run-Length Encoding): sua primeira técnica de compressão

Aprenda a fazer o uso do RLE (Run-Length Encoding) com a linguagem C

Parte 6

Codificação de Huffman: comprimindo com árvores binárias

Aprenda sobre essa tecnica de codificação criada por David Huffman rem 1952

Parte 7

LZ77 e DEFLATE: a base do PNG e do ZIP (visão geral)

Vamos aprender neste artigo a base do PNG/ZIP/GZIP e como funciona esse tipo de compressão.

Parte 8

Dividindo a imagem em blocos (8×8, 16×16) e por que fazer isso?

Chegou a hora de juntar tudo o que aprendemos nos artigos 1-3 e 4-7 em um código em C!

Parte 9

DCT (Discrete Cosine Transform): convertendo pixels em frequências

E se existisse uma forma de reorganizar um bloco de 8x8 de 64 pixels de um jeito que...

Parte 10

Quantização: onde a compressão com perdas finalmente acontece

Chegou o momento de aprendermos a jogar alguns dados fora de propósito...

Parte 11

SSIM e VMAF: medindo qualidade como o olho humano de verdade

Neste artigo extra, vamos aprender o funcionamento das tecnologias SSM e VMAF...

Parte 12

Zig-zag e RLE: transformando o mar de zeros em bytes de verdade

Agora nós iremos transformar aquele mar de zeros em bytes de verdade com Zig-Zag...

Parte 13

Codificação de entropia: o primeiro arquivo comprimido de verdade

Na última lição desta FASE, aprenderemos a gerar um primeiro arquivo comprimido de verdade...

Parte 14

Nasce o N.148i: Criando o nosso primeiro CODEC de verdade

Neste artigo, vamos dar a vida ao nosso N.148i, o seu codec de imagens criados do zero...

Parte 15

Lendo uma imagem de verdade: o formato PPM e os canais de cor

O PPM (Portable Pixmap) é um formato de imagem criado lá nos anos 80 com um objetivo...

Parte 16

O encoder completo: comprimindo uma imagem inteira no N.148i

Chegou o momento tão aguardado da série inteira, construir o encoder do nosso CODEC!

Parte 17

O decoder: abrindo o .n148i e vendo a imagem de volta

Neste artigo, vamos aprender abrir imagens do tipo N148i usando o nosso Decoder escrito em C!

Parte 18

Refinando o N.148i antes do julgamento

Agora vamos refinar o nosso CODEC antes do benchmark final contra JPG, WEBP e...

Parte 19

A DCT rápida: a AAN e a escala que sai de graça

Se realmente quisermos ser mais rápidos que o JPEG, precisamos implementar a AAN!

Parte 20

Afiando o encoder: o trabalho que a gente fazia duas vezes

Vamos aprender a deixar o nosso encoder mais rápido com algumas técnicas customizadas!

Criando Codec de Vídeo

Editores

Foto do William Lima
William Lima
Fundador da Micilini

Inventor nato, escreve conteudos de programação para o portal da micilini.

Torne-se um MIC 🤖

Mais de 100 mic's já estão conectados na plataforma.