Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cgraph-37218a0d.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
571.39 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

32.Метод группового кодирования rle

Наиболее распространенный алгоритм сжатия, поддерживается большинством распространенных файловых форматов. Этот алгоритм позволяет сжимать данные любых типов, невзирая на содержащуюся в них информацию. Хотя сама информация влияет на полноту сжатия. Без потерь степень сжатия 3:1; 4:1. RLE уменьшает физический размер повторяющихся строк символов. Такие повторяющиеся строки называются группами и кодируются в 2х байтах. Первым определяет количество символов в группы и называется счетчиком группы. Группа обычно содержит от 1 до 128 или от1 до 256 символов. В счетчик эта информация записывается в количестве -1, т. к. отсчет начинается с 0. 2й байт содержит значение символа группы (от 0 до 255). . Новый пакет генерир-ся снова, когда измерится группа или когда кол-во символов в группе превысит значение счётчика

АААААА ВВВВ ХХ ТТТ

5А 3В 1Х 2Т

Для хранения RLE – пакета требуется как минимум 2 байта информации, поэтому кодирование менее 2 байт нецелесообразно. Кодирование методом RLE целесообразно, когда группа одинаковых значений имеет хотя бы два одинаковых значения. Сложные изображения с большим количеством цветов кодируется хуже. Групповое кодир-ие не явл форматом файлов.Это метод кодир-ия,кот м.б. включён в некоторые графические форматы.

Данные изображ-ия обычно кодир-ся последовательно.Растер кодир-ся,начиная с верхнего лев угла по оси Х слева направо к нижн правому углу. Альтернатив схемы позволяют записывать закодир-ые данные по высоте растора(т.е. по оси Y),а также кодируют растр зигзагом.

И ногда встречаются варианты группового RLE-кодир-ия с потерями: отбрасывают данные в процессе кодир-ия(обычно младший бит в каж пикселе),что серьёзно увеличивает степень сжатия изображ-ия,но примен-ся только в многоцветных изображ-х. RLE-кодировщик должен останавливаться в конце каждой строки развертки растровых данных. Построчное кодир-е требует меньшего размера буфера и предотв-ет проблему перекрестного кодир-я. Перекрестное кодирование – слияние строк развертки, происходящее из-за того, что в процессе кодирования различие между строками исчезает. При выйгрыше в нескол байтов в процессе сжатия без маркера конца строки FB значительно усложняется процесс декодирования инф-ии, а также нарушается базовый принцип организации растрового изображ-ия в виде строк развёртки. Программа-кодировщик помещает в закодированные данные маркер конца строки развёртки, чтобы программа-декодировщик могла распознать начало строки развертки. Этот маркер предст собой уникальный пакет, точно определённый спецификацией RLE. Обычно маркер конца строки развёртки им длину 1 байт. Другой способ определения в блоке закодированного данного начала строки любой строки развертки является создание таблицы строк развертки. Таблица содержит по одному элементу любой строки. Для этого, чтобы найти RLE – пакет определяющий строки развертки, программа- декодирования читает смещение, записывая в таблице и воспроизводит исходные данные. Инф-я о смещении начала каждой строки развертки в файле.

33. RLE-схема битового уровня

Битового уровня – кодируют в группы биты строк развертки, игнорируя при этом границы байтов и слов. Используются только при обработке монохромных изображений, которые содержат достаточное количество битовых групп. RLE-схемы битового уровня кодируют в группы только до 128 одинаковых битов, создавая из них однобайтовый пакет. 7 младших битов этого байта содержат счетчик группы, самый старший бит – значения группы (0 или 1). РИС.

34. RLE-схема байтового уровня

Байтового уровня – эти схемы кодируют в группы одинаковые байтовые знчения, игнорируя при этом отдельные биты и границы слов. RLE-сх байтового ур кодируют в 2-х байтовый пакет: 1-ый байт – счетчик группы(0-255)

2-ой байт – значение группы (0-255). Используемая схема 2х байтового кодирования, позволяет хранить в потоке данных как закодированные, так и не закодированные группы. Незакодированные группы – литералы. В этом случае 1-7 бит 1- го байта пакета содержит счетчик группы, а самый старший бит 1-го байта – тип группы: 1- закодированная группа, она декодируется путем чтения значений группы и повторений столько раз, сколько указано в счетчике (+1).

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

Группа- указывает, сколько пикселей подряд будут считаны. RLE-сх байтового ур эффективны для данных изображения, кот хран-ся в виде 1 байта на пиксель.

35. RLE-схема пиксельного уровня

Пиксельного уровня – применяются тогда, когда для хранения одного пиксельного значения. используется 2 или более смежных байтов данного изображения. На пиксельном уровне биты игнорируются, а байты используются для идентификации пиксельного значения. Размер закодированного пакета зависит от размера пиксельных значений, подлежащих кодир-ю. Сведения о кол-ве битов или байтов пикселя записано в заголовке файла изображения.

1-ый байт – счетчик(0-255)

2-ой байт – пиксель1 го канала(0-255) РИС

3-ий байт – пиксель 2го канала(0-255)

4-ый байт – пиксель 3 го канала(0-255)

Сущ-ют литеральные гр пиксельного уровня: для этого также как и в схемах байтового уровня используется старший бит 1 го байта. В RLE схемах пиксельного уровня счетчик содержит данные о количестве пикселей .

36.RLE-схемы с использованием флага

При таком способе кодир-ия для представления группы используется не 2 ,а 3 байта.

1-ый байт – флаг, значение которого указывает на то , что следующие 2 байта явл частью закодиров-ого пакета.

2-ой байт – счетчик группы

3-ий байт – значение группы

Если в процессе кодирования встреч. гр.,состоящая из 1,2 или 3х зн-ий,то это зн-я записываются на прямую в поток сжатых данных РИС

Флаговое знач. м.б. любое от 0 до 255,заранее оговоренное в заголовке файла или специф. RLE

# 100 гер. pix 213 20 20 222-флаг

222 99 213 20 20

При декодир. анализируется прочитанное значение ,если это флаговое зн-е, то читается и обрабатывается флаг. знач. и рез-ты. Если в 1 байте не содержится флаговое значение, то все прочитан значения запис. в выход. поток напрямую. В RLE пакете с использованием флага, минимальный размер групп, пригодных для кодирования увеличиться до 4 значений. Если поток незакодир. данных сдержит значение = флагу, то это значение д.б. закодировано в 3х байтовый пакет, т.о. можно избавится от ошибочных флаговых значений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]