Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoria_informatsii / Лекция 3.ppt
Скачиваний:
107
Добавлен:
22.03.2016
Размер:
266.24 Кб
Скачать

Кодирование информации

1.Основные понятия

2.Теоремы кодирования

3.Оптимальное кодирование

4.Кодирование Хаффмена

5.Кодирование Шеннона-Фано

6.Блочное кодирование

Основные понятия

1.Алфавит: А = {a1, …, an}

2.Слово: c1ck,ci А

3.Пустое слово: s =

4.Множество слов: A*

5.Кодирование: A C B*

6.Кодовое слово: b1bm, bi B

7.Префиксный код: s = s1s2; s, s1, s2 B*, s C, s1 C

Основные понятия

Пусть A – произвольный алфавит. Элементы алфавита A называют буквами (или символами), а конечные последовательности, составленные из букв,

– словами в A. При этом считается, что в любом алфавите существует пустое слово, не содержащее букв. Множество всех слов, составленных из букв алфавита A, обозначается A*.

Основные понятия

Слово α1 называют началом (префиксом) слова α, если существует слово α2, такое, что α = α1α2; при этом слово α1 называют собственным началом слова α, если α2 – не пустое слово. Длина слова – это число букв в слове (пустое слово имеет длину 0). Запись α1α2 обозначает соединение (конкатенацию) слов α1 и α2. Слово α2 называют окончанием (суффиксом) слова α, если существует слово α1, такое, что α = α1α2; при этом слово α2 называют собственным окончанием слова α, если α1 – не пустое слово. Пустое слово по определению считается началом и окончанием любого слова α.

Основные понятия

Рассмотрим алфавит B = {0, 1, …, D – 1}, где D ≥ 2, и произвольное множество A. Произвольное отображение множества A в множество слов в алфавите B называют D-ичным кодированием множества A (при

D = 2 кодирование будет двоичным). Обратное отображение называют декодированием.

Основные понятия

n

e(n)

n

e(n)

n

e(n)

n

e(n)

0

0

4

100

8

1000

12

1100

1

1

5

101

9

1001

13

1101

2

10

6

110

10

1010

14

1110

3

11

7

111

11

1011

15

1111

n

ek(n)

n

ek(n)

n

ek(n)

n

ek(n)

0

0000

4

0100

8

1000

12

1100

1

0001

5

0101

9

1001

13

1101

2

0010

6

0110

10

1010

14

1110

3

0011

7

0111

11

1011

15

1111

Основные понятия

Пусть A = {ai, i = 1, 2, …} – конечный или счетный алфавит, буквы которого занумерованы натуральными числами. В этом случае кодирование букв алфавита A можно задать последовательностью D-ичных слов

V = {vi, i = 1, 2, …}, где vi есть образ буквы ai. Такие последовательности слов (из множества V) называют кодами (алфавита А). Если задан код V алфавита А, то кодирование слов, при котором каждому слову ai1ai2aik ставится в соответствие слово vi1vi2vik, называют побуквенным кодированием.

Разделимые коды

При переходе от взаимно однозначного кодирования букв алфавита к побуквенному кодированию слов в алфавите свойство взаимной однозначности может не сохраниться. Например, кодирование e(n) не сохраняет данное свойство, а кодирование ek(n) его сохраняет. Свойство взаимной однозначности сохраняют разделимые коды. Код V = {vi, i = 1, 2, …} называют разделимым, если из каждого равенства вида

vi1vi2vik = vj1vj2vjl

следует, что l = k и vi1 = vj1, vi2 = vj2, … , vik = vjl. Разделимые коды называют также однозначно

декодируемыми кодами.

Префиксные коды

Кклассу разделимых кодов принадлежат префиксные коды. Код V = {vi, i = 1, 2, …} называют префиксным, если никакое слово

vk не является началом (префиксом) никакого слова vl, l k. Если каждое слово префиксного кода заменить наименьшим его началом, которое не является началом других кодовых слов, то полученный код также будет префиксным. Такую операцию называют усечением префиксного кода.

Кодовое дерево

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

котором вершина β1 соединена с вершиной β2 ребром, направленным от β1 к β2, тогда и только тогда, когда β2 = β1b, где b B = {0, 1, …, D – 1}, D ≥ 2. Для префиксных кодов (и только для них) множество кодовых слов совпадает с множеством концевых вершин (вершин, из которых не исходят ребра) кодового дерева.

Соседние файлы в папке Teoria_informatsii