методы сжатия.ppt
- Количество слайдов: 13
Методы сжатия цифровой информации 10 класс профильный уровень
Избыточность информации С_НТ_БРЬ, МОС_, Д_Р_ВО. Дм_т_ий Ива_ов__ Менд_ле_в – в_л_ки_ рус_кий х_мик. 2+4+6+8+10+12+14+16+18+20+22+24+26+28+30+32 +34+36+38+40+42+44+46+48+50+52+54+56+58+60 2+4+ 6+…+58+60 Сжатие информации 102+103+104+115+136+147+148+159+160+181+182 Проблема «генератора простых чисел» ! Степень сжатия принципиально зависит от самих сжимаемых данных ?
Определение 13. Кодирование информации является избыточным, если количество бит в полученном коде больше, чем это необходимо для однозначного декодирования исходной информации Степень избыточности зависит от типа информации: видеоинформация, графика, текст Степень избыточности естественной информации достаточно велика. К. Шеннон установил, что избыточность английского литературного языка составляет 50% Избыточность информации обеспечивает человеку надежность её восприятия
Методы сжатия информации: Ø обратимые Ø с регулируемой потерей информации Алгоритмы обратимых методов Определение 14. Метод сжатия называется обратимым, если из данных, полученных при сжатии, можно точно восстановить исходный массив данных. Обратимые методы можно применять к любым типам данных. Характерные форматы сжатых файлов: • GIF, TIF, PCX, PNG – для графики • AVI – для видео • ZIP, ARJ, RAR, LZH, LH, CAB – для любых типов данных
Метод упаковки. Уменьшается количество бит, отводимых для кодирования символов, если в сжимаемом массиве данных присутствует только небольшая часть используемого алфавита. Пример: 280 – 1296 48 40 365 – 159 13 777. Всего 12 символов. Достаточно 4 бита: 2 символа можно закодировать 0 – 0000, одним байтом, получили 1 – 0001, двукратное сжатие! BAD-формат 2 – 0010, (двоично-десятичная запись, … нередко используется в 9 – 1001, программировании для хранения - – 1110, целых чисел в базах данных) пробел - 1111
Пример: КОЛ ОКОЛОКОЛА 5 символов, 3 бита. Всего в тексте 18 символов, потребуется 18*3=51 бит или 7 байт. В случае кодирования байтом, объем текста составил бы 18 байт. Коэффициент сжатия 18/7 ~ 2, 6. Преимущества: Любой фрагмент можно распаковать не используя предыдущие данные: номер байта, с которого начинается код символа L=(M*N)/8, где N – номер символа, M – длина кода. Номер первого бита кода K= M*N mod 8 Недостаток: Метод дает хорошие результаты, когда количество используемых символов невелико. Символы кодируются битовыми последовательностями одинаковой длины. (Текст только из А и В сжимается в 8 раз, текст из А, В, С – уже в 4 раза… )
Алгоритм Хаффмана. Идея: использовать коды переменной длины. 1. Читаются все входные данные и подсчитываются частоты встречаемости всех символов. По этим данным строится дерево кодирования Хаффмана, а по нему – коды символов. 2. Входные данные читаются еще раз и при этом генерируется выходной массив данных.
Алгоритм построения дерева Хаффмана. 1. Символы входного алфавита образуют список свободных узлов. Каждый узел имеет вес, равный количеству вхождений символа в исходное сообщение. 2. В списке выбираются 2 свободных узла с наименьшими весами. 3. Создается их узел- «родитель» с весом, равным сумме их весов, он соединяется с «детьми» дугами. 4. Одной дуге, выходящей из «родителя» , ставится в соответствие бит 1, другой – бит 0. 5. «Родитель» добавляется в список свободных узлов, а двое его «детей» удаляются из этого списка. 6. Шаги, начиная со второго, повторяются до тех пор, пока в списке свободных узлов не останется только один свободный узел. Он и будет считаться корнем дерева.
О 00 К 01 Л 10 пробел 110 А 111 Для восстановления данных необходимо снова воспользоваться деревом Хаффмана: специальный маркер устанавливается в вершину дерева и сжатый массив данных читается побитово. Если бит равен 0, то маркер перемещается по верхнему ребру, если 1, то по нижнему. Код Хаффмана является префиксным – код каждого символа не является началом кода какого-то другого символа
Алгоритм RLE. Идея: выявление повторяющихся последовательностей данных и замена их простой структурой: повторяющимся фрагментом и коэффициентом повторения. В общем случае упакованная последовательность состоит из управляющих байтов, за каждым из которых следует один или несколько байтов.
• во входной последовательности все повторяющиеся цепочки байтов заменяются на фрагменты (управляющий байт, повторяющийся байт), управляющий байт имеет значение 128+длина цепочки. (Старший бит всегда 1). • все неповторяющиеся цепочки байтов заменяются на фрагменты (управляющий байт, цепочка неповторяющихся байтов), управляющий байт должен иметь значение 0+ длина цепочки (Старший бит всегда 0) Пример: 11111111 111100001111 11000011 10101010 Результат RLE-кодирования: 10000101 1111 00000011 111100001111 11000011 10000100 1010 12 байтов упакованы в 8 байтов. К сжатия =8/12 (66%)
Схема распаковки: • если во входной (сжатой) последовательности встречается управляющий байт с 1 в старшем бите, то следующий за ним байт нужно записать стролько раз, сколько указано в оставшихся 7 битах управляющего байта; • если встречается управляющий байт с 0 в старшем бите, то в выходную последовательность столько следующих за ним байтов, сколько указано в оставшихся 7 битах управляющего байта. Достоинства: простота, высокая скорость Недостатки: в среднем невысокое сжатие. Различные реализации RLE используются в графических файлах (BMP), при факсимильной передаче информации. Для текттовых файлов неэффективны.
Алгоритмы сжатия с регулируемой потерей информации Проведенные в конце ХХ века исследования психофизических характеристик зрения и слуха обнаружили ряд особенностей человеческого восприятия, использование которых позволяет существенно увеличить степень сжатия звуковой, графической и видеоинформации. Наиболее известные методы сжатия: • JPEG – метод сжатия графических данных; • MPEG – группа методов сжатия видеоданных; • MP 3 – метод сжатия звуковых данных


