O que é codificação por comprimento de sequência?

A codificação por comprimento de sequência é um método de compressão sem perdas que substitui valores repetidos consecutivos por cada valor e pelo comprimento de sua sequência. Sua eficácia depende da frequência com que sequências longas ocorrem nos dados de origem.

Como funciona a codificação por comprimento de sequência

Um codificador RLE percorre os símbolos em uma ordem definida e emite pares ou tokens que descrevem um valor e quantas vezes ele se repete. A decodificação expande cada token de forma determinística, sem descartar nenhuma informação de origem. A ordem de varredura importa para imagens: linhas horizontais podem gerar sequências longas em imagens com áreas de cor uniforme, mas sequências curtas após um percurso diferente ou em fotografias com ruído. A RLE costuma ser incorporada como uma etapa em formatos de bitmap, fax, máscara, legenda ou dados intermediários, em vez de ser usada como um tipo de arquivo independente e universal.

Informações essenciais

  1. Um codificador precisa de uma convenção de escape ou de tokens para distinguir valores literais de marcadores de sequência; a representação exata depende do formato e não é inerente ao conceito de RLE.
  2. A expansão no pior caso ocorre quando os valores mudam com frequência, pois metadados de sequência são adicionados a sequências muito curtas; alguns formatos passam a usar blocos literais para limitar esse custo adicional.
  3. As sequências não devem ultrapassar limites proibidos pelo formato que as contém, como linhas de varredura ou blocos de imagem, mesmo quando o último valor de uma unidade coincide com o primeiro da seguinte.

Quando a codificação por comprimento de sequência é importante

Escolha esse método para máscaras, gráficos simples ou outros dados que contenham sequências longas de pixels idênticos. Uma entrada com ruído ou muito variada pode tornar a forma codificada tão grande quanto a original ou até maior.

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente