- •2.3.2. Джиттер
- •2.4. Математическая модель канала с замираниями
- •3.4. Избыточность источника
- •3.6. Совместная энтропия двух источников
- •3.7. Скорость передачи и пропускная способность канала связи
- •4.1.2. Представление аналоговых сигналов в дискретной форме
- •4.1.4. Дискретизация полосовых сигналов
- •4.1.5. Дискретизация сигналов в реальных системах
- •4.1.7. Выводы и практические рекомендации
- •4.2. Квантование по уровню
- •4.2.3. Техническая реализация схем квантования по уровню
- •5.4. Алгоритм Лемпеля−Зива−Велча (LZW)
- •6.1. Симметричные криптосистемы
- •6.3. Криптографический протокол
ный код будет присвоен ей. Следовательно, для различных типов данных применяется некоторое согласованное кодовое множество и в месте обработки кодированной последовательности требуется знание структуры кода.
Решение этой проблемы предполагает передачу кодовой таблицы до передачи основного информационного потока. Поэтому кодирование Хаффмана неэффективно для малых объѐмов передаваемой информации.
В случае, если имеется несколько предопределѐнных кодовых структур, то имеется возможность передавать лишь идентификатор структуры. Разумеется, на приѐмной стороне предопределѐнные структуры кода должны
быть известны. |
|
|
|
Р |
|
|
|
|
|
2. Существенно неравномерный вес символов в различных кодовых |
||||
словах. |
|
|
И |
|
|
|
|
||
3. В случае, если кодовое слово имеет больший размер, чем может хра- |
||||
нить стандартная ячейка памяти, возникает переполнение кодового слова. |
||||
5.4. Алгоритм Лемпеля−Зива−Велча (LZW) |
У |
|
||
|
Г |
|
|
|
|
Б |
|
|
|
Алгоритм Лемпеля − Зива − Велча (Lempel-Ziv-Welch, LZW) − это |
||||
универсальный алгоритм сжатия данных без потерь, опубликованный Велчем |
в 1984 г. Алгоритм разработан так, чтобы его можно было быстро реализовать, но он не обязательно оптимален, поскольку при его реализации не проводится предварительный анализ входных д нных, т. е. априорные сведения
о кодируемой информации отсутствуютк. а Данный алгоритм при сжатии ( одировании) динамически создаѐт таб-
(словам) ставятся в соответствиеегруппы бит фиксированной длины (обычно 12-битные). Таблица инициализируе ся всеми 1-символьными строками (в
лицу преобразования строк. Опр д лѐнным последовательностям символов
ритм просматривает собщениетсимвол за символом, и сохраняет каждую новую, уникальную 2-с мв льную строку в таблицу в виде пары код/символ, где код ссы ается на соответствующий первый символ. После того как новая
случае 8-битных симв л в − э о 256 записей). По мере кодирования алго-
2-символьнаялстрокаисохранена в таблице, на выход передаѐтся код первого символа. Когда на входе читается очередной символ, для него по таблице находится уже встречавшаяся строка максимальной длины, после чего в таб-
лице исохраняетсябкод этой строки со следующим символом на входе; на выход выдаѐтся код этой строки, а следующий символ используется в качестве начала следующей строки.
текстБ, поскольку он может воссоздать соответствующую таблицу преобразования непосредственно по закодированному тексту.
Алгоритму декодирования на входе требуется только закодированный
Процедура LZW-кодирования подразумевает следующие операции.
1.Инициализация словаря всеми возможными односимвольными фразами. Инициализация входной фразы w первым символом сообщения.
2.Считать очередной символ k из кодируемого сообщения.
3.Если «конец сообщения», то выдать код для w .
77
4. Если фраза wk уже есть в словаре, присвоить входной фразе значение wk и перейти к шагу 2; иначе выдать код w , добавить wk в словарь, присвоить входной фразе значение k и перейти к шагу 2.
На момент своего появления алгоритм LZW давал лучший коэффициент сжатия для большинства приложений, чем любой другой хорошо известный метод того времени. Он стал первым широко используемым на компью-
терах методом сжатия данных. |
|
|
|
|
|
|
|
|
|
|||||||
|
Пример |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Необходимо закодировать следующую фразу, представленную латини- |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р |
цей, заглавными буквами и без пробелов: «KARLUKLARY- |
||||||||||||||||
UKRALKORALLYAKLARAUKARLAUKRALAKLARNET#». |
Символ ре- |
|||||||||||||||
шѐтки «#» означает конец сообщения. |
|
|
|
|
И |
|||||||||||
|
|
|
|
|
|
|
||||||||||
|
Определим, что разрядность начального кода составляет 5 бит. |
|||||||||||||||
|
Этап 1. Задание основного словаря. |
|
Г |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 5.1 |
||
|
|
|
|
|
|
|
|
|
|
|
Б |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Начальный словарь LZW-кодераУ |
|
|
|||||||||
|
|
Порядковый |
Код сим- |
|
а |
Порядковый |
|
Код симво- |
||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
Символ |
|
номер сим- |
|
Символ |
номер сим- |
|
||||||||||
|
|
вола |
|
|
|
ла |
||||||||||
|
|
|
вола |
|
|
к |
|
|
вола |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
е |
|
|
|
|
|
|
|
||
# |
|
|
|
0 |
|
00000 |
|
|
N |
|
|
14 |
|
|
01110 |
|
A |
|
|
|
1 |
|
00001 |
|
|
O |
|
|
15 |
|
|
01111 |
|
B |
|
|
|
2 |
|
00010 |
|
|
P |
|
|
16 |
|
|
10000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
3 |
|
00011 |
|
|
Q |
|
|
17 |
|
|
10001 |
|
|
|
|
|
и |
т00100 |
|
|
|
|
|
|
|
|
|
||
D |
|
|
|
4 |
|
|
|
R |
|
|
18 |
|
|
10010 |
||
|
|
|
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
5 |
|
00101 |
|
|
S |
|
|
19 |
|
|
10011 |
|
F |
|
б |
6 |
|
00110 |
|
|
T |
|
|
20 |
|
|
10100 |
||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
G |
|
|
|
7 |
|
00111 |
|
|
U |
|
|
21 |
|
|
10101 |
|
Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H |
|
|
|
8 |
|
01000 |
|
|
V |
|
|
22 |
|
|
10110 |
|
I |
|
|
|
9 |
|
01001 |
|
|
W |
|
|
23 |
|
|
10111 |
|
J |
|
|
|
10 |
|
01010 |
|
|
X |
|
|
24 |
|
|
11000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K |
|
|
|
11 |
|
01011 |
|
|
Y |
|
|
25 |
|
|
11001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
12 |
|
01100 |
|
|
Z |
|
|
26 |
|
|
11010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
|
|
13 |
|
01101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78
При кодировании согласно табл. 5.5.1 сообщение длиной 48 символов займѐт объѐм, равный 240 бит или 30 байт.
Этап 2. Кодирование сообщения и динамический синтез дополнительного словаря.
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 5.2 |
|
|
|
Дополнительный словарь LZW-кодера |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||
Группа символов |
|
Порядковый |
|
|
Код группы символов |
|||||||
|
номер группы |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
KA |
|
|
|
|
27 |
|
|
|
|
11011 |
|
Р |
|
|
|
|
|
|
|
|
|
|
|||
AR |
|
|
|
|
28 |
|
|
|
|
11100 |
|
|
RL |
|
|
|
|
29 |
|
|
|
|
11101 |
И |
|
|
|
|
|
|
|
|
|
|
|
|||
LU |
|
|
|
|
30 |
|
|
|
|
11110 |
|
|
UK |
|
|
|
|
31 |
|
|
|
|
11111 |
|
|
|
|
|
|
|
|
|
|
|
|
Г |
|
|
KL |
|
|
|
|
32 |
|
|
|
|
100000 |
|
|
LA |
|
|
|
|
33 |
|
|
|
|
100001 |
|
|
|
|
|
|
|
|
|
|
|
Б |
|
|
|
ARY |
|
|
|
|
34 |
|
|
|
|
100010У |
|
|
YU |
|
|
|
|
35 |
|
|
|
|
100011 |
|
|
UKR |
|
|
|
|
36 |
|
|
а |
100100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
RA |
|
|
|
|
37 |
|
|
|
|
100101 |
|
|
AL |
|
|
|
|
38 |
|
к |
|
100110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
LK |
|
|
|
|
39 |
е |
|
|
100111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
KO |
|
|
|
|
40 |
|
|
|
|
101000 |
|
|
OR |
|
|
|
|
41 |
|
|
|
|
101001 |
|
|
RAL |
|
|
|
|
42 |
|
|
|
|
101010 |
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
LL |
|
|
|
|
43 |
|
|
|
|
101011 |
|
|
LY |
|
|
|
|
44 |
|
|
|
|
101100 |
|
|
YA |
|
и |
т45 |
|
|
|
101101 |
|
|
|||
|
|
|
|
|
|
|
|
|
||||
AK |
л |
|
46 |
|
|
|
|
101110 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
KLA |
|
|
|
|
47 |
|
|
|
|
101111 |
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
ARA |
|
|
|
|
48 |
|
|
|
|
110000 |
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
AU |
|
|
|
|
49 |
|
|
|
|
110001 |
|
|
UKA |
|
|
|
|
50 |
|
|
|
|
110010 |
|
|
Б |
|
|
|
|
|
|
|
|
|
|
|
|
ARL |
|
|
|
|
51 |
|
|
|
|
110011 |
|
|
LAU |
|
|
|
|
52 |
|
|
|
|
110100 |
|
|
UKRA |
|
|
|
|
53 |
|
|
|
|
110101 |
|
|
ALA |
|
|
|
|
54 |
|
|
|
|
110110 |
|
|
AKL |
|
|
|
|
55 |
|
|
|
|
110111 |
|
|
LAR |
|
|
|
|
56 |
|
|
|
|
111000 |
|
|
RN |
|
|
|
|
57 |
|
|
|
|
111001 |
|
|
NE |
|
|
|
|
58 |
|
|
|
|
111010 |
|
|
ET |
|
|
|
|
59 |
|
|
|
|
111011 |
|
|
T# |
|
|
|
|
60 |
|
|
|
|
111100 |
|
|
79
Сформированное согласно алгоритму сжатия Лемпеля−Зива−Велча сообщение будет представлено следующей символьной последовательностью: «K-A-R-L-U-K-0L-0AR-0Y-0UK-0R-0A-0L-0K-0O-RA-0L-0L-0Y-0A-KL-0AR- 0A-0UK-0AR-LA-UKR-AL-AK-LA-0R-0N-0E-0T-0#». Нуль перед символами означает, что перед соответствующим 5-битным представлением символа необходимо передавать «0».
В двоичном коде сообщение будет выглядеть следующим образом: «01011-00001-10010-01100-10101-01011-001100-011100-011001-011111- 010010-000001-001100-001011-001111-100101-001100-001100-011001-000001- 100000-011100-000001-011111-011100-100001-100100-100110-101110-100001- 010010-001110-000101-010100-000000» и занимать объѐм 204 бита. Осу-
ществлена компрессия сообщения на 36 бит, или на 15 %. Если сообщение будет длиннее, то элементы словаря будут представлять всѐ более и более
длинные части текста, благодаря чему повторяющиеся слова будут представ- |
||||
лены компактно. |
|
|
|
Р |
|
|
|
|
|
Для декодирования сообщения необходимо знание начального словаря. |
||||
|
|
|
И |
|
Последующие записи словаря реконструируются в процессе декодирования, |
||||
т. к. они являются просто конкатенацией предыдущих записей. |
|
|||
|
|
У |
|
|
Алгоритм LZW отличают высокая скорость работы как при компрес- |
||||
|
Г |
|
|
|
|
Б |
|
|
|
сии, так и при декомпрессии, низкие требования к оперативной памяти и сравнительно простая аппаратная реализ ция. Кроме того, в отличие от алго-
ритма Хаффмана не требуется перед вместе с информацией сведений о
кодовой структуре. Недостаток алгоритма – невысокая степень сжатия по |
|
сравнению с алгоритмами, в которыхчапроводится предварительный анализ |
|
статистической структуры данных. к |
|
|
е |
5.5. Алгоритм г л с вого кодирования HVXC |
|
т |
|
Вокодер (voice coder) HVXC обеспечивает удовлетворительное каче- |
|
о |
|
ство передачи при сверхнизких скоростях информационного потока − 2,0 и |
4,0 кбит/с −ли хорошееикачество при скорости потока 9,6 кбит/с. Вокодер HVXC широко испо ьзуется в цифровых системах радиовещания в диапазонах со сложной помеховой обстановкой. Аббревиатура HVXC расшифровы-
вается как Harmonic Vector eXcitation Coding, что означает кодирование с |
|
|
б |
гармон ческ м векторным возбуждением. Структурная схема кодера приве- |
|
дена на |
. 5.2. |
рис |
|
Б |
|
80
|
|
|
|
|
|
|
|
Р |
|
|
|
|
|
|
|
И |
|
|
|
|
|
|
|
У |
|
|
|
|
|
|
|
Г |
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
а |
|
|
|
||
|
|
|
к |
|
|
|
|
|
Рис. 5.2. Структурная схема голосового кодера HVXC |
|
|||||||
|
|
фреймы |
|
|
|
|
|
|
Поясним назначение функциональных блоков на рисунке. |
|
|||||||
|
т |
|
|
|
|
|
|
|
1. Линейный предсказат ль. Н сжатый речевой сигнал с частотой дис- |
||||||||
кретизации 8 кГц разбивае ся на |
|
длительностью 256 отсчѐтов и пау- |
||||||
о |
|
|
|
|
|
|
|
|
зой между ними, равн й 160 счѐ ам. В блоке каждый фрейм подвергается |
||||||||
и |
|
|
|
|
|
|
|
|
линейному предсказанию, или экстраполяции десятого порядка. В результате |
формируется «с нтет ческий» экстраполированный сигнал, который подаѐтся на квантователь пар спектральных линий.
2. |
Квантовате ь пар спектральных линий обеспечивает квантование |
|
|
б |
|
параметров сигна а с частичным предсказанием и многоуровневой вектор- |
||
и |
|
|
ной схемой оптимальногол |
квантования. |
|
3. |
Ф льтр линейно предсказанного сигнала обеспечивает ограничение |
|
Б |
|
|
спектра входного сигнала, необходимое для корректного преобразования |
||
Фурье. |
|
|
4. |
лок векторного возбуждения кодирует голосовые (тональные) ком- |
|
поненты фрагменты входного сигнала. |
||
5. |
Блок дискретного преобразования Фурье переносит сигнал в частот- |
|
ную область. |
|
|
6. |
Блок поиска отклонения определяет предельные отклонения мгно- |
венных значений сигнала от среднего.
81
7.Блок оценки амплитуды гармонических компонент определяет в спектре сигнала заданное количество наиболее значимых по мощности компонент.
8.Блок оценки «голос/не голос» на основе априорных данных о входном сигнале производит оценку его типа на заданном временном интервале.
9.Блок оценки минимальной ошибки осуществляет важную операцию по поиску оптимальной с точки зрения минимума среднеквадратичной ошибки отклонения синтетического сигнала.
На выходе вокодера формируются 5 низкоскоростных информацион-
ных потоков. Среди них: V/UV − voice/unvoice; LSP − line spectral pair; «Pitch» − отклонение; «Spectral envelope» − огибающая спектраР; «Shape, gain» − форма и уровень сигнала. Сформированные вокодером потоки подвергаются последующему мультиплексированию. ИУ
|
|
|
|
|
|
|
|
|
Г |
|
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
а |
|
|
|
|
|
|
|
|
к |
|
|
|
|
|
|
|
|
е |
|
|
|
|
|
|
|
|
т |
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
л |
|
|
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
|
82