Сжатие битовых плоскостей полутоновых изображений посредством вероятностного кодирования длин серий бит с подтверждением повтора

СЖАТИЕ БИТОВЫХ ПЛОСКОСТЕЙ ПОЛУТОНОВЫХ ИЗОБРАЖЕНИЙ ПОСРЕДСТВОМ ВЕРОЯТНОСТНОГО КОДИРОВАНИЯ ДЛИН СЕРИЙ БИТ

С ПОДТВЕРЖДЕНИЕМ ПОВТОРА

Х.К. АЛЬ-БАХДИЛИ, В.Ю. ЦВЕТКОВ, В.К. КОНОПЕЛЬКО

Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь

Поступила в редакцию 22 июня 2017

Аннотация. Предложены алгоритмы вероятностного кодирования длин серий бит, основанные на подтверждении повтора бита и отличающиеся явным или неявным указанием разрядности символа повтора. Исследована эффективность использования данных алгоритмов для сжатия без потерь битовых плоскостей полутоновых изображений.

Ключевые слова: сжатие изображений, кодирование длин серий, битовая плоскость.

Abstract. Some algorithms of probabilistic coding of bits series lengths based on the confirmation of bit repetition and differing with an explicit or implicit indication of the length of the repetition symbol are proposed. The efficiency of these algorithms using for lossless compression of bit planes of halftone images is investigated.

Keywords: image compression, run length encoding, bitplane.

Doklady BGUIR. 2017, Vol. 108, ]Чо. 6, pp. 48-54

Halftone images compression of bitplane using run length encoding

with confirmation of repeateation

H.K. Al-Bahadily, V.Yu. Tsviatkou, V.K. Kanapelka

Введение

Полутоновые изображения формируются аппаратурой дистанционного зондирования Земли видимого диапазона, тепловизионными приборами, электронными микроскопами. Они широко используются для поиска, классификации и распознавания объектов. Часто обработка полутоновых изображений осуществляется не в точке их формирования, что требует их передачи по каналам связи. Для повышения эффективности использования канала передачи полутоновые изображения сжимаются без потерь или с потерями. Сжатие полутоновых изображений в реальном масштабе времени требует значительных вычислительных ресурсов. Простейшим и самым быстрым алгоритмом сжатия является RLE (Run-Length Encoding) [1-4]. Однако он не предназначен для сжатия полутоновых изображений, поскольку не учитывает распределение вероятностей повтора пикселей в изображении, что приводит к низким коэффициентам сжатия. Предложенный в работе [5] алгоритм вероятностного кодирования длин серий пикселей, учитывающий корреляцию значений пикселей в строках полутоновых изображений, не эффективен для их сжатия без потерь. В этой связи актуальным является исследование эффективности кодировании длин серий бит в бинарных матрицах (битовых плоскостях), формируемых из одинаковых разрядов пикселей полутоновых изображений.

Цель работы: разработка вычислительно простого, быстродействующего алгоритма сжатия полутоновых изображений без потерь на основе вероятностного кодирования длин серий бит.

1. Анализ распределения вероятностей повтора символов в битовых плоскостях

изображений

Для анализа вероятности повтора пикселей рассмотрены битовые плоскости с 7-й по 0-ю полутоновых изображений с различным числом и резкостью перепадов яркости, представляющих 4 класса (рис. 1): М1 - спутниковое изображение с преобладанием плавных изменений яркости; М2 -

спутниковое изображение с преобладанием фрагментов без существенных изменений яркости; М3 - спутниковое изображение с преобладанием резких изменений яркости; М4 - ландшафтное тепловизионное изображение с преобладанием фрагментов без существенных изменений яркости. На рис. 2 приведены гистограммы повторов бит в 4-й и 1-й битовых плоскостях тестового изображения М2. Из рис. 2 следует, что вероятность длинных серий уменьшается с понижением значимости битовой плоскости.

В старших битовых плоскостях встречается большое разнообразие длин серий бит, в то время как в младших битовых плоскостях их всего несколько десятков - от 1 до 20. Следовательно, для повышения эффективности кодирования старших битовых плоскостей целесообразно использовать явное указание числа разрядов, выделяемых под символ повтора бит. Для младших битовых плоскостей изображений кодирование длин серий бит не эффективно.

а б в г

Рис. 1. Тестовые изображения M1-M4 размером 512*512 пикселей

а б Рис. 2. Гистограммы повторов бит в 7-й (а) и 1-й (б) битовых плоскостях тестового изображения М2

2. Алгоритм вероятностного кодирования длин серий бит изображения с подтверждением повтора бита

Для сжатия битовых плоскостей полутоновых изображений предлагается алгоритм mBN вероятностного кодирования длин серий бит, основанный на подтверждении повтора бита. Алгоритм mBN отличается от базового алгоритма RLE использованием m бит подтверждения повтора бита для построения вложенных кодов битовых плоскостей. При кодировании по алгоритму mBN битовая плоскость размером Y*X бит преобразуется в строку и фиксируется значение i(0) ее первого бита. Если значение текущего 5-го бита i(s) повторяется r раз при r > m

, то формируются m бит повтора b (k, s) = 1 и символ n (s ) = r — m длины серии, учитывающий число

повторов текущего s-го бита i (s) более чем m раз, где k = 1, m , s = 0, S—1, S - число серий. Если

значение текущего s-го бита i (s) повторяется r раз при 0 < r < m, то формируются r бит повтора

b (k, s) = 1 и один бит повтора b (k +1, s) = 0, где k = 1, r .

В результате могут формироваться серии вида (при m = 0,3 ):

{n(s)} при m=0; {b(1,s) = 0} , {b(1,s) = 1,n(s)} при m = 1;

{b(1,s) = 0}, {b(1,s) = 1,b(2,s) = 0}, {b(1,s) = 1,b(2,s) = 1,n(s)} при m = 2;

{6(1,s) = 0}, {b(1,s) = 1,b(2,s) = 0}, {b(1,s) = 1,b(2,s) = 1,b(3,s) = 0},

{b (1, s ) = 1, b (2, s ) = 1, b (3, s ) = 1, n (s)} при m = 3.

Размер RmBN (бит) кода для алгоритма mBN (при m = 0,3) определяется с помощью выражений:

S-1

RBN = 1 + BDn • S при m = 0; RWn = 1 + S + BDN E b(1, s) при m = 1;

s=0

S-1 S-1

R2bn = 1 + S + ^ b(1, s ) + BDn E b(2, s) при m = 2;

s=0 s=0

S-1 S-1 S-1

R3BN = 1 + S + E b(1, s )+ E b(2, s ) + BDn E b(3, s ) при m = 3,

s=0 s=0 s=0

где BDN = flog2 (max (n(s))s=os^i))"l - число разрядов, выделяемых для представления символа

n(s), f | - операция округления с избытком.

Вычислительная сложность CmBN алгоритма mBN (при m = 0,3) оценивается с помощью выражений:

S-1

Сош = YX + 3S при m = 0; C1BN = YX + 3S + 2E b(1, s) при m = 1;

S-1

' Л, s) при m =

s=0

's-1 S-1 Л

при m = 2;

C2BN = YX + 3S + 21 E b

V s =0 s =0

f s-1 S-1 S-1 Л

Сгш = YX + 3S + 2l Eb(1, s) + Eb(2, s) + Eb(3, s) I при m = 3,

V s =0 s =0 s=0 J

где YX - размер изображения, определяющий число операций на буферизацию и формирование таблицы длин серий, включающей S записей; S - число операций поиска максимального значения по n(s), формирования и передачи бит подтверждения повтора и символов длин серий.

3. Алгоритм вероятностного кодирования длин серий бит изображения с подтверждением повтора бита и указанием разрядности символа повтора

Для сжатия битовых плоскостей полутоновых изображений предлагается алгоритм mBLN вероятностного кодирования длин серий бит, основанный на подтверждении повтора бита и указании разрядности символа повтора. Алгоритм mBLN отличается от базового алгоритма RLE использованием m бит подтверждения повтора бита и /-разрядного указателя на разрядность символа повтора для построения вложенных кодов битовых плоскостей. При кодировании по алгоритму mBLN битовая плоскость размером Y*X бит преобразуется в строку и фиксируется

значение г(0) ее первого бита. Если значение текущего s-го бита i(s) повторяется r раз при r > m , то формируются m бит повтора b(k,s) = 1, /-разрядный указатель L(s) на разрядность символа длины серии и L(s) -разрядный символ n(s) = r - m длины серии, учитывающий число повторов текущего s-го бита i(s) более чем m раз, где k = 1, m, s = 0, S -1, / = flog 2 flog 2 (max (n(s))(s, L(s) = |log 2 (n(s))|. Если значение текущего s-го бита i(s) повторяется r раз при 0 < r < m, то формируются r бит повтора b(k,s) = 1 и один бит повтора b(k +1,s) = 0, где k = 1, r .

В результате могут формироваться серии вида (при m = 0,3 ): {L(s), n(s)} при m = 0;

{b(1, s) = 0}, {b(1, s) = 1, L(s), n(s)} при m = 1;

S — 1 S —1 S —1

C3BN = YX + 3S + 2^ b(1, s )+ 2^ b(2, s )+ b(3, s) при m = 3,

{b(1, s) = 0}, {b(1, s) = 1, b(2, s) = 0}, {b(1, s) = 1, b(2, s) = 1, L(s), n(s)} при m = 2; {b(1, s) = 0}, {b(1, s) = 1, b(2, s) = 0}, {b(1, s) = 1, b(2, s) = 1, b(3, s) = 0}, {b(1, s) = 1, b(2, s) = 1, b(3, s) = 1, L(s), n(s)} при m = 3.

Размер RmBLN (бит) кода для алгоритма mBLN (при m = 0,3) определяется с помощью выражений:

S —1 S —1

R0 BLN = 1 + X(/ + L(s)) при m = 0; RWln = 1 + S + Xb(1, s)(/ + l(s )) при m = 1;

s=0 s=0

S—1 S—1

R2 bln = 1 + S + X b(1, s) + X b(2, s)(/ + L(s)) при m = 2;

s=0 s=0

S—1 S—1 S—1

R3BLN = 1 + S + X b(1, s )+X b(2, s )+X b(3, s X/ + L(s)) при m = 3.

s=0 s=0 s=0

Вычислительная сложность СтВШ алгоритма mBLN (при m = 0,3) оценивается с помощью выражений:

S—1

С0Вш = YX + 5S при m = 0; C1BN = YX + 3S + 4Xb(1, s) при m = 1;

s=0

s—1 S—1

С2ЛЛГ = YX + 3S + 2X b(1, s) + 4X b(2, s) при m = 2;

s=0 s=0

S—1 S—1 S—1

, s )+ 2X b(2, s )+ 4X b(3, s) при m =

s=0 s=0 s=0

где YX - размер изображения, определяющий число операций на буферизацию и формирование таблицы длин серий, включающей S записей; S - число операций поиска максимального значения

по n(s), формирования и передачи бит подтверждения повтора, указателей

на разрядность и символов длин серий.

4. Адаптивное вероятностное кодирование длин серий бит изображений

Для компактного представления битовых плоскостей изображений возможно адаптивное вероятностное кодирование длин серий бит (mBN&mBLN), основанное на выборе алгоритмов mBN

или mBLN в зависимости от соотношения размеров RmBN (q) и RmBLN(q) кода, где q - номер

битовой плоскости, q = 0, Q — 1, Q - число битовых плоскостей. Размер RmBN&mBLN (бит) кода для

адаптивного кодирования определяется с помощью выражения

Q—1

RmBN&mBLN = X min (RmBN (q^ RmB!N fa))« =0M—l) , где M - максимальное число бит подтверждения

q=0

повтора.

Использование адаптивного алгоритма практически не приводит к увеличению размера кода, так как предполагает внесение минимальной избыточности. Это указатели на используемый для кодирования битовой плоскости алгоритм - по одному указателю на битовую плоскость. Разрядность такого указателя составляет всего 1 + flog2 M ] , что ничтожно мало в сравнении с размером битовой плоскости и представляющим ее вложенным кодом. Практически установлено, что для большинства изображений M = 4 .

Однако в сравнении с алгоритмами mBN и mBLN адаптивный алгоритм имеет более высокую вычислительную сложность CmBN&mBLN , определяемую с помощью выражения

Q—1f M—1 M—1 Л

CmBN& mBLN = Xl X CmBN(qX CmBLN (q) I .

q=0 V m=0 m=0 J

5. Оценка эффективности адаптивного вероятностного кодирования длин серий бит

изображений

В таблице приведены коэффициенты сжатия тестовых изображений без потерь с помощью предложенных алгоритмов mBN, mBLN и алгоритмов RAR, ZIP.

Коэффициенты сжатия тестовых изображений без потерь

Бито- Коэффициенты сжатия тестовых изображений

Алго- вая М1 М2 M3 M4

ритм плоскость R(q), бит CR R(q), бит CR R(q), бит CR R(q), бит CR

q = 7 225632 232974 289816 56580

0BN q = 6 242720 1 275778 1 422905 1 177366 1,2

(RLE) q = 5 369964 309120 631659 213462

q = 4 602938 566797 670530 328833

q = 7 663036 573131 800611 218857

1BN q = 6 699380 1 657663 1 1006864 1 517495 1

q = 5 932283 717280 1306074 572799

q = 4 1274181 1164886 1288355 773772

q = 7 187206 139878 228760 46803

2BN q = 6 198553 1,1 162167 1,2 303332 1 119970 1,3

q = 5 283763 183598 386277 154250

q = 4 378948 324694 379795 207808

q = 7 180729 128078 220159 42949

3BN q = 6 191060 1,1 148324 1,2 285646 1 107312 1,4

q = 5 268028 170510 342267 141229

q = 4 335108 294340 330143 182134

q = 7 177517 123107 216482 40777

4BN q = 6 187295 1,1 142184 1,2 275376 1 99312 1,4

q = 5 259230 164629 315659 133579

q = 4 309097 278908 302657 167701

q = 7 192170 164349 240456 29427

0BLN q = 6 204990 1,1 192237 1,1 316452 1 86735 1,4

q = 5 284189 239390 444402 155881

q = 4 428123 397758 531365 228063

q = 7 424974 329911 513967 75467

1BLN q = 6 448490 1 378987 1 601243 1 192964 1,1

q = 5 555384 462790 785001 328763

q = 4 765018 700351 896155 446112

q = 7 198004 145743 241304 31926

2BLN q = 6 209723 1,1 168526 1,1 322551 1 85909 1,4

q = 5 299044 206796 421400 152249

q = 4 411773 365279 472149 207853

q = 7 203335 146603 247379 32846

3BLN q = 6 215034 1,1 169408 1,1 331541 1 87301 1,4

q = 5 308065 207956 422334 153463

q = 4 412541 368593 464614 205539

ZIP - 1,246 - 1,376 - 1,136 - 1,683

RAR - - 1,544 - 1,562 - 1,143 - 2,071

Из таблицы следует, что алгоритмы mBN и mBLN эффективны для кодирования только верхних (старших) битовых плоскостей, для которых коэффициент сжатия больше единицы ( CR = YX/RmÄV(b) > 1, CR = YX/RmBLN(b) > 1). Коэффициент сжатия изображений с помощью

алгоритмов mBN и mBLN повышается с увеличением индекса т. Причем темп роста коэффициента сжатия снижается с ростом индекса т и падает почти до нуля при т = 4. Наибольшее сжатие в большинстве случаев обеспечивает алгоритм 4BN. Он превосходит алгоритм RLE в 1,6 раза, но проигрывает алгоритму RAR в 1,3 раза и алгоритму ZIP в 1,2 раза (с усреднением по изображениям). При этом алгоритм 4BN практически не уступает алгоритму RLE в быстродействии (рис. 3) и превосходит алгоритмы RAR и ZIP в 20 и 10 раз (оценка произведена с усреднением по типам изображений размером 8196^8196 пикселей). Алгоритм 4BN превосходит алгоритм I3BN вероятностного кодирования длин серий пикселей с тремя подтверждениями повтора, описанный в [5], в коэффициенте сжатия полутоновых изображений без потерь в 1,1 раза (с усреднением по изображениям).

CL

m

10 *--•-' -

16 32 64 128 256 512 1024 2048 4096 8192 Размер Изображения

Рис. 3. Зависимости среднего времени кодирования изображений M1-M4 от их размера по горизонтали и вертикали для алгоритмов ZIP, RAR, RLE в операционной системе Windows 7

Заключение

Предложены алгоритмы вероятностного кодирования длин серий бит с явным или неявным указанием разрядности символа повтора, учитывающие вероятность повтора значений бит при построении вложенного кода длины серии. Алгоритмы отличаются от базового алгоритма RLE использованием бит подтверждения повтора бита для построения вложенных кодов. Установлено, что наибольшее сжатие битовых плоскостей полутоновых изображений обеспечивает алгоритм вероятностного кодирования длин серий бит с четырьмя подтверждениями повтора бита, превосходящий базовый алгоритм RLE в 1,6 раза, но проигрывающий алгоритму RAR в 1,3 раза и алгоритму ZIP в 1,2 раза. Алгоритмы вероятностного кодирования длин серий бит с явным или неявным указанием разрядности символа повтора имеют примерно такую же скорость сжатия, как базовый алгоритм RLE, и превосходят алгоритмы RAR и ZIP в 20 и 10 раз соответственно.

Список литературы

1. Pennebaker W.B. Still Image Compression Standard. New York, 1993. 24 p.

2. Ebrahimi Т. JPEG 2000 still image coding versus other standards // Proc. of the SPIE. San Diego, USA, 2000. Vol. 4115. P. 446-454.

3. Методы сжатия данных. Устройство архиваторов / Д. Ватолин [и др.]. М., 2003. 384 с.

4. Golomb S.W. Run Length Encoding // IEEE Transactions on Information Theory. July 1966. P. 399-401.

5. Аль-Бахдили Х., Цветков В.Ю., Конопелько В.К. Сжатие изображений дистанционного зондирования Земли на основе вероятностного кодирования длин серий пикселей // Докл. БГУИР. 2017. № 1 (103). С. 65-69.

References

1. Pennebaker W.B. Still Image Compression Standard. New York, 1993. 24 p.

2. Ebrahimi T. JPEG 2000 still image coding versus other standards // Proc. of the SPIE. San Diego, USA, 2000. Vol. 4115. P. 446-454.

3. Metody szhatija dannyh. Ustrojstvo arhivatorov / D. Vatolin [i dr.]. M., 2003. 384 p.

4. Golomb S.W. Run Length Encoding // IEEE Transactions on Information Theory. July 1966. P. 399-401.

5. Al'-Bahdili H., Cvetkov V.Ju., Konopel'ko V.K. Szhatie izobrazhenij distancionnogo zondirovanija Zemli na osnove verojatnostnogo kodirovanija dlin serij pikselej // Dokl. BGUIR. 2017. № 1

Сведения об авторах

Аль-Бахдили Х.К., аспирант кафедры инфоком-муникационных технологий Белорусского государственного университета информатики и радиоэлектроники.

Information about the authors

Al-Bahadily H.K., postgraduate student of department of infocommunication technologies of Belarusian state university of informatics and radioelectronics.

Tsviatkou V.Yu., D.Sci., associate professor, chief of department of infocommunication technologies of

Цветков В.Ю., д.т.н., доцент, заведующий кафедрой инфокоммуникационных технологий Белорусского государственного университета информатики и радиоэлектроники.

Конопелько В.К., д.т.н., профессор, профессор кафедры инфокоммуникационных технологий Белорусского государственного университета информатики и радиоэлектроники.

Адрес для корреспонденции

220013, Республика Беларусь,

г. Минск, ул. П. Бровки, д. 6,

Белорусский государственный

университет информатики и радиоэлектроники

тел. +375-17-293-84-08;

e-mail: vtsvet@bsuir.by

Цветков Виктор Юрьевич

Belarusian state university of informatics and radioelectronics.

Kanapelka V.K., D.Sci., professor, professor of department of infocommunication technologies of Belarusian state university of informatics and radioelectronics.

Address for correspondence

220013, Republic of Belarus, Minsk, P. Brovka st., 6, Belarusian state university of informatics and radioelectronics tel. +375-17-293-84-08; e-mail: vtsvet@bsuir.by Tsviatkou Victor Yur'evich