Алгоритми стиснення: опис, основні прийоми, характеристики

Дискретне косинусне перетворення зображень

Стиснення відео та аудіо працює зовсім по-іншому. На відміну від тексту, де виконують алгоритми стиснення без втрат, і дані не будуть втрачені, із зображеннями виконують “зменшення” з втратами, і чим більше %, тим більше втрат. Це призводить до тих жахливо виглядає JPEG-файлів, які люди завантажували, обмінювали та робили скріншоти по кілька разів.

Більшість картинок, фото і іншого зберігають список чисел, кожен з яких представляє один піксель. JPEG зберігає їх, використовуючи алгоритм стиснення зображень, званим дискретним косинусным перетворенням. Воно являє собою сукупність синусоїдальних хвиль, що складаються разом з різною інтенсивністю.

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

Відео працює трохи інакше, ніж зображення. Зазвичай алгоритми стиснення графічної інформації використовують тим, що називається «міжкадрових стисненням», яке обчислює зміни між кожним кадром і зберігає їх. Так, наприклад, якщо є відносно нерухомий знімок, який займає декілька секунд відео, він буде “зменшений” в один. Межкадровое стиснення забезпечує цифрове телебачення і веб-відео. Без нього відео важило сотнями гігабайт, що більше середнього розміру жорсткого диска в 2005 році.

Стиснення аудіо працює дуже схоже на стиснення тексту і зображень. Якщо JPEG видаляє деталі зображення, яке невидимі людським оком, стиснення звуку робить, те ж саме для звуків. MP3 використовує бітрейт, в діапазоні від нижнього рівня 48 і 96 кбіт/с (нижня межа) до 128 і 240 кбіт/с (досить хороший) до 320 кбіт/с (високоякісний звук), і почути різницю можна тільки з виключно хорошими навушниками. Існують кодеки стиснення без втрат для звуку, основним з яких є FLAC і використовує кодування LZ77 для передачі звуку без втрат.