КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ у/
УДК 004.932.2
с1о1:10.15217/1ззп1684-8853.2017.6.96
МЕТОД СЖАТИЯ ИЗОБРАЖЕНИЙ БЕЗ ПОТЕРЬ С ПОМОЩЬЮ КОНТЕКСТНОГО КОДИРОВАНИЯ ПО ДВОИЧНЫМ УРОВНЯМ
Н. Д. Егорова, аспирант
Д. В. Новикова, программист, инженер
М. Р. Гильмутдинова, канд. техн. наук, доцент
аСанкт-Петербургский государственный университет аэрокосмического приборостроения, Санкт-Петербург, РФ
Постановка проблемы: визуальные данные в исходном виде занимают весомый объем дискового пространства, при этом данные изображения ввиду важности содержащейся в них информации требуется хранить с применением таких методов, которые не приведут к появлению на них никаких искажений. Для решения этой задачи используют методы сжатия изображений без потерь. Цель: разработка эффективного метода сжатия изображений без потерь. Результаты: разработан метод сжатия изображений без потерь с помощью контекстного кодирования по двоичным уровням. Доказано, что лежащий в основе данного метода сжатия способ кодирования изображения по двоичным уровням унарного кода не приводит к увеличению энтропии источника. На известных тестовых множествах изображений проведен сравнительный анализ эффективности сжатия данных разработанным методом и алгоритмами JPEG-LS и JPEG-2000 для сжатия изображений без потерь. Получаемые с помощью предложенного алгоритма файлы в среднем на 16,53 и 6,84 % меньше, чем файлы, получаемые с помощью алгоритмов JPEG-LS и JPEG-2000 соответственно. Практическая значимость: разработанный метод позволит сэкономить ресурсы, требуемые для хранения визуальных данных, ввиду более компактного представления этих данных.
Ключевые слова — сжатие изображений, сжатие без потерь, кодирование ошибок предсказания, контекстное моделирование, бинаризация.
Введение
Постоянные улучшение качества (повышение разрешения и числа бит, используемого для представления пикселя) и увеличение количества получаемых визуальных данных (изображений) приводят к росту затрат на их хранение — построению новых центров хранения данных. В связи с этим задача компактного представления визуальных данных особенно актуальна в последние годы. Для ее решения было предложено два основных подхода [1, 2]:
— сжатие без потерь — вся информация, содержащаяся на исходном изображении, представлялась в более компактном виде за счет применения различных методов кодирования источника;
— сжатие с потерями — для повышения эффективности сжатия допускалось частичное уничтожение или искажение информации, содержащейся в исходном изображении.
В данной работе исследуются способы сжатия различных классов изображений, относящихся к общему классу высокоточных данных. Для подобных изображений потеря и искажение хранимых в них данных являются критичными, поэтому методы сжатия с потерями не рассматриваются.
Сжатие без потерь осуществляется за счет анализа статистики кодируемого источника. Задача оценки статистики источника осложнена тем, что большинство источников визуальных данных содержат внутренние зависимости (являются ис-
точниками с памятью). Для упрощения решения данной задачи используется следующий подход: сначала к источнику применяется декоррелиру-ющее преобразование для учета памяти источника (устранения имеющейся избыточности), затем — один из разработанных методов кодирования источника без памяти [3, 4]. Типовая схема сжатия изображений на основе данного подхода (рис. 1) включает решение нескольких подзадач:
1) декорреляции данных — устранения присутствующей в данных источника избыточности;
2) контекстного моделирования — разбиения исходного потока данных на подпотоки для оценки статистики источника с учетом оставшихся после предыдущего шага зависимостей;
3) кодирования источника — оценки распределения источника и построения наиболее эффективного кода для компактного представления его (источника) данных. Методы кодирования источника без памяти являются наиболее распространенными и делятся на 2 класса: неадаптивные (предполагают, что входные данные имеют стационарное распределение, не зависящее от времени) и адаптивные.
Для решения первой подзадачи обычно применяются методы, относящиеся к классу алгоритмов Difference Pulse-Code Modulation (DPCM). Текущее обрабатываемое значение предсказывается по набору ранее обработанных данных. Далее вычисляется разность между результатом предсказания x и текущим обрабатываемым
КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ
■ Рис. 1. Типовая схема сжатия изображений
■ Fig. 1. Typical image compression scheme
значением x: e = X - x, где e — ошибка предсказания.
В предыдущих работах [5-7] было предложено использовать Active Level Classification Model (ALCM) предсказание [8] в рамках DPCM-класса. Для решения второй и третьей подзадач эффективного кодирования получаемого потока декор-релированных данных (ошибок предсказания) нами использовалась схема, состоящая из двоичного арифметического кодирования и контекстного моделирования по двоичным уровням — Binary Layers Scanning (BLS) [5-7].
В настоящей работе представлены улучшения предложенной схемы, а также доказательство того, что лежащий в основе данного метода сжатия способ кодирования изображения по двоичным уровням унарного кода не приводит к увеличению энтропии источника.
Схема кодирования ошибок предсказания и ее улучшения
Применяемая схема сжатия, впервые введенная в статье [5], предполагает, что цветовые компоненты изображения с размерами W (ширина) на H (высота) уже были обработаны с помощью DPCM-алгоритма. Полученные в результате ошиб-
ки предсказания, также имеющие размерность Ж х И, обрабатываются независимо.
В основе данной схемы лежит идея о применении двоичного арифметического кодера, что помогает добиться универсальности схемы сжатия, доступности ее реализации за счет простоты выполнения оценки вероятности кодируемых символов. Рассмотрим основные особенности схемы кодека (рис. 2).
Раздельная обработка знаков и модулей ошибок предсказания
В качестве входных данных используется множество ошибок выбранного метода предсказания, значения которых лежат в диапазоне [-/™ах, /тах], где 1тах — максимально возможное значение обрабатываемых визуальных данных (для 8-битного изображения /тах = 255). Каждая ошибка предсказания представляется в виде пары последовательно кодируемых значений — модуля ошибки предсказания и знака:
I I \ь,1 I ,
1знак;,у = знак(е;,у)
где в1! — ошибка предсказания на позиции 1]; \e\ij — модуль ошибки предсказания. Значение
■ Рис. 2. Схема кодека BLS
■ Fig. 2. BLS codec scheme
знака определяется посредством индикаторнои функции:
знак(е; j) =
-1, если ei,j < 0
0, если ei,j = 0 .
1, если ei,j > 0
В предложенной схеме первым кодируется значение модуля ошибки предсказания, что позволяет пропустить кодирование знака в случае, если модуль был равен нулю.
Бинаризация с помощью унарного кода
Применение двоичного арифметического кодера требует бинаризации — процедуры представления символа недвоичного источника в виде последовательности двоичных символов. Для этих целей была выбрана процедура бинаризации с помощью унарного кода:
Unary(x) = (b(0), b(1), ..., b(x)),
где x — бинаризуемое значение; b(i) — функция-индикатор:
[0, если i < x 11, если i = x
b(i) =
Доказательство того, что метод кодирования изображения по двоичным уровням унарного кода не приводит к увеличению энтропии источника, представлено в следующем разделе.
Способ формирования двоичных уровней для представления модулей ошибок предсказания
Полученный набор Ж х Н двоичных последовательностей представляют в виде набора дво-
ичных уровней, где к-й двоичный уровень формируется из значений, выбранных с к-й порядковой позиции унарного кода модуля ошибки предсказания. Количество двоичных уровней N будет равно максимальному значению среди всех модулей ошибок предсказания. Значение, находящееся на позиции (¿, у) в к-м двоичном уровне, определяется по формуле
i(k) = Li,l =
0, если e . . > k
I hj
1, если lei. . = k,
I k,1 '
-, если lei. . <k I k,1
где '-' обозначает то, что в (¿, у) в к-м двоичном уровне отсутствует значение и процедура кодирования производиться не будет.
На рис. 3, а представлены значения модулей ошибок предсказания двумерного фрагмента изображения 5 х 5; на рис. 3, б отображен набор двоичных уровней, сформированных из двоичных последовательностей унарного кода.
После формирования двоичных уровней для каждого пикселя производится обработка значений одного двоичного уровня за другим, начиная с 0-го уровня.
Контекстное моделирование знаков и модулей ошибок предсказания
Новый источник данных в виде ошибок предсказания, а соответственно, и получаемые из него двоичные уровни и знаки не являются источниками без памяти. Для учета этого их свойства при кодировании применяется подход, называемый контекстным моделированием. Контекстное моделирование предполагает ведение отдельной статистики (счетчиков частот) в зависимости от
а)
4 3 1 7 8
5 3 2 8 11
9 6 5 13 14
8 4 3 11 12
5 2 1 7 9
Модули ошибок предсказания
Отображение
в унарный код
б)
и н в
о р
у
е
ы
н
я1
и о в
П
15 1° 5 0
4
Двоичные уровни унарного кода
■ Рис.3. Фрагментизображения5 х 5ссоответствующимизначениямимодулейошибокпредсказания(а)инабор
двоичных уровней (б), сформированный с помощью двоичных последовательностей унарного кода
■ Fig. 3. Image region 5 х 5 with error module values (a), and set of binary layers (б) formed using binary vectors of
unary code
контекста — набора значений, окружающих текущее обрабатываемое значение. Значения, определяющие контекст, называются опорными соседями. Число контекстов напрямую зависит от числа опорных соседей.
С одной стороны, увеличение количества используемых соседей позволяет схеме контекстного моделирования покрывать больше случаев поведения контуров на изображении и повышает эффективность сжатия. С другой стороны, увеличение числа опорных соседей приводит к усложнению схемы кодирования за счет большого количества контекстных моделей. Кроме того, на практике при использовании очень большого количества контекстов в каждый контекст попадает небольшое количество данных, недостаточное для выполнения точной оценки вероятности, приводящее к падению эффективности сжатия.
В работе [6] были определены наиболее релевантные позиции опорных соседей для построения контекстов (рис. 4). Позиции опорных соседей для контекстного моделирования двоичных уровней (рис. 5, а) и знаков (рис. 5, б) были выбраны в соответствии с публикациями различных авторов [9, 10].
Номер контекстной модели Ых, применяемой для обработки значения двоичного уровня с позиции (I, ]), определяется количеством ненулевых значений, присутствующих на позициях используемых опорных соседей, по формуле
1АхЦ = X !(1 + п, '+ т)(к),
где — множество позиций используемых опорных соседей для кодирования значения с позиции (I, ]) и двоичного уровня 1(.,.)(к) — индикаторная функция:
(к) = 11, если ^ = О
I(i, jT =
i,i
0, иначе
Номер контекстной модели, применяемой для обработки значения знака ошибки с позиции (¿, ]), определяется размещением значений знаков с позиций используемых опорных соседей. Для получения уникального номера для каждого возможного размещения значений знаков с используемых позиций применяется формула
Ыхи] = ]) + a) + 3 ]) + Ь) +
+ 9 ]) + ф + 27 ]) + d),
где {a, Ь, c, d} — векторы, содержащие сдвиги от текущей позиции (I, ]) до позиций соседних значений, используемых в контекстном моделировании (см. рис. 5, б).
NNW NN NNE
NWW B C D NEE
WW A X E EE
SWW H G F SEE
SSW SS SSE
текущии уровень
предыдущий уровень
позиция
кодируемого
символа
■ Рис. 4. Набор релевантных позиций соседей при
контекстном моделировании
■ Fig. 4. Set of neighbor's positions used in context
modeling
а)
NNW NN NNE б) NNW NN NNE
NWW B C D NEE NWW B C D NEE
WW A X E EE WW A X E EE
SWW H G F SEE SWW H G F SEE
SSW SS SSE SSW SS SSE
■ Рис. 5. Набор релевантных позиций соседей при
контекстном моделировании двоичных уровней (а) и знаков (б). Серым цветом обозначены позиции используемых соседей
■ Fig. 5. Set of neighbor's positions used in context
modeling of binary layers (a) and signs (б). Used neighbor's positions are highlighted by grey color
а)
NNW NN NNE б) NNW NN NNE
NWW B C D NEE NWW B C D NEE
WW A X E EE WW A X E EE
SWW H G F SEE SWW H G F SEE
SSW SS SSE SSW SS SSE
■ Рис. 6. Обновленный набор позиций опорных сосе-
дей при контекстном моделировании модулей (а) и знаков (б). Серым цветом обозначены позиции используемых соседей
■ Fig. 6. Updated set of neighbor's positions used in
context modeling of modules (a) and signs (б). Used neighbor's positions are highlighted by grey color
В данной работе были изменены наборы используемых позиций опорных соседей для построения контекстов двоичных уровней и знаков ошибок предсказания. Новые наборы используемых позиций опорных соседей (рис. 6, а и б) были
подобраны для достижения наибольшей степени сжатия при обработке общедоступных наборов изображений, описанных в последнем разделе. Эффективность обновленной схемы продемонстрирована там же.
В следующем разделе будет доказана эффективность предлагаемого метода сжатия с помощью контекстного кодирования по двоичным уровням.
Применение двоичного арифметического кодирования
Для кодирования источника без памяти на финальной стадии описываемой схемы сжатия используется двоичное арифметическое кодирование. Выбор арифметического кодера [4] объясняется его способностью построения оптимального с точки зрения эффективности сжатия кода для декоррелированных данных при известном распределении. Выбор именно двоичной разновидности арифметического кодирования [11, 12] объясняется практическими соображениями — простотой применения различных контекстных моделей, а также простотой реализации схемы кодирования, адаптивной к изменению статистики кодируемых данных.
Применение двоичного арифметического кодирования требует выполнения оценки распределения кодируемого источника, при этом само распределение источника может быть нестационарным. Для оценки распределения применяется известный подход, предполагающий наличие счетчиков частот обрабатываемых символов. Оценка вероятности появления кодируемого символа производится по формуле Кричевского — Трофимова [13] для двоичного источника данных, где n°, n1 — это счетчики ранее обработанных двоичных символов (0-го и 1-го символа соответственно):
n0 +1 / 2 щ +1 / 2 Р0 =—--; Р1 =—--.
П0 + Щ + 1 П0 + щ + 1
Стоит отметить, что для устранения остаточной нестационарности в обрабатываемых данных следует учитывать изменение их характеристик с течением времени. Для этого в работе применяется известный подход, называемый экспоненциальным забыванием (Exponential Decaying Machine) [14]. Идея метода заключается в ослаблении влияния ранее обработанных символов и может быть представлена в виде следующей формулы:
р^+Ч = (1 - X) p1(t) + Xx(t),
где X — коэффициент, управляющий скоростью «забывания»; p() — оценка вероятности символа
«1» в момент времени t; x(t) — символ на выходе двоичного источника в момент времени t.
Реализация экспоненциального забывания для обновления счетчиков контекстных моделей представляет собой следующий алгоритм: при обработке порогового количества значений Reset счетчики контекстной модели делятся пополам. Значение счетчика контекстной модели символа x в момент времени t имеет следующую зависимость от ранее обработанных значений:
nx,t =
ex,1 +... + ex,Reset + + +
2 + ex,Reset+1 +... + ex,2Reset =-2-+
2
+... + ex,t-1,
где ex t — значение, на которое был увеличен счетчик символа x в момент времени t.
Доказательство эффективности предлагаемого метода кодирования по двоичным уровням
В основе предложенного алгоритма сжатия лежит метод бинаризации символов источника X с помощью унарного двоичного кода Unary(x) с последующим кодированием по двоичным уровням Щ. Для доказательства эффективности предложенной схемы покажем, что используемый способ кодирования по двоичным уровням не приводит к возникновению избыточности при кодировании данных, где под избыточностью понимается превышение количества информации, требуемой на представление (хранение) источника, над его энтропией. Наличие данной избыточности обусловлено появлением зависимостей между двоичными потоками, формируемыми с помощью позиций в двоичной последовательности, получаемой после бинаризации.
Согласно известному свойству энтропии [15], обработка информации не приводит к увеличению энтропии:
H(Y) < H(X),
где X — исходный ансамбль; Y = f(X) — ансамбль, полученный из исходного путем применения функции преобразования f(.) ко всем его элементам. В случае если преобразование f(.) является обратимым, данная формула будет являться равенством.
Производимую бинаризацию можно рассматривать как взаимно однозначное отображение исходного недвоичного источника X на множество независимых источников Y^ (i = 1, ..., N, где
N — количество получаемых двоичных источников). Тогда в соответствии с описанным выше свойством энтропия исходного источника Н(Х) может быть представлена как взвешенная сумма двоичных источников, полученных после бинаризации:
N
Н(Х) = Х щН(У(;))
;=1
где ^ — вероятность того, что 1-й двоичный источник используется при кодировании недвоичного символа источника Х. Энтропия исходного недвоичного источника Х выражается как
м
Н(Х) = р1 1СЕ2 (р1),
;=1
где М — мощность алфавита источника X; р1 — вероятность символа ¿. Энтропия ¿-го двоичного источника У^'
Н(У(;)) = -р1г) 1СИ2 (р^) - р2г) 1СИ2 (р2г)),
где рЬг) — вероятность появления символа Ь е {1, 2} в ¿-м двоичном потоке.
Несмотря на то что процедура бинаризации является обратимой и энтропия исходного источника Н(Х) равна взвешенной сумме энтропий, получаемых после бинаризации двоичных источников ^Н(У©), использование неэффективной схемы формирования кодируемых источников может приводить к избыточности при их кодировании. В данном разделе будет показано, что формирование кодируемых источников с помощью позиций в двоичной последовательности в случае унарного кода позволяет получить безызбыточное представление, а для равномерного кода такое представление всегда будет избыточным, если распределение источника отлично от равномерного.
Постановка задачи. Докажем, что формирование кодируемых источников с помощью позиций в двоичной последовательности в случае унарного кода позволяет получить безызбыточное представление, т. е. энтропия исходного недвоичного источника Х равна взвешенной сумме энтропий получаемых двоичных источников У(1).
Доказательство: Для выбранного способа бинаризации количество получаемых двоичных источников N равно мощности алфавита исходного недвоичного источника М. Вероятность того, что ¿-й двоичный источник был использован, будет равна вероятности того, что бинаризуемое число ^т, уменьшенное на единицу, больше или равно индексу бинаризуемого источника:
м
= Рг^пш -1 > ¿} = X рь.
к=1
Тогда распределение ¿-го двоичного источника У(1) может быть представлено как
р!1) = Рг^пш -1 = Ь1 ^ш -1 > ¿} =
м
X рь
п(1) = 1 - п(1) = р2 _ 1 р1
Л
м
X рь
к=1
м
X рь
к=1
Подставим найденные вероятности р^ и р21) в формулу энтропии ¿-го двоичного источника:
Н(У (;)) = --Мг— 1сё2
( Л
рь
X рь
к=1
м
X рь
м 52
X рь
к=1
м
X рь
V ь=1 )
( м Л
X рь
ь=(1+1)
м
X рь
Взвешенная энтропия ¿-го двоичного источника
= -р; 1сё2
щН(У(;)) =
( л рь
(м Л X рь
V ь=; )
Н(У(;)) =
м
X рь
V ь=1 )
м
- X рь1сё2
ь=(;+1)
(
( м Л
X рь
ь=(;+1)
м
X рь
м м
= -р; 1сё2 (р;)- X рь 1с^2 X рь
ь=(£+1) ^ ь=( ;+1)
Л
м
м
+ X рь 1с^2 X рь
ь=(;) V ь=(;)
Сумма взвешенных ¿-го и ^ + 1)-го источников равна
щу (;+1)) =
= -р; 1сё2 (р; )- Р;+1 1сЙ2 (Р;+1 )-
м ( м Л м ( м
- X рь 1сё2 X рь + X рь 1сё2 X рь
ь=(;+2) Vь=(;+2) ) ь=(;) Vk=(г)
Из полученного выражения видно, что при сложении взвешенных энтропий ¿-го и (1 + 1)-го источников происходит сокращение второго слагаемого ¿-го источника и третьего слагаемого (£ + 1)-го. Рассмотрим особые случаи в виде взвешенной энтропии первого источника, предпоследнего (М - 1)-го и последнего М-го:
м
(
w1H(Y( ') = -Л log2 (pi)- X Pk log2 X Pk
k=(2) V k=(2) y
м
Л
WM
-iH(Y(M-1)) = -рм-1 log 2 (Рм-1) -
M
( M \
-PM log2 (PM)+ X Pk log2 X Pk
k=(M-1) V k=( M-1) J
™ИН(Х(М)) = -РМ 1оё2 (Рм ) + Рм 1оё2 (Рм ) = 0
Таким образом, при вычислении суммы взвешенных энтропий не сокращаются только слагаемые вида Р;^2(Р;). Тогда итоговая формула суммы взвешенных энтропий ю1И(У1)) может быть записана как
N
XwH(Y(i)) = -X Pi log2 (Pi) = H(X).
M
i=1
i=1
Как видно из последней формулы, сумма взвешенных энтропий wiH(Y(i)) равна энтропии исходного недвоичного источника H(X), что и требовалось доказать.
Постановка задачи. Докажем, что формирование кодируемых источников с помощью позиций в двоичной последовательности в случае равномерного кода приводит к избыточному представлению, если распределение исходного источника X отлично от равномерного.
Разобьем доказательство на две части. В первой части докажем, что в случае если исходный источников X имеет равномерное распределение, формирование кодируемых источников Y© с помощью позиций в двоичной последовательности не приведет к увеличению энтропии, т. е. H(X) = wiH(Y(i)). Во второй части докажем, что при распределении исходного источника X, отличном от равномерного, такой способ формирования кодируемых источников будет приводить к избыточному представлению, т. е. H(X) ф wiH(Y(i)).
Доказательство (часть 1): Считаем, что исходный источник X имеет равномерное распределение:
Pi = -1, i е[1, M ].
M L J
Также сделаем допущение, что M = 2D, где D — некоторое целое число. Тогда количество
получаемых двоичных источников N равно Б, а вес каждого двоичного источника равен единице
= 1). Энтропия такого недвоичного источника
Н(Х) = 1сИ2 (М) = Б.
С учетом сделанного допущения в каждом двоичном источнике У1) символ «1» появляется в случае бинаризации одной половины символов исходного источника X, а символ «0» — при бинаризации другой половины. Тогда закон распределения для ¿-го двоичного источника И(У1)) может быть представлен в следующем виде:
'р1г) = Рг{рМит е р(г)(1)} = ХкеК(1,г) Рк р2г) = Рг{Рхит е Р(г)(2)} = ХкеК(ад Рк'
где р|1), р2(1) — вероятность появления символа «0» и «1» соответственно; Р®(1), Р®(2) — множество, содержащее вероятности появления недвоичных символов в исходном источнике X, приводящих к появлению символа «0» и «1» соответственно в ¿-м двоичном источнике У(1); К(Ь, ¿) — множество индексов вероятностей, содержащихся в множестве Р(1)(Ь).
Зная, что |К(1, ¿)| = |К(2, ¿)| = М/2 и р1 = 1/М при любом ¿, упростим выражения для закона распределения ¿-го двоичного источника И(У1)):
P(i) =X ± = M J_-
P1 ^еК(и) M 2 M 1 M 1
P2
,(i) =X
1
2
___1
keK(2,i) M~ 2 M~ 2
Из полученного результата следует, что энтропия любого двоичного источника И(У1)) равна единице. Тогда сумма взвешенных энтропий двоичных источников ю1И(У()) с такими распределениями будет равна
D
X WiH(Y(i)) = X 1 х 1 = D = H(X).
D
i=1
i=1
Как видно из полученной формулы, сумма взвешенных энтропий двоичных источников ю1И(У()) равна энтропии исходного недвоичного источника И(Х) для такого способа формирования двоичных источников, что и требовалось доказать.
Доказательство (часть 2): Для того чтобы распределение исходного источника X отличалось от равномерного, изменим вероятности (М - 1)-го и М-го символов следующим образом:
P(M-1) = M + А
P(M) = M "А
где Д — некоторая константа, лежащая в диапазоне [0; 1/М].
То, что мы изменили вероятности конкретных двух символов, никак не скажется на общности доказательства, так как энтропии двух источников, имеющих одинаковые наборы вероятностей символов, равны вне зависимости от порядка следования символов в наборе [15].
С учетом внесенных изменений энтропия исходного недвоичного источника
м-2
Н(Х) = - X р; 1с^2 (р;)- рм-11с82 (рм-1)-;=1
2
-рм 1сё2 (рм ) = 1сё2 м - м 1оё2 м -
- V м+Д)1о8г (м+Д)-V мМ-Д)( м-Д
Теперь рассмотрим, чему будет равна сумма взвешенных энтропий двоичных источников ю1Н(У()). Изменения (М - 1)-го и М-го символов всегда выражаются в изменении энтропии только одного двоичного источника У(0). Это объясняется тем, что двоичные коды данных символов при равномерной бинаризации различаются только в одном, младшем, разряде. Для всех остальных двоичных источников Р(М-1) и Р(М) влияют на появление символа «1». Покажем, что вероятность р2(1), а соответственно, и У(1) при ¿ Ф 0 не изменится:
р21) = fX 1геК(2,1) м 1 + р(м-1) + р(м) =
M - 2 J_ 2 M
.2
+ | — + Д| + ( — -А| = M I IM
M
M
С учетом всех вышеописанных замечаний энтропия взвешенной суммы двоичных источников ю1Н(У()) может быть представлена в следующем виде:
1с82 м (1с82 м)-1
X Н(у(;)) = X н(у(;))+Н(у(0)) = ;=1 ;=1
= 1СЯ2 м -1 + Н(У(0)) = 1СЯ2 м -1 -
- (2+Д) ^ (2+дН 2-Д) 1о®2 V 2-Д).
Дальнейшее доказательство является нетривиальной задачей ввиду наличия множества различных слагаемых в полученных формулах энтропий исходного недвоичного источника Н(Х) и взвешенной суммы двоичных источников ю1Н(У(г)).
Для сравнения данных значений было проведено компьютерное моделирование, согласно которому были зафиксированы значения М = {4, 8, 16}. Для каждого зафиксированного значения М выбиралось множество из 102 значений Д в диапазоне [0; 1/М]. Результаты сравнения энтропии исходного недвоичного источника и взвешенной суммы двоичных источников для различных значений М и Д показаны на рис. 7, а-в.
Как видно из представленных результатов, сумма взвешенных энтропий двоичных источников ю1Н(У(г)) больше энтропии исходного недвоичного источника Н(Х) в случае его распределения, отличного от равномерного, при данном способе
а)
Ен К Ю
К
к в о а
Е-<
И
го
б)
Ен К Ю
К
к в о а
Е-<
И
го
2 1,9 1,8
1.7 1,6
1,5о
3
2,95 2,9 2,85
2.8
2,75
\
\
\
0,05 0,1 0,15 0,2 0,25
Д
\
\
0 0,02 0,04 0,06 0,08 0,1 0,12 0,14
д
в)
Ен К ю
к к в о ft Е-< И
го
\
\
\
\
\
4
3,98 3,96 3,94 3,92 3,9
3 88_______________
' 0 0,01 0,02 0,03 0,04 0,05 0,06 0,07
д
- энтропия равномерного источника
— - энтропия бинаризованного источника: EH(Y) ---энтропия исходного источника H(X)
Рис. 7. Энтропии исходного и бинаризованного источников при M = 4 (а), M = 8 (б) и M = 16 (в) и А в диапазоне [0; 1/M] Fig. 7. Original and binarized sources entropies for M = 4 (a), M = 8 (б) and M = 16 (в) and А in range [0; 1/M]
формирования двоичных источников, что и требовалось доказать.
Сравнительный анализ эффективности предложенного алгоритма
Проведено сравнение эффективности предложенного алгоритма, его предыдущих версий, а также других общеизвестных алгоритмов [9, 10, 16] на различных общедоступных множествах.
Для выполнения эксперимента были выбраны следующие общедоступные множества 24-битных изображений (табл. 1):
— Lossless Photo Compression Benchmark (LPCB) [17] — содержит множество изображений с высоким разрешением. Изображения относятся к трем различным типам: натуралистичные изображения, орбитальные снимки поверхности Земли, снимки космических объектов и тел;
— Squeeze Chart (SC) [18] Benchmark — содержит небольшое множество изображений различных типов в высоком разрешении;
— Kodak [19] — популярное тестовое множество фотореалистичных изображений;
— Rawzor corpus [20] — содержит фотореалистичные изображения в высоком разрешении;
— Standard — множество из семи таких распространенных изображений, как airplane, baboon, barbara, boats, goldhill, lena, pepper с расширением .bmp.
Для контекстных моделей, используемых при кодировании знаков и модулей ошибок предсказания, на кодируемых тестовых множествах были подобраны наилучшие значения параметра Reset: 100 и 500 для знаков и модулей соответственно.
В качестве меры эффективности алгоритмов сжатия рассматривается среднее количество бит, затрачиваемое на компактное представление одного пикселя изображения (24 бита для рассматриваемых цветных изображений). В табл. 2 представлены результаты, полученные при использовании различных схем контекстного моделирования для модулей и знаков ошибок предсказания. Из них можно сделать вывод, что использование
■ Таблица 2. Результаты сжатия предложенного ал-
горитма при использовании различных схем контекстного моделирования на различных множествах
■ Table 2. Suggested algorithm compression
results for different test sets using different context modeling schemes
Множество Схема контекстного моделирования
Исходная Для знаков Для модулей Итоговая
LPCB 7,913 7,B92 7,B9 7,B69
SC 10,147 10,123 10,09 10,066
Kodak B,611 B,596 B,569 B,554
Rawzor 9,B94 9,B7B 9,B55 9,B39
Standard 12,457 12,442 12,420 12,405
■ Таблица 3. Результаты сжатия предложенного ал-
горитма и различных известных алгоритмов на различных множествах
■ Table 3. Suggested algorithm and state-of-the-
arts algorithms compression results for different test sets
Множество Алгоритм сжатия
Предложенный JPEG-LS JPEG-2000
LPCB 7,B69 B,96B B,152
SC 10,066 12,1B 10,52
Kodak B,554 13,1 9,9
Rawzor 9,B39 10,64 10,62
Standard 12,405 13,91 13,12
информации от большего количества соседних значений (увеличение количества контекстов) позволяет повысить эффективность предложенного алгоритма, но лишь до определенной степени. При чрезмерном количестве использованных контекстных моделей эффективность алгоритма будет уменьшаться.
В табл. 3 содержатся результаты сжатия без потерь предложенного алгоритма с подобранными наиболее эффективными схемами контекстного моделирования знаков и модулей ошибок предсказания и таких известных алгоритмов сжатия, как JPEG-LS [9, 10] и JPEG-2000 [16]. Из имеющихся результатов можно сделать вывод об эффективности предложенного метода по сравнению с аналогами на различных классах изображений.
Заключение
В работе было доказано, что лежащий в основе предложенного метода сжатия способ кодирования изображений по двоичным уровням унарного кода не приводит к увеличению энтропии. Также было предложено несколько улучшений
■ Таблица 1. Характеристики используемых тесто-
вых множеств
■ Table 1. Used test sets characteristics
Множество Количество изображений Размер, Б
LPCB 107 3 456 571 BB0
SC 7 242 932 451
Kodak 24 2B 311 912
Rawzor 14 470 611 702
Standard 7 5 9B2 615
для схем контекстного моделирования модулей и знаков ошибок предсказания.
Эффективность самой схемы и предложенных улучшений была продемонстрирована путем сравнения эффективности сжатия с предложенной ранее схемой и другими известными алгоритмами сжатия на известных тестовых множествах изображений. Полученные результаты доказывают эффективность итогового решения и актуальность проделанной работы. В дальнейшем пла-
Литература
1. Salomon D. Data Compression. The Complete Reference. Fourth ed. — London: Springer-Verlag, 2007. — 1092 p. doi:10.1007/978-1-84628-603-2
2. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. — М.: ДИАЛОГ-МИФИ, 2002. — 384 с.
3. Huffman D. A Method for the Construction of Minimum-Redundancy Codes // Proc. of the IRE. 1952. N 40. P. 1098-1101. doi:10.1109/JRPROC.1952.273898
4. Witten I. H., Radford N. M., Cleary J. G. Arithmetic Coding for Data Compression // Communications of the ACM. 1987. Vol. 30. N 6. P. 520-540. doi:10.1145/ 214762.214771
5. Gilmutdinov M., Egorov N., Novikov D. Lossless Image Compression Scheme with Binary Layers Scanning // XIV Intern. Symp. on Problems of Redundancy in Information and Control Systems. 2014. P. 4751. doi:10.1109/RED.2014.7016703
6. Egorov N., Novikov D., Gilmutdinov M. Performance Analysis of Prediction Methods for Lossless Image Compression // Smart Innovation, Systems and Technologies. 2015. Vol. 40. P. 169-178. doi:10.1007/978-3-319-19830-9_16
7. Пат. 2014148851/08 РФ. Способ сжатия изображений (варианты) / М. Р. Гильмутдинов, Н. Д. Егоров, Д. В. Новиков (РФ). — № 2579966; заявл. 04.12.2014; опубл. 10.04.2016, Бюл. № 10. — 2 с.
8. Speck D. Fast Robust Adaptation of Predictor Weights from Min/Max Neighboring Pixels for Minimum Conditional Entropy // Signals, Systems and Computers: Conference Record of the Twenty-Ninth Asilomar Conference. 1995. Vol. 1. P. 234-238. doi:10.1109/ACSSC.1995.540547
9. Information Technology — Lossless and Near-lossless Compression of Continuous-Tone Still Images: Baseline // ISO/IEC 14495-1:1999. https://www.iso.org/ standard/22397.html (дата обращения: 02.04.2017).
10. Information Technology — Lossless and Near-Lossless Compression of Continuous-Tone Still Images:
нируется улучшение предложенного алгоритма путем его настройки для эффективного сжатия специфических классов изображений, например медицинских визуальных данных.
Егоров Н. Д. выражает благодарность за финансовую поддержку Фонду содействия развитию малых форм предприятий в научно-технической сфере, оказанную при выполнении исследования в 2016 г.
Extensions // ISO/IEC 14495-2:2003. https://www. iso. org/standard/37700.html (дата обращения: 02.04.2017).
11. Marpe D., Schwarz H., Wiegand T. Context-based Adaptive Binary Arithmetic Coding in the H.264/ AVC Video Compression Standard // IEEE Transactions on Circuits and Systems for Video Technology. July 2003. Vol. 13. N 7. P. 620-636. doi:10.1109/ TCSVT.2003.815173
12. Pennebaker W. B., Mitchell J. L., Langdon G. G., Arps R. B. An Overview of the basic principles of the Q-Coder Adaptive Binary Arithmetic Coder // IBM Journal of Research and Development. Nov. 1988. Vol. 32. N 6. P. 717-726. doi:10.1147/rd.326.0717
13. Krichevski R. E., Trofimov V. E. The Performance of Universal Encoding // IEEE Trans. Inform. Theory. Mar. 1981. Vol. IT-27. P. 199-207. doi:10.1109/TIT. 1981.1056331
14. Meron E. Universal Finite Memory Prediction, Coding and Estimation of Individual Sequences: Master's thesis. — Tel-Aviv University, 2003. http://www.eng. tau.ac.il/~ronendar/Msc_Thesis.pdf (дата обращения: 16.05.2017).
15. Кудряшов Б. Д. Теория информации. — СПб.: СПбГУ ИТМО, 2010. — 188 с.
16. Information Technology — JPEG 2000 Image Coding System: Core Coding System // ISO/IEC 15444-1:2004. https://www.iso.org/standard/37674.html (дата обращения: 02.04.2017).
17. Lossless Photo Compression Benchmark by Alexander Ratushnyak. http://www.imagecompression.info/ gralic/LPCB.html (дата обращения: 02.04.2017).
18. Squeeze Chart Benchmark. http://www.squeezechart. com/bitmap.html (дата обращения: 02.04.2017).
19. Kodak Lossless True Color Image Suite. http://r0k. us/graphics/kodak/ (дата обращения: 02.04.2017).
20. High-Resolution Images Benchmark Presented by Rawzor-Lossless Compression Software for Camera Raw Images. http://www.imagecompression.info/ test images/ (дата обращения: 02.04.2017).
UDC 004.932.2
doi:10.15217/issn1684-8853.2017.6.96
Lossless Image Compression using Binary Layers Scanning Data Encoding
Egorov N. D.a, Post-Graduate Student, negorov.91@gmail.com Novikov D. V.a, Programmer, Engineer, dnovikov.suai@gmail.com Gilmutdinov M. R.a, PhD, Tech., Associate Professor, mgilm@vu.spb.ru
aSaint-Petersburg State University of Aerospace Instrumentation, 67, B. Morskaia St., Saint-Petersburg, 190000, Russian Federation
Introduction: Visual data in raw format take a lot of storage space. Only methods which do not lead to any information loss should be used for the storage of important content. To solve this problem, lossless compression is applied. Purpose: Developing an effective algorithm of lossless compression. Results: A lossless compression algorithm is developed which uses binary layer scanning data encoding. It has been analytically proved that usage of the proposed encoding scheme with a unary code and binary layers does not increase the entropy of the source. The proposed method was compared with JPEG-LS and JPEG-2000 algorithms on well-known benchmark images. On the average, the files obtained by the new algorithm are 16.53% and 6.84% smaller than those obtained by JPEG-LS and JPEG-2000 respectively. Practical relevance: The developed method allows you to save the resources for visual data storage. Keywords — Image Compression, Lossless Compression, Prediction Error Encoding, Context Modeling, Binarization.
References
1. Salomon D. Data Compression. The Complete Reference. Fourth ed. London, Springer-Verlag, 2007. 1092 p. doi:10.1007/978-1-84628-603-2
2. Vatolin D., Ratushniak A., Smirnov M., Yukin V. Metody szhatiia dannykh. Ustroistvo arkhivatorov, szhatie izo-brazhenii i video [Image Compression Methods. Universal Archivers, Image and Video Compression]. Moscow, DIA-LOG-MIFI Publ., 2002. 384 p. (In Russian).
3. Huffman D. A Method for the Construction of Minimum-Redundancy Codes. Proc. of the IRE, 1952, no. 40, pp. 10981101. doi:10.1109/JRPR0C.1952.273898
4. Witten I. H., Radford N. M., Cleary J. G. Arithmetic Coding for Data Compression. Communications of the ACM, 1987, vol. 30, no. 6, pp. 520-540. doi:10.1145/214762.214771
5. Gilmutdinov M., Egorov N., Novikov D. Lossless Image Compression Scheme with Binary Layers Scanning. XIV Intern. Symp. on Problems of Redundancy in Information and Control Systems, 2014, pp. 47-51. doi:10.1109/ RED.2014.7016703
6. Egorov N., Novikov D., Gilmutdnov M. Performance Analysis of Prediction Methods for Lossless Image Compression. Smart Innovation, Systems and Technologies, 2015, vol. 40, pp. 169-178. doi:10.1007/978-3-319-19830-9_16
7. Gilmutdnov M., Egorov N., Novikov D. Sposob szhatiia izo-brazhenii (varianty) [Method of Image Compression (Variants)]. Patent RU, no. 2579966, 2016.
8. Speck D. Fast Robust Adaptation of Predictor Weights from Min/Max Neighboring Pixels for Minimum Conditional Entropy. Signals, Systems and Computers. Conference Record of the Twenty-Ninth Asilomar Conference (1995), 1995, vol. 1, pp. 234-238. doi:10.1109/ACSSC.1995.540547
9. Information Technology Lossless and Near-Lossless Compression of Continuous-Tone Still Images: Baseline. ISO/IEC 14495-1:1999. Available at: https://www.iso.org/stand-ard/37674.html (accessed 02 April 2017).
10. Information Technology Lossless and Near-Lossless Compression of Continuous-tone Still Images: Extensions. ISO/
IEC 14495-2: 2003. Available at: https://www.iso.org/ standard/37674.html (accessed 02 April 2017).
11. Marpe D., Schwarz H., Wiegand T. Context-based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard. IEEE Transactions on Circuits and Systems for Video Technology, July 2003, vol. 13, no. 7, pp. 620-636. doi:10.1109/TCSVT.2003.815173
12. Pennebaker W. B., Mitchell J. L., Langdon G. G., Arps R. B. An Overview of the basic principles of the Q-Coder Adaptive Binary Arithmetic Coder. IBM Journal of Research and Development, November 1988, vol. 32, no. 6, pp. 717-726. doi:10.1147/rd.326.0717
13. Krichevski R. E., Trofimov V. E. The Performance of Universal Encoding. IEEE Trans. Inform. Theory, March 1981, vol. IT-27, pp. 199-207. doi:10.1109/TIT.1981.1056331
14. Meron E. Universal Finite Memory Prediction, Coding and Estimation of Individual Sequences. Master's Thesis. Tel-Aviv University, 2003. Available at: http://www.eng.tau. ac.il/~ronendar/Msc_Thesis.pdf (accessed 16 May 2017).
15. Kudryashov B. Teoriia informatsii [Information Theory]. Saint-Petersburg, ITMO Publ., 2010. 188 p. (In Russian)
16. InformationTechnology JPEG 2000 Image Coding System: Core Coding System. ISO/IEC 15444-1:2004. Available at: https://www.iso.org/standard/37674.html (accessed 02 April 2017).
17. Lossless Photo Compression Benchmark by Alexander Ra-tushnyak. Available at: http://www.imagecompression. info/gralic/LPCB.html (accessed 02 April 2017).
18. Squeeze Chart Benchmark. Available at: http://www. squeezechart.com/bitmap.html (accessed 02 April 2017).
19. Kodak Lossless True Color Image Suite. Available at: http:// r0k.us/graphics/kodak/ (accessed 02 April 2017).
20. High-Resolution Images Benchmark Presented by Raw-zor-Lossless Compression Software for Camera Raw Images. Available at: http://www.imagecompression.info/test im-ages/ (accessed 02 April 2017).