Опубліковано 25 лютого 2017 р. • 15:04

формат

Сьогодні ми пропонуємо вам дещо іншу статтю. Ми проаналізуємо формати стиснення найпопулярніші, що дозволяють стискати файли будь-якого типу без втрати інформації. Який Швидко? Більш потужний? І найбільше використовується?

Що таке стиснення файлів? Що означає стиснути?

Чи траплялися вам коли-небудь файл, який зайняв забагато і ви не знали, як зробити це менш зайнятим, наприклад, надіслати його другу поштою? Ось для чого потрібне стиснення.

Стиснення файлу дозволяє нам зменшити розмір того самого. Таким чином, це займе менше місця на вашому жорсткому диску, і його буде легше відправити. Залежно від типу файлу та типу використовуваного стиснення його розмір зменшиться більш-менш.

Як ми щойно сказали, їх декілька типи методів стиснення:

  • З втратами . Це метод стиснення, який використовується для стиснення файлів з відео, аудіо чи зображення, наприклад. Основна характеристика цього методу стиснення полягає в тому, що при стисненні, наближення, так медіа-файл зменшує розмір. Проблема полягає в тому, що наближення є незворотним, а отже якість буде втрачено під час перегляду/відтворення мультимедійного файлу.
  • Без втрат . На відміну від попереднього випадку, у цьому інформація не втрачається. Цей метод шукає повторювані шаблони, на додаток до інших більш досконалих методів. Завдяки цьому розмір файлу зменшується без втрати інформації та якості, хоча очевидно це не так сильно зменшується розмір файлу.

Які існують формати стиснення та які найпопулярніші

Що стосується форматів та методів стиснення, ми маємо широкий спектр:

  • З втратами. У випадку втрат ми маємо безліч форматів залежно від того, для чого вони призначені. Це пояснюється тим, що алгоритми стиснення дійсний лише для одного типу файлу, тобто, якщо ви спробуєте стиснути аудіофайл за допомогою алгоритму стиснення зображень, це не спрацює. А які ми маємо в цій галузі? Наприклад, у випадку з зображення у нас є JPEG, який є найпопулярнішим. В відео ми маємо такі формати, як MPEG (усі його варіанти), MP4 та OGG. У випадку Аудіо ми маємо AAC, OGG та WMA. Напевно, деякі з них були вам знайомі, так?
  • Без втрат. Але всі ці формати стиснення з втратами нас не цікавлять для цієї статті. Нас цікавлять формати без втрат, серед яких виділяються загальні алгоритми (які стискають файли будь-якого типу), наприклад ZIP або RAR. Вони є найпопулярнішими, особливо ZIP, оскільки саме він за замовчуванням поставляється в більшості операційних систем.

Порівняння загальних форматів стиснення без втрат

Тепер ми перейдемо до аналізу найвідоміших форматів стиснення. Зокрема, ми проаналізуємо ZIP, GZIP, BZIP2, TAR та 7z. А що з ним RAR? Хоча це друге місце за популярністю, воно не є безкоштовним, і тому ми не будемо його аналізувати в цій статті. Крім того, будучи власницьким форматом, стиснення в цьому форматі ускладнюється без офіційного додатка (хоча при розпаковуванні проблем не виникає).

Першим параметром, який ми проаналізуємо, буде швидкість стиснення. Яке стискання найшвидше? Для цих тестів ми стиснули віртуальну машину і зробили це на MacBook Pro з другим поколінням Intel i5 та 8 ГБ оперативної пам'яті (стиснення здійснювалося на жорсткому диску 5200 об/хв, внутрішньо підключеному через SATA). Також згадайте, що ми використовуємо інструмент Кека, яка сумісна з macOS і є безкоштовною.

У нашому другому тесті ми побачимо прямо протилежне. Скільки потрібен час на декомпресію?

І нарешті, який параметр ми повинні перевірити? Ну то ступінь стиснення, безумовно. Якщо ми не проаналізуємо, скільки місця ми економимо, ця стаття втратить своє значення. Ну, це результат:

Як бачимо, виявився той, який стискав найбільше 7z.

І найменше ТАР ... Насправді це нічого не стискало ... чому? З простої причини: я вас обдурив. Tar - це не формат стиснення, це формат файл контейнера. Тобто це не зменшує розмір, а включає лише кілька файлів в одному, це як перетворення папки у файл безпосередньо (що технічно відомо як упаковка). Цей формат використовується разом з іншими, такими як BZIP2 або GZIP, оскільки це лише компрес, вони не упаковуються.

Режим стиснення

Нарешті, закінчуючи цю статтю, згадайте, що переважна більшість форматів дозволяють вибирати величину стиснення. "нормальний режим Це той, який ми використовуємо для попередніх тестів, і найбільш рекомендований з тих пір стискає досить, але не триває довго багато. Різниця в стисненні між нормальним і вищим стисненням невелика, але час, який потрібно, значно більший. З іншого боку, якщо ми використовуємо найшвидший режим, він навряд чи стиснеться. Тому необхідний баланс.

Для тестування ми стискаємо той самий файл, що і раніше, у ZIP із максимальне та мінімальне стиснення. Хоча, цей тест також можна проводити з іншими форматами (крім Tar, оскільки він не стискається). Ось результат:

Завершення

Це такі результати що ми отримали з наших тестів. Ми сподіваємось, вони послужать вам посилання, хоча і не настільки точні. Перш за все, до результатів тестів часу слід ставитися з обережністю, оскільки багато речей можуть вплинути на це. Але це дає нам уявлення.

Як бачите, існує безліч форматів і безліч варіантів. Який з них ти збережеш? Яким із них ви зазвичай користуєтесь? Зазвичай я використовую * .zip, хоча іноді також використовую * .tar.gz, завдяки його величезній універсальності.

Не забудьте повідомити нам, чи хочете ви більше таких статей, чи хочете, щоб ми пояснили, як вони працюють внутрішньо.