МЕТОДИ СТИСНЕННЯ БІНАРНИХ ДАНИХ БЕЗ ВТРАТ ДЛЯ ПІДВИЩЕННЯ ПРОДУКТИВНОСТІ ПРОГРАМНИХ СИСТЕМ
DOI:
https://doi.org/10.32782/IT/2025-1-22Ключові слова:
стиснення даних, алгоритм, ентропія, програмна система, C#, ASP.NET.Анотація
У статті описані методи, що застосовуються для стискання даних без урахування форматів, типів тощо. Стискання даних – це процес їхнього кодування, що має на меті зменшення їхнього обсягу; стискання даних без втрат означає, що обернений процес декодування відновлює дані в початковому вигляді. Для стискання даних без втрат існують обмеження, що залежать від інформаційної ентропії повідомлення: чим вона нижча, тим більшим є потенційний коефіцієнт стиснення цих даних. Дані з високою ентропією, наприклад, випадкові або попередньо стиснуті достатньо оптимальним кодуванням, не можна стиснути. Метою роботи є дослідити використання алгоритмів стиснення даних із різними видами інформації, форматами, інформаційною ентропією тощо. Алгоритми стиснення даних без поділяються на підкатегорії, зокрема на словникові та ентропійні, що розрізняються за принципом дії. Також словникові та ентропійні методи можуть бути об’єднані для підвищення ефективності стискання. Наукова новизна полягає в знаходженні закономірностей між алгоритмами, що застосовуються, та коефіцієнтами стиснення даних певного формату. Вперше оброблено та систематизовано дані про велику кількість різних алгоритмів стиснення даних, як самостійних, так і таких, що складаються з інших. У результаті отримано дані про методи стиснення даних, що найкраще підходять для стискання зображень, інтернет-сторінок, вихідного коду тощо. Методологія дослідження базується на вимірюванні кількох характеристик оригінальних та стиснених файлів, а також роботи алгоритмів із подальшим співставленням цих даних. Так, файли можуть бути розрізнені за форматом та інформаційною ентропією, а після стиснення можна знайти коефіцієнт стиснення, що характеризує ефективність роботи алгоритмів. В дослідженні беруть участь універсальні алгоритми, що сприймають будь-яку інформацію як певну послідовність байтів. Таким чином, вони можуть бути застосовані до різних форматів файлів, зокрема таких, що найчастіше використовуються в розподілених системах зберігання даних. Висновок містить практичні рекомендації по застосуванню алгоритмів стиснення даних. Дані, отримані в ході дослідження, можуть бути використані для інтегрування в інші програмні продукти, або подальшого аналізу.
Посилання
Shannon C. E. A mathematical theory of communication. Bell System Technical Journal. 1948. Vol. 27, no. 4. P. 623–656. https://doi.org/10.1002/j.1538-7305.1948.tb00917.x (date of access: 19.03.2025).
McKay D. J. C. Information theory, inference & learning algorithms. Cambridge, UK : Cambridge University Press, 2003. 640 p.
State-of-the-Art Trends in Data Compression: COMPROMISE Case Study / D. Podgorelec et al. Entropy. 2024. Vol. 26, no. 12. P. 1032. https://doi.org/10.3390/e26121032 (date of access: 20.03.2025).
Mohideen R. M. K., Peter P., Weickert J. A systematic evaluation of coding strategies for sparse binary images. Signal Processing: Image Communication. 2021. Vol. 99. P. 116424. https://doi.org/10.1016/j.image.2021.116424 (date of access: 22.03.2025).
Collet Y. LZ4 Block Format Description. GitHub. URL: https://github.com/lz4/lz4/blob/dev/doc/lz4_Block_format.md (date of access: 22.03.2025).
Ziv J., Lempel A. A universal algorithm for sequential data compression. IEEE Transactions on Information Theory. 1977. Vol. 23, no. 3. P. 337–343. https://doi.org/10.1109/tit.1977.1055714 (date of access: 22.03.2025).
Deutsch P. DEFLATE Compressed Data Format Specification version 1.3. RFC Editor, 1996. https://doi.org/10.17487/rfc1951 (date of access: 23.03.2025).
Alakuijala J., Szabadka Z. Brotli compressed data format. RFC Editor, 2016. https://doi.org/10.17487/rfc7932 (дата звернення: 23.03.2025).
Chapter 7: Collecting User Input with Forms. Web Applications with ASP.NET Core Blazor. 2024. P. 129–160. https://doi.org/10.1515/9781501519475-010 (date of access: 25.03.2025).
Jeromel A., Žalik B. An efficient lossy cartoon image compression method. Multimedia Tools and Applications. 2019. Vol. 79, no. 1–2. P. 433–451. https://doi.org/10.1007/s11042-019-08126-7 (date of access: 25.03.2025).