K shmin

advertisement
УДК 621.391
О СЖАТИИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ БИНОМИАЛЬНЫХ ЧИСЕЛ
О.В.Бережная, ассист.
Обработка изображений на сегодняшний день является неотъемлемым и важным свойством различных
управляющих и информационно-измерительных систем. Двоичное представление визуальной информации,
как правило, требует огромных объемов памяти и значительного времени при передаче по каналу связи. Во
многих случаях это неприемлемо, поскольку ведет к огромным стоимостным затратам и вызывает
значительные трудности при построении дистанционных приборов. Передаваемые изображения нуждаются
в обработке, хранении и передаче с максимальной эффективностью, то есть с максимальной скоростью при
необходимой достоверности. Традиционные методы кодирования в некоторой степени решают
поставленную задачу [1]. Однако для получения большего эффекта необходимо применение таких методов,
которые по сравнению с широко используемыми обеспечивали бы в несколько раз большее сжатие
информации.
В качестве такого метода предлагается использовать нумерационное кодирование на основе
биномиальных чисел. Нумерация заключается в преобразовании исходной двоичной последовательности в
биномиальное число, а затем - в номер. Это преобразование осуществляется
в соответствии с
кодообразующей функцией биномиальной системы счисления [ 2 ]:
k q
k q
Ai  aj 1Cn 1 j  aj 2Cn 2 j 1  ...  al Cnk jql l 1  ...  a0Cnk jq1 ,
где n - длина двоичного кодового слова;
k - число единиц в двоичном кодовом слове;
al - значение цифры l-го разряда ( 1 или 0 );
l=j-1,...,0 - порядковый номер разряда;
ql - сумма всех единиц от ( j-1 )-го разряда до l-го включительно; ql вычисляется по формуле
j 1
ql 
 ,


l
qj   j  0.
Каждое биномиальное число должно удовлетворять одной из систем ограничений:
q0  k
,
(1)

j  n
n  k  j  q0
,

q0  k
(2)
где j - число разрядов биномиальной кодовой комбинации;
q0 - число единиц биномиальной кодовой комбинации.
В результате преобразований длина номера часто оказывается меньше длины исходного кодового слова.
Проанализируем степень сжатия двоичных сообщений при использовании нумерации на основе
биномиальных чисел.
При преобразовании в номер исходной n-разрядной двоичной последовательности с числом k единиц
промежуточным результатом является получение биномиального числа. Количество возможных
биномиальных чисел с параметрами n и k, задаваемых ограничениями биномиальной системы счисления ( 1,
2 ), определяется как N  Cnk . Для


нумерации такого количества биномиальных кодовых комбинаций потребуется n1  log2 Cnk разрядов.
Однако необходимо также передавать информацию о числе единиц в исходной двоичной
последовательности, которое может изменяться в пределах
0  k  n и определяется количеством
разрядов n2  log2 ( n  1)  . Таким образом, коэффициент сжатия для такого метода определяется по
формуле
K sh 
n

log2 Cnk
  log2 ( n  1) 
.
(3)
В частных случаях, когда k =0 или k = n , достаточно передать лишь значение числа единиц. Тогда
формула для определения коэффициента сжатия будет иметь следующий вид:
K sh 
n
.
log
(
 2 n  1) 
(4)
Для определения области эффективного кодирования будем рассматривать общий случай, когда
0  k  n . Для этого проанализируем выражение ( 3 ). Сжатие исходной информации имеет место в случае,
когда K sh  1 .
n

log2 Cnk

  log2 ( n  1) 

1

n  log2 Cnk  log2 ( n  1)  .
log2 Cn   1 , òî ïîëó÷åííîå âûðàæåíèå ìîæíî çàïèñàòü â ñëåäóþùåì âèäå:
k
Òàê êàê ïðè n  
log2 Cnk
n  log2 Cnk  log2 ( n  1)
n  log2 ( n  1) Cnk
2n  ( n  1) Cnk .
Получаем условие эффективного кодирования
2n
 Cnk .
n 1
На
n=64
10
n=32
9
8
7
Ksh
6
5
4
рис.
1
представлен
график
K
зависимости коэффициента сжатия
sh
от числа k логических единиц в исходном
двоичном слове дли-ной n=64 и n=32. В
случае n=64 график показан для k n/2.
Для остальных зна-чений он будет
симметричен отно-сительно линии k=32.
Анализируя представ-ленные графики,
можно сделать вывод, что при k0 и k
K
n коэффициент
sh сжатия резко возрастает. Для случая n=32 минимальное
3
2
значение 
1

0
0
4
8
12
16
20
24
28
32
k
Рисунок 1 - Зависимоcть Ksh от числа k единиц в двоичном слове
Kshmin=0,89, максимальное
Kshmax=5,33.
соответственно
Для
n=64
Kshmin=0,94,
Kshmax=9,14. Таким образом, для более
длинных двоичных комбинаций можно
получить больший коэффициент сжатия.
Для получения большей степени
сжатия
возможно
преобразование
исходных двоичных n-разрядных последовательностей в неравномерные биномиальные комбинации из r
разрядов без последующего получения номера, r < n. Непосредственное их использование для передачи и
хранения информации обусловливается префиксностью биномиального кода. Максимальная длина
биномиального числа равна (n-1), а минимальная - k, если k<n/2, или (n-k) , если k n/2. В этом случае
коэффициент сжатия будет равен
K sh 
n
r  log2 ( n  1) 
,
,
k , . . ., n  1 , k  n / 2
где r  
n  k , . . ., n  1 , k  n / 2.
Для описанных выше частных случаев коэффициент сжатия определяется по формуле ( 4 ).
В случае когда передаваемую информацию можно отнести к определенному классу эквивалентности, т.
е. n=const, k=const, то нет необходимости с каждой биномиальной комбинацией передавать значение числа
единиц в исходной двоичной последовательности. В этом случае коэффициент сжатия будет определяться отношением
n=64
4,5
n
n=32
K sh  .
4
r
На рис. 2 рассмотрен общий
случай для n=64 и n=32. Из графика
3,5
Ksh
3
видно,
что
с
уменьшением
длины
биномиальной комби-нации коэффициент
сжатия значительно возрастает. При n=32
2,5
2
минимальное
1,5
1
значение
максимальное 
0,5
соответственно
0
Kshmin=0,94,
Kshmax=2,29. При n=64
Kshmin=0,96,
Kshmax=4,27.
Таким
образом,
предложенный
метод
преобразования
информации эффективнее для кодовых
Рисунок 2 - Зависимоcть Ksh от длины r биномиальной
комбинации при k=8
комбинаций большей длины с малым числом
единиц.
Из описанного выше следует, что применение нумерационного кодирования на основе биномиальных
чисел дает возможность в значительной степени сжимать исходные двоичные сообщения, параметры
которых удовлетворяют условию эффективного кодирования. Больший эффект сжатия достигается при
больших n и малых k. В результате возрастает скорость передачи информации по каналу связи. К тому же
алгоритм предложенного метода довольно прост и легко может быть реализован аппаратно.
8 12 16 20 24 28 32 36 40 44 48 52 56 60
r при k=8
SUMMARY
It is proposed to use numbering coding as a method of data compression. That numbering coding is based on binomial numbers and let get
more simple algorithm as compared with wide - distributed ones.
СПИСОК ЛИТЕРАТУРЫ
1. Амелькин В. А. Методы нумерационного кодирования.- Новосибирск: Наука, 1986.
2. Борисенко А. А., Губарев С. И., Куно Г. В. Биномиальные системы счисления с двоичным алфавитом. АСУ и приборы автоматики:
Респ. междувед. науч.-техн. сб.- Х.: Вища шк. Изд-во при Харьк. ун-те, 1985.- Вып. 76.
Поступила в редколлегию 3 октября 1996 г.
Download