Изобретение относится к области кодирования и декодирования без потерь с сокращением избыточности передаваемой информации и может использоваться для сжатия и восстановления телеметрических кадров данных в информационно-измерительных системах.
Известен способ сжатия кадров телеметрических данных в основе которого лежит отображение битового представления полученного в текущий момент времени кадра на прямоугольную область, поверхность которой затем разбивается на множество полностью покрывающих ее прямоугольных областей меньшего размера, состоящих из бит только одного типа. После обнаружения каждую из областей предлагается кодировать с использованием глубины рекурсивного разбиения, проведенного для ее получения, что позволяет сжимать области, которые содержат в себе число бит больше количества бит, отводимого на хранение кода, описывающего глубину рекурсивного разбиения, проведенного для получения каждой зафиксированной области, а также бита их типа (патент РФ №2697794 Н03М 7/30 (2006.01), H04N 1/64 (2006.01) от 19.08.2019).
Основным недостатком данного способа является то, что он не позволяет сжимать области, размер которых меньше количества бит, отводимого на хранение описывающего глубину рекурсивного разбиения кода, что снижает максимально возможный коэффициент сжатия и не учитываются корреляции, устанавливающиеся между всеми переданными кадрами во времени.
Наиболее близким аналогом заявляемого изобретения является способ сжатия двоичных данных, представленных в виде структурированных информационных блоков заключающийся в том, что для входного потока данных, который содержит символы, представленные битовыми последовательностями фиксированного размера, производят подсчет частоты повторяемости символов. Затем, для обозначения часто и редко встречающихся символов производят выработку, соответственно, более короткой и более длинной битовых последовательностей, которые объединяют в совокупную битовую последовательность. Такая последовательность отличается тем, что из нее исключены битовые последовательности, соответствующие повторяющимся символам входного потока двоичных данных (патент РФ №2497277 Н03М 7/30 (2006.01) от 29.07.2010).
Недостатком данного способа является его ориентация исключительно на одномерное представление потока данных и отсутствие учета корреляционных связей между ними.
Технической задачей, на решение которой направлено заявленное изобретение, является повышение коэффициента сжатия кадров телеметрических данных.
Поставленная задача достигается тем, что в способе сжатия кадров телеметрических данных, заключающемся в отображении полученного в текущий момент времени битового представления кадра на прямоугольную область, поверхность которой затем разбивается на множество полностью покрывающих ее прямоугольных областей меньшего размера, которые могут состоять из бит только одного типа, с последующей фиксацией для каждой области глубины рекурсивного разбиения, проведенного для их получения, что позволяет сжимать области, которые содержат в себе число бит, больше количества бит, отводимого на хранение кода, описывающего глубину рекурсивного разбиения, проведенного для получения каждой зафиксированной области, а также бита их типа согласно изобретению, запоминаются все полученные ранее битовые представления кадров данных, отображенные на прямоугольные области, которые сравниваются с битовым представлением кадра данных, отображенном на прямоугольную область, полученным в текущий момент времени, после чего среди ранее полученных определяется кадр, положение бит которого ближе всего к положению бит текущего кадра, с последующей фиксацией их координат и номера кадра, с которым производилось сравнение, что позволяет сжимать кадры, которые содержат в себе число бит, больше количества бит, отводимого на хранение кода, описывающего координаты отличающихся бит и номера кадра с которым производилось сравнение.
Способ работает следующим образом. Кадр телеметрических данных, полученный в момент времени t, содержащий отсчеты n датчиков с разрядностью m, представляется в виде разностного кадра, как вектор-столбец Δd размерностью n:
Δd(t)=(Δd(t)1, Δd(t)2, …, Δd(t)i, Δd(t)n)T.
Каждый элемент вектор-столбца Δd(t)i представляется в виде битовой последовательности и записывается в виде вектор-строки Δb размерности m:
Δd(t)i=Δb(t)i=(b(t)i,1, b(t)i,2, …, b(t)ij, …, b(t)i,m).
В конечном счете, вектор-столбец Δd представляется в виде разностной битовой матрицы ΔВ(t), размерностью n×m:
ΔВ(t)=(Δb(t)1, Δb(t)2, …, Δb(t)i, …, Δb(t)n)T.
Далее предлагается отобразить кадр телеметрических данных, представленный матрицей ΔВ(t), на прямоугольную область и дальнейшие манипуляции проводить над ней. В таком случае процедуру сжатия можно свести к запоминанию ранее переданных кадров и некоторого набора данных, который указывает на различия в положении отличающихся бит между одним из предыдущих кадров, который наиболее близок по своей структуре (подобен) к текущему кадру и текущим кадром, а также на номер подобного кадра.
Важно заметить, что подход, связанный с выбором кадров, обладающих наибольшим подобием только среди тех, что входят в набор, является в некотором роде эвристикой. Очевидно, что наиболее точно описать свойства набора можно путем поиска кадров с наибольшим подобием среди всего множества возможных состояний кадров с заданной размерностью, что в свою очередь является задачей прямого перебора и практическая ее реализация не является рациональной, на таком подходе невозможно построить систему, устройства сжатия (УС) и восстановления (УВ) которой смогут работать хотя бы в «мягком» реальном времени. Число состояний кадров можно вычислить согласно следующей формуле: 2(m⋅n-1), что для кадра размерностью 32 на 8 даст 1,1579208923731619542357098500869⋅1077 различных комбинаций при поиске подобных кадров, для которых необходимо произвести количество сравнений равное квадрату данного числа.
Исходя из вышесказанного, способ сжатия предлагается построить на основе использования динамической таблицы вида «кадр - количество его использований», которая будет в себя включать кадры из набора, обладающие наибольшим подобием, а его работа будет заключаться в выполнении следующих шагов:
1. В таблицах УС и УВ заносится кадр, состоящий только из нулевых бит с количеством использований равным нулю;
2. В случае, если после добавления нового кадра была превышена максимальная допустимая емкость таблицы (порог), то выполняется ее частичная очистка согласно следующему алгоритму:
2.1. Значение счетчика устанавливается на ноль;
2.2. Из таблицы удаляются все кадры, число использования которых равно значению счетчика;
2.3. Выполняется проверка размера таблицы, если он ниже порогового, то происходит переход к п. 3, иначе значение счетчика увеличивается на единицу и происходит переход к п.п. 2.2;
3. Для таблицы, хранящейся в УС, выполняется алгоритм, описанный в п. 2;
4. На УС поступает текущий кадр;
5. Поступивший кадр сравнивается с теми, что ранее были занесены в таблицу;
6. Из таблицы УС выбирается кадр, количество совпадающих бит которого ближе всего к текущему и число его использований увеличивается на единицу;
7. Проверяется, заносился ли раньше текущий кадр в таблицу УС, если нет, то он в нее записывается с количеством использований равным нулю;
8. Результат сравнения, выраженный в координатах отличающихся бит между текущим и выбранным кадром, а также его порядковый номер в таблице УС записываются в специальный формат описания;
9. Сформированный в п. 8 формат передается УВ по каналу связи;
10. Для УВ выполняется алгоритм, описанный в п. 2;
11. Согласно полученному номеру, из таблицы УВ выбирается кадр, после чего текущий кадр восстанавливается из него путем инверсии бит согласно полученным координатам;
12. Количество использований выбранного кадра увеличивается на единицу;
13. Проверяется, заносился ли раньше полученный кадр в таблицу УВ, если нет, то он в нее записывается с количеством использований равным нулю, после чего происходит переход к п. 3.
Выше уже была дана оценка числу возможных состояний кадра, этому же числу равна и максимально возможная размерность таблицы (в случае, если каждый новый кадр будет уникальным). В связи с этим и ввиду зачастую ограниченного объема памяти в процессе работы алгоритма необходимо производить очистку таблиц УС и УВ по мере ее переполнения.
Формат описания сжатых данных представлен на фиг. 1 и состоит из одного бита флага Fэ.сж., после которого идут поля описания: N, Q, Сх, и Су.
Флаг Fэ.сж. фиксирует эффективность сжатия кадра данных (устанавливается если коэффициент сжатия кадра больше единицы). Поля описания имеют следующий смысл: поле N хранит номер выбранного из таблицы кадра; поле Q хранит число зафиксированных бит; поле Сх описывает координаты бит на оси абсцисс; поле Су описывает координаты бит на оси ординат.
Предложенный способ сжатия тестировался с помощью нескольких наборов кадров телеметрических данных (НКД), полученных от разных технических объектов. Для исследования использовались данные как со стационарными свойствами, так и нестационарного характера.
Кадр данных представляет собой набор однобайтных отсчетов датчиков, причем для разных наборов данных кадры включают в себя разное их число (от 32-х до 56-и). Все наборы отличаются друг от друга числом кадров данных: набор НКД1 содержит 17 тыс. кадров данных, НКД2 - 11 тыс. кадров данных, НКД3-19,5 тыс. кадров данных, а НКД4 и НКД5 - 19 тыс. кадров данных.
В таблице 1 приведены средний коэффициент сжатия (СКС) и среднее время сжатия-восстановления (СВСВ) наборов данных, при этом размер таблицы был ограничен 512 кадрами.
Таким образом, данный способ позволяет повысить коэффициент сжатия за счет того, что вместо рекурсивного разбиения выполняется операция поэлементного сравнения текущего и в наибольшей степени подобного ему одного из полученных ранее кадров при сжатии, и операция инверсии значений бит согласно зафиксированным координатам для выбранного согласно указанному номеру из таблицы кадра при восстановлении, а также за счет существенных затрат памяти, необходимых на хранение таблицы ранее переданных кадров.
Изобретение относится к средствам сжатия и восстановления телеметрических кадров данных. Технический результат - повышение скорости сжатия. Технический результат достигается в способе сжатия кадров телеметрических данных, заключающемся в отображении полученного в текущий момент времени битового представления кадра на прямоугольную область. Поверхность области затем разбивается на множество полностью покрывающих ее прямоугольных областей меньшего размера, которые могут состоять из бит только одного типа, с последующей фиксацией для каждой области глубины рекурсивного разбиения, проведенного для их получения, что позволяет сжимать области, которые содержат в себе число бит больше количества бит, отводимого на хранение кода, описывающего глубину рекурсивного разбиения, проведенного для получения каждой зафиксированной области, а также бита их типа согласно изобретению. Запоминаются все полученные ранее битовые представления кадров данных, отображенные на прямоугольные области, которые сравниваются с битовым представлением кадра данных, отображенным на прямоугольную область, полученным в текущий момент времени. Среди ранее полученных определяется кадр, положение бит которого ближе всего к положению бит текущего кадра, с последующей фиксацией их координат и номера кадра, с которым производилось сравнение, что позволяет сжимать кадры, которые содержат в себе число бит больше количества бит, отводимого на хранение кода, описывающего координаты отличающихся бит и номера кадра, с которым производилось сравнение. 1 ил., 1 табл.
Способ сжатия кадров телеметрических данных, заключающийся в отображении полученного в текущий момент времени битового представления кадра на прямоугольную область, поверхность которой затем разбивается на множество полностью покрывающих ее прямоугольных областей меньшего размера, которые могут состоять из бит только одного типа, с последующей фиксацией для каждой области глубины рекурсивного разбиения, проведенного для их получения, что позволяет сжимать области, которые содержат в себе число бит больше количества бит, отводимого на хранение кода, описывающего глубину рекурсивного разбиения, проведенного для получения каждой зафиксированной области, а также бита их типа согласно изобретению, запоминаются все полученные ранее битовые представления кадров данных, отображенные на прямоугольные области, которые сравниваются с битовым представлением кадра данных, отображенным на прямоугольную область, полученным в текущий момент времени, после чего среди ранее полученных определяется кадр, положение бит которого ближе всего к положению бит текущего кадра, с последующей фиксацией их координат и номера кадра, с которым производилось сравнение, что позволяет сжимать кадры, которые содержат в себе число бит больше количества бит, отводимого на хранение кода, описывающего координаты отличающихся бит и номера кадра, с которым производилось сравнение.
СПОСОБ СЖАТИЯ ДВОИЧНЫХ ДАННЫХ В ВИДЕ СТРУКТУРИРОВАННЫХ ИНФОРМАЦИОННЫХ БЛОКОВ | 2010 |
|
RU2497277C2 |
Способ сжатия телеметрических кадров данных | 2018 |
|
RU2697794C1 |
US 7990290 B1, 02.08.2011 | |||
US 7224293 B2, 29.05.2007. |
Авторы
Даты
2024-10-21—Публикация
2023-12-01—Подача