Кто-нибудь знает эффективный метод ультра-сжатия файлов?

3073
Soumitra Sen

Кто-нибудь знает эффективный метод ультра-сжатия файлов? Вы, возможно, видели некоторые компьютерные игры, сжатые до невероятно малых размеров тут и там (например, GTA San Andreas, сжатый в файл размером 1 Мб!). Я пробовал много программ с высокой степенью сжатия, таких как 7zip, UHARC, KGB Archiver, но я не могу получить те же результаты для других типов файлов, например, для музыкального альбома. Почему некоторые файлы не могут быть сжаты? Я не понимаю, почему игры могут быть уменьшены до 70% от их размера, но 60 МБ альбом или 5 МБ PDF почти одинаковы после сжатия.

0
Чтобы понять, как файл был сжат до 1 МБ, нужно знать размер несжатого файла. Файлы данных, которые GTA будет использовать, являются текстурами, что, вероятно, означает, что они находятся в формате без какого-либо сжатия, что обеспечивает большую степень сжатия, например, в архиве. Как указывалось, аудио и видео файлы в зависимости от кодировки уже будут сжаты, и здесь в большинстве случаев используется несжатый формат. На чистых двоичных данных, таких как исполняемый файл, 60-78% не так сложно достичь. Ramhound 10 лет назад 0

1 ответ на вопрос

4
Frank Thomas

Не все файлы могут быть сжаты. Это зависит от бинарного расположения самого файла. Большинство современных форм сжатия полагаются на математический анализ данных, пытаясь использовать вероятностные правила, чтобы попытаться уменьшить объем данных в файле таким образом, чтобы его можно было выводить позже и повторно раздувать. Таким образом, они попробуют несколько различных алгоритмов и определят, какой из них смог использовать математику для уменьшения числа битов, сохраняя при этом выводы, необходимые для воссоздания оригинала.

В случае аудио и видео файлов они уже были сжаты как часть их кодирования, и маловероятно, что другой алгоритм сжатия сможет сжать их больше.

PDF-файлы также используют внутреннее сжатие, чтобы они были более дружественными к Интернету и загружались с минимальной пропускной способностью.

даже разные типы изображений сжимаются по-разному. Вы можете сэкономить много памяти, сжимая файл .bmp, но почти ни один с jpeg, потому что jpegs уже сжимаются данные (данные изображения сжимаются / минимизируются до того, как они записаны в двоичный файл) и сжимаются двоично (математика на двоичные данные), тогда как растровые изображения могут сжимать свои данные только путем сглаживания общих цветов, поэтому, применяя к ним алгоритм двоичного сжатия, вы можете значительно уменьшить размер.

Приложения обычно являются сжимаемыми, поскольку они кодируются для повышения производительности, а не для уменьшения размера, и их распаковка отрицательно влияет на их выполнение, поэтому они обычно поставляются без сжатия и, следовательно, могут быть сокращены.

Похожие вопросы