ПРИБОРОСТРОЕНИЕ, МЕТРОЛОГИЯ И ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ И СИСТЕМЫ
УДК 004.627 © А. А. Равский, А. В. Левенец, 2021
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ РАЗВИТИЯ АЛГОРИТМОВ СЖАТИЯ
Равский А. А. - аспирант кафедры «Автоматика и системотехника», e-mail: ravskyaa@gmail.com; Левенец А. В. - д-р техн. наук, проф. кафедры «Автоматика и системотехника», e-mail: 000621@pnu.edu.ru (ТОГУ)
В статье дается краткий обзор современных работ в области разработки алгоритмов сжатия данных. Описаны базовые принципы функционирования алгоритмов сжатия. Показаны основные тенденции развития таких алгоритмов, характерные для настоящего времени. Рассмотрены некоторые оригинальные работы, повышающие эффективность сжатия данных, по крайней мере, для некоторых типов данных. Приводится обзор ряда работ, в основе которых лежит применение нейросетевых технологий, а также рассмотрены работы, обосновывающие геометрический подход к сжатию измерительных данных.
Ключевые слова: сжатие данных, алгоритм сжатия, словарный алгоритм, сжатие без потерь, геометрический подход, нейронная сеть.
Введение
В современном мире информация при обретает все более значимый социальный вес, что обусловлено постоянным вводом новых производительных мощностей и связанной с этим фактом необходимостью реализации государственных проектов по маркировке всех видов товаров, необходимость организации хранения весьма значительного объема трафика, передаваемого и участвующего во всех сферах деятельности человека и т.д. Как для хранения, так и для обработки информации, необходимой для хозяйственной деятельности человечества требуется все больше технических ресурсов. Вследствие этого, все более остро встают вопросы поиска новых способов оптимального хранения информации, а также методов ее структуризации и сжатия, что подразумевает необходимость пересмотра существующих подходов к собственно задаче сжатия данных.
Актуальность задачи сжатия данных подтверждается существованием мероприятий различного уровня - от научных международных конференций до практических семинаров частных компаний. В качестве примера можно привести ежегодный конкурс на сжатие Википедии, который проводит профессор австрийского университета Маркус Хаттер. В 2020 году это меропри-
ВЕСТНИК ТОГУ. 2021 № 3 (62)
13Г
ВЕСТНИК ТОГУ. 2021. № 3 (62)
ятие изменило свое название на 500'000€ Prize for Compressing Human Knowledge, победителем, которого является не безызвестный автор книги "Методы сжатии данных" Александр Ратушняк. Другим примером может служить специализированный конкурс Sequence Squeeze Compression Competition на сжатие последовательности ДНК. Еще одним известным примером является Global Data Compression Competition, разделенный по направлениям сжимаемой информации (тексты, медиа, измерительные данные и блочное сжатие для баз данных). Также проводится ряд научных международных конференций, среди которых следует выделить наиболее известную конференцию «Data Compression Conference (DCC)», которая проводится с 2008 года международной некоммерческой организацией Institute of Electrical and Electronics Engineers.
Следует отметить, что в настоящее время разработано большое количество специализированных алгоритмов сжатия, которые ориентируется на некоторый заранее заданный тип сжимаемой информации, что и определяет их достаточно высокую эффективность. Так, в связи с ростом трафика в сети «Интернет», большую часть которого сейчас генерируют социальные сети, наиболее часто разрабатываются алгоритмы сжатия изображений, видео и звуковых файлов. При этом такие алгоритмы подразумевают потерю части информации, не являющейся необходимой для достаточно качественного ее воспроизведения в связи с физиологическими особенностями человеческого организма. Необходимо отметить, что в настоящее время универсальным алгоритмам сжатия данных внимания практически не уделяется.
Основные принципы работы алгоритмов сжатия
Под сжатием данных подразумевают некоторое алгоритмическое преобразование, проводимое при передаче, хранении или обработке данных, и приводящее к уменьшению их объема. Любое сжатие данных основано на поиске избыточности информации и попытке ее уменьшить. Избыточность проявляется либо на естественном уровне, как, например, повторяющиеся слова в тексте, либо на искусственном, как в случае представления информации на цифровых носителях. Сжатые данные могут быть восстановлены либо без потерь, либо с некоторыми искажениями, несущественными с точки зрения получателя [1].
Алгоритмы сжатия с потерями делятся на необратимые и квазиобратимые. Первый тип алгоритмов принципиально не позволяет восстановить исходный сигнал, в то время как алгоритмы второго типа восстанавливают его с некоторой заданной пользователем погрешностью. К алгоритмам сжатия с потерями относятся практически все алгоритмы сжатия медиаинформации.
Наибольший интерес к алгоритмам сжатия без потерь проявляется там, где потери недопустимы, например, при сжатии документов, исполняемых файлов, исходного кода, а также данных информационно-измерительных систем исследовательского типа. Важно подчеркнуть, что эффективность таких алгоритмов существенно связана со статистическими свойствами сжимаемой
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ РАЗВИТИЯ -
АЛГОРИТМОВ СЖАТИЯ НЕСПИС ТОГУ. 2021 № 3 (ffi)
последовательности. Алгоритмы сжатия без потерь по базовым принципам функционирования принято делить на статистические и словарные [2]. В результате работы статистических алгоритмов каждый символ исходной последовательности кодируется с помощью кода переменной длины. При этом символы с наиболее высокой частотой повторения будут кодироваться наименьшим по длине кодом. Очевидно, что для правильного восстановления необходимо чтобы каждое кодовое слово представляло собой уникальную битовую последовательность, в силу чего применяемый код должен обладать свойством префикса. Примерами алгоритмов сжатия без потерь могут служить такие известные алгоритмы, как арифметическое сжатие, алгоритм Хаффмана и др. В отдельную группу можно выделить алгоритм RLE, методы контекстно-зависимого моделирования и ряд других методов, в том числе, специализированных.
Функционирование словарных алгоритмов сводится к тому, что как отдельные символы, так и их последовательности помещаются в словарь, и когда на входе алгоритма появляется уже известный (встреченный ранее) набор символов, то он кодируется как ссылка на соответствующую запись в словаре. Подразумевается, что не все сочетания символов (фраз) имеют равную вероятность появления, поэтому объем словаря будет существенно меньше, чем число возможных сочетаний символов во фразах. Таким образом, ссылка на соответствующую запись в словаре будет иметь меньший объем, чем сама фраза. Классическими словарными алгоритмами являются алгоритмы Зива-Лемпеля [2].
Современные алгоритмы сжатия данных
Как правило, предлагаемые в настоящее время алгоритмы сжатия являются модификацией существующих или предлагают другой подход к их применению. Например, в работе [3] применяются модификации алгоритма BPE, основной идей которого является замена встречающихся пар байтов на байт, который не встречается в сжимаемой цепочке данных, и так до тех пор, пока в последовательности не останется повторяющихся, а для получения исходных данных алгоритм применяется в обратной последовательности. В работе [4] описывается алгоритм словарного типа на основе псевдорегулярных чисел, особенность которого состоит в поиске числа из заранее подобранных в обрабатываемом файле, если совпадение было найдено производится запись типа числа, если же совпадения не произошло, тогда делится на каждый из типов до получения целочисленного результата деления, исходя из этого служебный файл декодирования будет состоять из типов псевдорегулярных чисел и их сомножителей, а в [5] предлагается комбинирование методов, а затем анализ полученных результатов, после чего будет применяться наилучший полученный результат, в итоге данный подход изначально проигрывает по параметру скорости, так как необходимо производить сравнительный анализ полученных данных несколько раз. Авторы работы [6] предлагают применить для сжатия целочисленных данных дискретное косинусное
ВЕСТНИК ТОГУ. 2021. № 3 (62)
преобразование, различные варианты реализации преобразования Барроуза-Уиллера описываются в [7]. Отдельно следует отметить работу [8], авторы которой предлагают для сжатия сигналов, представляющих собой смесь нескольких гармонических составляющих и шума, применить известный метод моделирования данных Прони совместно с EMD-разложением и методом экстремальной фильтрации. Проведенные авторами работы исследования показали его высокую эффективность, в частности, увеличение коэффициента сжатия минимум в два раза по сравнению с классическим методом Прони, при этом вычислительные затраты снижаются более чем в десять раз.
Для сжатия измерительных данных в работе [9] рассматриваются, ряд наиболее известных алгоритмов словарного и статистического сжатия (RLE, LZW, алгоритм Хаффмана), а также алгоритм на основе кодов Элиаса. Авторами произведен анализ эффективного использования этих алгоритмов для телеметрических данных, результат которого показывает достаточно хорошую эффективность алгоритма на основе кодов Элиаса, недостатком которого при этом является нестабильность показателей, обусловленная зависимостью эффективности алгоритма от статистических свойств потока кадров. В итоге алгоритм Хаффмана становится более предпочтительным в выборе при данных условиях. Также авторы отмечают, что скорости работы исследуемых алгоритмов отличаются незначительно и, несмотря на хорошие результаты, для улучшения показателей алгоритмы необходимо модифицировать.
Сбор и анализ, хранение и передача телеметрических данных актуальная задача для обработки данных в космической технике. Так в статье [10] рассматриваются методы обратимого сжатия и подчеркивается, что этой теме в аппаратных комплексах уделяют особое внимание, в виду создания стандартов и рекомендаций к формированию потока измерительной информации и ее сжатию различными методами. В работе после разбора различных алгоритмов сжатия без потерь, предлагаются принципы для достижения эффективности сжатия, которые помогут обеспечить упорядоченность систем сжатия данных. Существующие на текущий момент написания статьи методы сжатия в [11] рассматриваются с точки зрения их оптимального применения на борту космического аппарата. В статье даны результаты анализа алгоритмов сжатия по эффективности сжатия, по быстродействию, а также по необходимым для их реализации программным и аппаратным затратам. Авторы статьи приводят базовые структуры аппаратных средств поддержки некоторых алгоритмов. Исследование эффективности применения алгоритмов сжатия авторами проводится с точки зрения их реализации на многопроцессорных системах, а также на основе специализированных вычислительных систем, реализованных на основе ПЛИС. К некоторому недостатку работы следует отнести отсутствие предложений по развитию существующих и поиску направлений перспективного развития методов сжатия для рассматриваемой области.
Работа [12] представляет обзор способов снижения избыточности измерительной информации и показывается существование аппаратной зависимо-
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ РАЗВИТИЯ -
АЛГОРИТМОВ СЖАТИЯ ЕЕСШИК ТОГУ. 2021. № 3 (62)
сти оптимизации при передаче информации, которая затрудняет управление потоками данных. При этом улучшение соответствующих параметров устройств передачи данных является очевидным решением, которое, как правило, недоступно в силу различных причин. Для уменьшения избыточности данных предлагается разделить работу с информацией на различные уровни, рассматриваемые в рамках телеметрических служб. Такой подход дает возможность применить те алгоритмы, которые наиболее эффективны в данных условиях.
Возможность применения технологии нейросетей для сжатия телеметрических данных исследуется уже довольно давно. Так, работа [13] описывает применение такого подхода на практике при работе с данными, полученными от космических летательных аппаратов. Работу с данными от такого рода источников в статье разделяют на следующие нейросетевые блоки: движения, управления положения и ориентацией, диагностирования, прием передачи данных и, наконец, блок сжатия данных. Алгоритм работы блоков одинаков и состоит из анализа информации, расстановки весовых коэффициентов и прогнозирования поведения объекта управления (космического аппарата). Модуль сжатия данных рассчитан на применение специализированных и универсальных алгоритмов сжатия. Выбор применяемого в текущий момент алгоритма делается на основе коэффициентов, полученных при анализе полученной информации от каждого нейросетевого блока. Описываемый подход дает значительную эффективность в сокращении и оптимизации объемов информации.
Геометрический подход к сжатию данных описывается в [14, 15]. В первую очередь делается акцент на поиск корреляционных связей между различного рода источниками и их данными, так зачастую предложенные методы разработаны под конкретные получаемые структуры данных. Анализ информационных связей в потоке входных данных и рассмотрение их как единого объекта приводит к заметному повышению эффективности сжатия, что позволяет предположить о перспективности применения такого подхода для сжатия измерительных данных различного типа. В статье отмечается, что возможна зависимость данных не только между отсчетами от одного источника, но и между разными источниками, объединенными в один кадр, а также показывается возможность учета корреляций между данными, относящимся к формально не связанным источникам. Предлагается адаптивная многоуровневая система, в которой осуществляется поиск взаимосвязей данных как в потоке, т.е. между соседними кадрами данных, так и внутри одного кадра.
Теме сжатия данных уделяется большое внимание и в зарубежные исследованиях. Так, например, в [16] предложен алгоритм сжатия на основе формирования словаря из шаблонов многомерных последовательностей. Использование нейронных сетей для обучения предсказания взаимосвязи распределения последовательности символов и создания на базе этого словаря для традиционного кодирования показано в [17]. Алгоритм сжатия данных более высокого порядка, основной идеей которого является извлечение об-
ВЕСТНИК ТОГУ. 2021. № 3 (62)
щих высших порядков, и который позволяет манипулировать данными без декомпрессии предложен в [18]. В основе такого подхода лежал алгоритм RePair из алгоритма обучения LM99 Левенберга-Маркварда. Обнаружение импульсов нейронных связей происходит с совместным использованием нескольких методов - с помощью измерения амплитудных колебаний, выделения энергии и сопоставления маршрутов движения импульсов. Использование измерительных устройств соответствующих характеристик, является ключевым способом при изучении работы импульсов в нейронах.
Представленная в [19] разновидность алгоритма сжатия текста с использованием словаря основана на использовании преобразовании Барроуза-Уиллера и создании своего словаря. Преобразование используется для подготовки текста, наиболее встречающиеся слова заменяются равными по длине другими словами с повторяющимся символом. После этого создается словарь, каждому соответствующему слову присваивается код из таблицы ASCII для первого набора в диапазоне от 33 до 250, если этого не хватает, комбинацию из двух символов и далее если необходимо увеличивать комбинацию для создания кода для всех слов. Длина слова и пробел кодируется специально оставленной последовательностью кодов из таблицы кодирования ASCII. Такой способ кодирования, представленный автором, показывает более высокую эффективность, чем стандартное применение алгоритма BWT. Авторы отмечают уязвимость к дешифровке такого метода при передаче его по сети, но предлагают передавать словарь через протоколы записи, обеспечивающие базовую безопасность.
Интересным фактом является возможность применения методов сжатия данных для не только по прямому своему назначению. Так, в статье [20] авторами предложен новый подход к изучению работы нейронов, базирующийся на методике «Compressive sensing», приобретающей в настоящее время широкое распространение. Основной идей авторов рассматриваемой статьи является построение матрицы измерений методом Байесовского сравнения, при этом за счет техники получения информации о предыдущих измерениях строится изменяющаяся система работы нейронов. Такая система позволяет более точно раскодировать работу импульсов, а также восстановить получаемые исходные данные.
Заключение
Таким образом, в настоящее время алгоритмы сжатия данных широко применяется в различных областях науки и техники, причем до сих пор продолжается разработка новых алгоритмов, как правило, ориентированных на обработку данных с некоторыми заранее известными свойствами. Значительная часть предложенных алгоритмов нацелена на работу с медиаданными, занимающими подавляющую часть трафика глобальной сети Интернет. Также следует отметить заметное количество модификаций словарных алгоритмов сжатия, причем ориентированных не только на текстовые данные. Тем не менее, хотя и относительно редко, появляются разработки, ориентированные
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ РАЗВИТИЯ -
АЛГОРИТМОВ СЖАТИЯ ВВСПИС ТОГУ. 2021. № 3 (62)
№
на сжатие измерительных данных. Наиболее часто предлагаемые алгоритмы такого рода предполагают работу с достаточно узким набором классов обрабатываемых данных, что в первую очередь объясняется специфичностью области применения (например, космическая техника).
Следует также отметить все более нарастающую тенденцию применения для сжатия данных нейросетевых технологий, которые, тем не менее, имеют свои особенности применения. Так, применение нейронных сетей для решения задачи обратимого сжатия как правило неэффективно, т.к. требует значительных вычислительных или аппаратных затрат. Один из перспективных вариантов развития методов обратимого сжатия может быть связан с применением геометрического подхода к сжатию данных, подразумевающего, что в кадре данных, объединяющим отсчеты нескольких формально несвязанных источников данных, возможно обнаружение внутренних взаимосвязей, в том числе на битовом уровне. В рамках этого подхода важным направлением следует считать разработку алгоритмов выявления таких взаимосвязей.
Библиографические ссылки
1. Salomon D. Data compression: the complete reference. N.Y. : Springer, 2007. 1111 p.
2. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин. М. : ДИАЛОГ-МИФИ, 2003. 384 с.
3. Казаков А. Я., Жихарева А. А., Пасечник П. А. Некоторые модификации алгоритма сжатия BPE // Информационные технологии и вычислительные системы, 2018. № 3. С. 59-68.
4. Молодкин И. А., Шурыгин Е. М. Характеристики алгоритма сжатия данных без потерь на основе псевдорегулярных чисел // Интеллектуальные технологии на транспорте. 2019. № 4. C. 34-38.
5. Тронин В. Г., Болкунов В. А. Комбинирование алгоритмов сжатия данных // Информатика, моделирование, автоматизация проектирования : сб. науч. тр. XI Все-рос. школы-семинара аспирантов, студентов и молодых ученых / отв. ред. Н.Н. Войт. 2019. С. 169-175.
6. Токарь П. С., Шевченко Е. Н. Особенности применения дискретного косинусного преобразования в алгоритмах сжатия данных с потерями // Вестник современных исследований. 2018. № 1. С. 139-141.
7. Исследование методов обратимого сжатия телеметрической информации / М. А. Эльшафеи, И. М. Сидякин, С. В. Харитонов, Д. С. Ворнычев // Вестник МГТУ им. Н. Э. Баумана. Сер. Приборостроение. 2014. № 3. С. 92-104.
8. Совершенствование алгоритмов сжатия-восстановления сигналов для систем телеизмерений / Е. А. Ломтев, М. Г. Мясникова, Н. В. Мясникова, Б. В. Цыпин // Измерительная техника. 2015. № 3. С. 11-15.
9. Богачев И. В., Левенец А. В. Применение универсальных алгоритмов сжатия для работы с телеметрическими данными // Информационные технологии XXI века : сб. науч. тр. / отв. ред. В. В. Воронин. 2019. С. 37-44.
10. Тулекбаев Е. Т. Эффективные методы сжатия телеметрической информации для наземных комплексов управления // Вестник науки и образования. 2017. № 10. С. 14-20.
ВЕСТНИК ТОГУ. 2021. № 3 (62)
11. Анализ перспективных платформ для эффективного сжатия данных без потерь в системах приема и передачи телеметрии / В. М. Ватутин, А. В. Круглов, С. В. Смирнов и др. // Авиакосмическое приборостроение. 2008. № 1. С. 12-22 ; № 2. С. 18-26.
12. Обзор способов снижения избыточности телеметрической информации / Ф. Н. Байбекова, В. В. Подольцев, Н. М. Беспалова, Л. А. Сологубова // Радиопромышленность. 2019. № 2. С. 8-16.
13. Сатыбалдиев А. А., Таштай Е. Т. Анализ практического применения нейросжатия для телеметрических задач космического назначения // Научный журнал. 2020. № 1. С. 1012.
14. Богачев И. В., Левенец А. В., Чье Ен Ун. Геометрический подход к сжатию данных телеметрических систем // Информатика и системы управления. 2015. № 4. C. 16-22.
15. Левенец А. В., Чье Ен Ун. Сжатие измерительных данных на основе геометрического подхода к их представлению // Приборы. 2017. № 11. С. 27-32.
16. Multidimensional Compression with Pattern Matching / Olivia Del Guercio, Rafael Orozco, Alex Sim, Kesheng Wu // Data Compression Conference (DCC 2019). Snowbird, Utah, USA 26-29 March 2019. URL: http://toc.proceedings.com/48609webtoc.pdf (дата обращения: 20.08.2021).
17. DeepZip: Lossless Data Compression using Recurrent Neural Networks / M. Goyal, K. Tatwawadi, S. Chandak, I. Ochoa // Data Compression Conference (DCC 2019). Snowbird, Utah, USA 26-29 March 2019. URL: http://toc.proceedings.com/48609webtoc.pdf (дата обращения: 20.08.2021).
18. Yaguchi K., Kobayashi N., Shinohara A. Efficient Algorithm and Coding for HigherOrder Compression // Data Compression Conference, DCC 2014, Snowbird, UT, USA, 26-28 March, 2014. p. 434.
19. Jain A., Patel R. An Efficient Compression Algorithm (ECA) for Text Data // 2009 International Conference on Signal Processing Systems (ICSPS). May 15 2009 to May 17. p. 762.
20. Using Template Matching and Compressed Sensing Techniques to Enhance Performance of Neural Spike Detection and Data Compression Systems / N. Li, M. Osborn, M. Sawan, L. Fang // 2016 IEEE International Symposium on Circuits and Systems (ISCAS). p. 1962..
Title: Modern Trends in the Development of Data Compression Algorithms Authors' affiliation:
Ravskiy A. A. - Pacific National University, Khabarovsk, Russian Federation Levenets A. V. - Pacific National University, Khabarovsk, Russian Federation
Abstract: In the article, the authors provide a brief review of modern studies of the development of data compression algorithms. The basic principles of the compression algorithms are described. The main trends in the development of such algorithms, which are characteristic of the present time, are shown. Some original works are considered that improve the efficiency of data compression, at least for some types of data. A review of a number of studies based on the use of neural network technologies is given, as well as the papers that substantiate a geometric approach to the compression of measurement data are considered.
Keywords: data compression, compression algorithm, dictionary algorithm, lossless data compression, geometric approach, neural network.