Скачать презентацию Лекция 4 Экономичное кодирование информации План лекции Скачать презентацию Лекция 4 Экономичное кодирование информации План лекции

Лекция 4 Экономичное кодирование информации 281116.ppt

  • Количество слайдов: 49

Лекция 4 Экономичное кодирование информации Лекция 4 Экономичное кодирование информации

План лекции: 1. 2. 3. 4. Основные определения теории кодирования Основные задачи теории кодирования План лекции: 1. 2. 3. 4. Основные определения теории кодирования Основные задачи теории кодирования Методы экономичного кодирования Декодирование неравномерных кодов

1. Основные определения теории кодирования 1. Основные определения теории кодирования

Алфавит - набор знаков, в котором установлен порядок их следования Алфавит - набор знаков, в котором установлен порядок их следования

 Первичный алфавит - алфавит, с помощью которого представляется информация до преобразования Вторичный алфавит Первичный алфавит - алфавит, с помощью которого представляется информация до преобразования Вторичный алфавит - алфавит, с помощью которого представляется информация после преобразования

Код - правило, описывающее соответствие знаков или их сочетаний одного алфавита знакам или их Код - правило, описывающее соответствие знаков или их сочетаний одного алфавита знакам или их сочетаниям другого алфавита.

Кодирование - перевод информации, представленной посредством первичного алфавита, в последовательность кодов Декодирование - восстановление Кодирование - перевод информации, представленной посредством первичного алфавита, в последовательность кодов Декодирование - восстановление информации в первичном алфавите по полученной последовательности кодов.

Равномерный код – код, формирующий для всех символов первичного алфавита кодовые комбинации одинаковой длины Равномерный код – код, формирующий для всех символов первичного алфавита кодовые комбинации одинаковой длины

Пример 1 : Построить равномерный код для алфавита Пример 1 : Построить равномерный код для алфавита

Код Морзе Неравномерный код – код, формирующий кодовые комбинации разной длины Код Морзе Неравномерный код – код, формирующий кодовые комбинации разной длины

Виды кодирования: Алфавитное кодирование – коды строятся для каждого знака первичного алфавита. Блочное кодирование Виды кодирования: Алфавитное кодирование – коды строятся для каждого знака первичного алфавита. Блочное кодирование – коды строятся для комбинаций знаков первичного алфавита

Двоичное кодирование При двоичном кодировании для формирования сообщения используются только два типа сигналов (обозначаются Двоичное кодирование При двоичном кодировании для формирования сообщения используются только два типа сигналов (обозначаются 0 и 1)

Обратимость кодирования Операции кодирования и декодирования называются обратимыми, если их последовательное применение обеспечивает возврат Обратимость кодирования Операции кодирования и декодирования называются обратимыми, если их последовательное применение обеспечивает возврат к исходной информации без каких-либо ее потерь

2. Основные задачи теории кодирования 2. Основные задачи теории кодирования

Основные задачи, решаемые теорией кодирования: Обеспечение экономичности передачи информации посредством устранения избыточности Обеспечение надежности Основные задачи, решаемые теорией кодирования: Обеспечение экономичности передачи информации посредством устранения избыточности Обеспечение надежности (помехоустойчивости) передачи информации

Защита от помех Технические методы: экранирование электрических линий связей улучшение избирательности приемного устройства и Защита от помех Технические методы: экранирование электрических линий связей улучшение избирательности приемного устройства и т. д. Методы предлагаемые теорией информации: учет соответствия характеристик источника сообщений и характеристик канала связи использование специальных методов кодирования информации

3. Методы экономичного кодирования 3. Методы экономичного кодирования

Избыточность — использование для кодирования сообщения большего количества символов, чем это минимально необходимо для Избыточность — использование для кодирования сообщения большего количества символов, чем это минимально необходимо для его однозначного декодирования

Оптимальный код — код, избыточность которого минимальна для источника с данными характеристиками Двоичный код Оптимальный код — код, избыточность которого минимальна для источника с данными характеристиками Двоичный код будет иметь нулевую избыточность, если средняя длина кодовой комбинации будет равна энтропии источника

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

Значение первой теоремы Шеннона Шеннон доказал теоретическую возможность существования кода с избыточностью сколь угодно Значение первой теоремы Шеннона Шеннон доказал теоретическую возможность существования кода с избыточностью сколь угодно близкой к нулю. Экономичность кода (снижение избыточности) достигается за счет учета характеристик источника (частоты появления отдельных символов в сообщении)

Идея экономичного кода При экономичном кодировании для кодирования символов исходного алфавита используют неравномерные коды, Идея экономичного кода При экономичном кодировании для кодирования символов исходного алфавита используют неравномерные коды, учитывающие частоту появления символов: «» - 0 О – 01 …. Ф - 111111

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

Метод экономичного кодирования Хаффмана Строится кодовое дерево 1. Вероятности символов выписывают слева направо в Метод экономичного кодирования Хаффмана Строится кодовое дерево 1. Вероятности символов выписывают слева направо в порядке убывания (висячие вершины) 2. Просматривая вершины справа налево, выбирают 2 с минимальными весами и объединяют (вес новой вершины = сумме весов объединенных) 3. Левое ребро получает метку 0, правое – 1 4. Повторяют шаги 2 и 3, пока не останется одна вершина. Ее вес =1. Чтобы получить код символа, нужно спустится к нему от корня дерева, выписывая метки на ребрах.

Код Хаффмана Пример 2 Построить код Хаффмана для алфавита из Примера 1 и оценить Код Хаффмана Пример 2 Построить код Хаффмана для алфавита из Примера 1 и оценить его избыточность

4. Декодирование неравномерных кодов 4. Декодирование неравномерных кодов

Пример 3. Построим неравномерный код, учитывающий частоту символов e– 0 a– 1 b – Пример 3. Построим неравномерный код, учитывающий частоту символов e– 0 a– 1 b – 00 c – 01 d - 11

Можно ли однозначно декодировать код, полученный в примере 3? Пусть этим кодом закодировано сообщение Можно ли однозначно декодировать код, полученный в примере 3? Пусть этим кодом закодировано сообщение bcd - 000111 Декодируем: eeeaaa

 Закодированные неравномерным кодом сообщения могут декодироваться только если коды обладают свойством префиксности: ни Закодированные неравномерным кодом сообщения могут декодироваться только если коды обладают свойством префиксности: ни одна кодовая комбинация не является началом другой кодовой комбинации Данное свойство еще называют критерием различимости Фано

Закодируем и декодируем текст bcd кодом Хаффмана из примера 2 Закодируем и декодируем текст bcd кодом Хаффмана из примера 2

Вопрос При использовании префиксного кодирования, если имеется код 1010, какой код нельзя использовать? 00 Вопрос При использовании префиксного кодирования, если имеется код 1010, какой код нельзя использовать? 00 01 10 11

Вывод: алгоритмы экономичного кодирования должны: 1. учитывать частоту появления символов первичного алфавита в сообщении Вывод: алгоритмы экономичного кодирования должны: 1. учитывать частоту появления символов первичного алфавита в сообщении 2. формировать префиксные коды

Недостаток неравномерного кодирования Если в процессе передачи сообщения произойдет хотя бы одна ошибка, то Недостаток неравномерного кодирования Если в процессе передачи сообщения произойдет хотя бы одна ошибка, то станет невозможным декодирование всего дальнейшего текста Для равномерного алфавитного кода ошибка приведет к невозможности декодировать только один символ алфавита и не распространится далее

Семинар Семинар

Упражнение 1 В алфавите 5 символов: м, и, р, у, Закодировать текст «миру-мир» , Упражнение 1 В алфавите 5 символов: м, и, р, у, Закодировать текст «миру-мир» , записанный с помощью символов данного алфавита равномерным кодом

Упражнение 2 Закодировать кодом Хаффмана текст «миру-мир» Упражнение 2 Закодировать кодом Хаффмана текст «миру-мир»

Упражнение 3 Найти избыточность кодов, построенных в упражнениях 1 -2 Упражнение 3 Найти избыточность кодов, построенных в упражнениях 1 -2

Упражнение 4 Исходный алфавит содержит восемь символов, которые могут появляться в сообщениях с вероятностями: Упражнение 4 Исходный алфавит содержит восемь символов, которые могут появляться в сообщениях с вероятностями: р1=0, 22 р2=р3=0, 16 р4=р5=0, 10 р6=0, 04 р7= 0, 20 р8=0, 02 Построить код Хаффмана для этого алфавита

Упражнение 5 Пусть имеется следующая таблица префиксных кодов: Требуется декодировать сообщение: 0010000111010101110000110 Сможем ли Упражнение 5 Пусть имеется следующая таблица префиксных кодов: Требуется декодировать сообщение: 0010000111010101110000110 Сможем ли мы декодировать это сообщение, если помеха исказит 3 й символ?

Задачи ЕГЭ Задачи ЕГЭ

Задание 1 Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные Задание 1 Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Если таким способом закодировать последовательность символов БАВГ и записать результат шестнадцатеричным кодом, то получится 1) 4 B(16) 2) 411(16) 3)BACD(16) 4) 1023(16)

Задание 2 Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г и Задание 2 Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г и Д, используется неравномерный двоичный код, позволяющий однозначно декодировать полученную двоичную последовательность. Вот этот код: А – 0; Б – 100; В – 1010; Г – 111; Д – 110. Требуется сократить для одной из букв длину кодового слова так, чтобы код по-прежнему можно было декодировать однозначно. Коды остальных букв меняться не должны. Каким из указанных способов это можно сделать? 1) для буквы В – 101 2) это невозможно 3) для буквы В – 010 4) для буквы Б – 10

Задание 3 • По каналу связи передаются сообщения, содержащие только 4 буквы: Л, Е, Задание 3 • По каналу связи передаются сообщения, содержащие только 4 буквы: Л, Е, Т, О; для передачи используется двоичный код, допускающий однозначное декодирование. Для букв Т, О, Л используются такие кодовые слова: Т – 101, О – 01, Л – 11. Укажите такое кодовое слово для буквы Е, при котором код будет допускать однозначное декодирование, при этом его длина должна быть наименьшей.

Задание 4 По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, Задание 4 По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, D, E, F. Для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Для букв A, B, C используются такие кодовые слова: А – 00, B – 010, C – 1. Какова наименьшая возможная суммарная длина всех кодовых слов?

Задание 5 В сообщении встречается 40 букв А, 15 букв Б, 18 букв В Задание 5 В сообщении встречается 40 букв А, 15 букв Б, 18 букв В и по 10 букв Г и Д. При его передаче использован неравномерный двоичный префиксный код, который позволил получить минимальную длину закодированного сообщения. Какова она в битах?

Задание 6 По каналу связи передаются сообщения, содержащие только 4 буквы: А, И, С, Задание 6 По каналу связи передаются сообщения, содержащие только 4 буквы: А, И, С, Т. В любом сообщении больше всего букв А, следующая по частоте буква – С, затем – И. Буква Т встречается реже, чем любая другая. Для передачи сообщений нужно использовать неравномерный двоичный код, допускающий однозначное декодирование; при этом сообщения должны быть как можно короче. Шифровальщик может использовать один из перечисленных ниже кодов. Какой код ему следует выбрать? А – 0, И – 1, С – 00, Т – 11 С – 1, И – 0, А – 01, Т – 10 А – 1, И – 01, С – 001, Т – 000 С – 0, И – 11, А – 101, Т – 100