ОПТИМАЛЬНОЕ РАВНОВЕСНОЕ КОДИРОВАНИЕ

advertisement
2
СЖАТИЕ И ЗАЩИТА
ИНФОРМАЦИИ НА
ОСНОВЕ ДВОИЧНЫХ
БИНОМИАЛЬНЫХ
КОДОВ
3
Постановка задачи
Найти оптимальный код со

n

H
(
А
) при n  8
средней длиной ср
2n
H ( А )   p j log 2 p j ,

i 1
2n
0  p j  1,  p j  1
i 1
4
Идея решения задачи
ОСНОВЫВАЕТСЯ НА РАЗЛОЖЕНИИ
n
ЧИСЛА 2 НА k КЛАССОВ
ЭКВИВАЛЕНТНОСТИ
n
0
1
k
n
n
n
n
n
2  C  C  ...  C  ...  C ,
n!
C 
(n  k )!n!
k
n
5

Источник исходных сообщений А
преобразуется в n + 1 источник
А0 , А1 ,..., Аk ,..., Аn
равновесных кодовых комбинаций.
Источник Аk , k  0,1,..., n,
в тактовый момент времени с
k
p
вероятностью i / k , i = 1, 2, …,Cn ,
генерирует i-ю равновесную кодовую
комбинацию с k единицами.
ПРИМЕР 1
6
А0
А1
А2
0000 0001
C40  1 0010
0100
1000
А3
А4
0011 0111 1111
0101 1011 C44  1
0110 1101
1001 1110
1
3
C4  4 1010 C4  4
1100
C 6
2
4
7
Анализ идеи
pi / k
pi ( k )


Pk
pi (k )
Cnk
,
 p (k )
i 1
i
pi (k )  вероятность i  ой кодовой
комбинации с k единицами источника А .
Pk 
n
 Pk 
к 0
k
Cn
p
i
i 1
n
Cnk

к 0 i 1
(k ),
pi (k )  2n.
8
При pi (k )  p (k )
pi / k 
pi (k )
Pk

p i (k )
Cnk
 p (k )
i 1
p(k )
Cnk
 p(k )

i
p(k )
1
 k
 k,
Cn p ( k ) C n
i 1
Cnk
Pk   pi (k )  C p(k )
i 1
k
n
ПРИМЕР 2
9
А0
А1
А2
0000 0001
P  C p(0)
0010
0100
1000
0
0
4
А3
А4
0011 0111 1111
P  C p(4)
0101 1011
0110 1101
1001 1110
P1  C41 p(1) 1010 P3  C43 p(3)
1100
4
P2  C42 p(2)
4
4
10
Энтропия источника числа
единиц В
n
H ( В )   Pk log 2 Pk 
k 0
Cnk
Cnk
k 0 i 1
i 1
n
  pi ( k ) log 2  pi ( k )
1
При Pk 
H ( В)  H max ( В)  log 2 (n  1)
n 1
11
При pi (k )  p (k )
Cnk
k

Pk   pi (k )  Pk  p(k )Cn .
i 1
n
H ( В)  H ( В)   Pk log 2 Pk 
k 0
n
  p (k )C log 2 p (k )C
k 0
k
n
k
n
1
12 При pi ( k )  p ( k ) 
n
2
Cnk
Cnk
k
n
n
C
1
Pk  Pk    pi (k )  n 
.
2
i 1
i 1 2
n
H ( В)  H ( В)   Pk  log 2 Pk 
k 0
n
k
n
n
k
n
n
C
C
1 n k
k

log 2
 n  Cn (n  log 2 Cn )
2
2 k 0
k 0 2
13 Избыточность источника В
I В  H max ( В)  H ( В) 
Cnk
Cnk
k 0 i 1
i 1
n
 log 2 ( n  1)   pi ( k ) log 2  pi ( k ),
I В  H max ( В)  H ( В) 
n
 log 2 (n  1)   C p(k ) log 2 C p( k ),
k 0
k
n
I В  H max ( В )  H ( В ) 
Cnk
Cnk
 log 2 ( n  1)   n log 2 n
2
k 0 2
n
k
n
14
Энтропия источника Аk
Cnk
hk   pi / k log 2 pi / k ,
i 1
hk  hk max
Cnk
1
1
k
  k log 2 k  log 2 Cn
Cn
i 1 Cn
15
Энтропия источника А
n
n
Cnk
k 0
k 0
i 1
H ( А / В)   Pk hk   Pk  pi / k log 2 pi / k
При pi ( k )  p ( k )
n
H ( А / В)  H ( А / В)   Pk hk max 
k 0
n
  p ( k )Cnk log 2 Cnk ,
k 0
n
1
k
k
H ( А / В)  H max ( А / В)  n  Cn log 2 Cn
2 k 0
16
Избыточность источника А
I А  H max ( А / В)  H ( А / В) 
n
n
Cnk
1
k
k
 n  Cn log 2 Cn   Pk  pi / k log 2 pi / k .
2 k 0
i 1
А k 0

I А  H max ( А / В)  H ( А / В) 
n
n
1
k
k
k
k
 n  Cn log 2 Cn   p(k )Cn log 2 Cn
2 k 0
k 0
17
Суммарная энтропия
источников A и B
H ( В)  H ( А / В) 
2n
=   pi log 2 pi  H (A ).

i 1
H ( В )  H max ( А / В ) 
Cnk
Cnk
1
  n log 2 n  n
2
2
k 0 2
n
n
C
k 0
k
n
log 2 C  n
k
n
18
При n  
n
H ( В)


H (А )
Cnk
Cnk
 p (k ) log  p (k )
i
k 0 i 1
2
2
i 1
i
n
p
i 1
j
 0,
log 2 p j
H ( В)
H ( В)
 0,
 0.
H ( А)
H max ( А)

H ( А / В)  H ( А ),
H ( А / В)  H ( А )

19
Методы оптимального
равновесного кодирования
Основной метод
1. Подсчитывается число единиц k = 0, 1, …, n в
кодируемом исходном двоичном сообщении
длины n, генерируемом источником А .
k
C
p
2. Суммируются вероятности i , i = 1, 2, …, n ,
сообщений с k единицами, k= 0, 1, …, n,
входящих в исходное
множество
,
А
состоящее из 2 n сообщений источника В . В
результате находятся вероятности Pk
генерирования источником В чисел,
содержащих k единиц.
20
Продолжение метода
3. На основе классического кода Шеннона-Фано
или Хаффмена по полученным в пункте 2
значениям вероятностей Pk производится
оптимальное кодирование сообщения о
числе единиц, генерируемое источником В .
4. Находятся вероятности pi / k  pi (k )/ Pk
генерирования сообщений источником Аk .
21
Продолжение метода
5. С помощью классического метода
производится оптимальное кодирование
сообщения источника Аk .
6. Кодовая комбинация числа единиц источника В
и сообщение источника Аk объединяются
(сцепляются), и как единое сжатое сообщение
поступает к приемнику.
22
Модифицированный метод
Отличие данного алгоритма от основного
происходит только по пункту 3
3. Производится равномерное кодирование
сообщения о числе единиц, генерируемых
источником В, кодовым словом длиною
log 2 (n  1) бит. При
log 2 (n  1)
n
0
n
Комбинаторный метод
23
pi (k )  p(k )  q (1  q)
k
pi (k )
pi / k  C k

q (1  q)
k
Cnk
nk
 p (k )  q (1  q)
n
i 1
i
i 1
k
nk
n k
n k
q (1  q)
1
 k
 k
n k k
q (1  q) Cn Cn
k
ПРИМЕР 3
24
А0
А1
А2
А3
А4
0000
0001
0011
0111
1111
p(0)  q0 (1  q)40
q (1  q)
0010 0101 1011 P  C p(4)
P  C p(0)
0100 0110 1101
1000
1001 1110
1
41
p(1)  q (1  q)
p(3)  q3 (1  q)43
1010 P  C p(3)
P  C p(1)
1100
2
4 2
4 4
4
0
0
4
4
1
1
4
3
p(2)  q (1  q)
P2  C p(2)
2
4
3
4
4
4
25
Энтропия комбинаторного
источника А
hk  log 2 C .
k
n
 ( А / В) 
H ( А / В )  H бин
n
  q (1  q )
k
nk
k 0
n
q
k 0
k
(1  q )
nk
C hk 
k
n
k
n
C log 2 C
k
n
26
Энтропия комбинаторного
источника В
n
H ( В)   Pk log 2 Pk 
k 0
n
  C p (k )log 2C p (k ) 
k 0
n
k
n
  C q (1  q )
k 0
k
n
k
k
n
nk
log 2C q (1  q )
k
n
k
n k
27
Комбинаторный метод
1. Подсчитывается число единиц k в
кодируемом исходном двоичном
сообщении длины n. Тем самым оно
преобразуется в равновесную кодовую
комбинацию с числом единиц k.
2. Число единиц кодируется двоичной
кодовой комбинацией длиной равной
округленному значению в большую
сторону .
28
Продолжение
3. Равновесная кодовая комбинация
преобразуется в ее двоичный номер
длиной, равной округленному в
большую сторону значению.
4. Полученные кодовые представления
числа единиц и номера равновесной
кодовой комбинации объединяются в
одно двоичное сообщение, и в таком
виде передаются к приемнику.
29
Выводы
Таким образом, в работе на основе
классических оптимальных кодов ШеннонаФано и Хаффмена предложен метод
оптимального равновесного кодирования и
его модификации, дающие возможность
эффективно сжимать двоичные сообщения
большой длины.
30
Первый метод по аналогии с известными
классическими методами для своей
реализации требует знания распределения
вероятностей возможных сообщений на
выходе их источника и обладает
эффективностью сжатия на уровне
классических кодов. Сложность и время
оптимального кодирования при этом
уменьшается
31
Продолжение
Второй метод работает при условии
биномиального распределения вероятностей
двоичных символов в сообщениях или
близком к нему, и тогда не требуются знания
вероятностей сообщений. Его особенность –
это возможность использования для своей
реализации комбинаторных методов
преобразования информации, что ускоряет и
упрощает процедуру оптимального
кодирования. Эффективность сжатия при
этом в ряде случаев приближается к уровню
классических оптимальных кодов.
32
Продолжение
Характерным свойством данных методов
оптимального кодирования является наличие
в них для каждого из сообщений
индивидуального ключа, без которого
невозможно его восстановление. Это
позволяет говорить об определенном уровне
защиты передаваемой информации,
использующей равновесное оптимальное
кодирование.
33
БИНОМИАЛЬНЫЕ СИСТЕМЫ
СЧИСЛЕНИЯ С ДВОИЧНЫМ
АЛФАВИТОМ
34 СТРУКТУРА БИНОМИАЛЬНОЙ
СИСТЕМЫ СЧИСЛЕНИЯ
C44
00
1
0
C54
5
C43
1
4
0
1
C33 010
C32
1
3
0
0
1
C22
1
C2
1
2
15
C64
C11
0
1
1
1
C43
1
4
0
C53
0110
0
C33
100
C32
0
1
1
3
10
1
1
C22
0
1
C2
0
2
1
1
1
1
1
C32
C42
0
3
0
1
1
C22
0
1
C2
0
2
1
1
C2
C31
3
0
2
1
1
C10
01111
1010
C11
10110
C10
10111
1
1
1
6
01110
1100
C11
11010
1
C10
1
C11
11011
0
11100
1
C20
1111
1
C10
11101
35 ДВОИЧНАЯ БИНОМИАЛЬНАЯ
НУМЕРАЦИОННАЯ ФУНКЦИЯ
X 

k g
k g
xl 1C n 1 l  xl  2C n  2 l 1  ...
kg
kg
j 1
1
x j C n l  j  ...  x0C n l ;
g l  0, x j 

1
0,
l 1
g j 1   xs ,
j  0,1,..., l  1
s  j 1
36 БИНОМИАЛЬНЫЕ ЧИСЛА
№
Неравномер.
Равномер.
биномиальн. биномиальн.
числа
числа
Код с
постоянным
весом
Универсальный
промышленный код
прямой
инверсный
0
00
00000
001111
0100000
1011111
1
010
01000
010111
0110000
1001111
2
0110
01100
011011
0111000
1000111
3
01110
01110
011101
0111100
1000011
4
01111
01111
011110
0111110
1000001
5
100
10000
100111
0010000
1101111
6
1010
10100
101011
0011000
1100111
7
10110
10110
101101
0011100
1100011
8
10111
10111
101110
0011110
1100001
9
1100
11000
110011
0001000
1110111
10
11010
11010
110101
0001100
1110011
11
11011
11011
110110
0001110
1110001
12
11100
11100
111001
0000100
1111011
13
11101
11001
111010
0000110
1111001
14
1111
11110
111100
0000010
1111101
37 ОГРАНИЧЕНИЯ
1. g 0  l  n  1 2. n  k  g 0  l
0  g0  k  1
g0  k
l 1
g0   x j ,
j0
ДИАПАЗОН ЧИСЕЛ
P
k
Cn
Спасибо за внимание
Download