Компьютерная графика Векторные файлы Физическое и логическое сжатие Алгоритм художника Трехмерная графика Растровая графика

Физическое и логическое сжатие

Алгоритмы сжатия используются для повторного кодирования данных в другую более компактную форму, которая передает ту же информацию.

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

Все рассмотренные методы будут физическими.

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

Методы физического сжатия делятся на две категории:

1) Сжатие всего файла

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

2) Сжатие включенное в структуру файла

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

 

Симметричное и ассиметричное сжатие

Методы симметричного сжатия основываются на тех же алгоритмах и выполняют такой объем работы, что распаковка файлов (RLE, LZW).

//В программах обмена данными используют как сжатие, так и распаковку.??????

в одном направлении выполняется значительно больший объем работы, чем другом (обычно на сжатие увелич. объем, время, распаковку) – это для БД изо. jpeg, mpeg //

Существует ассиметричные алгоритмы, работающие в обратном направлении (когда на сжатие затрачивается больше времени, чем распаковку). Используется для программ резервного копирования.

Адаптивное, полуадаптивное и неадаптивное кодирование

Неадаптивные кодировщики содержат уже существующий словарь заранее определенных подстрок, о которых известно, что они появляются в данных достаточно часто.

Например, неадаптивные кодировщики для сжатия текстов содержит словарь: end (1 код), but (2 then (3 код) и т.д.

Для графики 4 черных пикселя 1

8 белых 2

8 черных 3

Адаптивные кодировщики не содержат предопределенных эвристических правил для сжатия данных, адаптивные компрессоры, такие как LZW, зависят от типа обрабатываемых поскольку строят словари из поступающих т.е. дополнительные данные о процессе кодирования. У адаптивных кодировщиков возможна большая степень сжатия.

Полуадаптивные кодировщики основаны на применении обоих методов кодирования. Они работают в два прохода.

строят словарь

выполняют само кодирование на основе полученных 1 этапе подстрок

Позволяет построить оптимальный словарь прежде чем кодировать.

Сжатие с потерями и без потерь

Метод сжатия без потерь – когда данные сжимается, а потом распаковываются и содержащаяся в них оригинальная информация сохраняется. Данные не должны быть изменены, потеряны или повреждены.

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

//*.jpg – ССП.

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

//Классификация приложений использующих алгоритмы компрессий

1) высокие требования ко времени архивации и разархивации (издательские системы, информационные узлы в интернете). Сами илюстр. > часть от общего объема. Используются алгоритмы СБП (LZW, RLE т.д.)

2) степень архивации и времени разархивации (справочники энциклопедии на CD-ROM). Ассиметричные алгоритмы – время компрессии >> (фрактальное сжатие).

3) очень высокие требования к степени разархивации (jpeg, хотя большое время разархивации).

Требования, прилагаемые к алгоритмам компрессии.

Определяются характером использования изображения.

Требования:

1) степень компрессии

2) качество изображения

3) скорость компрессии

4) скорость декомпрессии

5) масштабирование изображения

6) возможность показать изо нужного разрешения

7) устойчивость к ошибкам, это противоречит высокой степени архивации, т.к. необходимо вводить избыточную информацию.

8) учет специфики изо, т.е. более высокая степень архивации, чаще применяемая в ваших приложениях.

9) редактируемость (минимальное сжатие ухудшает качество изо при его повторном сохранении)

10) небольшая стоимость аппаратной и программной реализации //

Компьютеры использовались только для решения научных и производственных задач, результатами которых являлись только числовые данные. Для того, чтобы понять эти данные в графики и диаграммы преобразовывались вручную. К 60-м годам появились более мощные компьютеры ==> возможность обработки графических данных в режиме символьной печати. Затем появились специальные устройства для графического вывода на бумагу - графопостроители или перьевые плоттеры. Для управления работой графопостроителя стали создавать специальное программное обеспечение. Далее появились графические дисплеи, которые формируют рисунок из множества точек, выстроенных в равные ряды (строки), образующие графическую сетку или растор.
Графические библиотеки в языках программирования