Способ компрессии-декомпрессии данных и устройство для его осуществления
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в упрощении вычислений за счет отсутствия процедур многократного умножения и аналого-цифровых операций. Устройство для компрессии-декомпрессии данных, содержащее передающую сторону и приемную сторону, в которое дополнительно введены: L-разрядный входной регистр передающей части, L-разрядный выходной регистр приемной части, [L+1]-разрядный выходной регистр передающей части, [L+1]-разрядный входной регистр приемной части, цифровой коммутатор и цифровой процессор с памятью; информационный вход цифрового процессора через цифровой коммутатор подключен к выходам L-разрядного входного регистра передающей части и [L+1]-разрядного входного регистра приемной части, информационный выход цифрового процессора через цифровой коммутатор подключен к входам [L+1]-разрядного выходного регистра передающей части и L-разрядного выходного регистра приемной части, управляющий вход цифрового коммутатора подключен к управляющему выходу цифрового процессора. 3 н.п. ф-лы, 2 ил.
Реферат
Изобретение относится к области систем, сетей и устройств телекоммуникаций, конкретно, к области способов и устройств кодирования источника данных.
Известны аналогичные способы компрессионного кодирования (сжатия) данных без потерь информации, например, LZ77, LZ78, LZW, патент RU 97113713 G06F 3/08 опубликован 27.06.1999, патент RU 2270528 H04N 1/417 опубликован 12.08.2004, патент RU 2004114632 H03M 7/30 опубликован 27.07.2005, основанные на словарном подходе, при котором выбирают некоторые статически или динамически формируемые повторяющиеся последовательности символов, сохраняют их или порождающие их функции в словаре, сопровождая кодами меток. Когда слово или строка слов входного файла совпадает с аналогичными словами или фразами в словаре, то в кодируемый файл записывается позиция этого слова (фразы) или метка. Если для хранения метки требуется меньше бит, чем для записи самого слова (фразы), то наблюдается эффект сжатия. Недостатками аналогичных способов являются необходимость обновления библиотеки слов (фраз) в кодирующем и декодирующем устройствах, зависимость коэффициента сжатия от длины кодируемого сообщения, количества повторяющихся слов (фраз), соотношения длин слова (фразы) и метки этого слова (фразы).
Известен аналогичный способ и устройство кодирования RU 2001112771 G11B 11/00 опубликован 24.07.2000, основанный на дельтамодуляции источника аналогового типа, при котором текущие М-битовые выборки ИКМ сравниваются с предыдущими М-битовыми выборками ИКМ, в результате получаются Р-битовые выборки (Р<М), на выходе кодера формируется код, содержащий Р-битовую выборку и разность между предыдущим и текущим значениями Р-битовых выборок. При этом для дополнительного сжатия данных применяется кодер Хаффмена. При декодировании используются полученные на предыдущих циклах декодирования данные из М-битовых и Р-битовых выборок.
Недостатком аналогичного способа является возможность эффективного сжатия только при наличии высокой степени корреляции между соседними выборками, определяемой изменением только младших разрядов выборок. При случайном широкодиапазонном изменении значений кода М-битовых выборок коррелятивная связь между кодером декодером может исчезнуть, и коэффициент сжатия ухудшается, могут возникнуть потери.
Наиболее близким способом кодирования в качестве прототипа выбран способ компрессионного кодирования потока битовых данных (RU 2004114632 H03M 7/30 опубликован 14.05.2004), который заключается в следующем. Входные данные преобразуются путем последовательного перемножения значений разрядов кодируемого сигнала с отсчетами ортогональной кодировочной функции и суммирование всех произведений за некоторый период времени. При этом в качестве кодировочной функции используют дискретные значения функции, представляющей собой кусочно-непрерывную функцию в виде гауссова импульса с частотным заполнением. Частоту заполнения гауссова импульса изменяют по экспоненциальному закону, а фазу в каждой точке импульса вычисляют как интеграл от частоты заполнения. Причем из всей длительности гауссова импульса при кодировании используют только участок, аппроксимируемый полиномиальной функцией со степенью полинома не ниже четвертой. В качестве кодировочного преобразования используют параллельно-последовательное вычисление ряда Дюамеля, в качестве аргументов которого служит входной поток данных и дискретные значения кодировочной функции. Вторая кодировочная функция имеет равную с первой функцией длительность гауссова импульса и отличное по амплитуде, частоте и фазе частотное заполнение. В качестве отсчетов ортогональной кодировочной функции используют разность двух кодировочных функций, одна из которых соответствует единичным, а вторая нулевым значениям передаваемого двоичного кода. Предварительно вычисляется сумма дискретных значений кодировочной функции с меньшими по абсолютной величине амплитудами частотного заполнения. При этом принимается, что она соответствует последовательности, состоящей только из нулевых значений передаваемого двоичного кода, и служит базовой поднесущей передаваемой суммы. Вычисление ряда Дюамеля производится по принципу суперпозиции исходного потока данных и соответствующих значений гауссова импульса, используемого для передачи нулей, а также значений гауссова импульса, используемого для передачи единиц. Преобразование исходного потока данных в суммированные значения производится путем сложения базовой поднесущей и суммы всех произведений значений разрядов кодируемого сигнала с отсчетами ортогональной кодировочной функции
Недостатком способа-прототипа является трудоемкость текущих и предварительных вычислений большого количества данных с использованием процедур многократного умножения и аналого-цифровых операций.
Заявленный способ компрессионного кодирования лишен указанных недостатков.
Наиболее близким способом декодирования в качестве прототипа выбран способ декодирования потока компрессионных битовых данных (RU 2004114632 H03M 7/30 опубликован 14.05.2004), который функционирует следующим образом. Обратное преобразование компрессированных данных осуществляется с помощью ортогональной кодировочной функции. При этом в качестве декодирования используют процесс поразрядного вычитания декомпрессированных данных из нерасшифрованных компрессированных. Для преобразования оставшихся значений в исходный поток данных применяют табличный способ, при котором остаток от вычитания используется для суперпозиции исходного потока данных и соответствующих значений единичного и нулевого гауссовых импульсов на участке полиномиальной функции. При этом устанавливается однозначное соответствие последовательным значениям единичной и нулевой функций, оставшимся после вычитания новых значений декомпрессированных функций.
Недостатком способа-прототипа является необходимость текущих вычислений большого количества данных с использованием процедур многократного умножения и аналого-цифровых операций. Могут иметь место комбинации бит, при которых ортогональные кодировочные функции не обеспечивают сжатия.
Заявленный способ декодирования компрессионных последовательностей лишен указанных недостатков.
Известно аналогичное устройство кодирования, описанное в патенте RU 2270528 H04N 1/417 опубликован 12.08.2004, в котором при кодировании осуществляется сравнение значений кодов потока по величине, подсчет числа равных по величине и следующих друг за другом кодов, формируется двоичный код этого числа, который вводится в поток за первым кодом своей последовательности с исключением из нее подсчитанных кодов.
Недостатком устройства является отсутствие сжатия при нарушении непрерывного порядка следования одинаковых по величине кодов. В этом случае длина посылок с кодом числа следующих подряд одинаковых битовых последовательностей может привести к увеличению длины потока последовательностей в сравнении с исходной.
В качестве прототипа выбран компрессионно-декомпрессионный процессор на основе устройства, описанного в патенте RU 2004114632 H03M 7/3 0, опубликован 14.05.2004.
Устройство содержит передающую сторону и приемную части. В передающую часть входят: Q-разрядный регистр сдвига, основной и дополнительный n·Q разрядные блоки генераторов опорных сигналов разности двух кодировочных функций, n·Q разрядный блок перемножителей, N-разрядный блок генератора опорных сигналов базовой поднесущей, сумматор на [n·(Q-1)+N] входов и N выходов (N/n>2), N-разрядный цифроаналоговый преобразователь и фильтр. В приемную часть входят: (Q-L)-разрядный регистр сдвига, [n·(Q-L)]-разрядный блок генераторов опорных сигналов разности двух кодировочных функций, [n·(Q-L)]-разрядный блок перемножителей, N-разрядный блок генератора опорных сигналов базовой поднесущей, первый сумматор на [n·(Q-L-1)+N] входов и N выходов, второй сумматор на (N·3) входов и N выходов, блок памяти, блок из L счетчиков, пороговый элемент и N-разрядный аналого-цифровой преобразователь.
Недостатком устройства-прототипа является наличие аналого-цифровых устройств, большого числа цифровых устройств, генераторов сигналов и перемножителей. Указанное устройство громоздко, не универсально и не позволяет получить технический эффект от применения заявленного способа.
Заявляемое устройство лишено этого недостатка.
Технический результат изобретения заключается в отсутствии процедур многократного умножения и аналого-цифровых операций.
В способе компрессии, включающем преобразование исходного потока данных путем последовательного перемножения значений разрядов кодируемого сигнала с отсчетами ортогональной кодировочной функции и суммирование всех произведений за некоторый период времени, при этом в качестве кодировочной функции используют дискретные значения функции, представляющей собой кусочно-непрерывную функцию в виде гауссова импульса с частотным заполнением, причем частоту заполнения гауссова импульса изменяют по экспоненциальному закону, а фазу в каждой точке импульса вычисляют как интеграл от частоты заполнения, причем из всей длительности гауссова импульса при кодировании используют только участок, аппроксимируемый полиномиальной функцией со степенью полинома не ниже четвертой, в качестве кодировочного преобразования используют параллельно-последовательное вычисление ряда Дюамеля, в качестве аргументов которого используют входной поток данных и дискретные значения кодировочной функции, вторая кодировочная функция имеет равную с первой функцией длительность гауссова импульса и отличное по амплитуде, частоте и фазе частотное заполнение; в качестве отсчетов ортогональной кодировочной функции используют разность двух кодировочных функций, одна из которых соответствует единичным, а вторая нулевым значениям передаваемого двоичного кода, предварительно вычисляют сумму дискретных значений кодировочной функции с меньшими по абсолютной величине амплитудами частотного заполнения, принимают, что она соответствует последовательности, состоящей только из нулевых значений передаваемого двоичного кода, и служит базовой поднесущей передаваемой суммы, вычисление ряда Дюамеля производят по принципу суперпозиции исходного потока данных и соответствующих значений гауссова импульса, используемого для передачи нулей, а также значений гауссова импульса, используемого для передачи единиц; преобразование исходного потока данных в суммированные значения производится путем сложения базовой поднесущей и суммы всех произведений значений разрядов кодируемого сигнала с отсчетами ортогональной кодировочной функции, причем при кодировании входная последовательность единиц и нулей кодируемого сообщения разбивается на блоки одинаковой длины L, которые суммируются по модулю 2 с запомненным предыдущим блоком входной последовательности и с пронумерованными базовыми последовательностями длины L, привязанными к модели источника, занесенными в форме таблицы в память, по результатам анализа сумм по модулю 2 выбирается и запоминается номер базовой последовательности или указатель на предыдущую последовательность, которые имеют минимальное кодовое расстояние с кодируемой последовательностью, полученный в результате суммирования по модулю 2 кодируемой и выбранной базовой или предыдущей последовательностей код длины L с минимальным весом разбивается на короткие слова длиной от двух и более бит, которые перекодируются префиксным кодом переменной длины, на выходе кодера входной последовательности формируется составной код, содержащий поля фиксированной и переменной длины, поле фиксированной длины включает бит признака сжатия, равный 1 для сжимаемой последовательности, код номера выбранной табличной базовой последовательности с включением в таблицу первым номером предыдущей последовательности, поле переменной длины включает перекодированный префиксным кодом код с минимальным весом, причем, если общая длина полей фиксированной и переменной длины больше или равна длине L блока кодируемой последовательности, то бит признака сжатия обнуляется, а следующее после него поле представляет собой неизмененный блок входной последовательности, после кодирования текущего блока на вход кодирующего устройства подается следующий блок входной последовательности битов, при этом текущий блок входной последовательности заносится под первым номером в память, в которой предыдущий блок последовательности под этим номером стирается.
В способе декомпрессии, включающем обратное преобразование компрессированных данных с помощью ортогональной кодировочной функции, при этом в качестве декодирования используют процесс поразрядного вычитания декомпрессированных данных из нерасшифрованных компрессированных и для преобразования оставшихся значений в исходный поток данных применяют табличный способ, при котором остаток от вычитания используют для суперпозиции исходного потока данных и соответствующих значений единичного и нулевого гауссовых импульсов на участке полиномиальной функции, при этом устанавливают однозначное соответствие последовательным значениям единичной и нулевой функций, оставшимся после вычитания, новых значений декомпрессированных функций, причем полученный при кодировании по п.1 составной код анализируется на наличие признака сжатия, если бит сжатия равен единице, то код разбивается на поля фиксированной и переменной длины, номер базовой последовательности или указатель на предыдущую последовательность из поля фиксированной длины используется как адрес для извлечения соответствующей последовательности из памяти, заполненной теми же последовательностями, которые занесены в память при компрессионном кодировании, извлеченная из памяти последовательность суммируется по модулю 2 с последовательностью, которая получается в результате операции восстановления перекодированного кода с минимальным весом; полученная после суммирования по модулю 2 последовательность является декодированной последовательностью, причем если бит признака сжатия равен нулю, то декодированной последовательностью является входная последовательность в форме блока длиной L без бита признака сжатия, при этом декодированная последовательность заносится под первым номером в память, в которой предыдущая декодированная последовательность под этим номером стирается.
В устройстве для осуществления способа, содержащего передающую сторону, в состав которой входят: Q-разрядный регистр сдвига, основной и дополнительный n·Q разрядные блоки генераторов опорных сигналов разности двух кодировочных функций, n·Q разрядный блок перемножителей, N-разрядный блок генератора опорных сигналов базовой поднесущей, сумматор на [n·(Q-1)+N] входов и N выходов (N/n>2), N-разрядный цифроаналоговый преобразователь и фильтр, а также приемную сторону, в состав которой входят: (Q-L)-разрядный регистр сдвига, [n·(Q-L)]-разрядный блок генераторов опорных сигналов разности двух кодировочных функций, [n·(Q-L)]-разрядный блок перемножителей, N-разрядный блок генератора опорных сигналов базовой поднесущей, первый сумматор на [n·(Q-L-1)+N] входов и N выходов, второй сумматор на (N·3) входов и N выходов, блок памяти, блок из L счетчиков, пороговый элемент и N-разрядный аналого-цифровой преобразователь, причем введены: L-разрядный входной регистр передающей части, L-разрядный выходной регистр приемной части, [L+1]-разрядный выходной регистр передающей части, [L+1]-разрядный входной регистр приемной части, цифровой коммутатор и цифровой процессор с памятью; информационный вход цифрового процессора через цифровой коммутатор подключен к выходам L-разрядного входного регистра передающей части и [L+1]-разрядного входного регистра приемной части, информационный выход цифрового процессора через цифровой коммутатор подключен к входам [L+1]-разрядного выходного регистра передающей части и L-разрядного выходного регистра приемной части, управляющий вход цифрового коммутатора подключен к управляющему выходу цифрового процессора.
Техническая задача, решаемая изобретением по п.1, - сжатие близких к случайным неэквидистантных дискретных последовательностей, характерных для передачи телеметрических данных от группы из L сигнализаторов с логическим выходом.
Названная техническая задача решается посредством предварительного преобразования входной L-битовой последовательности посредством суммирования по модулю два с базовыми табличными последовательностями в L-битовую последовательность с малым весом, предназначенную для ее перекодирования префиксным кодом. При этом средняя длина префиксного кода с учетом наличия фиксированной части выходного кода должна быть меньше дины короткого слова.
Сравнение заявляемого способа с прототипом и другими известными теоретическими и техническими решениями показывает, что они не имеют заявляемых признаков изобретения. Осуществление отличительных признаков позволяет изобретению приобрести новые свойства, ранее не известные. Следовательно, отличительные признаки являются существенными.
Техническая задача, решаемая изобретением по п.2, - декомпрессия сжатых неэквидистантных близких к случайным коротких дискретных последовательностей, характерных для передачи телеметрических данных от группы из L=2ν (ν=6…12) сигнализаторов с логическим выходом.
Названная техническая задача решается посредством анализа признака сжатия принятого составного кода, разделения его на поля фиксированной и переменной длины, восстановления L-битовой последовательности с малым весом, ее преобразования в исходную кодируемую L-битовую последовательность суммированием по модулю 2 с табличной последовательностью, указанной в поле фиксированной длины.
Сравнение заявляемого способа с прототипом и другими известными теоретическими и техническими решениями показывает, что они не имеют заявляемых признаков изобретения. Осуществление отличительных признаков позволяет изобретению приобрести новые свойства, ранее не известные. Следовательно, отличительные признаки являются существенными.
Графические материалы заявки содержат фиг.1 - эпюры изменения формата посылки в процессе сжатия и декомпрессии.
Отличительные признаки изобретения по п.3 состоят в том, что в нем изменена структура устройства с введением новых элементов по сравнению с прототипом и изменением связи между ними.
Технической задачей заявляемого компрессионно-декомпрессионного устройства является возможность реализации заявляемого способа.
Поставленная техническая задача решается за счет изменения компрессионно-декомпрессионного устройства путем введения в него дополнительных элементов и введения дополнительных функций для известных элементов, в совокупности обеспечивающих реализацию заявленного способа.
Сравнение заявляемого устройства с прототипом и другими техническими решениями показывает, что при осуществлении отличительных признаков оно приобретает новые свойства, которых нет в них. Следовательно, отличительные признаки являются существенными.
Графические материалы заявки содержат фиг.2 - структурная схема компрессионно-декомпрессионного устройства.
Заявляемое компрессионно-декомпрессионное устройство содержит входной регистр 1 передающей части, выходной регистр 2 приемной части, выходной регистр 3 передающей части, входной регистр 4 приемной части, цифровой коммутатор 5, цифровой процессор 6 с памятью.
Устройство при компрессионном кодировании данных работает под управлением цифрового процессора 6 следующим образом.
Из входной двоичной последовательности отделяется блок с известной длиной L=2ν, ν=6, 7, 8…, который поступает во входной регистр 1 передающей части, содержащий L ячеек. С выхода регистра 1 входная последовательность через цифровой коммутатор 5 поступает на информационный вход цифрового процессора 6.
В цифровом процессоре 6 осуществляются следующие операции.
1. Суммирование по модулю 2 кода N входной последовательности с кодами Nm базовых табличных последовательностей, занесенными в память цифрового процессора 6:N⊕m=N⊕Nm.
Количество М базовых последовательностей определяется моделью источника, привязанной к объекту контроля, и колеблется в широких пределах: М=1, m, … Mmax.
Первым номером в таблице всегда идет предыдущий блок входной последовательности.
Значение Mmax зависит от наиболее вероятных начальных и текущих значений кода блока, определяемых режимами работы объекта контроля. При этом учитывается случайный характер изменения кодового расстояния d и скорость d′ этого изменения при отклонениях режима функционирования объекта контроля от заданного.
С точки зрения минимизации объема таблицы решается задача создания плотно упакованных непересекающихся хемминговых сфер радиуса t с кодовым расстоянием d=2t, обеспечивающим гарантированное сжатие наиболее вероятных последовательностей, формируемых L сигнализаторами с логическим выходом.
Например, при d ≤ L 3 , V ≤ L 3 и М=1 обеспечивается компрессия до 80% блоков телеметрических данных длины L=128 с коэффициентом сжатия K=0,1…0,95.
2. Производится анализ полученных сумм по весу и выбор из них N⊕m=N⊕Nm с dmin. Если dmin одинаково для двух и более базовых последовательностей, то выбирается та, в которой наибольшая длина поля из нулевых символов в конце последовательности N⊕m.
3. Полученный код N⊕m длиной L разбивается на символы постоянной длины l0 и подвергается статистическому сжатию префиксным кодом со средней длиной lpr.
Для осуществления сжатия для всей последовательности необходимо выполнение условия
l 0 − Δ l > l p r = ∑ j = 1 J l j J ,
где J - количество символов в перекодируемой последовательности, Δ l = L f J = L b + 1 J - относительное удлинение символа вследствие ввода в выходную последовательность бита признака сжатия и кода Nm номера базовой последовательности с фиксированной длиной кода Lb.
Если условие не выполняется, то последовательность не сжимается.
Если при кодировании в конце кода N⊕m присутствуют только символы из «0», то они из кодируемой посылки могут исключаться, так как длина L восстанавливаемого блока известна априорно. Однако при этом требуется дополнительный разделительный символ между блоками.
7. Формируется выходная кодовая посылка NK (фиг.1), содержащая поля фиксированной Lf и переменной Lν длины. Поле фиксированной длины содержит бит признака сжатия и, если сжатие осуществляется, - поле номера N№m базовой последовательности длиной Lb=log2(Mmax). Поле переменной длины содержит: если сжатие не осуществляется - последовательность из J элементов длины l0; если сжатие осуществляется, - сжатый код N⊕mkomp этой последовательности.
Если LK=Lf+Lν<L-2, то бит сжатия равен «1», и на выход процессора направляется сжатая посылка. Если условие не выполняется, то на выход подается принятый процессором блок с битом признака сжатия, равным «0».
Сформированная последовательность через цифровой коммутатор 5 поступает в выходной регистр 2 передающей части. Принятый блок записывается под первым номером в таблицу базовых последовательностей.
Компрессионно-декомпрессионное устройство при декодировании принятых данных работает под управлением цифрового процессора 6 следующим образом.
Входная последовательность из входного регистра 3 приемной части через цифровой коммутатор 5 направляется на вход цифрового процессора 6. Из входной двоичной последовательности отделяется первый бит с признаком сжатия.
Если признак сжатия равен «0», то далее вся поступившая посылка направляется на вход выходного регистра 4 приемной части.
Если признак сжатия равен «1», то цифровой процессор 6 выполняет следующие операции.
1. Отделение и анализ фиксированного поля Lf, по результатам которого определяется номер базовой последовательности, из принимаемого потока отделяется поле переменной длины Lν.
2. По априорно выбранному варианту перекодирования осуществляется восстановление кода с минимальным весом.
3. Полученная последовательность минимального веса суммируется по модулю 2 с базовой последовательностью.
4. Полученный код сохраняется и через цифровой коммутатор направляется в выходной регистр 4 приемной части.
Пример использования способа и устройства - методом вычислительного эксперимента с использованием авторской программы BitUniverse. Программа выполнена на основе языка и средств программирования Borland Delphi 7.0 и позволяет проводить компьютерный эксперимент с математическими моделями телемеханических сетей из сигнализаторов с логическим выходом, осуществлять блоковый и общий анализ процедуры сжатия коротких и длинных блоков данных. Основная задача, решаемая изобретением, - разгрузка канала передачи телеметрических данных от сигнализаторов с логическим выходом.
В качестве варианта перекодирования приведена таблица элементов префиксного кода Хаффмена, предназначенная для перекодирования слов фиксированной длины из трех битов, и пример перекодирования последовательности с минимальным весом (последний бит не сжимается).
Представим, что у нас есть набор датчиков разных разрядов. Изменение в состоянии того или иного разряда отмечается 1, если изменения по сравнению с предыдущим опросом не было, то 0. Тогда допустим, что у нас есть 6 датчиков с 8 разрядами и 3 датчика с 4 разрядами и 3 датчика с 2 разрядами.
Слова кода N⊕m | Элементы кода Хаффмена |
000 | 1 |
001 | 010 |
010 | 001 |
100 | 011 |
101 | 00011 |
110 | 00010 |
011 | 00001 |
111 | 00000 |
N:
11000001101001110011100111000001100110010100111101010100101001001
Nm:
11010001101001110111101111000001110110000100111111010100111001001
N⊕m:
00010010000000000100001000000000010000010000000010000000010000000
N⊕mkomp:
1011011110101001111011101111011110111
N№m:
00010111
NK
100010111011011110101001111011101111011110111
Перекодирование приведенной в примере последовательности префиксным кодом Хаффмена поля дает с учетом фиксированного поля для 128 базовых последовательностей (7+1=8 бит) коэффициент сжатия: K=(37+8)/64=0,703.
Применение ограниченного количества базовых последовательностей, привязанных к модели источника, для минимизации веса блоков позволяет повысить эффективность сжатия потоков телеметрических данных от сигнализаторов с логическим выходом, изменяющихся по закону, близкому к случайному.
1. Способ компрессии, включающий преобразование исходного потока данных путем последовательного перемножения значений разрядов кодируемого сигнала с отсчетами ортогональной кодировочной функции и суммирование всех произведений за некоторый период времени, при этом в качестве кодировочной функции используют дискретные значения функции, представляющей собой кусочно-непрерывную функцию в виде гауссова импульса с частотным заполнением, причем частоту заполнения гауссова импульса изменяют по экспоненциальному закону, а фазу в каждой точке импульса вычисляют как интеграл от частоты заполнения, причем из всей длительности гауссова импульса при кодировании используют только участок, аппроксимируемый полиномиальной функцией со степенью полинома не ниже четвертой, в качестве кодировочного преобразования используют параллельно-последовательное вычисление ряда Дюамеля, в качестве аргументов которого используют входной поток данных и дискретные значения кодировочной функции, вторая кодировочная функция имеет равную с первой функцией длительность гауссова импульса и отличное по амплитуде, частоте и фазе частотное заполнение; в качестве отсчетов ортогональной кодировочной функции используют разность двух кодировочных функций, одна из которых соответствует единичным, а вторая нулевым значениям передаваемого двоичного кода, предварительно вычисляют сумму дискретных значений кодировочной функции с меньшими по абсолютной величине амплитудами частотного заполнения, принимают, что она соответствует последовательности, состоящей только из нулевых значений передаваемого двоичного кода, и служит базовой поднесущей передаваемой суммы, вычисление ряда Дюамеля производят по принципу суперпозиции исходного потока данных и соответствующих значений гауссова импульса, используемого для передачи нулей, а также значений гауссова импульса, используемого для передачи единиц; преобразование исходного потока данных в суммированные значения производится путем сложения базовой поднесущей и суммы всех произведений значений разрядов кодируемого сигнала с отсчетами ортогональной кодировочной функции, отличающийся тем, что при кодировании входная последовательность единиц и нулей кодируемого сообщения разбивается на блоки одинаковой длины L, которые суммируются по модулю 2 с запомненным предыдущим блоком входной последовательности и с пронумерованными базовыми последовательностями длины L, привязанными к модели источника, занесенными в форме таблицы в память, по результатам анализа сумм по модулю 2 выбирают и запоминают номер базовой последовательности или указатель на предыдущую последовательность, которые имеют минимальное кодовое расстояние с кодируемой последовательностью, полученный в результате суммирования по модулю 2 кодируемой и выбранной базовой или предыдущей последовательностей код длины L с минимальным весом разбивают на короткие слова длиной от двух и более бит, которые перекодируют префиксным кодом переменной длины, на выходе кодера входной последовательности формируется составной код, содержащий поля фиксированной и переменной длины, поле фиксированной длины включает бит признака сжатия, равный 1 для сжимаемой последовательности, код номера выбранной табличной базовой последовательности с включением в таблицу первым номером предыдущей последовательности, поле переменной длины включает перекодированный префиксным кодом код с минимальным весом, причем, если общая длина полей фиксированной и переменной длины больше или равна длине L блока кодируемой последовательности, то бит признака сжатия обнуляется, а следующее после него поле представляет собой неизмененный блок входной последовательности, после кодирования текущего блока на вход кодирующего устройства подается следующий блок входной последовательности битов, при этом текущий блок входной последовательности заносится под первым номером в память, в которой предыдущий блок последовательности под этим номером стирается.
2. Способ декомпрессии, включающий обратное преобразование компрессированных данных с помощью ортогональной кодировочной функции, при этом в качестве декодирования используют процесс поразрядного вычитания декомпрессированных данных из нерасшифрованных компрессированных и для преобразования оставшихся значений в исходный поток данных применяют табличный способ, при котором остаток от вычитания используют для суперпозиции исходного потока данных и соответствующих значений единичного и нулевого гауссовых импульсов на участке полиномиальной функции, при этом устанавливают однозначное соответствие последовательным значениям единичной и нулевой функций, оставшимся после вычитания, новых значений декомпрессированных функций, отличающийся тем, что полученный при кодировании по п.1 составной код анализируют на наличие признака сжатия, если бит сжатия равен единице, то код разбивается на поля фиксированной и переменной длины, номер базовой последовательности или указатель на предыдущую последовательность из поля фиксированной длины используется как адрес для извлечения соответствующей последовательности из памяти, заполненной теми же последовательностями, которые занесены в память при компрессионном кодировании, извлеченная из памяти последовательность суммируется по модулю 2 с последовательностью, которая получается в результате операции восстановления перекодированного кода с минимальным весом; полученная после суммирования по модулю 2 последовательность является декодированной последовательностью, причем, если бит признака сжатия равен нулю, то декодированной последовательностью является входная последовательность в форме блока длиной L без бита признака сжатия, при этом декодированная последовательность заносится под первым номером в память, в которой предыдущая декодированная последовательность под этим номером стирается.
3. Устройство для осуществления способа, содержащее передающую сторону, в состав которой входят: Q-разрядный регистр сдвига, основной и дополнительный n·Q разрядные блоки генераторов опорных сигналов разности двух кодировочных функций, n·Q разрядный блок перемножителей, N-разрядный блок генератора опорных сигналов базовой поднесущей, сумматор на [n·(Q-1)+N] входов и N выходов (N/n>2), N-разрядный цифроаналоговый преобразователь и фильтр, а также приемную сторону, в состав которой входят: (Q-L)-разрядный регистр сдвига, [n·(Q-L)]-разрядный блок генераторов опорных сигналов разности двух кодировочных функций, [n·(Q-L)]-разрядный блок перемножителей, N-разрядный блок генератора опорных сигналов базовой поднесущей, первый сумматор на [n·(Q-L-1)+N] входов и N выходов, второй сумматор на (N·3) входов и N выходов, блок памяти, блок из L счетчиков, пороговый элемент и N-разрядный аналого-цифровой преобразователь, отличающееся тем, что введены: L-разрядный входной регистр передающей части, L-разрядный выходной регистр приемной части, [L+1]-разрядный выходной регистр передающей части, [L+1]-разрядный входной регистр приемной части, цифровой коммутатор и цифровой процессор с памятью; информационный вход цифрового процессора через цифровой коммутатор подключен к выходам L-разрядного входного регистра передающей части и [L+1]-разрядного входного регистра приемной части, информационный выход цифрового процессора через цифровой коммутатор подключен к входам [L+1]-разрядного выходного регистра передающей части и L-разрядного выходного регистра приемной части, управляющий вход цифрового коммутатора подключен к управляющему выходу цифрового процессора.