Лучший алгоритм сжатия для фотографий с интервальной съемкой

9

У меня есть папка, содержащая около 9000 фотографий JPEG (около 30 ГБ), которые я хочу заархивировать с некоторым сжатием. Я понимаю, что сжатие JPEG-файлов обычно не очень эффективно, но эти фотографии представляют собой кадры с интервалом, поэтому между большинством изображений существует огромное сходство. Могу ли я в этом случае получить большее уменьшение размера файла, чем обычно? Существует ли какой-то конкретный (распространенный) алгоритм сжатия, который, вероятно, будет особенно эффективен в этом сценарии?

Стивен
источник
1
Вы можете просто использовать стандартный видеокодек, такой как h264?
CodesInChaos

Ответы:

9

Это интересный вопрос: могут ли популярные алгоритмы сжатия по-прежнему использовать избыточность в кадрах после того, как они были индивидуально сжаты, или индивидуальное сжатие слишком хорошо, чтобы «оставлять следы»? Я не знаю, и вы должны попробовать это, чтобы получить надежный ответ.

Тем не менее, почти наверняка лучше хранить все эти кадры в виде видеопотока, поскольку видеокодеры написаны специально для этой работы. (Повторное использование успешных библиотек почти всегда быстрее и эффективнее, чем использование собственных.) Вы всегда можете извлечь каждый отдельный кадр из видео, если вам это нужно. Я не думаю, что вы можете найти стандартный компрессор, который будет почти так же хорош в этой задаче, как и те, которые специально созданы для этой задачи.

Килиан Фот
источник
2
@ Stefhen Вы можете использовать ffmpeg, чтобы конвертировать ваши изображения в видео. trac.ffmpeg.org/wiki/… Это сжимает изображения с потерями. Затем вы можете позже использовать ffmpeg, чтобы вытащить кадры обратно. Это может привести к большим потерям, но вы можете настроить уровни качества, чтобы уменьшить это.
Сирисян
6

Методы сжатия данных, в которых используется избыточность между отдельными группами данных набора (обычно набор похожих изображений), называются « Сжатие избыточности набора» (SRC был впервые предложен Космасом Карадимитриу в 1996 году).

Существует четыре хорошо известных типа методов SRC:

  • Мин-Макс дифференциальный метод (ММД)
  • Мин-Макс прогнозирующий метод (ММП)
  • метод центроида
  • многоуровневый центроидный метод

Сравнение методов сжатия избыточных множеств (Samy Ait-Aoudia и Abdelhalim Gabis) содержит краткое описание и сравнение различных алгоритмов.

Методы MMP обычно работают лучше, чем другие методы SRC.

SRC является активной областью исследований, но вы вряд ли найдете готовое программное обеспечение.


Поскольку ваши фотографии представляют собой кадры с интервалом, у вас высокая «временная избыточность», и методы сжатия видео можно эффективно использовать. Однако:

  • изображение не может быть распаковано без распаковки ряда других изображений;
  • Большинство методов сжатия видео с потерями.

Также учтите, что файлы JPEG могут быть дополнительно сжаты: программное обеспечение, основанное на алгоритме смешивания контекста (например, архиваторы сжатия данных без потерь PAQ ), достаточно хорошо в этом отношении (за счет скорости и памяти).

Manlio
источник