Мне нужно уменьшить размер моей библиотеки фотографий, поэтому я, естественно, хочу сжать их. Многие из них не совсем идентичны, но все же очень похожи (последующие кадры одной и той же сцены). Есть ли алгоритм сжатия, который использует этот факт для эффективного сжатия этих изображений? 7zip (LZMA) бесполезен.
images
compression
jpeg
Erik
источник
источник
Я предположил бы, что преобразование Барроуза-Уилера с арифметическим кодером было бы идеальным для этого, учитывая достаточно большое окно. Что произойдет, если вы настроите BZIP2 для использования размера блока, равного небольшому количеству фотографий? Это будет медленнее и займет больше памяти, но степень сжатия должна взлететь. А вы уже пробовали LZMA с блоками большего размера?
источник
Вот простое решение, которое не работает для фотографий, но может работать, если у вас есть несколько изображений с большими попиксельными областями: сохраните изображения в распакованном формате, например, BMP (не PNG или GIF), а затем сохраните их в TAR и сожмите с достойным компрессором, как XZ, например, на Linux с чем-то вроде
Вместо TAR и XZ можно использовать 7-Zip с опцией «сплошной архив», чтобы получить примерно одинаковую производительность. Таким образом, я мог сжать 16 похожих снимков экрана, каждый из которых занимал около 900 КБ при сохранении в виде отдельных файлов PNG, в архив размером 2 МБ. Преимущество этого решения заключается в том, что оно использует общие форматы файлов, поэтому оно работает без установки нового программного обеспечения. (К сожалению, старые и даже более распространенные программы GZIP и BZIP2 не помогли мне - возможно, потому что размер блока BZIP2 не может быть настроен так, чтобы он был больше 900 КБ.)
источник
Не то чтобы я видел. Вероятно, самым близким было бы взять несколько похожих JPEG-файлов и поместить их в фильм MJPEG. Вы также можете использовать APNG или анимированные GIF-файлы для аналогичных целей.
Я не уверен, насколько хорошо это сработает, и похоже, что вы уже говорите о скриншотах фильмов, поэтому перепаковка их в файл фильма звучит ... контрпродуктивно.
Возможно, лучшим способом, если у вас все еще есть клипы, с которых появились экраны, было бы просто найти инструмент командной строки, который может извлечь для вас точный кадр, скопировать этот уникальный идентификатор в текстовый файл где-нибудь, и тогда вы всегда сможете легко восстановить кадр, когда вам это нужно.
источник