Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемИлья Яхримов
2 Автор: Дедков Антон 11 А Научный руководитель: Дединский Илья Рудольфович
3 Цель работы Создание кроссплатформенной библиотеки для сжатия данных методом Хаффмана, а также CLI и GUI фронтендов для взаимодействия конечного пользователя с ней. Дедков Антон 11 "А"
4 Задачи Реализация алгоритма сжатия методом Хаффмана Анализ факторов, влияющих на скорость и качество сжатия Создание формата хранения сжатых данных Разработка архитектуры библиотеки сжатия Реализация CLI (интерфейса командной строки) Реализация GUI на основе фреймворка Qt Дедков Антон 11 "А"
5 Сжатие данных Типы сжатия: Сжатие с потерями Сжатие без потерь Виды кодов: Равномерные Неравномерные Архив С искажениями Без искажений ABAC ABCA Выигрыш Дедков Антон 11 "А"
6 Алгоритм Хаффмана Алгоритм Хаффмана строит коды символов по частоте их встречаемости в файле 1 этап: построение таблицы частот Входной файл: ABACABADABACABA СимволABCD Частота8421 Дедков Антон 11 "А"
7 2 этап: построение дерева C2D1 B A C2D1B4A8A8 min C2D1 01 A8A8B4 min min C2D1 B A8A8 min Дедков Антон 11 "А"
8 3 этап: кодирование (A) ( B )(A) ( C ) (A)( B )(A) ( D ) (A)( B )(A) ( C ) (A)( B )(A) В результате: Кодирование одного из символов ( С ): Находим лист с символом С Проходим путь от листа до корня, накапливая биты (011) Переворачиваем полученную последовательность Получаем код символа С (110) C2D1 B A Исходный текст: ABACABADABACABA 0 Дедков Антон 11 "А"
9 Сжатие Качество и мощность алфавита: Мощность алфавита (кол-во символов) Максимальное сжатие Системная информация 2^8 = 256 (1 byte) 8x1x 2^16 = (2 bytes) 16x2x 2^24 = (3 bytes) 24x3x Скорость: Скорость Процессор КомпрессияДекомпрессия AMD Athlon XP GHz 1.47 Mb/sec4.48 Mb/sec Mobile Intel Pentium IV 1.7GHz 0.77 Mb/sec2.91 Mb/sec Дедков Антон 11 "А"
10 Архитектура библиотеки Взаимодействие программы происходит только с ядром Ядро предоставляет инструменты для работы с файловой системой архива Модуль, отвечающий за кодирование, абстрагирован от каких либо внешних факторов, он взаимодействует лишь с пакетами данных (CompressorData), которые формирует для него ядро Application Core FileSystem Compressor CompressorData lib_quffman Дедков Антон 11 "А"
11 DataFormat archive.quf Root directory (/) File (/file1) File (/file2) Subdirectory (/subdir1) File (/subdir1/file3) Subdirectory (/subdir1/subdir2) File (/subdir1/subdir2/file4) SystemInfo archive.qufSystemInfo… quf(root(subdir(subdir1,subdir(subdir2, file(file4))… DataBlocks File4 Block 2 File4 Block 1 Архив содержит всю информацию о данных Атрибуты: quf, root, subdir, file, block Дедков Антон 11 "А"
12 Проблемы Появление в сжатых файлах системной информации Соотношение скорость/качество сжатия Проблема переполнения Дедков Антон 11 "А"
13 Итоги Реализован алгоритм сжатия методом Хаффмана Создан формат для хранения сжатых данных Разработана архитектуры библиотеки сжатия Реализован CLI Реализован прототип GUI на основе фреймворка Qt Дедков Антон 11 "А"
14 Дальнейшее развитие Перенос вычислений на многопроцессорные системы с использованием OpenCL Реализация клиент-серверной архитектуры Доработка GUI Дедков Антон 11 "А"
15 Спасибо за внимание! Самая свежая версия всегда ждет вас на quffman.googlecode.comquffman.googlecode.com Дедков Антон 11 "А"
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.