Início » Ciência » Um algoritmo ajudou o Dropbox a economizar vários petabytes de espaço

Um algoritmo ajudou o Dropbox a economizar vários petabytes de espaço

Lepton reduz o tamanho de imagens JPEG em 22%, sem perder nenhuma qualidade

Paulo Higa Por

O Dropbox armazena mais de 500 petabytes de dados em seus servidores, então qualquer algoritmo eficiente de compressão pode ajudar a economizar muito dinheiro. Esse é o caso do Lepton, tecnologia que permite reduzir o tamanho de imagens JPEG em 22%, de maneira rápida e sem gastar muitos recursos de hardware. O melhor: não há perda nenhuma de qualidade.

O Lepton foi desenvolvido pelo próprio Dropbox e aplicado em 16 bilhões de imagens até o momento, o que ajudou o serviço de nuvem a economizar “múltiplos petabytes de espaço”. As fotos mais antigas também estão sendo comprimidas com o novo algoritmo a uma velocidade considerável: num Intel Xeon E5–2650v2, é possível chegar a 5 MB/s em compressão e 15 MB/s em descompressão.

dropbox

E como funciona? As coisas são obviamente complexas, mas vamos tentar entender. Imagine que você tem uma foto JPEG. O algoritmo divide a imagem em vários blocos de 8×8 pixels (ou seja, são 64 pixels por bloco). Cada bloco é codificado com transformadas discretas de cosseno, muito utilizadas em algoritmos de compressão. Um dos 64 coeficientes (DC) representa o brilho do bloco, e os outros 63 (AC) guardam as informações detalhadas do bloco (a textura de um objeto, por exemplo).

No final das contas, “informações detalhadas” são apenas bits (no caso, cada coeficiente tem 10 bits). O Lepton varre o bloco em zigue-zague, desconsiderando tudo o que for zero, e guarda o tamanho binário dos coeficientes AC em unário (“2” é representado como 110, “5” é 111110 e assim por diante).

Depois, ele escreve “1” se o coeficiente for positivo ou “0” se for negativo. Por fim, o Lepton representa em binário o valor do coeficiente AC. Em binário, qualquer número acima de 0 começa com “1”, então o Lepton simplesmente omite esse “1” na hora de gravar. Pronto, economizamos dados aqui.

dropbox-lepton

E o coeficiente DC (de brilho), que normalmente é gravado antes dos AC na maioria dos formatos de imagem, fica gravado depois no Lepton. Como há muitos coeficientes AC no bloco, é possível prever qual será o DC. Então, o algoritmo só guarda a diferença entre o DC verdadeiro e o DC previsto pelo Lepton, o que também ajuda a reduzir o espaço ocupado. Boom! E isso é totalmente lossless, ou seja, dá para restaurar exatamente o JPEG original, bit por bit.

Para quem ficou curioso, os detalhes estão no blog de tecnologia do Dropbox. E se você não entendeu nada da explicação e nem quer entender, não tem problema: o que realmente importa é que o Dropbox abriu o código-fonte do Lepton nesta quinta-feira (14), o que significa que outras empresas poderão se beneficiar da tecnologia e aplicá-las em outros produtos que você utilize. O código pode ser baixado no GitHub.

Aliás, lembrei que estou com episódios atrasados de Silicon Valley.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Hemerson Silva
É de Deus!
Daniel

Interessante, tem como executar isso duas vezes no mesmo arquivo?

Daniel Silva
Interessante, tem como executar isso duas vezes no mesmo arquivo?
SR 71 Pássaro Preto

Não entendi nada mas, achei super interessante essa tecnologia.

Anthony Fernando
Não entendi nada mas, achei super interessante essa tecnologia.
Matheus Alexandre
nao so vc kkkkkkkkkkk
Brazilian Boy

do ponto de vista de usuário final, ainda acho o Caesium melhor pra compressão, testei o FileOptimizer e obtive melhores resultados no que citei antes

Caillou
do ponto de vista de usuário final, ainda acho o Caesium melhor pra compressão, testei o FileOptimizer e obtive melhores resultados no que citei antes
Yskar
RAPAZ, ISSO É COISA DO TREVOSO! Obrigado MESMO, não conhecia, otimizador lossless é sempre bem vindo.
Matheus
Lepton é loss-less e reversível. Isso quer dizer que eles armazenam um arquivo compactado, porém, contudo, entretanto, revertem para o arquivo original quando o usuário solicita. A parada aqui é muito mais sobre a ética de não mexerem nos arquivos dos usuários.
Carlos Cabral

Caesium?? Pfff, FileOptimizer - http://nikkhokkho.sourcefor...

Carlos Henrique Cabral
Caesium?? Pfff, FileOptimizer - http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer
Mario Junior ?????????
Lixo de serviço é o Dropbox.
Victor C.
confesso que nao entendi porra nenhuma mas legal
Brazilian Boy

pq não conhecem o Caesium

Exibir mais comentários