Выполнила: Медведева Анастасия, Ученица 11А класса, МОУ СОШ 3. Руководитель: Глазунова Ольга Петровна, учитель информатики. «Сжатие данных. Алгоритм Хаффмана»

Презентация:



Advertisements
Похожие презентации
Сжатие это кодирование с уменьшением объема данных и возможностью однозначного декодирования. Обратный процесс декодирование называется разжатие. Другие.
Advertisements

Архивация данных: основные алгоритмы архивации данных.
Архивация данных Архивация данных. Необходимость архивации данных Архивирование редко используемой информации для освобождения места на диске; Для переноса.
Сжатие информации Алгоритм Хаффмана. Сжатие информации Сжатие данных – сокращение объема данных при сохранении закодированного в них содержания.
Архивация файлов Файлы и файловая система. Избыточность Редакторы, работающие с текстовой, графической, звуковой и другой информацией, кодируют ее наиболее.
Обобщение метода кодирования Хаффмана с использованием систем счисления Ковалёв Д.С. Новосибирский Государственный Университет Факультет Информационных.
Приемы и методы работы со сжатыми данными Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Лекция 1 Алгоритмы сжатия изображений Медведева Елена Викторовна дисц. Цифровая обработка изображений.
Кодирование информации 9 класс (повторение). Кодирование информации Кодирование числовой информации Диапазон целых чисел, кодируемых одним байтом, определяется.
Методы и приемы работы со сжатыми файлами Шарипов И.К., 2011г.
ИСТОЧНИК ИНФОРМАЦИИ ПРИЁМНИК ИНФОРМАЦИИ Кодирующее устройство Декодирующее устройство КАНАЛ СВЯЗИ ШУМ ЗАЩИТА ОТ ШУМА.
Назначение и основные понятия WinRar WinZip Другие форматы архивов Сравнительные характеристики.
Курсовая работа по дисциплине «Информатика» на тему: «Алгоритм Хаффмана» Автор: Пятко Наталья.
Тема урока: «Алгоритмы сжатия текстовой информации» Учитель информатики МОУ школа 8 Зайцев А. И. г. о. Жуковский, 2013.
10 класс Пять вопросов про это 1. Для чего нужно сжимать файлы? 1. Для длительного хранения данных на различных носителях информации; 2. Для передачи.
Булгаков Алексей 11 «А» класс Школа 3. Степень сжатия информации зависит от: типа сжимаемых данных; метода сжатия; того, какой архиватор используется.
Способ обработки информации - КОДИРОВАНИЕ
Prezentacii.com. Одним из наиболее широко распространенных видов сервисных программ являются программы, предназначенные для архивации, упаковки файлов.
Программы – архиваторы Архивирование файлов Ничто не ценится так дорого, как информация, записанная на компьютере. И ничто невозможно так легко потерять,
Транксрипт:

Выполнила: Медведева Анастасия, Ученица 11А класса, МОУ СОШ 3. Руководитель: Глазунова Ольга Петровна, учитель информатики. «Сжатие данных. Алгоритм Хаффмана»

Способы уменьшения объема информации: Ограничение количества информации Увеличение объема носителей Использование сжатия информации

Цели и задачи проекта: Узнать, когда и как появились алгоритмы сжатия. Рассмотреть основные виды алгоритмов сжатия. Изучить алгоритм Хаффмана и показать его применение. Научиться решать задачи по данному алгоритму.

История появления алгоритмов сжатия. Клод Шеннон Клод Шеннон – основоположник науки о сжатии информации. Его теорема об оптимальном кодировании показывает, к чему нужно стремиться при кодировании информации и на сколько та или иная информация при этом сожмется.

1977 год 1984 год 1977 год – изобретение Лемпелем и Зивом словарных алгоритмов год – изобретение алгоритма PPM и LZV.

Теоретические способы уменьшения данных: Изменение содержимого данных Изменение структуры данных Одновременное изменение как содержимого, так и структуры данных

Если при сжатии данных происходит изменение их содержимого, то метод сжатия называется необратимым, то есть при восстановлении (разархивировании) данных из архива не происходит полное восстановление информации. Примеры форматов сжатия с потерями: JPEG - для графических данных; MPG - для для видеоданных; MP3 - для аудиоданных. Методы сжатия с регулированными потерями информации.

Если при сжатии данных происходит только изменение структуры данных, то метод сжатия называется обратимым. В этом случае, из архива можно восстановить информацию полностью. Примеры форматов сжатия без потерь информации: GIF, TIFF - для графических данных; AVI - для видеоданных; ZIP, ARJ, RAR, CAB, LH - для произвольных типов данных.

Сжатие данных алгоритм RLE (Run Length Encoding) алгоритмы группы KWE (KeyWord Encoding) алгоритм Хаффмана

Алгоритм Хаффмана Дэвид Хаффман первопроходец в сфере теории информации. В 1952 году создал алгоритм префиксного кодирования с минимальной избыточностью (известный как алгоритм или код Хаффмана). В 1999 году получил медаль Ричарда Хэмминга за исключительный вклад в теорию информации.

Определение. Пусть A = {a 1, a 2, …, a n } алфавит из n различных символов, W = {w 1, w 2, …, w n } соответствующий ему набор положительных целых весов. Тогда набор бинарных кодов C = {c 1, c 2, …, c n }, такой, что: 1. c i не является префиксом для c j, при i j. 2. Сумма минимальна. ( |c i | длина кода c i ) называется кодом Хаффмана.

Характеристики классического алгоритма Хаффмана: Коэффициенты компрессии: Коэффициенты компрессии: 8, 1,5, 1 (Лучший, средний, худший коэффициенты). Класс изображений: Класс изображений: Практически не применяется к изображениям в чистом виде. Обычно используется как один из этапов компрессии в более сложных схемах. Симметричность: Симметричность: 2 (за счет того, что требует двух проходов по массиву сжимаемых данных). Характерные особенности: Характерные особенности: Единственный алгоритм, который не увеличивает размера исходных данных в худшем случае (если не считать необходимости хранить таблицу перекодировки вместе с файлом).

Алгоритм. 1. Составим список кодируемых символов, при этом будем рассматривать один символ как дерево, состоящее из одного элемента, весом, равным частоте появления символа в тексте. 2. Из списка выберем два узла с наименьшим весом. 3. Сформируем новый узел с весом, равным сумме весов выбранных узлов, и присоединим к нему два выбранных узла в качестве дочерних. 4. Добавим к списку только что сформированный узел. 5. Если в списке больше одного узла, то повторить пункты со второго по пятый.

Пример 1. Для примера возьмём слово "Миссисипи". Тогда алфавит будет А={и, м, п, с}, а набор весов W={4, 1, 1, 3}: По алгоритму возьмем два символа с наименьшей частотой - это м и п. Сформируем из них новый узел мп весом 2 и добавим его к списку узлов: Затем объединим в один узел узлы мп и c: Узелимпс Вес4113 Узелимпс Вес423 Узел импс Вес 4 5

И, наконец, объединяем два узла и и мпс. Итак, мы получили дерево Хаффмана и соответствующую ему таблицу кодов: Таким образом, закодированное слово "Миссисипи" будет выглядеть как " ". Длина закодированного слова - 16 бит. Стоит заметить, что если бы мы использовали для кодирования каждого символа из четырёх по 2 бита, длина закодированного слова составила бы 18 бит. Символим п с Код

Пример 2. Предположим, что нам надо заархивировать следующую символьную последовательность: "AAABCCD". Без архивации эта последовательность занимает 7 байт. С архивацией по методу RLE она бы выглядела бы так: 3,"A",1,"B",2,"C",1,"D" то есть возросла бы до 8-ми байтов. А алгоритм Хаффмана может сократить ее почти до двух байтов, и вот как это происходит.

Таблица частот: Двоичное дерево: Символ 'A','B','C,'D' Количество повторений '3','1','2','3'

A A A B B C C D Рассмотренный нами выше текст "AAABCCD" займет всего 13 бит (а это меньше двух байтов). A A A B C C D A A A B C C D

Пример 3. Рассмотрим использование алгоритма Хаффмана на пример оптимизации занимаемого пространства БД при хранении массива, состоящего из целых чисел в диапазоне [0,255]. Массив представляет собой отображение звуковой информации wav-файла. Среднее количество хранимых элементов массива составляет ~ Результаты представления массива после различных преобразований массива $data с 9288 элементами (в символах):

Список используемой литературы: Веретенников А.Б «Алгоритм Хаффмана», 2008 г. Материалы для подготовки к ЕГЭ. Ресурсы Интернет.