Стиснення даних, архівування даних, резервне копіювання

Стиснення даних

Попри постійне зростання ємності носіїв інформації, потреба у зменшенні розмірів файлів залишається актуальною. Особливо це важливо під час:

  • передавання даних комп’ютерними мережами;
  • використання мобільного зв’язку;
  • зберігання інформації на носіях обмеженого обсягу;
  • публікації даних в Інтернеті.

Для цього застосовують алгоритми стиснення даних.

Стиснення даних — це процес перекодування інформації з метою зменшення розміру файлів без або з частковою втратою інформації.

Типи файлів, для яких застосовується стиснення

Стиснення широко використовується під час створення та зберігання файлів різних типів:

Тип данихПриклади форматів
ГрафічніTIFF, JPEG, PNG
ЗвуковіMPEG, WMA
ВідеоMPEG4, WMV, MOV

Види стиснення даних

Стиснення без втрати даних

Алгоритми цього типу забезпечують повне відновлення початкових даних і застосовуються там, де точність інформації не допускає змін.

  • текстові документи;
  • програмний код;
  • бази даних;
  • табличні дані.

Стиснення з частковою втратою даних

Алгоритми з втратою даних зменшують обсяг файлу за рахунок відкидання малопомітної для людини інформації та базуються на особливостях людського зору й слуху.

Вони застосовуються для:

  • графічних файлів;
  • аудіо;
  • відео.

Важливе обмеження: алгоритми з втратою даних не можна використовувати для текстових і числових файлів, оскільки навіть незначна втрата символів призводить до спотворення змісту.

Методи стиснення даних

Алгоритми Хаффмана та Шеннона–Фано

Ці алгоритми базуються на частоті появи символів у повідомленні:

  • символи, які трапляються частіше, кодуються коротшими кодами;
  • рідкісні символи отримують довші коди.

Приклад принципу роботи

У реченні зі 112 символів стандартне кодування (1 байт на символ) дає 112 байтів. Після аналізу частот найчастіші символи отримують 1–2 біти, а рідкісні — до 4 бітів.

Результат: загальна довжина коду зменшується до 239 біт (приблизно 30 байтів), тобто майже у 4 рази.

Обмеження методу

  • файл повинен містити таблицю кодування та службові дані;
  • для дуже малих файлів розмір може не зменшитися, а навіть збільшитися.

Алгоритм RLE

RLE — це метод кодування повторів, який замінює послідовності однакових даних коротким описом.

Принцип

Замість довгої послідовності однакових символів записується значення та кількість повторів.

Приклад застосування

  • логотипи;
  • чорно-білі зображення;
  • графіка з великими одноколірними ділянками.

У прикладі з логотипом Apple замість 48 бітів використовується коротший опис, що забезпечує суттєве скорочення даних.

Обмеження

  • малоефективний для даних без повторів;
  • не підходить для фотографій з великою кількістю дрібних деталей.

Порівняння методів стиснення

МетодТип стисненняНайкраще підходить для
ХаффманБез втратиТексти, числові дані
Шеннон–ФаноБез втратиТексти
RLEБез втратиПрості зображення
JPEGЗ втратоюФотографії
MPEGЗ втратоюВідео

Висновки

  • Стиснення даних необхідне для ефективного зберігання та передавання інформації.
  • Вибір алгоритму залежить від типу даних, допустимості втрат і вимог до якості.
  • Алгоритми без втрат гарантують точність, але мають менший коефіцієнт стиснення.
  • Алгоритми з втратами забезпечують значне зменшення обсягу, але не придатні для критично важливих даних.

Тест: Стиснення даних

Обери правильну відповідь

Тест завершено!