Тема: Исследование асимметричных систем счисления как нового метода энтропийного кодирования информации
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ВВЕДЕНИЕ 4
1 МЕТОДЫ СЖАТИЯ ДАННЫХ 5
1.1 История развития теории сжатия информации 5
1.2 Основные характеристики методов сжатия 6
1.3 Энтропийное кодирование 7
1.3.1 Информационная энтропия 8
1.3.1 Кодирование с помощью деревьев Шеннона Фано 9
1.3.2 Кодирование с помощью деревьев Хаффмана 10
1.3.3 Адаптивный алгоритм Хаффмана (алгоритм Виттера) 12
1.3.4 Арифметическое кодирование 14
1.3.5 Адаптивное арифметическое кодирование 16
1.4 Выводы по разделу 17
2 АСИММЕТРИЧНЫЕ СИСТЕМЫ СЧИСЛЕНИЯ 18
2.1 Введение в ANS 18
2.2 Основные положения и версии ANS 20
2.2.1 Основные положения 20
2.2.2 Uniform Asymmetric Binary Systems (uABS) 21
2.2.3 Range Asymmetric Binary / Numeral Systems (rABS и rANS) 23
2.2.4 Потоковая версия с использованием конечного автомата 24
2.2.5 Пример работы алгоритма 25
2.2.6 Необходимые условия и замечания для потоковых формул 26
2.2.7 Анализ одного шага алгоритма 27
2.3 Выводы по разделу 28
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И СРАВНИТЕЛЬНЫЙ АНАЛИЗ 29
3.1 Сравнительный анализ по времени работы 29
3.2 Сравнительный анализ по коэффициенту сжатия 40
3.3 Пользовательский интерфейс для демонстрации результатов работы 45
3.4 Выводы по разделу 49
ЗАКЛЮЧЕНИЕ 50
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 50
ПРИЛОЖЕНИЕ 1. Код программы 53
📖 Введение
Одновременно с этим успешно выполняются проекты по переводу в цифровой вид содержимого огромных хранилищ информации, таких как библиотеки, галереи, музеи. Компании активно переходят к электронному документообороту и способу хранения и мониторинга данных. Алгоритмы компрессии должны выполняться на любых платформах от серверов до цифровых фотоаппаратов. Вычислительная техника непрерывно совершенствуется, поэтому алгоритмы и методы сжатия данных должны также постоянно развиваться и адаптироваться.
Таким образом, задача хранения и передачи текстовой, мультимедийной и другой информации в наиболее компактном виде очень актуальна. Последние десятилетия в этой области ведутся активные разработки. Одной из новых технологий сжатия данных без потерь являются асимметричные системы счисления, относящиеся к семейству методов энтропийного кодирования .
Целью данной работы является исследование асимметричных систем счисления и сравнение их с другими эффективными методами энтропийного кодирования информации по времени работы и коэффициенту сжатия данных.
Для достижения поставленной цели необходимо решить следующие задачи:
• выполнить анализ предметной области;
• разработать математические модели эффективных методов энтропийного кодирования, таких как алгоритм Шеннона Фано, Хаффмана и арифметическое кодирование;
• разработать математические модели асимметричных систем;
• реализовать методы на языке С++;
• реализовать пользовательский интерфейс для демонстрации результатов работы методов;
• протестировать методы на различных экспериментальных данных;
• проанализировать полученные результаты.
✅ Заключение
В результате выполнения работы был проведен сравнительный анализ ANS с алгоритмами Хаффмана и Шеннона Фано по времени работы и с арифметическим кодированием по коэффициенту сжатия информации.
Для проведения сравнительного анализа эффективные методы энтропийного кодирования были реализованы на языке С++ в среде разработки Microsoft Visual Studio 2012. Для того чтобы измерить время работы методов, было сгенерировано по 10 тестов для каждого из четырех различных размеров алфавита: 161, 97, 27 и 11 символов. Данные размеры алфавитов выбраны не случайно. Таблица ASCII кодов состоит из 256 символов, из них 161 - используемые при написании текстов символы (латинские и русские буквы, знаки препинания и перевод строки), 97 - латинские буквы, знаки препинания и перевод строки, 27 - маленькие латинские буквы и перевод строки и 11 - цифры и перевод строки. Тестами являются файлы различного размера, наибольший размер - 10000000 символов. Для тестирования были выбраны текстовые файлы как наиболее простой и компактный вид входных данных, которые необходимо сжать без потерь. Для проведения сравнительного анализа по коэффициенту сжатия также были сгенерированы тесты различного размера и на различных алфавитах, однако размер файлов был существенно меньше из-за трудоемкости выполнения арифметического кодирования. Для демонстрации результатов работы методов был реализован пользовательский интерфейс.
В ходе сравнительного анализа был сделан вывод, что ANS комбинируют в себе скорость сжатия информации алгоритмом Хаффмана и коэффициент сжатия арифметического кодирования. Данный вывод подтверждает теоретические оценки. Эти свойства асимметричных систем делают их одним из наиболее эффективных методов сжатия информации без потерь на текущий момент.
Такие компании как Apple, Google, Facebook на данный момент успешно внедряют эту технологию в свои архиваторы и компрессоры, однако большинство из них защищены патентами. В будущем ANS получат широкое распространение и среди общедоступных методов сжатия данных.
В дальнейшем планируется рассмотреть приложения ANS в криптографии.





