Melhor compactação de imagem para baixa profundidade de bits, imagens em escala de cinza?

2

Estou tentando compactar muitas (até 2.500) imagens em tons de cinza pequenas (300x200 px) para que o tamanho do arquivo seja o menor possível. Atualmente, minha profundidade de bits é de 4 (16 tons de cinza). A fonte da imagem é a câmera de vigilância em um local remoto, e precisamos enviar imagens através de uma conexão de satélite muito lenta. Estou usando o ImageMagick para converter imagens em TIFs de escala de cinza descomprimidos com profundidade de 4 bits. O tamanho não compactado de cada imagem é de cerca de 41 KB. Eu sou capaz de comprimir 1.500 dessas imagens para 3MB com 7zip, o que representa uma redução de 95%. Eu também brinquei com as configurações no zpaq, mas ainda não consegui nada menor do que 3MB. Eu sei que isso parece pequeno, mas, novamente, a conexão via satélite está em velocidades de kbps e pagamos por minuto pelo tempo de transmissão.

Como esta é uma câmera de vigilância, as imagens não mudam muito entre as imagens, então também tentei convertê-las em um vídeo H.264, mas o tamanho do arquivo é ainda maior (acredito que seja porque o H.264 não suporta tons de cinza, portanto, o RGB ainda está presente).

Existem configurações melhores para o zpaq que possam dar melhores resultados ou outras ideias?

Obrigado antecipadamente

    
por bdoyle159 11.01.2018 / 00:21

1 resposta

0

Geralmente, é melhor deixar o algoritmo escolher a melhor maneira de compactar. A compactação de cores indexadas é adequada para imagens de borda viva. As imagens fotográficas são melhor compactadas por padrões como JPEG e MPEG.

Eu testei a compressão H.264 usando o FFmpeg e um vídeo de piscina que eu fiz. Primeiro eu converti o vídeo para tons de cinza, 300x200 pixels e 2 fps. Então eu usei 00:12:30 do vídeo para conseguir 1.500 frames. Eu obtive o seguinte:

ffmpeg -i input.mp4 -c:v libx264 -crf 30 crf30.mp4

Tamanho do arquivo: 5,7 MB | Taxa de bits: 60,7 Kbps
Quadro de exemplo:

ffmpeg-iinput.mp4-c:vlibx264-crf40crf40.mp4

Tamanhodoarquivo:1.6MB|Taxadebits:17,2Kbps
Quadrodeexemplo:

ffmpeg-iinput.mp4-c:vlibx264-crf45crf45.mp4

Tamanhodoarquivo:768.5kB
Taxadebits:7998bps
Quadrodeexemplo:

    
por 12.01.2018 / 00:26