Сжатие графических файлов.
Способы сжатия графических файлов:
1.Кодирование длин серий (RLE-кодирование (Run Length Encoding)).
6 повторений 8 повторений
0616 0816
Можно кодировать bmp, jpg
2.Кодирование LZ:Программа ведёт словарь повторяющихся последовательностей пикселей. Сжатый соответственно содержит коды на элементы словаря. (gif, png).
3.Хаффман:Вместо использования для продолжений компонентов с фиксированным числом бит, используются коды переменной длины. Значениям, которые используются чаще, присваиваются более короткие значения.
4.DCT – Discrete Cosine TransformБлоки пикселей представляются с помощью cos-функций с разными частотами. Высокие частоты, которые вносят маленький вклад в изображение, отбрасываются.
BMP RLE 8 кодирование
Данные при этом разбиваются на 2-байтовые пары. 1-й байт – кол-во повторений, 2-й байт – хз чтоJ.
Если в счётчике повторов указан 0, то пара считается управляющей.
00 00 – начало файла
00 01 – конец файла
00 02 – переход на новую координату
0416 1516 0016 0016 0216 1116 0216 0216 0316 0016 0116
Расшифровываем:
1516 1516 1516 1516
1116 1116 0316 0316
RLE4 кодирует 2 значения (чётные и нечётные)
0516 5616 -> 56 56 5
Управляющие коды такие же.
Методы сжатия JPEG
1.Последовательный (совершается 1 scan (проход) для каждой цветовой компоненты).Хаффмана+Аналитический
2.Прогрессивный (кол-во проходов от 2 до 896, ри декодировании происходит обратный процесс).Хаффмана+Аналитический
3.Методы сжатия без потерь (почти не используются).Оригинальный метод+JPEG-LS
4.Иерархический (супер прогрессивный режим; само изображение разбивается на кадры, каждый кадр сжимается с различной степенью сжатия).
Сжатие – изменение частоты дискретизации.
Y Cb Cn
> < <
Этапы сжатия
1.Sampling (RGB -> YCbCn)
2.DCT – превращение блоков информации (единицы данных – блоки 8х8 пикселей)
3.Quantization – отбрасывание несущественных коэффициентов.
4.Кодирование Хаффмана.
Кодирование коэффициентов DCT при этом исключается из рассмотрения.
Дата добавления: 2016-07-18; просмотров: 1508;