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

Формати “зменшення” тексту

Діапазон бібліотек для тексту в основному складається з алгоритму стиснення даних без втрат, за винятком крайніх випадків для даних з плаваючою комою. Більшість компресорних кодеків включають “зменшення” LZ77, Хаффмана і Арифметичне кодування. Вони застосовуються після інших інструментів, щоб вичавити ще кілька процентних точок стиснення.

Прогони значень, що кодуються, як символ, за яким слід довжина прогону. Можна правильно відновити вихідний потік. Якщо довжина серії<= 2 символи, має сенс просто залишити їх без змін, наприклад, як в кінці потоку з «bb».

В деяких рідкісних випадках отримують додаткову економію, застосовуючи перетворення з алгоритмами стиснення з втратами до частин контенту перед застосуванням безпотерного методу. Оскільки в цих перетвореннях файли не підлягають відновленню до вихідного стану, ці “процеси” зарезервовані для текстових документів. Які не постраждають від втрати інформації, наприклад, скорочення числа з плаваючою комою тільки до двох значущих десяткових розрядів.

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