Melhor algoritmo de compactação para fotos em timelapse

9

Eu tenho uma pasta contendo cerca de 9.000 fotos JPEG (cerca de 30 GB), que eu quero arquivar com algum tipo de compactação. Entendo que a compactação de JPEGs normalmente não é muito eficaz, mas essas fotos são quadros de um intervalo de tempo; portanto, há uma enorme quantidade de semelhanças entre a maioria das imagens. É provável que eu obtenha mais redução de tamanho de arquivo do que o normal neste caso? Existe um algoritmo de compactação (comum) específico que provavelmente se sairá particularmente bem nesse cenário?

Stephen
fonte
11
Você pode simplesmente usar um codec de vídeo padrão como o h264?
CodesInChaos 01/07/19

Respostas:

9

Essa é uma pergunta interessante: os algoritmos de compactação populares ainda podem usar a redundância nos quadros depois de serem compactados individualmente ou a compactação individual é boa demais para "deixar rastros"? Eu não sei, e você teria que tentar para obter uma resposta confiável.

No entanto, é quase certamente uma idéia melhor armazenar todos esses quadros como um fluxo de vídeo, porque os codificadores de vídeo são criados especificamente para o trabalho. (Reutilizar bibliotecas de sucesso quase sempre é mais rápido e mais eficiente do que criar sua própria.) Você sempre pode extrair cada quadro individual do vídeo, se necessário. Eu não acho que você possa encontrar um compressor padrão que se sairá tão bem nessa tarefa quanto os que são personalizados para o trabalho.

Kilian Foth
fonte
2
@ Stephen Você pode usar o ffmpeg para converter suas imagens em um vídeo. trac.ffmpeg.org/wiki/… Isso prejudicaria a compactação das imagens. Posteriormente, você poderá usar o ffmpeg para retirar os quadros. Isso seria potencialmente muito prejudicial, mas você pode ajustar os níveis de qualidade para atenuar isso.
Sirisian
6

Os métodos de compactação de dados que exploram a redundância entre grupos de dados individuais de um conjunto (geralmente um conjunto de imagens semelhantes) são chamados de Compactação de redundância de conjunto (SRC foi proposto inicialmente por Kosmas Karadimitriou em 1996).

Existem quatro tipos conhecidos de técnicas SRC:

  • Método diferencial Min-Max (MMD)
  • Método preditivo Min-Max (MMP)
  • método centróide
  • método centróide multinível

Uma comparação das técnicas de compactação de redundância de conjuntos (Samy Ait-Aoudia e Abdelhalim Gabis) contém uma breve descrição e comparação dos vários algoritmos.

Os métodos MMP costumam ter um desempenho melhor que as outras técnicas SRC.

O SRC é um campo ativo de pesquisa, mas você dificilmente encontrará um software pronto para usar.


Como suas fotos são quadros de um intervalo de tempo, você tem alta "redundância temporal" e os métodos de compactação de vídeo podem ser usados ​​com eficácia. Contudo:

  • uma imagem não pode ser descompactada sem descomprimir várias outras imagens;
  • a maioria dos métodos de compactação de vídeo está com perdas.

Considere também que os arquivos JPEG podem ser ainda mais compactados: o software baseado no algoritmo de mistura de contexto (por exemplo, arquivadores de compactação de dados sem perda PAQ ) é bastante bom nesse sentido (às custas da velocidade e da memória).

manlio
fonte