УДК 621.391 О СЖАТИИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ БИНОМИАЛЬНЫХ ЧИСЕЛ О.В.Бережная, ассист. Обработка изображений на сегодняшний день является неотъемлемым и важным свойством различных управляющих и информационно-измерительных систем. Двоичное представление визуальной информации, как правило, требует огромных объемов памяти и значительного времени при передаче по каналу связи. Во многих случаях это неприемлемо, поскольку ведет к огромным стоимостным затратам и вызывает значительные трудности при построении дистанционных приборов. Передаваемые изображения нуждаются в обработке, хранении и передаче с максимальной эффективностью, то есть с максимальной скоростью при необходимой достоверности. Традиционные методы кодирования в некоторой степени решают поставленную задачу [1]. Однако для получения большего эффекта необходимо применение таких методов, которые по сравнению с широко используемыми обеспечивали бы в несколько раз большее сжатие информации. В качестве такого метода предлагается использовать нумерационное кодирование на основе биномиальных чисел. Нумерация заключается в преобразовании исходной двоичной последовательности в биномиальное число, а затем - в номер. Это преобразование осуществляется в соответствии с кодообразующей функцией биномиальной системы счисления [ 2 ]: k q k q Ai aj 1Cn 1 j aj 2Cn 2 j 1 ... al Cnk jql 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. Анализируя представ-ленные графики, можно сделать вывод, что при k0 и 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 г.