Реализация LZW алгоритма сжатия с использованием возможностей современных GPU

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?и RGB-значениями, что обеспечивает более 16 миллионов цветов.

Сжатие. TIFF считается хорошо сжимающим форматом. Он поддерживает несколько схем сжатия, специальные функции управления изображением и многие другие возможности. Кроме того, он позволяет применять схему сжатия, заключающуюся в добавлении необходимых тегов, определяемых пользователем. Формат TIFF 4.0 поддерживал лишь групповое кодирование (RLE) и CCITT (T.4 и Т.6). Обычно эти схемы применяются только для сжатия 8-битовых цветных и полутоновых, а также 1-битовых черно-белых изображений соответственно. В TIFF 5.0 была добавлена схема сжатия LZW, обычно используемая при работе iветными изображениями, а в TIFF 6.0 - метод JPEG, применяемый для сжатия многоградационных цветных и полутоновых изображений. В TIFF применяется также схема сжатия PackBits RLE, используемая инструментальными средствами Macintosh.

Еще одной особенностью TIFF является спецификация разрешающей способности оборудования, например, IBM PC, Macintosh и т.д.

Формат TIFF характеризуется большими объемами получаемых файлов (например, изображение формата A4 в цветовой модели CMYK с разрешением 300 dpi, обычно применяемым для высококачественной печати, имеет объем порядка 40 Мбайт). Поэтому он используется преимущественно при вводе информации со сканеров и в электронных версиях печатных изданий.

2. Возможности использования современных GPU

Появление современного GPU для вычисления общего назначения обеспечило платформу, чтобы написать заявления, которые могут управлять на сотнях маленьких ядер. CUDA (Вычисляют Объединенную Архитектуру Устройства) является выполнением NVIDIA этой параллельной архитектуры на их GPU и предоставляет ПЧЕЛУ программистам, чтобы разработать параллельные приложения, используя язык программирования. CUDA обеспечивает абстракцию программного обеспечения для аппаратных средств, названных блоками, которые являются группой нити, которые могут разделить память. Эти блоки назначены на многие скалярные процессоры, которым доступны аппаратные средства. Восемь скалярных процессоров составляют мультипроцессор, и различные модели GPU содержат отличающееся количество мультипроцессора.

Сжатие - важная и полезная техника, которая может быть медленной на текущих центральных процессорах.

Первым алгоритмом сжатия, было сжатие изображения JPEG. Большие файлы обычно будут требовать некоторые формы вытекания данных и от GPU, JPEG требует только несколько копий памяти и от устройств, уменьшая необходимую полосу пропускания памяти GPU и наверху.

Графический процессор (англ. .

Графический процессор в современных видеоадаптерах являются:

архитектура, максимально нацеленная на увеличение скорости расчёта текстур и сложных графических объектов;

ограниченный набор команд.

Примером может служить чип R520 .

Современные графические процессоры обладают значительно большей производительностью при вычислениях с плавающей запятой, чем центральные процессоры. В наши дни графический процессор нашел применение в самых различных областях высокопроизводительных вычислений, включая компрессию, высококачественный рендеринг, трассировку лучей, машинное зрение, биоинформатику, решение систем линейных уравнений, моделирование физических эффектов и др. В то же время, перенос части (или всей) вычислительной нагрузки iентрального процессора на графический может обеспечить значительные преимущества не только при решении научных или узкоспециализированных задач, но и повседневных пользовательских. В качестве одной из таких задач, обеспечивающих значительную вычислительную нагрузку, автором выбрано сжатие данных.

Методы: Решение поставленной задачи основано на разработке специфических программ-шейдеров. Для эффективного использования особенностей архитектуры графического процессора необходимо обеспечить значительный параллелизм вычислений. В процессе выполнения проекта мы ориентируемся на продукты компании NVIDIA: новы