русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Алгоритмы сжатия изображений


Дата добавления: 2013-12-23; просмотров: 1025; Нарушение авторских прав


 

Первыми для архивации стали применяться привычные алгоритмы. Те, что использовались и используются в системах резервного копирования, при создании дистрибутивов и т.п. Эти алгоритмы архивировали информацию без изменений. Однако с появлением нового класса изображений старые алгоритмы сжатия перестали удовлетворять требованиям, предъявляемым к архивации. Многие изображения практически не сжимались, хотя явно обладали избыточностью. Это привело к созданию нового типа алгоритмов - сжимающих с потерей информации. Как правило, коэффициент архивации, и следовательно, степень потерь качества в них можно задавать.

Алгоритм JPEG. Один из самых новых и достаточно мощных алгоритмов. Практически является стандартом де-факто для полноцветных изображений. Алгоритм оперирует областями 8х8, на которых яркость и цвет меняются плавно. Вследствие этого, при разложении матрицы такой области в ряд по косинусам значимыми оказываются только первые коэффициенты. Таким образом сжатие в этом алгоритме осуществляется за счет плавности изменения цветов в изображении.

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

ДКП раскладывает изображение по амплитудам некоторых частот. Таким образом, при преобразовании мы получаем матрицу, в которой многие коэффициенты либо близки, либо равны нулю. Кроме того, благодаря несовершенству человеческого зрения, можно аппроксимировать коэффициенты более грубо без заметной потери качества изображения.

Фрактальный алгоритм. Фрактальная архивация основывается на том, что мы представляем изображение в более компактной форме – с помощью коэффициентов системы итерируемых функций (IFS). Строго говоря, IFS представляет собой набор трехмерных аффинных преобразований, переводящих одно изображение в другое. Преобразованию подвергаются точки в трехмерном пространстве (x координата, y координата, яркость). Фактически, фрактальная компрессия – это поиск самоподобных областей в изображении и определение для них аффинных преобразований. При этом каждое преобразование кодируется считанными байтами, в то время, как изображение, построенное с их помощью может занимать несколько мегабайт.



Рекурсивный (волновой) алгоритм. Этот вид архивации исходи из идеи использования когерентности областей. Идея алгоритма заключается в том, что мы сохраняем в файл разницу – число между средними значениями соседних блоков в изображении, которая обычно принимает значения, близкие к нулю.

Так два числа a2i a2i+1 всегда можно представить в виде bli = (a2i + a2i+1)/2 b2i = (a2i – a2i+1)/2.

Рассмотрим конкретный пример: пусть мы сжимаем строку из 8 значений яркости пикселов (ai): (220, 211, 212, 218, 217, 214, 210, 202). Мы получим следующие последовательности b1i и b2i: (215.5, 215, 215.5, 206) и (4.5, -3, 1.5, 4). Повторим операцию, рассматривая b1i как ai. Мы получим из (215.5, 215, 215.5, 206): (215.25, 210.75) (0.25, 4.75). Полученные коэффициенты, округлив до целых и сжав, например, с помощью алгоритма Хоффмана, мы можем помесить в файл. Дополнительное сжатие можно получить, повторяя преобразование 4-6 раз.

 

 



<== предыдущая лекция | следующая лекция ==>
Алгоритм Хоффмана | Защита от клавиатурных шпионов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.