Тема: Анализ возможности и эффективности параллельной реализации алгоритма packJPG
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Предварительные сведения 5
1.1. Стандарт сжатия изображений JPEG 5
1.1.1. Кодирование 5
1.1.2. Декодирование 8
1.2. Сжатие JPEG изображений без потерь 9
1.3. Технология OpenMP 10
2. Алгоритм packJPG 11
2.1. Paeth предиктор 11
2.2. Использование списков концов блоков 11
2.3. Оптимизированное сканирование 12
2.4. Арифметическое кодирование 12
3. Анализ возможности реализации с помощью технологии OpenMP 14
3.1. Анализ существующего кода приложения 14
3.1.1. JPEG кодирование и декодирование 14
3.1.2. Предиктивное кодирование 14
3.1.3. Арфимитическое кодирование 15
3.2. Рефакторинг существующего кода 17
3.2.1. Реструктуризация исходного кода 17
3.2.2. Дублирование кода 17
3.2.3. Длинные методы 18
3.3. Модификация с помощью технологии OpenMP 18
3.3.1. Поиск узких мест программы 18
3.3.2. Параллельные модификации 19
3.3.3. Проблемы модификации 21
4. Результаты 23
Заключение 24
Список литературы 25
📖 Введение
В данной работе рассмотрен один из самых эффективных алгоритмов сжатия изображений без потерь PackJPG, который уступает другим алгоритмам этой области лишь по времени работы. Было проведено исследование возможности адаптации данного алгоритма и его реализация для многопроцессорной архитектуры с помощью технологии OpenMP. Выполнена сравнительная оценка времени работы данного алгоритма и его параллельной модификации.
Актуальность работы обусловлена еще и тем, что данный алгоритм дает существенную экономию объема JPEG-изображения (до 26%) без потери качества, что недоступно при использовании архиваторов, но требует значительных затрат времени на сжатие и распаковку. Скорость кодирования составляет 600 килобайт в секунду. Параллельные вычисления позволили бы сократить это время в несколько раз, доведя до приемлемых величин для небольших изображений. Сложность исследования возможности параллельной реализации алгоритма связана с тем, что спецификация программы и математическое описание недоступно в открытой печати , фактически данная работа выполнялась путем анализа алгоритма по исходному коду.
✅ Заключение
В ходе основного этапа работы был осуществлен анализ кода и выявлены его основные компоненты. Данная процедура потребовала массивного рефакторинга существующего кода. На основе этого было выполнено более детальное описание алгоритма.
Параллельная реализация осуществлялась с помощью техники инкременатального программирования. Процедура реализации выполнялась итеративно. Итерация представляла из себя параллельную реализацию фрагмента кода и оценку эффективности этой модификации. В некоторых частях кода ее произвести оказалось невозможным, в связи со спецификой программы.
Проведенная работа может быть продолжена в виде реализации данного алгоритма для графических вычислительных устройств, так как код наполнен большим количеством циклов, работающих с одноразмерными и двуразмерными векторами. Видеокарта имеет большое количеством ядер для вычисления, что должно увеличить эффективность проведенной реализации, если ее удастся адаптировать для видеокарт.





