АЛГОРИТМ ПРЕДВАРИТЕЛЬНОЙ ОБРАБОТКИ ИЗМЕРИТЕЛЬНЫХ ДАННЫХ ДЛЯ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ПРОЦЕДУР СЖАТИЯ
© Левенец А.В., Нильга В.В.
Тихоокеанский государственный университет, г. Хабаровск
В настоящее время существует множество алгоритмов сжатия измерительной информации с использованием предварительной обработки данных. Представленный алгоритм позволяет осуществить оптимальное преобразование одномерного представления измерительного сигнала в двумерную форму.
Развитие цифровой техники привело к тому, что системы обработки измерительных данных наиболее часто используют оцифрованные сигналы. Существование значительного количества различных методов сжатия цифровой информации, адаптированных на тот или иной тип сжимаемых данных и обладающих приемлемыми коэффициентами сжатия, все же не решает весь круг проблем, связанных с сжатием измерительных данных [1].
Для повышения эффективности алгоритмов сжатия часто используется предварительная обработка сжимаемых данных, которая видоизменяет входной поток данных таким образом, что сжатие преобразованных данных в среднем лучше сжатия исходных данных [2].
В общем случае преобразования, выполняемые при предварительной обработке данных, могут быть реализованы в алгоритме кодера, но отдельная реализация модуля предварительной обработки позволяет существенно упростить алгоритм кодера и декодера, и дает возможность создания достаточно гибкой специализированной системы сжатия данных определенного типа на основе универсальных алгоритмов.
Следует отметить, что существующие алгоритмы сжатия измерительных данных, как правило, оперируют с данными, представленными в линейной форме, т.е. с последовательностью бит, байт, слов и т.п. Тем не менее, любую линейную последовательность данных можно представить в виде некоторой двумерной формы, целью более полного учета корреляционной зависимости исходной информации не только в обычном, но и в битовом её представлении. Естественно, для сжатия такого преобразованного сигнала потребуется алгоритм сжатия, аналогичный алгоритмам сжатия без потерь битовых изображений.
В данной работе предпринята попытка исследования возможностей преобразования линейной последовательности данных в двумерное пред-
ставление. Для проведения такого исследования предлагается алгоритм оптимального представления информации в двумерной форме. Данный алгоритм реализует поиск оптимального (с точки зрения последующего алгоритма сжатия) представления некоторой исходной последовательности цифровых данных.
Оптимальность преобразования оценивалась числом деревьев, причем под термином «дерево» понималась совокупность расположенных в непосредственной близости одинаковых элементов битовой последовательности.
Поиск оптимального представления происходит следующим образом:
1. Исходный измерительный сигнал преобразуется в битовую последовательность (дополнительный код);
2. Находится автокорреляционная функция (АКФ) измерительного сигнала (формула 1) как число совпадений значений текущего бита сигнала и бита, расположенного на удалении п:
№п
X S[i] ^ S[i+n]
г(п)=
=£1_ (1)
где 8[1] - 1 бит исходной битовой последовательности 8; N - число битов в исходной последовательности; п е [0,№1] - параметр АКФ; ^ - логическая операция эквивалентности.
Полученная АКФ также является битовой последовательностью длиной N.
3. Вычисленная АКФ разбивается на блоки по М элементов (бит).
4. В каждом блоке АКФ производится поиск максимального значения и запоминается его место в исходной последовательности измерительного сигнала. Места максимумов объединяются в массив. Первый максимум игнорируется в силу тривиальности своего расположения.
5. Каждое место максимума делится на номер своего блока.
6. Находятся математическое ожидание и дисперсия полученных значений. Причем математическое ожидание округляется до целого значения, так как М.О. и будет являться оптимальным интервалом разбиения.
7. Шаги со 2 по 5 повторяются для различных М. Значения М изменяются в пределах от 4 до N/4. Это обусловлено малой вероятностью появления существенных значений АКФ вне этого диапазона.
8. Формируется таблица значений дисперсий и М.О. при различных М.
9. Производится сортировка столбцов таблицы по возрастанию значений дисперсии.
10. Отбираются несколько первых значений М.О. (определяется глубина поиска). Для каждого значения М.О. строится своя матрица значений, имеющая число столбцов равное М.О. и последовательно заполненная двоичными значениями исходного измерительного сигнала.
11. Для каждой матрицы подсчитывается число деревьев. Под деревом здесь подразумевается расположенные рядом одинаковые элементы битовой последовательности. Например, на рис. 1 можно выделить 8 деревьев.
Рис. 1. Пример выделения деревьев матрицы значений
12. Выбирается оптимальная длина блока, которому соответствует наименьшее число деревьев.
В алгоритме преобразования существует следующее допущение. При разбиении на блоки, в случае длины выборки не кратной длине блока, недостающие биты заполняются таким образом, чтобы не повлиять на увеличение числа деревьев. Для этого отсутствующим битам приписываются значения бит из предыдущей строки. Рассмотрим это на примере (рис. 2). Если выбрана оптимальная длина блока 7, а длина выборки равна 48. Как видно не хватает 6 бит. Они заполняются в соответствии с выше сказанным, т.е. недостающие биты принимают значения бит стоящих над ними.
8.
0 0 0 1 1 0 1 0 0 С) 1 1 0 1
0 0 1 1 0 0 1 0 0 ] 1 0 0 1
0 0 0 1 1 0 0 0 0 0 1 1 0 0
0 0 0 0 1 1 0 0
Рис. 2. Пример дополнения матрицы значений
Оптимальность преобразования алгоритма проверялась для различных длин выборки и глубины поиска. В качестве исходных измерительных данных использовались случайные сигналы с равномерным распределением, синусоида и меандр с шумом. Для обеспечения статистической ре-
презентативности, каждый эксперимент проводился до 2500 раз с глубиной поиска 50, после чего для удобства анализа, формировались гистограммы, на которых отображается распределение числа оптимальных длин блоков, числа деревьев и глубины поиска.
Наиболее полно была исследована работа алгоритма на случайных сигналах с равномерным распределением. Одним из этапов исследования было определение зависимости оптимальной длины блока от длины выборки измерительного сигнала. В качестве оптимальной длины блока даны средние значения на 2500 экспериментов. Результаты опытов сведены на графике (рис. 3).
§ 13
5 8---------
° 71--------
0 500 1000 1500 2000 2500 3000 3500 4000 Длина выборки измерительного сигнала
Рис. 3. Оптимальная длина блока
Другим этапом исследования было определение зависимости числа деревьев от длины выборки измерительного сигнала. В числа деревьев даны средние значения на 2500 экспериментов. Результаты опытов сведены на графике (рис. 4).
По полученным результатам, можно сделать вывод о том, что М.О. оптимальной длины блока для различных выборок лежит в диапазоне от 8 до 13, в то время как граничные значения оптимальной длины, в ходе экспериментов не выходили за пределы интервала от 5 до 30. Глубина поиска корреляционных зависимостей более двух не наблюдалась. Также наблюдается пропорциональный рост числа деревьев с увеличением длины выборки.
Для тривиальных сигналов, таких как синусоида и меандр оптимальная длина в основном кратна разрядности измерительного сигнала.
Следует отметить, что преобразование данных формально не ограничено двумерным представлением, т.е. возможно её представление объектами более высокой размерности, что может привести к еще более существенному сокращению информационной избыточности.
Рис. 4. Число деревьев
Оценку эффективности преобразования данных можно осуществить с помощью стандартных алгоритмов, таких как алгоритм RLE или алгоритмы для сжатия изображений без потерь.
В силу корреляционной зависимости значений бит в соседних строках, логично предположить, что столбцы данных подматриц будут заполнены одинаковыми значениями бит. Если предположить, что подматрицы будут вытянуты по вертикали, то удастся получить в подматрице как можно больше одинаковых значений бит, т.е. в идеале в подматрице должны быть только либо нули, либо единицы. Основываясь на этом предположении можно использовать RLE с обходом по столбцам.
При таком подходе были получены следующие результаты:
1. Уменьшение коэффициента сжатия алгоритма RLE для случайного сигнала с равномерным распределением в среднем на 2 %;
2. Уменьшение коэффициента сжатия алгоритма RLE для синусоидального сигнала с помехами (30 дБ) в среднем на 10 %;
3. Уменьшение коэффициента сжатия алгоритма RLE для меандра с помехами (30 дБ) в среднем на 5 %.
Второй возможный вариант сжатия - это разработка нового алгоритма сжатия, специализированного для n-мерных форм представления измерительного сигнала. Здесь следует сказать, что разрабатываемый алгоритм должен быть прост в реализации, и обеспечивать высокую скорость кодирования.
Список литературы:
1. Ватолин Д. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. / Д. Ватолин, А. Ратушняк, М. Смирнов. - М., 2003. - 384с.
2. Все о сжатии [Электронный ресурс] / Статьи по сжатию. - Электрон. дан. - 2007. - Режим доступа: http://www.compression.ru