Устройство для сжатия данных
Реферат
Изобретение касается сокращения информационной избыточности, позволяет упростить конструкцию устройства и повысить его быстродействие. Сущность изобретения: устройство содержит блок 1 формирования локальных центров, подключенный к вычитателю 2, и квантователь 3, размещенный между вычитателем 2 и блоком 4 кодирования. Блок 1 может быть выполнен в виде последовательно включенных запоминающего регистра 5, сумматора 6, второго запоминающего регистра 7 и коммутатора 8. Блок 4 может быть выполнен в виде устройства, содержащего, например, узел энтропийного кодирования, подключенный к сдвиговому регистру, и схему сравнения. 4 с. п. ф-лы, 7 ил., 4 табл.
Изобретение касается сокращения информационной избыточности и, в первую очередь, сжатия данных, представляющих многомерные сигналы, в частности изображения.
Известны устройства для сжатия данных без потерь информации, содержащие блок неравномерного кодирования комбинаций данных соответственно частоте (вероятности) этих комбинаций. Однако такие устройства имеют небольшой и негарантированный коэффициент сжатия данных из-за обычно низкой достоверности сведений о статистических характеристиках источника данных. Известны устройства для сжатия данных в пространстве преобразований, содержащие последовательно соединенные блоки дискретного преобразования (косинусного, Уолша и т.д.), квантования и неравномерного кодирования. Недостатками этих устройств являются негарантированное воспроизведение низкоэнергетичных элементов сигнала и высокая сложность. Известны устройства для сжатия данных методом дифференциальной импульсно-кодовой модуляции (ДИКМ), содержащие вычитатель, квантователь, предсказатель и блок равномерного кодирования разностей (кодирования кодами одинаковой длины). Недостатком этих устройств является невысокий коэффициент сжатия данных. Известны также устройства для сжатия данных методом ДИКМ, содержащие вычитатель, вход уменьшаемого которого является информационным входом устройства, квантователь, вход которого соединен с выходом модуля разности вычитателя, блок неравномерного кодирования, входы модуля и знака которого соединены соответственно с кодовым выходом квантователя и знаковым выходом вычитателя, а выход является информационным выходом устройства, а также предсказатель значения текущего отсчета, выход и один вход которого соединен с входом вычитаемого вычитателя, а другой вход (вход модуля и вход знака) с кодовым выходом квантователя и знаковым выходом вычитателя. Однако эти устройства отличаются высокой сложностью и низким быстродействием, что обусловлено большим числом вычислительных операций (выполняемых, в основном, в предсказателе) и наличием петли обратной связи, задерживающей выполнение действий по текущему отсчету сигнала до выполнения действий по предыдущему отсчету сигнала. Задача изобретения устранение петли обратной связи с содержащимся в ней предсказателем. Решение этой задачи обеспечивает упрощение конструкции предложенного устройства для сжатия данных, а также повышение его быстродействия. Для этого (в первом варианте предложенного устройства) в устройство для сжатия данных, содержащее вычитатель (блок вычитания), вход уменьшаемого которого является информационным входом (входом данных) устройства, квантователь, вход которого соединен с выходом модуля разности вычитателя, и блок кодирования, вход модуля кода и вход знака кода которого соединены соответственно с (кодовым) выходом квантователя и знаковым выходом вычитателя, а выход является информационным выходом (выходом данных) устройства, дополнительно вводится блок формирования оценок локальных центров, информационный вход и выход которого соединены соответственно с информационным входом устройства и входом вычитаемого вычитателя, причем выход блока формирования и его вход идентификации локальных центров являются соответственно выходом кодов центров устройства и его входом идентификации локальных центров. Это позволяет запоминать в блоке формирования оценок локальных центров один из группы отсчетов сигнала и вычислять в вычитателе разности между этим отсчетом (локальным центром) и остальными отсчетами группы (с последующими квантованием и кодированием разностей) без использования предсказателя и петли обратной связи, т. е. при упрощении устройства и повышении его быстродействия. Далее эти действия, базовые для вариантов предложенного устройства, будем называть локальным дифференциальным кодированием (ЛДК), поскольку в силу корреляционных связей между отсчетами сигнала, для максимизации коэффициента сжатия данных отсчеты группы должны находиться в непосредственной близости (в пространстве измерений сигнала) от локального центра, например окружать его. Второй вариант предложенного устройства состоит в том, что в устройство для сжатия данных, содержащее вычитатель, квантователь и блок кодирования, причем информационный вход устройства соединен с входом уменьшаемого вычитателя, выход модуля разности которого соединен с входом квантователя, кодовый выход которого соединен с входом модуля блока кодирования, вход знака которого соединен с выходом знака вычитателя, а информационный выход является информационным выходом устройства, дополнительно введен блок формирования локальных центров, информационный вход которого соединен с информационным входом устройства, выход соединен с входом вычитаемого вычитателя и является выходом кодов центров устройства, а вход идентификации локальных центров является входом идентификации локальных центров устройства, при этом блок формирования локальных центров содержит регистр опорного центра, сумматор, регистр локального центра и коммутатор, причем информационный вход регистра опорного центра является информационным входом блока, а его синхровход входом идентификации опорных центров блока и устройства, выход регистра опорного центра соединен с входом первого слагаемого сумматора, входы модуля и знака второго слагаемого которого через одноименные входы блока соединены соответственно с выходом оценки модуля разности квантователя и знаковым выходом вычитателя, выход сумматора соединен с информационным входом регистра локального центра, синхровход которого является входом идентификации локальных центров блока, первый и второй информационные входы коммутатора соединены с выходами регистров соответственно локального и опорного центров, управляющий вход коммутатора является управляющим входом блока и устройства, а выход выходом блока. Это позволяет вычислять разности между выделенным локальным центром (опорным центром) и остальными локальными центрами фрагмента сигнала (фрагмент содержит М групп по 11 отсчетов в каждой и соответственно М локальных центров) и далее квантователь и кодировать эти разности, а вместо локальных центров (кроме опорного) при вычислении разностей между ними и остальными отсчетами групп использовать их оценки, определяемые блоком формирования оценок локальных центров, что в целом повышает коэффициент сжатия данных предложенным устройством. Третий вариант предложенного устройства состоит в том, что в устройство для сжатия данных, содержащее первый вычитатель, квантователь и блок кодирования, причем информационный вход устройства соединен с входом уменьшаемого первого вычитателя, кодовый выход квантователя соединен с входом модуля блока кодирования, вход знака которого соединен с выходом знака первого вычитателя, а информационный выход является информационным выходом устройства, дополнительно введены второй вычитатель и блок формирования локальных центров, информационный вход и выход которого соединены соответственно с информационным входом устройства и входом вычитаемого первого вычитателя, выход блока формирования локальных центров и его вход идентификации локальных центров являются соответственно выходом кодов центров устройства и входом идентификации локальных центров устройства, выход модуля разности первого вычитателя соединен с входом уменьшаемого второго вычитателя, вход вычитаемого которого соединен с входом порога устройства, а выход соединен с входом квантователя. Это позволяет вычитать порог из модулей разностей, поступающих на вход уменьшаемого второго вычитателя, что повышает вероятность части значений кодов разностей, в том числе вероятность серий одинаковых кодов на выходе квантователя и, следовательно, повышает эффективность, например, энтропийного кодирования и коэффициент сжатия данных устройством в целом. Кроме того, этот порог может служить для управления коэффициентом сжатия в зависимости от заполненности уравнивающего буфера в системах, использующих предложенное устройство. Четвертый вариант предложенного устройства состоит в том, что в устройство для сжатия данных, содержащее вычитатель, квантователь и блок кодирования, причем информационный вход устройства соединен с входом уменьшаемого вычитателя, выход модуля разности которого соединен с входом квантователя, кодовый выход которого соединен с входом модуля блока кодирования, вход знака которого соединен с выходом знака вычитателя, а информационный выход является информационным выходом устройства, дополнительно введен блок формирования локальных центров, а блок кодирования содержит регистр сдвига кодов, узел энтропийного кодирования и узел сравнения, причем информационные вход и выход блока формирования локальных центров соединены соответственно с информационным входом устройства и входом вычитаемого вычитателя, информационный выход блока формирования локальных центров и его вход идентификации локальных центров являются соответственно выходом кодов центров устройства и входом идентификации локальных центров устройства, входы модуля и знака разностей блока кодирования соединены с первым и вторым входами регистра сдвига, синхровход которого является входом идентификации кодов разностей блока и устройства, а первый выход соединен с входом узла антропийного кодирования, выход которого является информационным выходом блока, выходы регистра сдвига (кроме первого) соединены с входами узла сравнения, выход которого является выходом признаков серий блока и устройства. Это позволяет экономно кодировать серии одинаковых кодов разностей и за счет этого дополнительно повысить коэффициент сжатия данных. На фиг. 1-4 представлены блок-схемы соответственно первого, второго, третьего и четвертого вариантов предложенного устройства для сжатия данных; на фиг. 5-7 временные диаграммы работы соответственно первого, второго, третьего и четвертого вариантов предложенного устройства для сжатия данных, при этом вход порога на фиг. 6 относится к третьему варианту устройства. На этих временных диаграммах неопределенные (произвольные) состояния помечены наполнением в виде точек. Первый вариант устройства для сжатия данных содержит блок 1 формирования (оценок) локальных центров, вычитатель 2, квантователь 3 и блок 4 (неравномерного) кодирования. Второй вариант устройства содержит блок 1 формирования локальных центров, вычитатель 2, квантователь 3, блок 4 кодирования, причем блок 1 содержит регистр 5 опорного центра, сумматор 6, регистр 7 локального центра и коммутатор 8. Коммутатор 8 пропускает на выход коды со своих второго или первого входов при сигнале логических соответственно "0" или "1" на управляющем входе. Третий вариант устройства содержит блок 1 формирования локальных центров, первый вычитатель 2, квантователь 3, блок 4 кодирования и второй вычитатель 9. Блок 4 кодирования в первом, втором и третьем вариантах устройства содержит, например, узел 10 энтропийного кодирования (например, кодами Хаффмена), вход (состоящий из входа модуля кода и входа знака кода) и выход которого являются соответственно входом и выходом блока 4 кодирования. Четвертый вариант устройства содержит блок 1 формирования локальных центров, вычитатель 2, квантователь 3, блок 4 кодирования, содержащий узел 10 энтропийного кодирования, регистр 11 сдвига кодов и узел 12 сравнения. Во всех вариантах предложенного устройства квантователь 3 может быть выполнен, например, в виде последовательно включенных квантователя и кодера (узла равномерного кодирования) при этом выход квантователя является выходом оценки модуля разности, а выходы кодера кодовым выходом. Такое объединение функций в одном квантователе 3 целесообразно для упрощения графического представления схемы устройства и для предотвращения терминологической путаницы при наличии в устройстве блока 4 неравномерного кодирования. Узел 12 сравнения (четвертый вариант устройства) может быть выполнен на основе поразрядного сравнения (что то же самое, суммирования по модулю два, операции ИСКЛЮЧАЮЩЕЕ ИЛИ) пар входных кодов, т.е. с использованием, например, логических элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, содержащихся в интегральной микросхеме К531ЛП5П. На фиг. 1-4 показаны входы устройства: информационный вход (вход данных), вход 14 идентификации локальных центров, вход 15 идентификации опорных центров, управляющий вход 16, вход 17 порога, вход 18 идентификации кодов разностей, а также выходы устройства, информационный выход 19 (выход данных), выход 20 кодов центров и выход 21 признаков серий. Устройство для сжатия данных работает следующим образом (для конкретности рассматривается случай двумерного сигнала с группами из 3х3 отсчетов, при этом сдвиговый регистр 11 содержит 11-9 каскадов (выходов). В исходном состоянии на информационном входе 13 и входе 14 идентификации локальных центров устройства первого варианта действуют сигналы логического "0", сигналы на информационном выходе 19 и выходе 20 кодов центров устройства могут быть произвольными. Входные для устройства сигналы меняются по тактам (периодам времени) длительностью Т, при этом на фиг. 5-7 интервалы исходного состояния устройства помечены нулевым тактом. В первом такте на информационный вход 13 устройства приходит (например, восьмиразрядный) код первого отсчета (локального центра группы) сигнала, поступающий далее на информационный вход блока 1 формирования. В это же время на вход 14 идентификации локальных центров устройства приходит импульс-идентификатор локального центра длительностью < Т. Этот импульс поступает на вход идентификации локальных центров блока 1 формирования и своим задним фронтом заносит в него действующий на его информационном входе код локального центра (т.е. функцию блока 1 формирования оценок локальных центров в данном случае может выполнять запоминающий регистр, причем вышеназванные два входа и выход блока 1 формирования являются одноименными входами этого регистра). С выхода блока 1 код локального центра поступает на вход вычитаемого вычитателя 2 и на выход 20 кодов центров устройства. Во втором такте на информационный вход 13 устройства приходит код второго отсчета группы, далее поступающий на вход уменьшаемого вычитателя 2. Вычитатель 2 вычитает из кода второго отсчета код локального центра, действующий на его входе вычитаемого. Знак полученной разности со знакового выхода вычитателя 2 поступает на вход знака блока 4 кодирования. Модуль разности с выхода модуля разности вычитателя 2 поступает на вход квантователя 3 с нелинейной амплитудной характеристикой и преобразовывается в нем, например, соответственно табл. 1. С выхода квантователя 3 двухразрядный код модуля разности поступает на вход модуля блока 4 кодирования. Со входа блока 4 кодирования (с входа модуля и с входа знака блока 4) трехразрядный код квантованной разности (два разряда модуля и один разряд знака) поступает на вход узла 10 энтропийного кодирования ( на вход модуля и вход знака узла 10). Узел 10 энтропийного кодирования преобразовывает поступающий на его вход код, например, соответственно табл. 2. Полученный код Хаффмена с выхода узла 10 энтропийного кодирования через информационный выход блока 4 кодирования поступает на информационный выход 19 устройства. В третьем такте на информационный вход 13 устройства приходит код третьего отсчета группы. Вышеописанным образом в вычитателе 2 код локального центра вычитается из кода третьего отсчета, модуль полученной разности квантуется в квантователе 3, код квантованной разности поступает на вход (вход модуля и знака) блока 4 кодирования, с информационного выхода которого соответствующий код Хаффмена поступает на информационный выход 19 устройства. Обработка последующих отсчетов группы совпадает с вышеописанной обработкой второго и третьего отсчетов. Обработкой девятого отсчета, пришедшего на информационный вход 13 устройства в девятом такте, обработка отсчетов первой группы закончена. В десятом такте на информационный вход 13 и вход 14 идентификации локальных центров приходят соответственно код локального центра второй группы и его идентификатор, начинается обработка второй группы из девяти отсчетов сигнала, совпадающая с вышеописанной обработкой отсчетов первой группы. Такая обработка групп отсчетов продолжается, пока на информационный вход 13 и вход 14 идентификации локальных центров поступает вышеописанные последовательности кодов отсчетов сигнала и импульсов-идентификаторов локальных центров. С прекращением этих последовательностей устройство переходит в исходное состояние. Устройство для сжатия данных по второму варианту работает следующим образом. В исходном состоянии на входе 15 идентификации опорных центров и управляющем входе 16 устройства действуют сигналы логического "0", регистры 5 и 7 опорного центра и локального центра могут быть в произвольном состоянии. В остальном исходное состояние устройства совпадает с исходным состоянием первого варианта устройства. В первом такте на информационный вход 13 и вход 15 идентификации опорных центров устройства одновременно приходят соответственно код локального центра первой группы (код опорного центра) и импульс-идентификатор опорного центра длительностью 1<Т, поступающие далее через информационный вход и вход идентификации опорных центров блока 1 соответственно на информационный вход и синхровход регистра 5 опорного центра. Код опорного центра по заднему фронту импульса-идентификатора заносится в регистр 5 и с его выхода проходит, вследствие сигнала логического "0" на управляющем входе 16 устройства, через второй информационный вход коммутатора 8 на его выход и далее через выход блока 1 на вход вычитаемого вычитателя 2. После этого во втором, третьем, девятом тактах вышеописанным образом происходит обработка второго, третьего, девятого отсчетов первой группы, при этом на выход 20 кодов центров устройства с выхода блока 1 выдается код опорного центра. На десятом такте с информационного входа 13 устройства на вход уменьшаемого вычитателя 2 приходит код локального центра второй группы отсчетов сигнала. Вышеописанным образом на вычитателе 2 определяется разность между этим кодом локального центра и кодом опорного центра, а полученная разность после ее обработки в квантователе 3 и в блоке 4 кодирования дает на информационном выходе 19 устройства соответствующий код Хаффмена. В это же время со знакового выхода вычитателя 2 и с выхода оценки квантованной величины квантователя 3 на входы соответственно знака и модуля блока 1 формирования поступают знак разности и восстановленное значение (оценка) ее модуля, определенное квантователем 3 в соответствии с табл. 3. С входов знака и модуля блока 1 оценка разности (знак и модуль) поступает на входы знака и модуля второго слагаемого сумматора 6 и складывается в нем с приходящим на его вход первого слагаемого с выхода регистра 5 кодом опорного центра. Получаемая в результате оценка локального центра второй группы отсчетов с выхода сумматора 6 поступает на информационный вход регистра 7. Одновременно с кодом локального центра в десятом такте с входа 14 идентификации локальных центров устройства через одноименный вход блока 1 на синхровход регистра 7 приходит импульс-идентификатор локального центра длительностью < Т. По заднему фронту этого импульса код оценки локального центра заносится в регистр 7 и с его выхода поступает далее на первый информационный вход коммутатора 8. В это же время на управляющем входе 16 устройства устанавливается сигнал логической "1", через такой же вход блока 1 поступающий на управляющий вход коммутатора 8, благодаря чему код оценки локального центра с первого информационного входа коммутатора 8 проходит на его выход и через выход блока 1 поступает на вход вычитаемого вычитателя 2 и на выход 20 кодов центров устройства. В одиннадцатом, двенадцатом, восемнадцатом тактах вышеописанным образом происходит обработка второго, третьего, девятого отсчетов второй группы, после чего, например, в конце восемнадцатого такта на управляющем входе 16 устройства устанавливается сигнал логического "0", благодаря чему вышеописанным образом на вход вычитаемого вычитателя 2 с выхода регистра 5 поступает код опорного центра. Обработка остальных групп отсчетов, входящих в фрагмент отсчетов сигнала, совпадает с обработкой второй группы отсчетов. Обработка последующих фрагментов совпадает с вышеописанной обработкой первого фрагмента и продолжается, пока на информационный 13 и управляющий 16 входы, на входы 15 и 14 идентификации опорных и локальных центров устройства поступают вышеописанные последовательности кодов отсчетов и управляющих сигналов. С прекращением этих последовательностей устройство переходит в исходное состояние. Работоспособность второго варианта устройства обеспечивается при >2, где 2- время выполнения операций в тракте между входом уменьшаемого вычитателя 2 и информационным входом регистра 7 (т.е. суммарная задержка в вычитателе 2, квантователе 3 и сумматоре 6) при формировании кода оценки локального центра, заносимого в регистр 7 по заднему фронту идентификатора локального центра длительностью . Для максимизации быстродействия устройства целесообразно задавать 1<, а также первые такты первых групп фрагментов и второй, девятый такты всех групп фрагментов делать короче первых тактов непервых групп фрагментов. Устройство для сжатия данных по третьему варианту работает следующим образом. В исходном состоянии на входе 17 порога устройства действует порог (сигнал, соответствующий некоторому значению, например, восьмиразрядного кода порога). В остальном исходное состояние совпадает с вышеописанным. Работа устройства происходит вышеописанным образом, но модули разностей с выхода модуля вычитателя 2 поступают на вход уменьшаемого вычитателя 9, где из них вычитается порог, поступающий на вход вычитаемого вычитателя 9 с входа 17 порога устройства. Полученные надпороговые разности с выхода вычитателя 9 поступают на вход квантователя 3 и далее обрабатываются вышеописанным образом. При этом во втором варианте устройства на время первого такта каждой группы отсчетов порог на входе 17 порога устройства принимает уменьшенное (например, нулевое) значение, что повышает точность оценки локальных центров, но практически не снижает коэффициент сжатия данных. Устройство для сжатия данных по четвертому варианту работает вышеописанным образом со следующими дополнениями. В исходном состоянии на входе 18 идентификации кодов разностей устройства действует сигнал логического "0", сигналы на выходах сдвигового регистра 11 и выходе 21 признаков серий устройства могут быть произвольными. В остальном исходное состояние устройства совпадает с вышеописанным. На первом, втором, девятом тактах всех групп, когда на информационный вход 13 устройства поступают коды первого, второго, девятого отсчетов групп, на вход 18 идентификации кодов разностей устройства приходят импульсы-идентификаторы (длительностью < Т) кодов разностей. Через вход идентификации кодов разностей блока 4 кодирования эти импульсы-идентификаторы проходят на синхровход сдвигового регистра 11 и своими задними фронтами заносят в него трехразрядные равномерные коды разностей (два разряда модуля и один разряд знака, указанные в строке входного кода табл. 2), поступающие в это время на кодовый вход (первый и второй кодовые входы) регистра 11 с кодового выхода квантователя 3 и знакового выхода вычитателя 2 через вход (вход модуля и вход знака) блока 4 кодирования. После окончания на входе 18 идентификации кодов разностей устройства импульса-идентификатора девятого такта сдвиговый регистр 11 заполнен девятью трехразрядными кодами квантованных разностей, а именно, на девятом, восьмом, втором, а также первом выходах регистра 11 действуют (присутствуют) коды разностей между соответственно девятым, восьмым, вторым отсчетами группы и оценкой ее локального центра, а также код разности между первым отсчетом группы и кодом опорного центра (эта разность не имеет смысла и потому избыточна в первой группе отсчетов каждого фрагмента во втором варианте устройства и всегда в первом варианте устройства; соответствующий этой разности код Хаффмена на информационном выходе 19 устройства для первой после начала работы группы отсчетов на временной диаграмме фиг. 7 помечен вертикальной штриховкой). На информационном выходе 19 устройства в это время действует код, выработанный узлом 10 энтропийного кодирования из поступающего на его вход с первого выхода регистра 11 трехразрядного кода первой в группе квантованной разности (входного кода по табл. 2). С второго, третьего, девятого выходов регистра 11 трехразрядные коды разностей поступают на восемь трехразрядных входов узла 12 сравнения, который формирует на своем выходе сигнал "логической "1" при одинаковых кодах разностей (если все восемь кодов разностей равны между собой) и сигнал логического "0" в противном случае. С выхода узла 12 сравнения этот сигнал, являющийся признаком серии одинаковых кодов разностей, поступает на выход признака серий блока 4 кодирования и одноименный выход 21 устройства и действует на них в течение интервала времени длительностью Т (от заднего фронта импульса-идентификатора на синхровходе регистра 11 в девятом такте данной группы до заднего фронта импульса-идентификатора в первом такте следующей группы отсчетов, с учетом задержки сигналов в регистре 11 и в узле 12). При вышеописанном заполнении регистра 11 кодами разностей текущей группы коды разностей предыдущей группы коды разностей предыдущей группы последовательно (при сдвигах по задним фронтам импульсов на синхровходе регистра 11) поступают на девятый выход регистра 11 и, после вышеописанного кодирования в узле 10, на информационный выход 19 устройства. На временной диаграмме (фиг. 7) видна выдача таким образом (в тактах первой после начала работы устройства группы) девяти неопределенных кодов Хаффмена, обусловленных неопределенным начальным состоянием регистра 11. Работоспособность четвертого варианта устройства обеспечивается при 1>3, где 3- суммарная задержка (время выполнения операций) в вычитателе 2 и квантователе 3. Согласно групповому характеру сжатия данных предложенным устройством кратковременные нарушения структуры входных для устройства сигналов или работоспособности устройства приводят к потере только тех участков сигнала, которым соответствуют группы или фрагменты отсчетов, приходящиеся по времени на эти аномалии. Сущность предложенного изобретения не изменяется при перераспределении функций между узлами и блоками устройства (например, между квантователем 3 и блоком 4 кодирования), при использовании отдельных квантователей для обработки разностей, получаемых в первых и в остальных тактах групп, при включении в состав устройства двух и более узлов энтропийного кодирования соответственно возможным изменениям статистики кодируемых разностей, уравнивающего (сглаживающего) буфера, средств синхронизации (например, для привязки выходных данных к началу строки изображения), средств деления отсчетов сигнала на группы и фрагменты, средств упаковки кодированных данных, при использовании в блоке 1 средств предупреждения выхода значений суммы на информационном входе регистра 7 за принятый диапазон, а также при вариантах построения блока 4 кодирования с векторным (многокомпонентным) признаком серий. Вышеописанное выполнение локального дифференциального кодирования как процедуры сжатия данных может быть представлено в виде ij= aij ai1; Kij T1ij| Kij T2{sg(ij), Kij} где i 1 текущий номер группы отсчетов; j номера элементов, участвующих в качестве уменьшаемого при вычислении в группе разностей ij; N число отсчетов в группе (в вышеизложенном описании принято N 9); ij- разность между j-ым отсчетом группы и оценкой = ai1 локального центра группы, действующая на выходах вычитателя 2; Kij код модуля разности, действующий на кодовом выходе квантователя 3 и соответствующий преобразованию Т1 по табл. 1; Kij код, действующий на информационном выходе 19 устройства и соответствующий преобразованию Т2 по табл. 2; sg(ij) знак разности, действующий на знаковом выходе вычитателя 2. Передаче и/или хранению подлежат R-разрядные коды ai1 и r-разрядные коды Kij (в вышеизложенном описании приняты R 8, r1,7} В устройстве второго варианта в каждой группе (кроме первой) каждого фрагмента этим операциям кодирования отсчетов предшествуют такие же операции кодирования локальных центров фрагмента i= ai1 a1,1; ki T1(); Ki T2{sg(i), Ki} с вычислением оценок локальных центров = sg (i)T3(Ki); = a1,1; = +i, где i номер группы в фрагменте; ki код, действующий на кодовом выходе квантователя 3. Ki код, действующий на информационном выходе 19 устройства; оценка разности i, действующая на входах знака и модуля блока 1 и соответствующая (с учетом знака) преобразованию Т3 по табл. 3. Передаче и/или хранению подлежат R-разрядные коды а1,1, r-разрядные коды Ki и r-разрядные коды Kij. В устройстве по третьему варианту определению каждого кода Kij в каждой группе предшествует операция вычитания порога Р в вычитателе 9 ij|ij| -P. Порог Р должен быть известен при последующем восстановлении отсчетов сигнала (возможны, например, его передача и/или хранение вместе с кодированными данными). В устройстве по четвертому варианту кодирование отсчетов каждой группы завершается определением значения признака si= серии одинаковых кодов Ki1= Ki2 Ki,N-1, действующих на выходе 21 устройства. В этом случае вышеописанные передача и/или хранение по каждой группе N-1 кодов Kij заменяются передачей и/или хранением признака Si и (при Si 0) N-1 кодов Kij или (при s 1) одного кода Kij. Восстановление отсчетов сигнала в декодере производится в соответствии с выражениями = T4(Kij); = ai,1; = + где i1; j T4() преобразование, соответствующее табл. 4. Для устройства по второму варианту в каждом фрагменте = a1,1; = a1,1+; = T4(Ki); i= . Так как табл. 3 при дополнении ее информацией о знаке разности эквивалента табл. 4, то вычисление оценок локальных центров в кодере и в декодере совпадают. Для устройства по третьему варианту вычисление оценок разностей производится с учетом порога ij= sg (T4(Kij))T4(Kij)+ Для устройства по четвертому варианту вычисление оценок отсчетов производится с учетом значений признака серий = Наибольший эффект предложенное устройство дает при его применении в системах передачи и/или хранения данных для сжатия многомерных сигналов, когда каждая обрабатываемая группа отсчетов является, например, гиперкубом с центром в качестве первого отсчета группы и с аналогичной структурой фрагмента. Прототип в простейшем варианте требует выполнения на каждый отсчет сигнала одного вычитания, одного сложения и одного умножения. Предложенное устройство по первому варианту для вычисления каждой разности в каждой группе отсчетов требует выполнения одной операции вычитания. Это соответствует примерно двукратному упрощению и трехкратному повышению быстродействия предложенного устройства первого варианта по сравнению с прототипом. Даже предложенное устройство второго варианта, в котором на одну из разностей в группе расходуется одно вычитание и одно сложение, а на остальные разности по одному вычитанию, характеризуется примерно 1,7-кратным упрощением и 2,7-кратным повышением быстродействия по сравнению с тем же прототипом. При сжатии уже двумерных сигналов (изображений) фрагментами из 9 групп по 3х3 9 отсчетов в каждой предложенное устройство по второму варианту со средним расходом 2,3-2,5 бит на отсчет обеспечивает такое же количество восстановленного изображения, как первый вариант предложенного устройства с расходом около 3 бит на отсчет. Устройство по третьему и четвертому вариантам то же качество восстановленного изображения обеспечивает при расходе соответственно 2,1-2,3 бит на отсчет и 1,7-1,9 бит на отсчет.Формула изобретения
1. УСТРОЙСТВО ДЛЯ СЖАТИЯ ДАННЫХ, содержащее вычитатель, квантователь и блок кодирования, причем информационный вход устройства соединен с входом уменьшаемого вычитателя, выход модуля разности которого соединен с входом квантователя, кодовый выход которого соединен с входом модуля блока кодирования, вход знака которого соединен с выходом знака вычитателя, а информационный выход является информационным выходом устройства, отличающееся тем, что в него введен блок формирования локальных центров, информационный вход которого соединен с информационным входом устройства, выход соединен с входом вычитаемого вычитател