RU2672625C1 - Device for compression of data - Google Patents
Device for compression of data Download PDFInfo
- Publication number
- RU2672625C1 RU2672625C1 RU2017143286A RU2017143286A RU2672625C1 RU 2672625 C1 RU2672625 C1 RU 2672625C1 RU 2017143286 A RU2017143286 A RU 2017143286A RU 2017143286 A RU2017143286 A RU 2017143286A RU 2672625 C1 RU2672625 C1 RU 2672625C1
- Authority
- RU
- Russia
- Prior art keywords
- elements
- group
- inputs
- input
- outputs
- Prior art date
Links
- 238000007906 compression Methods 0.000 title description 3
- 230000006835 compression Effects 0.000 title description 3
- 230000001360 synchronised effect Effects 0.000 claims abstract description 17
- 238000013144 data compression Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000005764 inhibitory process Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 244000309464 bull Species 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Bus Control (AREA)
Abstract
Description
Изобретение относится к области вычислительной техники и предназначено для использования в системах обработки информации, а также может быть применено в блоках сжатия и распаковки данных без потерь в системах для рационального использования устройств хранения и передачи данных, обработки данных физических экспериментов.The invention relates to the field of computer technology and is intended for use in information processing systems, and can also be used in lossless data compression and decompression units in systems for the rational use of data storage and transmission devices, data processing of physical experiments.
Известен способ сжатия данных (RU №2386210 С2, МПК Н03М 7/40, Н03М 7/46, заявлено 04.08.2006, опубликовано 10.04.2010, Бюл. №10), в котором сжатие данных осуществляется с помощью кодера. В первом блоке памяти кодера хранятся предварительно записанные кодовые комбинации (КК1) с числом разрядов n, где n=2, 3, 4, …, представляющие собой полный набор возможных входных кодовых комбинаций (КК). Во втором блоке памяти кодера хранятся предварительно записанные кодовые комбинации КК2, однозначно соответствующие КК1, с числом разрядов, меньшим или таким же, как в КК1. Входной поток данных разделяют на КК с одинаковым числом разрядов n. КК последовательно вводят в кодер, идентифицируют путем сравнения с KK1, отображают соответствующий выходной кодовой комбинацией КК2. КК2 представляют собой последовательность групп с одинаковым числом разрядов n в каждой. Совокупное число кодовых комбинаций КК2-mn, где m=2, 3, 4, …, n=1, 2, 3, …. Число последовательных групп КК определяют как mn-1, mn-2, …. Разрядность КК2 в группе выравнивают за счет добавления незначащего нуля перед кодовой комбинацией.A known method of data compression (RU No. 2386210 C2, IPC Н03М 7/40, Н03М 7/46, announced 04.08.2006, published 04.10.2010, Bull. No. 10), in which data compression is performed using an encoder. The first block of memory of the encoder stores pre-recorded code combinations (CC 1 ) with the number of bits n, where n = 2, 3, 4, ..., which are a complete set of possible input code combinations (CC). In the second memory block of the encoder, pre-recorded code combinations of KK 2 are stored, uniquely corresponding to KK 1 , with the number of bits less or the same as in KK 1 . The input data stream is divided into QC with the same number of bits n. QC is sequentially introduced into the encoder, identified by comparison with KK 1 , and the corresponding output code combination of KK 2 is displayed. KK 2 are a sequence of groups with the same number of bits n in each. The total number of code combinations KK 2 -m n , where m = 2, 3, 4, ..., n = 1, 2, 3, .... The number of consecutive QC groups is defined as m n-1 , m n-2 , .... Bit depth KK2 in the group is leveled by adding insignificant zero before the code combination.
Известен способ сжатия восстановления данных без потерь (RU №2403677 С1, МПК Н03М 7/30, заявлено 09.02.2009, опубликовано 10.11.2010, Бюл. №31), в котором используется сжатие данных, ранее подвергнутых сжатию. В сжимаемом потоке данных считают количество нулей n0 и количество единиц n1, выбирают алгоритм присвоения неповторяющихся цифровых кодов всем возможным перестановкам с повторениями из n0 нулей и n1 единиц и нахождения соответствующей перестановки, которой присваивают цифровой код Nc, считают общее количество кодов nс, определяют значения d1=n0+n1-nc и d2=(n0+n1)/2, а для восстановления потока данных выполняют обратные операции.There is a known method of compression of lossless data recovery (RU No. 2403677 C1, IPC Н03М 7/30, announced on February 2, 2009, published November 10, 2010, Bull. No. 31), which uses data compression that has previously been compressed. In the compressible data stream, the number of zeros is n 0 and the number of units is n 1 , the algorithm for assigning non-repeating digital codes to all possible permutations with repetitions of n 0 zeros and n 1 units is selected and the corresponding permutation is assigned to which the digital code N c is assigned, the total number of codes n s , the values d 1 = n 0 + n 1 -n c and d 2 = (n 0 + n 1 ) / 2 are determined, and the reverse operations are performed to restore the data stream.
Известно эффективное по использованию памяти адаптивное блочное кодирование (RU №2413360 С1, МПК Н03М 7/40, заявлено 14.11.2007, опубликовано 27.02.2011, Бюл. №6), в котором используется кодирование переменной длины (VLC) с низкой сложностью данных. Структура кода определяет группы кодовых слов в кодовом дереве, причем каждая из групп включает в себя кодовые слова, представляющие значения, имеющие одинаковые весовые коэффициенты, и кодовые слова упорядочиваются лексикографически относительно значений, представленных посредством кодовых слов. Кроме того, структура кода определяет первую и вторую подгруппу кодовых слов в каждой из групп, при этом первая подгруппа включает в себя кодовые слова, имеющие первую длину, а вторая подгруппа - вторую длину, отличную от первой длины. Затем формируют результат кодирования переменной длины, по меньшей мере, для одного из сохранений в запоминающем устройстве, передачи в устройство или представлении пользователю.Adaptive block coding (RU No. 2413360 C1, IPC Н03М 7/40, announced on November 14, 2007, published February 2, 2011, Bull. No. 6) is known in the art of using memory, which uses variable length coding (VLC) with low data complexity. The code structure defines groups of codewords in the code tree, each of the groups includes codewords representing values having the same weighting factors, and codewords are ordered lexicographically with respect to values represented by codewords. In addition, the code structure defines the first and second subgroup of code words in each of the groups, the first subgroup includes code words having a first length, and the second subgroup includes a second length different from the first length. Then form the result of encoding a variable length for at least one of the storages in the storage device, transfer to the device or presentation to the user.
Известно кодирующее устройство (RU №153302 U1, МПК Н03М 7/30, заявлено 17.06.2014, опубликовано 10.07.2015, Бюл. №19), содержащее входной регистр, анализатор разрядов, блок управления ключами, блок ключей, ПЗУ, блок мультиплексоров, выходной регистр, а также тактовый генератор, делитель частоты, счетчик и выходной регистр со следующими соединениями: выход входного регистра 1-n соединен с входами анализатора разрядов и с блоком управления ключами, выходы 1-n2 анализатора соединены с информационными входами блока ключей, а выходы 1-n2 - с управляющими входами этого блока, выходы которого 1-n2 соединены с входами ПЗУ, а выходы 1-2n ПЗУ соединены с информационными входами блока мультиплексора, выходы которого 1-n являются выходами маркера устройства; выходы 3-8 входного регистра соединены с выходным регистром, выходы которого являются выходами информационных разрядов устройства; выход тактового генератора через счетчик соединен с управляющими входами блока мультиплексоров, а через делитель частоты - с управляющими входами: через выход 1 входного регистра, через выход 2 с блоком управления ключами, а через выход 3 с выходным регистром.A coding device is known (RU No. 153302 U1, IPC Н03М 7/30, declared June 17, 2014, published July 10, 2015, Bull. No. 19), which contains an input register, a bit analyzer, a key management unit, a key block, a ROM, a multiplexer block, the output register, as well as the clock generator, frequency divider, counter and output register with the following connections: the output of the input register 1-n is connected to the inputs of the digit analyzer and to the key control unit, the outputs 1-n 2 of the analyzer are connected to the information inputs of the key block, and outputs 1-n 2 - with control inputs of this a unit whose outputs 1-n 2 are connected to the inputs of the ROM, and the outputs 1-2n of the ROMs are connected to the information inputs of the unit of the multiplexer, the outputs of which 1-n are the outputs of the device marker; outputs 3-8 of the input register are connected to the output register, the outputs of which are outputs of the information bits of the device; the output of the clock generator through the counter is connected to the control inputs of the multiplexer unit, and through the frequency divider, to the control inputs: through
Недостатком данных устройств является схемная сложность, что затрудняет их применение.The disadvantage of these devices is the circuit complexity, which complicates their use.
Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является, принятое за прототип устройство для сжатия данных (RU №2622878 С1, МПК Н03М 7/30, заявлено 01.08.2016, опубликовано 20.06.2017, Бюл. №17), содержащее N входных символов D1, D2, …, DN по k разрядов соединенных с входным регистром данных 1, группу из L анализаторов символов 21, 22, …, 2L, каждый из которых содержит первую группу из w элементов ИЛИ 3, первую группу из w элементов И 4 и блок счета количества единиц 5 (L - количество групп по w символов из k разрядов, причем N=L*w), группу из (L-1) сумматоров 61, 62, …, 6L-1, группу из (L-1) схем сравнения 71, 72, …, 7L-1, группу из (L-1) D-триггеров 81, 82, …, 8L-1 с входом разрешения работы СЕ, асинхронным CLR и синхронным R входами установки в нулевое состояние, вторую группу из (L-1) элементов И 91, 92, …, 9L-1, третий элемент И 10, четвертый элемент И 11, второй элемент ИЛИ 12, многовыходной блок приоритета 13, блок коммутаторов данных 14, выходной буфер 15, внешние входы задания количества символов w в группе 16, внешний вход EN разрешения работы 17, внешний вход С синхронизации 18, внешний вход CLR установки в нулевое состояние 19, внешние выходы устройства Q 20, а также внутреннюю шину данных DD из N символов по k разрядов, внутреннюю N разрядную шину маски символов М, внутреннюю L разрядную шину указателей групп символов U, причем внешний вход CLR установки в нулевое состояние 19 соединен с входами установки в нулевое состояние входного регистра 1 и выходного буфера 15, а также входами CLR асинхронной установки в нулевое состояние всех триггеров 81, 82, …, 8L-1, внешний вход синхронизации 18 соединен с входами синхронизации С триггеров 81, 82, …, 8L-1, входного регистра 1 и выходного буфера 15, внешний вход EN разрешения работы 17 соединен с входами разрешения работы СЕ триггеров 81, 82, …, 8L-1 и выходного буфера 15, причем выходы входного регистра данных 1 соединены с внутренней шиной данных DD, из которой группами по w символов из k разрядов соединены с соответствующими входами первых групп из w элементов ИЛИ 3 анализаторов символов 21, 22, …, 2L, в каждом из которых выходы первых групп из w элементов ИЛИ 3 соединены со вторыми входами соответствующих первых групп из w элементов И 4, выходы которых являются внутренней шиной маски символов М и соединены с входами блока счета количества единиц 5, выходы которых являются выходами анализаторов символов 21, 22, …, 2L, выход первого анализатора символов 21 соединен с первой группой входов первого сумматора 61, выходы анализаторов символов, начиная со второго 22 до последнего 2L анализатора, соединены со вторыми группами входов соответствующих сумматоров 61, 62, …, 6L-1, выходы сумматоров, начиная в первого 21 до предпоследнего 6L-2 сумматора, соединены с первой группой входов последующего сумматора, начиная со второго 22 до последнего 2L сумматора, а также выходы (L-1) сумматоров 61, 62, …, 6L-1 соединены со вторыми группами входов соответствующих (L-1) схем сравнения 71, 72, …, 7L-1, первые группы входов которых соединены между собой и подключены к внешним входам 16 задания количества символов w в группе, выходы схем сравнения, начиная с первой 71 до предпоследней 7L-2 схемы сравнения, соединены с информационными входами D соответствующих триггеров, начиная со второго 82 до последнего 8L-1 триггера, и с первыми входами соответствующих элементов И второй группы, начиная со второго 92 до предпоследнего 9L-2 элемента И, а информационный вход D первого триггера 81 соединен с первым входом первого элемента 91 из второй группы элементов И и подключен к логической единице, инверсные выходы NT1, NT2, …, NTL-1 триггеров 81, 82, …, 8L-1 соединены с первыми входами первых групп из w элементов И 4 соответствующих (L-1) первых анализаторов символов 21, 22, …, 2L-1 и вторыми входами соответствующих элементов И второй группы 91, 92, …, 9L-1, первые входы первой группы из w элементов И 4 последнего анализатора символов 2L соединены с выходом последней схемы сравнения 7L-1, который также соединен с первым входом третьего элемента И 10 и со вторым входом четвертого элемента И 11, выход которого соединен с входом разрешения работы СЕ входного регистра 1, третьи входы всех элементов второй группы элементов И 91, 92, …, 9L-1 соединены между собой, соединены со вторым входом третьего элемента И 10 и подключены к выходу третьего элемента ИЛИ 12, входы которого соединены со всеми N разрядами внутренней шины маски символов М, которые также соединены со второй группой входов выходного буфера 15 и с входами многовыходного блока приоритета 13, у которого w групп выходов соединены с управляющими входами блока коммутаторов данных 14, информационные входы которого соединены с внутренней шиной данных DD, а выходы блока коммутаторов данных 14 соединены с третьей группой входов выходного буфера 15, выходы второй группы элементов И 91, 92, …, 9L-1 и выход третьего элемента И 10 являются внутренней шиной указателей групп символов U и соединены с первой группой входов выходного буфера 15, выходы Q которого являются внешними выходами устройства 20.The closest device of the same purpose to the claimed invention in terms of features is a data compression device adopted as a prototype (RU No. 2622878 C1, IPC Н03М 7/30, announced on 08/01/2016, published on 06/20/2017, Bull. No. 17), containing N input characters D1, D2, ..., DN of k bits connected to the input data register 1, a group of L character analyzers 2 1 , 2 2 , ..., 2 L , each of which contains the first group of w elements OR 3, the first group of w elements And 4 and a unit for counting the number of units 5 (L is the number of groups of w characters from k digits, m N = L * w), a group of (L-1) adders 6 1, 6 2, ... 6, L-1, a group of (L-1) comparing circuits 7 1, 7 2, ..., 7, L-1 , a group of (L-1) D-flip-flops 8 1 , 8 2 , ..., 8 L-1 with a CE enable input, an asynchronous CLR and synchronous R zero-setting inputs, a second group of (L-1) AND elements 9 1 , 9 2 , ..., 9 L-1 , third element AND 10, fourth element AND 11, second element OR 12, multi-output priority block 13, data switch block 14, output buffer 15, external inputs for setting the number of characters w in the group 16, external input EN work permit 17, external input C clock 18, external input C LR zeroing 19, the external outputs of the device Q 20, as well as the internal data bus DD of N characters of k bits, the internal N bit bus of the symbol mask M, the internal L bit bus of the pointers of the symbol groups U, and the external input CLR of the setting to zero state 19 is connected to the inputs of the zero state of the input register 1 and the output buffer 15, as well as the CLR inputs of the asynchronous zero state of all triggers 8 1 , 8 2 , ..., 8 L-1 , the external synchronization input 18 is connected to the synchronization inputs C triggers 8 1 , 8 2 , ..., 8 L-1 , the input register 1 and the output buffer 15, the external EN input of the operation permit 17 is connected to the operation enable inputs CE of the triggers 8 1 , 8 2 , ..., 8 L-1 and the output buffer 15, and the outputs of the input data register 1 are connected to an internal data bus DD, from which groups of w symbols from k bits are connected to the corresponding inputs of the first groups of w elements OR 3 symbol analyzers 2 1 , 2 2 , ..., 2 L , in each of which the outputs of the first groups of w elements OR 3 connected to the second inputs of the corresponding first groups of w elements AND 4, the outputs of which x are the internal bus of the symbol mask M and are connected to the inputs of the counting unit of the number of units 5, the outputs of which are the outputs of the symbol analyzers 2 1 , 2 2 , ..., 2 L , the output of the first symbol analyzer 2 1 is connected to the first group of inputs of the first adder 6 1 , the outputs of the symbol analyzers, starting from the second 2 2 to the last 2 L of the analyzer, are connected to the second groups of inputs of the corresponding adders 6 1 , 6 2 , ..., 6 L-1 , the outputs of the adders, starting in the first 2 1 to the penultimate 6 L-2 adder connected to the first group of inputs of the subsequent su Matora from the second 2 2 to the last 2 L of the adder and outputs (L-1) adders 6 1, 6 2, ... 6, L-1 connected to the second input groups corresponding to (L-1) comparison circuit 7 1 7 2 , ..., 7 L-1 , the first groups of inputs of which are interconnected and connected to external inputs 16 to specify the number of characters w in the group, the outputs of the comparison circuits, starting from the first 7 1 to the penultimate 7 L-2 comparison circuits, are connected to information inputs D of the corresponding triggers, starting from the second 8 2 to the last 8 L-1 of the trigger, and with the first inputs of the corresponding elements Comrade And the second group, starting from the second 9 2 to the penultimate 9 L-2 of the And element, and the information input D of the first trigger 8 1 is connected to the first input of the first element 9 1 from the second group of And elements and is connected to a logical unit, the inverse outputs NT 1 , NT 2 , ..., NT L-1 triggers 8 1 , 8 2 , ..., 8 L-1 are connected to the first inputs of the first groups of w elements AND 4 corresponding (L-1) first character analyzers 2 1 , 2 2 , ... 2 L-1 and the second inputs of respective aND gates of the second group 9 1, 9 2, ..., 9 L-1, the first inputs of the first group of elements and w 4 of the last analyzer mvolov 2 L connected to the final circuit yield comparison 7 L-1, which is also connected to a first input of the third AND gate 10 and to a second input of the fourth AND gate 11, whose output is connected to the enable input of operation the CE input of register 1, the third inputs of all the elements of the second groups of elements And 9 1 , 9 2 , ..., 9 L-1 are interconnected, connected to the second input of the third element And 10 and connected to the output of the third element OR 12, the inputs of which are connected to all N bits of the internal bus of the symbol mask M, which also connected to the second groups of the inputs of the output buffer 15 and with the inputs of the multi-output priority block 13, in which w output groups are connected to the control inputs of the data switch block 14, the information inputs of which are connected to the internal data bus DD, and the outputs of the data switch block 14 are connected to the third group of outputs of the output buffer 15, the outputs of the second group of aND gates 9 1, 9 2, ..., L-1 9 and the output of the third aND gate 10 are internal bus pointers symbol groups U and connected to the first group of inputs of the output buffer 15, the outputs Q of which are external and output device 20.
Недостатками данного устройства являются схемная сложность, связанная с реализацией L блоков счета количества единиц 5 (L - количество групп по w символов из k разрядов, причем N=L*w), группы из (L-1) сумматоров 61, 62, …, 6L-1, группы из (L-1) схем сравнения 71, 72, …, 7L-1, аппаратные затраты на хранение указателей групп символов U и временные затраты при формировании и передаче сжатых групп, когда сумма ненулевых символов в трех соседних группах менее двойной размерности групп w, а в двух соседних группах превышает размерность групп w, например, когда в соседних группах содержится два, три и два ненулевых символа при размерности групп w=4, то требуется передача трех групп сжатых символов.The disadvantages of this device are the circuit complexity associated with the implementation of L blocks counting the number of units 5 (L is the number of groups of w characters from k bits, with N = L * w), groups of (L-1)
К причинам, препятствующим достижению указанного ниже технического результата, относятся большие аппаратные затраты и связи между ними, что приводит к уменьшению надежности и усложнению устройства.The reasons that impede the achievement of the technical result indicated below include high hardware costs and communication between them, which leads to a decrease in reliability and complication of the device.
Техническим результатом изобретения является простота реализации с одновременным уменьшением времени передачи данных, повышение информационной вместимости без потерь информации за счет сокращения необходимого объема памяти для хранения последовательности двоичных символов.The technical result of the invention is the simplicity of implementation while reducing data transfer time, increasing information capacity without loss of information by reducing the required amount of memory for storing a sequence of binary characters.
Указанный технический результат при осуществлении изобретения достигается тем, что в устройство для компрессии данных содержащееThe specified technical result in the implementation of the invention is achieved by the fact that in a device for data compression containing
N входных символов D1, D2, …, DN по k разрядов соединенных с входным регистром данных 1, первую группу из N элементов ИЛИ 21, 22, …, 2N, первую группу из N элементов И 31, 32, …, 3N, группу из N синхронных D-триггеров 101, 102, …, 10N с входом разрешения работы СЕ, асинхронным CLR и синхронным R входами установки в нулевое состояние, многовыходной блок приоритета 4, блок коммутаторов данных 11, выходной буфер 12, внешний вход С синхронизации 15, внешний вход CLR асинхронной установки в нулевое состояние 14, внешние выходы Q устройства 16, а также внутреннюю шину данных DD из N символов по k разрядов и внутреннюю N разрядную шину маски символов М,N input characters D1, D2, ..., DN of k bits connected to the
причем внешний вход CLR асинхронной установки в нулевое состояние 14 соединен с входами CLR асинхронной установки в нулевое состояние входного регистра 1 и выходного буфера 12, а также входами CLR асинхронной установки в нулевое состояние всех триггеров 101, 102, …, 10N,moreover, the external input CLR of the asynchronous zeroing 14 is connected to the inputs of the CLR of the asynchronous zeroing of the
внешний вход С синхронизации 15 соединен с входами синхронизации С всех триггеров 101, 102, …, 10N, входного регистра 1 и выходного буфера 12,external
выходы входного регистра данных 1 соединены с внутренней шиной данных DD, из которой группами из k разрядов по символам соединены с соответствующими входами одноименных символам элементам первой группы из N элементов ИЛИ 21, 22, …, 2N, выходы которых соединены со вторыми входами одноименных элементов первой группы элементов И 31, 32, …, 3N, выходы которых являются разрядами внутренней шины маски символов М, которые также соединены с первой группой входов выходного буфера 12,the outputs of the input data register 1 are connected to the internal data bus DD, from which groups of k bits by symbols are connected to the corresponding inputs of the same name to the elements of the first group of N elements OR 2 1 , 2 2 , ..., 2 N , the outputs of which are connected to the second inputs elements of the same name in the first group of elements AND 3 1 , 3 2 , ..., 3 N , the outputs of which are bits of the internal bus of the mask of symbols M, which are also connected to the first group of inputs of the
дополнительно введены элемент ИЛИ-НЕ 8, вторая группа из (N-1) элементов ИЛИ 91, 92, …, 9(N-1), а также введены внутренняя N разрядная шина выходов триггеров Т и группа из W внутренних шин указателей старших символов U1, U2, …, UW, в блок коммутатора данных введены W коммутаторов 111, 112, …, 11W, а в многовыходной блок приоритета введены W каскадов 41, 42, …, 4W, причем каждый i-й каскад 4i (i=1, 2, …, W, где W количество выходных символов) содержит группу из (N-1-i) элементов ИЛИ 5i1, 5i2, …, 5i(N-i-1), группу из (N-i) элементов запрета И с одним инверсным входом 6i1, 6i2, 6i(N-1) и группу из (N-i) элементов И 7i1, 7i2, …, 7i(N-i), а также каждый i-й каскад 4i содержит группу из (N+1-i) входов запроса в i-й каскад Аi1, Аi2, …, Ai(N+1-i), шину Ui из (N+1-i) разрядов выходов указателей старших символов i-го ранга (1-й ранг имеет высший приоритет, а старший разряд имеет старший приоритет) и группу из (N-i) выходов запроса Si1, Si2, …, Si(N-i) в следующий (i+1)-й каскад,additionally introduced an OR-NOT 8 element, a second group of (N-1) OR elements 9 1 , 9 2 , ..., 9 (N-1) , as well as an internal N bit output bus of the triggers T and a group of W internal indicator buses the highest characters U1, U2, ..., UW, W switches 11 1 , 11 2 , ..., 11 W are entered into the data switch block, and W stages 4 1 , 4 2 , ..., 4 W are entered into the multi-output priority block, with each i the 4th cascade 4 i (i = 1, 2, ..., W, where W is the number of output symbols) contains a group of (N-1-i) elements OR 5 i1 , 5 i2 , ..., 5 i (Ni-1) , a group of (Ni) prohibition elements AND with one inverse input 6 i1 , 6 i2 , 6 i (N-1) and g a group of (Ni) elements And 7 i1 , 7 i2 , ..., 7 i (Ni) , as well as each i-th cascade 4 i contains a group of (N + 1-i) request inputs in the i-th cascade A i1 , And i2 , ..., A i (N + 1-i) , the bus Ui from the (N + 1-i) bits of the outputs of the pointers of the highest characters of the i-th rank (1st rank has the highest priority, and the highest bit has the highest priority) and a group of (Ni) query outputs S i1 , S i2 , ..., S i (Ni) to the next (i + 1) th cascade,
причем разряды внутренней шины маски символов М соединены с соответствующими входами запроса A11, А12, …, А1N первого каскада 41, а в первых (W-1) каскадах 41, 42, …, 4(W-1), кроме последнего W-го каскада 4W, (N-i) выходов запроса в следующий (i+1)-й каскад Si1, Si2, …, Si(N-i) соединены с соответствующими (N-i) входами запроса следующего (i+1)-го каскада A(i+1)1, A(i+1)2, …, A(i+1)(N-i),moreover, the digits of the internal bus of the symbol mask M are connected to the corresponding inputs of the request A 11 , A 12 , ..., A 1N of the
в многовыходном блоке приоритета 4 в каждом i-м каскаде 4i первые (N-i) входов Ai1, Ai2, …, Ai(N-i) из группы входов запроса, кроме последнего входа запроса Ai(N-i+1), соединены с первыми прямыми входами соответствующих элементов 6i1, 6i2, …, 6i(N-i) из группы элементов запрета И с одним инверсным входом, выходы всех элементов группы из (N-i-1) элементов ИЛИ 5i1, 5i2, …, 5i(N-i-1) соединены со вторыми инверсными входами соответствующих первых (N-i-1) элементов 6i1, 6i2, …, 6i(N-i-1) группы из элементов запрета И с одним инверсным входом, кроме последнего элемента 6i(N-i), у которого второй инверсный вход соединен с последним (N-i+1) входом Ai(N-i+1) группы запроса i-го каскада и вторым входом последнего элемента 5i(N-i-1) из группы элементов ИЛИ, кроме того в каждом i-м каскаде 4i первые входы (N-i-1) элементов 5i1, 5i2, …, 5i(N-i-1) из группы элементов ИЛИ соединены с соответствующими (N-i-1) входами Ai2, Ai2, …, Ai(N-i) запроса в i-й каскад, начиная со второго входа запроса, кроме последнего входа запроса Ai(N-i+1), а вторые входы первых (N-i-2) элементов 5i1, 5i2, …, 5i(N-i-2) из группы элементов ИЛИ соединены с выходами соответствующих последующих элементов 5i2, 5i3, …, 5i(N-i-2) из группы элементов ИЛИ, причем в первых (W-1) каскадах, кроме последнего W-го каскада, вторые входы (N-i) элементов 7i1, 7i2, …, 7i(N-i) из группы элементов И соединены с соответствующими первыми (N-i) входами запроса в i-й каскад Аi1, Аi2, …, Аi(N-i), кроме последнего входа запроса Ai(N-i+1), первые входы первых (N-i-1) элементов 7i1, 7i2, …, 7i(N-i) из группы элементов И соединены с выходами соответствующих (N-i-1) элементов 5i1, 5i2, …, 5i(N-i-1) из группы элементов ИЛИ, первый вход последнего элемента 7i(N-i) из группы элементов И соединен с последним входом запроса Ai(N-i+1), а выходы (N-i) элементов 7i1, 7i2, …, 7i(N-i) из группы элементов И являются группой из (N-i) выходов запроса Si1, Si2, …, Si(N-i) в следующий (i+1)-й каскад, кроме того, в каждом i-м каскаде 4i выходы (N-i) элементов 6i1, 6i2, …, 6i(N-i) из группы элементов запрета И с одним инверсным входом являются первыми (N-i) разрядами соответствующей внутренней шины i-го ранга Ui1, Ui2, …, Ui(N-i) из W внутренних шин указателей старших символов, а последний (N-i+1) разряд Ui(N+1-i) соединен с последним (N-i+1) входом запроса в i-й каскад Ai(N-i+1),in the
выходы запроса Sw1, Sw2, …, Sw(N-i) в следующий (i+1)-й каскад последнего W-го каскада 4w соединены с входами элемента ИЛИ-НЕ 8, выход которого соединен с синхронными входами установки в нулевое состояние R всех триггеров 101, 102, …, 10N и входом разрешения работы СЕ входного регистра данных 1,query outputs S w1 , S w2 , ..., S w (Ni) to the next (i + 1) th stage of the last Wth stage 4w are connected to the inputs of the OR-
причем соответствующие одноименные разряды группы из W внутренних шин указателей старших символов U1, U2, …, UW соединены с соответствующими входами одноименных элементов из второй группы из (N-1) элементов ИЛИ 91, 92, …, 9(N-1), выходы которых соединены с входами разрешения работы СЕ соответствующих одноименных триггеров 101, 102, …, 10(N-1), а вход разрешения работы СЕ последнего N-го триггера 10N соединен с последним старшим разрядом U1N первой внутренней шины U1 указателей старших символов,moreover, the corresponding discharges of the same name from a group of W internal bus pointers of higher symbols U1, U2, ..., UW are connected to the corresponding inputs of the same elements from the second group of (N-1) elements OR 9 1 , 9 2 , ..., 9 (N-1) the outputs of which are connected to the CE enable inputs of the corresponding triggers 10 1 , 10 2 , ..., 10 (N-1) , and the CE enable input of the last N-th trigger 10 N is connected to the last high-order bit U 1N of the first internal bus U1 high pointers
инверсные выходы всех триггеров 101, 102, …, 10N соединены с информационными входами D соответствующих одноименных триггеров 101, 102, …, 10N, а также являются разрядами внутренней N разрядной шины выходов триггеров Т, которая поразрядно соединена с первыми входами соответствующих одноименных элементов И первой группы из N элементов И 31, 32, …, 3N,the inverse outputs of all triggers 10 1 , 10 2 , ..., 10 N are connected to the information inputs D of the corresponding triggers 10 1 , 10 2 , ..., 10 N , and are also bits of the internal N bit of the output bus of the triggers T, which is bitwise connected to the first the inputs of the corresponding elements of the same name And the first group of N elements And 3 1 , 3 2 , ..., 3 N ,
информационные входы всех W коммутаторов 111, 112, …, 11W соединены с внутренней шиной данных DD, а управляющие входы каждого i-го коммутатора 11i соединены с соответствующей i-ой внутренней шиной Ui указателей старших символов, выходы всех W коммутаторов 111, 112, …, 11W соединены с соответствующими W группами входов из k разрядов, начиная со второй группы входов, выходного буфера 12, выходы Q которого являются внешними выходами устройства 16.information inputs of all
На фиг. 1 представлена схема предлагаемого устройства для компрессии данных при N=6 входных символов по k разрядов и количестве выходных символов W=3 по k разрядов. На фиг. 2 приведены форматы входных данных и внутренней шины маски М. На фиг. 3 приведен формат выходных данных.In FIG. 1 is a diagram of the proposed device for data compression with N = 6 input symbols of k bits and the number of output symbols W = 3 of k bits. In FIG. 2 shows the formats of the input data and the internal bus of the mask M. FIG. 3 shows the output format.
В устройстве приняты следующие обозначения:The following notation is accepted in the device:
Ai1, Ai2, …, Ai(N+1-i) - группа из (N+1-i) входов запроса в i-й каскад (i=1, 2, …, W) многовыходного блока приоритета,A i1 , A i2 , ..., A i (N + 1-i) - a group of (N + 1-i) request inputs in the i-th cascade (i = 1, 2, ..., W) of the multi-output priority block,
СЕ - вход разрешения работы,CE - work permit input,
CLR - вход установки в нулевое состояние,CLR - input installation to zero state,
D - информационный вход триггера,D - trigger information input,
D1, D2, …, D6 (DN) - N входных символов по k разрядов,D1, D2, ..., D6 (DN) - N input characters of k bits,
DD - внутренняя шина данных из N символов по k разрядов,DD - internal data bus of N characters in k bits,
FZ - флаг нулевых символов (флаг нуля),FZ - flag of zero characters (flag of zero),
k - разрядность символов,k is the character length,
М - внутренняя N разрядная шина маски символов,M - internal N bit bus character mask
Q - выходная шина разрядностью N+W*k,Q - output bus bit capacity N + W * k,
QD - выходные разряды данных W символов по k разрядов,QD - output bits of the data W characters for k bits,
QM - выходные N разрядов маски символов,QM - output N bits of a mask of characters,
R - вход синхронной установки триггера в нулевое состояние,R - input synchronous installation of the trigger in a zero state,
Si1, Si2, …, Si(N-i) - группа из (N-i) выходов запроса в следующий (i+1)-й каскад,S i1 , S i2 , ..., S i (Ni) - a group of (Ni) outputs of the request in the next (i + 1) -th cascade,
Т - внутренняя N разрядная шина выходов триггеров,T is the internal N discharge bus of the outputs of the triggers,
U1, U2, …, UW - группа из W внутренних шин указателей старших символов по (N-i+1) разрядов,U1, U2, ..., UW - a group of W internal bus pointers of the most significant characters in (N-i + 1) bits,
W - количество выходных символов по k разрядов,W is the number of output symbols in k bits,
1 - входной регистр данных,1 - input data register,
21, 22, …, 2N - первая группа из N элементов ИЛИ,2 1 , 2 2 , ..., 2 N - the first group of N elements OR,
31, 32, …, 3B - первая группа из N элементов И,3 1 , 3 2 , ..., 3 B - the first group of N elements And,
41, 42, …, 4W - W каскадов многовыходного блока приоритета,4 1 , 4 2 , ..., 4 W - W stages of the multi-output priority block,
5i1, 5i2, …, 5i(N-i-1) - группа из (N-i-1) элементов ИЛИ каждого i-го каскада многовыходного блока приоритета,5 i1 , 5 i2 , ..., 5 i (Ni-1) - a group of (Ni-1) elements OR of each i-th cascade of a multi-output priority block,
6i1, 6i2, …, 6i(N-i) - группа из (N-i) элементов запрета И с одним инверсным входом каждого i-го каскада многовыходного блока приоритета,6 i1 , 6 i2 , ..., 6 i (Ni) - a group of (Ni) prohibition elements AND with one inverse input of each i-th cascade of a multi-output priority block,
7i1, 7i2, …, 7i(N-i) - группа из (N-i) элементов И каждого i-го каскада многовыходного блока приоритета,7 i1 , 7 i2 , ..., 7 i (Ni) - a group of (Ni) elements And of each i-th cascade of a multi-output priority block,
8 - элемент ИЛИ-НЕ,8 - element OR NOT,
9i1, 9i2, …, 5(N-1) - вторая группа из (N-1) элементов ИЛИ,9 i1 , 9 i2 , ..., 5 (N-1) - the second group of (N-1) elements OR,
101, 102, …, 10N - группа из N синхронных D-триггеров с входом разрешения работы СЕ, асинхронным и синхронным входами установки в нулевое состояние,10 1 , 10 2 , ..., 10 N - a group of N synchronous D-flip-flops with CE operation enable input, asynchronous and synchronous zero-setting inputs,
111, 112, …, 11W - W коммутаторов блока коммутаторов данных,11 1 , 11 2 , ..., 11 W - W switches of the data switch block,
12 - выходной буфер,12 - output buffer
13 - внешние входы данных D1, D2, …, D6 (DN),13 - external data inputs D1, D2, ..., D6 (DN),
14 - внешний вход CLR асинхронной установки в нулевое состояние,14 - external input CLR asynchronous installation in a zero state,
15 - внешний вход С синхронизации,15 - external input With synchronization,
16 - внешние выходы Q.16 - external outputs Q.
Устройство для компрессии данных содержит N входных символов D1, D2, …, DN по k разрядов соединенных с входным регистром данных 1, первую группу из N элементов ИЛИ 21, 22, …, 2N, первую группу из N элементов И 31, 32, …, 3N, многовыходной блок приоритета 4, элемент ИЛИ-НЕ 8, вторую группу из (N-1) элементов ИЛИ 91, 92, …, 9(N-1), группу из N синхронных D-триггеров 101, 102, …, 10N, блок коммутаторов данных 11, выходной буфер 12, а также введены внешний вход С синхронизации 15, внешний вход CLR асинхронной установки в нулевое состояние 14, внешние выходы Q устройства 16, внутренняя шина данных DD из N символов по k разрядов, внутренняя N разрядная шина маски символов М, внутренняя N разрядная шина выходов триггеров Т и группа из W внутренних шин указателей старших символов U1, U2, …, UW, причем в блок коммутатора данных введены W коммутаторов 111, 112, …, 11W, а в многовыходной блок приоритета введены W каскадов 41, 42, 4W, причем каждый i-й каскад 4i (i=1, 2, …, W, где W количество выходных символов), содержит группу из (N-1-i) элементов ИЛИ 5i1, 5i2, …, 5i(N-i-1), группу из (N-i) элементов запрета И с одним инверсным входом 6i1, 6i2, …, 6i(N-i) и группу из (N-i) элементов И 7i1, 7i2, …, 7i(N-i).The device for data compression contains N input characters D1, D2, ..., DN of k bits connected to the input data register 1, the first group of N elements OR 2 1 , 2 2 , ..., 2 N , the first group of N elements AND 3 1 , 3 2 , ..., 3 N , multi-output priority block 4, element OR NOT 8, the second group of (N-1) elements OR 9 1 , 9 2 , ..., 9 (N-1) , a group of N synchronous D -triggerov 10 1, 10 2, ... 10 N, the data block of switches 11, output buffer 12 and also introduced an external input sync 15 C, the external asynchronous set input CLR in the null state 14, external device 16 outputs Q, VNU The front data bus DD of N characters of k bits, the internal N bit bus of the mask of the symbols M, the internal N bit bus of the outputs of the triggers T, and the group of W internal bus pointers of the highest characters U1, U2, ..., UW, and W is entered into the data switch block switches 11 1 , 11 2 , ..., 11 W , and W stages 4 1 , 4 2 , 4 W are entered in the multi-output priority block, and each i-th stage 4 i (i = 1, 2, ..., W, where W number of output symbols), contains a group of (N-1-i) elements OR 5 i1 , 5 i2 , ..., 5 i (Ni-1) , a group of (Ni) elements of the inhibit AND with one inverse input 6 i1 , 6 i2 , ..., 6 i (Ni) group and y of (Ni) and elements 7 i1, 7 i2, ..., 7 i (Ni).
Входной регистр данных 1 содержит N*k информационных разрядов и предназначен для хранения текущего массива N входных символов D1, D2, DN по k разрядов, а также содержит вход разрешения записи СЕ, вход синхронизации С и вход установки в нулевое состояние CLR. Выходы входного регистра данных 1 являются внутренней шиной данных DD.The input data register 1 contains N * k information bits and is designed to store the current array of N input characters D1, D2, DN of k bits, and also contains a CE write enable input, a synchronization input C, and an installation input to the zero state CLR. The outputs of the input data register 1 are the internal data bus DD.
В группе из N синхронных D-триггерах 101, 102, …, 10N каждый триггер также содержит вход синхронизации С, вход разрешения работы СЕ, асинхронный CLR и синхронный R входы установки в нулевое состояние.In a group of N synchronous D-flip-flops 10 1 , 10 2 , ..., 10 N, each trigger also contains a synchronization input C, a CE enable input, an asynchronous CLR, and synchronous R zero-state inputs.
Выходной буфер 12 содержит (W+1) группу информационных входов, вход синхронизации С и вход установки в нулевое состояние CLR.The
Внешний вход CLR установки в нулевое состояние 14 соединен с входами установки в нулевое состояние входного регистра 1 и выходного буфера 12, а также входами CLR асинхронной установки в нулевое состояние всех триггеров 101, 102, …, 10.The external input CLR of the zero
Внешний вход С синхронизации 15 соединен с входами синхронизации С всех триггеров 101, 102, …, 10, входного регистра 1 и выходного буфера 12.External
Разряды внутренней шиной данных DD группами из k разрядов по символам соединены с соответствующими входами одноименных символам элементам первой группы из N элементов ИЛИ 21, 22, …, 2N, выходы которых соединены со вторыми входами одноименных элементов первой группы элементов И 31, 32, …, 3N, выходы которых являются разрядами внутренней шины маски символов М, которые также соединены с первой группой входов выходного буфера 12.The bits of the internal data bus DD by groups of k bits by symbols are connected to the corresponding inputs of the same name to the elements of the first group of N elements OR 2 1 , 2 2 , ..., 2 N , the outputs of which are connected to the second inputs of the same elements of the first group of elements And 3 1 , 3 2 , ..., 3 N , the outputs of which are the bits of the internal bus of the symbol mask M, which are also connected to the first group of inputs of the
Каждый i-й каскад 4i многовыходного блока приоритета содержит группу из (N+1-i) входов запроса в i-й каскад Ai1, Аi2, …, Ai(N+1-i), шину Ui из (N+1-i) разрядов выходов указателей старших символов i-го ранга (1-й ранг имеет высший приоритет, а старший разряд имеет старший приоритет) и группу из (N-i) выходов запроса Si1, Si2, …, Si(N-i) в следующий (i+1)-й каскад.Each i-
Разряды внутренней шины маски символов М соединены с соответствующими входами запроса A11, А12, …, А1N первого каскада 41, а в первых (W-1) каскадах 41, 42, …, 4(W-1), кроме последнего W-го каскада 4W, (N-i) выходов запроса в следующий (i+1)-й каскад Si1, Si2, …, Si(N-1) соединены с соответствующими (N-i) входами запроса следующего (i+1)-го каскада A(i+1)1, A(i+1)2, …, A(i+1)(N-i).The digits of the internal bus of the symbol mask M are connected to the corresponding inputs of the request A 11 , A 12 , ..., A 1N of the
В многовыходном блоке приоритета 4 в каждом i-м каскаде 4i первые (N-i) входов Аi1, Ai2, …, Ai(N-i) из группы входов запроса, кроме последнего входа запроса Ai(N-i+1), соединены с первыми прямыми входами соответствующих элементов 6i1, 6i2, …, 6i(N-i) из группы элементов запрета И с одним инверсным входом. Выходы всех элементов группы из (N-i-1) элементов ИЛИ 5i1, 5i2, …, 5i(N-i-1) соединены со вторыми инверсными входами соответствующих первых (N-i-1) элементов 6i1, 6i2, …, 6i(N-i-1) группы из элементов запрета И с одним инверсным входом, кроме последнего элемента 6i(N-i), у которого второй инверсный вход соединен с последним (N-i+1) входом Ai(N-i+1) группы запроса i-го каскада и вторым входом последнего элемента 5i(N-i-1) из группы элементов ИЛИ. Кроме того, в каждом i-м каскаде 4i первые входы (N-i-1) элементов 5i1, 5i2, …, 5i(N-i-1) из группы элементов ИЛИ соединены с соответствующими (N-i-1) входами Ai1, Ai2, …, Ai(N-i) запроса в i-й каскад, начиная со второго входа запроса, кроме последнего входа запроса Ai(N-i+1), а вторые входы первых (N-i-2) элементов 5i1, 5i2, …, 5i(N-i-2) из группы элементов ИЛИ соединены с выходами соответствующих последующих элементов 5i2, 5i3, …, 5i(N-i-2) из группы элементов ИЛИ. Причем в первых (W-1) каскадах, кроме последнего W-го каскада, вторые входы (N-i) элементов 7i1, 7i2, …, 7i(N-i) из группы элементов И соединены с соответствующими первыми (N-i) входами запроса в i-й каскад Ai1, Ai2, …, Ai(N-i), кроме последнего входа запроса Ai(N-i+1), первые входы первых (N-i-1) элементов 7i1, 7i2, …, 7i(N-i), из группы элементов И соединены с выходами соответствующих (N-i-1) элементов 5i1, 5i2, …, 5i(N-i-1) из группы элементов ИЛИ, первый вход последнего элемента 7i(N-i) из группы элементов И соединен с последним входом запроса Ai(N-i+1). Выходы (N-i) элементов 7i1, 7i2, …, 7i(N-i) из группы элементов И являются группой из (N-i) выходов запроса Si1, Si2, …, Si(N-i) в следующий (i+1)-й каскад. Кроме того, в каждом i-м каскаде 4i выходы (N-i) элементов 6i1, 6i2, …, 6i(N-i) из группы элементов запрета И с одним инверсным входом являются первыми (N-i) разрядами соответствующей внутренней шины i-го ранга Ui1, Ui2, …, Ui(N-i) из W внутренних шин указателей старших символов, а последний (N-i+1) разряд Ui(N+1-i) соединен с последним (N-i+1) входом запроса в i-й каскад Ai(N-i+1).In the multi-output block of
Выходы запроса Sw1, Sw2, …, Sw(N-i) в следующий (i+1)-й каскад последнего W-го каскада 4W соединены с входами элемента ИЛИ-НЕ 8, выход которого соединен с синхронными входами установки в нулевое состояние R всех триггеров 101, 102, …, 10N и входом разрешения работы СЕ входного регистра данных 1.The request outputs S w1 , S w2 , ..., S w (Ni) to the next (i + 1) th stage of the
Причем соответствующие одноименные разряды группы из W внутренних шин указателей старших символов U1, U2, …, UW соединены с соответствующими входами одноименных элементов из второй группы из (N-1) элементов ИЛИ 91, 92, …, 9i(N-1), выходы которых соединены с входами разрешения работы СЕ соответствующих одноименных триггеров 101, 102, …, 10(N-1), а вход разрешения работы СЕ последнего N-го триггера 10N соединен с последним старшим разрядом U1N первой внутренней шины U1 указателей старших символов.Moreover, the corresponding discharges of the same name from a group of W internal bus pointers of higher symbols U1, U2, ..., UW are connected to the corresponding inputs of the same elements from the second group of (N-1) elements OR 9 1 , 9 2 , ..., 9 i (N-1 ) , the outputs of which are connected to the CE enable inputs of the corresponding triggers 10 1 , 10 2 , ..., 10 (N-1) , and the CE enable input of the last N-th trigger 10 N is connected to the last high-order bit U 1N of the first internal bus U1 pointers to high characters.
Инверсные выходы всех триггеров 101, 102, …, 10N соединены с информационными входами D соответствующих одноименных триггеров 101, 102, …, 10N, а также являются разрядами внутренней N разрядной шины выходов триггеров Т, которая поразрядно соединена с первыми входами соответствующих одноименных элементов И первой группы из N элементов И 31, 32, …, 3N.The inverse outputs of all triggers 10 1 , 10 2 , ..., 10 N are connected to the information inputs D of the corresponding triggers 10 1 , 10 2 , ..., 10 N , and they are also bits of the internal N bit of the output bus of the triggers T, which is bitwise connected to the first the inputs of the corresponding elements of the same name And the first group of N elements And 3 1 , 3 2 , ..., 3 N.
Информационные входы всех W коммутаторов 111, 112, …, 11W соединены с внутренней шиной данных DD, а управляющие входы каждого i-го коммутатора 11i соединены с соответствующей i-ой внутренней шиной Ui указателей старших символов. Выходы всех W коммутаторов 111, 112, …, 11W соединены с соответствующими W группами входов из k разрядов, начиная со второй группы входов, выходного буфера 12, выходы Q которого являются внешними выходами устройства 16.The information inputs of all W switches 11 1 , 11 2 , ..., 11 W are connected to the internal data bus DD, and the control inputs of each i-
Принцип работы устройства состоит в следующем.The principle of operation of the device is as follows.
Входной массив данных D1, D2, …, DN содержит N символов по k разрядов (фиг. 2). Определяют ненулевые символы (в первой группе из N элементов ИЛИ 21, 22, …, 2N) и формируют маску символов М из N разрядов. Каждый разряд маски символов М принимает единичное значение, если соответствующий символ ненулевой, или нулевое значение, если соответствующий символ нулевой, а также в зависимости от состояния соответствующего одноименного символу D-триггера из группы 101, 102, …, 10N (в первой группе из N элементов И 31, 32, …, 3N).The input data array D1, D2, ..., DN contains N characters of k bits (Fig. 2). Non-zero characters are determined (in the first group of N elements OR 2 1 , 2 2 , ..., 2 N ) and a symbol mask M of N digits is formed. Each digit of the symbol mask M takes a single value if the corresponding symbol is non-zero, or zero if the corresponding symbol is zero, and also depending on the state of the corresponding D-flip-flop from the group 10 1 , 10 2 , ..., 10 N (in the first a group of N elements AND 3 1 , 3 2 , ..., 3 N ).
Далее по значениям разрядов маски символов М в W каскадах 41, 42, …, 4W многовыходного блока приоритета формируются W групп соответствующего ранга приоритета (группа с меньшим номером имеет высший приоритет, а старший разряд в группе имеет старший приоритет), которые поступают на разряды группы из W внутренних шин указателей старших символов U1, U2, …, UW по (N-i+1) разрядов. На каждой шине Ui указателей старших символов устанавливается значение в единичном кодировании в коде «1 из N». В соответствии с приоритетом W коммутаторов блока коммутаторов данных 111, 112, …, 11W передают не более W соответствующих старших ненулевых символов входных данных D1, D2, …, DN на соответствующие группы входов выходного буфера 12 (ненулевые символы поступают в обратном порядке - старший ненулевой символ поступает на младшую группу входов), на первую группу входов которого поступают также значения маски символов М (фиг. 3). Запись в выходной буфер 12 выполняется по тактовому сигналу С.Further, according to the values of the digits of the symbol mask M in W stages 4 1 , 4 2 , ..., 4 W of the multi-output priority block, W groups of the corresponding priority rank are formed (the group with the lower number has the highest priority, and the senior bit in the group has the highest priority), which are received to the bits of a group of W internal bus pointers of high characters U1, U2, ..., UW by (N-i + 1) bits. On each bus Ui of the high-order pointers, a value is set in unit coding in the code “1 of N”. In accordance with the priority W of the switches of the block of data switches 11 1 , 11 2 , ..., 11 W transmit no more than W of the corresponding senior nonzero characters of the input data D1, D2, ..., DN to the corresponding input groups of the output buffer 12 (nonzero characters arrive in the reverse order - the senior non-zero symbol enters the lower group of inputs), the first group of inputs of which also receive the values of the mask of symbols M (Fig. 3). Writing to the
Одновременно, в соответствии с единичными значениями разрядов внутренних шин U1, U2, …, UW указателей старших символов, на выходах второй группы из (N-1) элементов ИЛИ 91, 92, …, 9(N-1) формируются единичные значения, соответствующие выбранным ненулевым символам, которые поступают на входы разрешения СЕ синхронных D-триггеров 101, 102, …, 10N, которые по тактовому сигналу С переключаются в единичное состояние, при единичном значении СЕ=1, или сохраняют состояние при нулевом значении СЕ=0. При этом по нулевым значениям на выходах триггеров 101, 102, …, 10N на следующем шаге блокируются выбранные и переданные символы - обнуляются соответствующие разряды в маске символов М (в первой группе из N элементов И 31, 32, …, 3N) и проводится выборка следующих W ненулевых символов для передачи в выходной буфер 12.At the same time, in accordance with the unit values of the digits of the internal buses U1, U2, ..., UW of the upper character pointers, unit values are formed at the outputs of the second group of (N-1) elements OR 9 1 , 9 2 , ..., 9 (N-1) corresponding to the selected non-zero characters that go to the CE enable inputs of synchronous D-flip-flops 10 1 , 10 2 , ..., 10 N , which, according to the clock signal C, switch to the single state, with the unit value CE = 1, or save the state at the zero value CE = 0. At the same time, at the outputs of the triggers 10 1 , 10 2 , ..., 10 N, at the next step, the selected and transmitted symbols are blocked - the corresponding digits in the symbol mask M are reset (in the first group of N elements And 3 1 , 3 2 , ..., 3 N ) and the following W non-zero symbols are sampled for transmission to the
Если на выходах SW1, SW2, …, SW(N-i) запроса в следующий каскад W-го каскада UW будут установлены нулевые значения, что соответствует отсутствию не выбранных ненулевых символов, то на выходе элемента ИЛИ-НЕ 8 будет сформировано единичное значение флага нуля (флаг нулевых символов) FZ=1, по которому по тактовому сигналу С проводится синхронная установка в нулевое состояние всех триггеров 101, 102, …, 10N и разрешается прием следующего массива входных данных D1, D2, …, DN во входной регистр 1.If at the outputs S W1 , S W2 , ..., S W (Ni) of the request zero values are set to the next stage of the Wth stage of UW, which corresponds to the absence of non-selected non-zero characters, then a single value will be generated at the output of the OR-NOT 8 element the zero flag (flag of zero characters) FZ = 1, according to which clock C synchronously sets all triggers 10 1 , 10 2 , ..., 10 N to the zero state and allows the next array of input data D1, D2, ..., DN to be received
При всех нулевых символах входных данных D1, D2, …, DN в устройстве также на всех разрядах указателей старших символов U1, U2, …, UW формируются нулевые значения, формируется флаг нуля FZ=1 на выходе элемента ИЛИ-НЕ 8 и также разрешается прием следующего массива входных данных D1, D2, …, DN во входной регистр 1.For all zero characters of the input data D1, D2, ..., DN, the device also generates zero values on all bits of the pointers of the highest characters U1, U2, ..., UW, the zero flag FZ = 1 is formed at the output of the OR-NOT 8 element, and reception is also allowed the next array of input data D1, D2, ..., DN to input
Предлагаемое устройство работает следующим образом.The proposed device operates as follows.
При подаче единичного сигнала CLR на вход начальной установки устройства 14 в нулевое состояние устанавливаются входной регистр 1, группа из D-триггеров 101, 102, …, 10N и выходной буфер 12. При этом на инверсных выходах триггеров 101, 102, …, 10N будут установлены единичные значения, на выходах регистра 1 будут установлены нулевые значения, на всех разрядах внутренней шины маски символов М и на всех разрядах указателей старших символов U1, U2, …, UW также будут сформированы нулевые значения, а флаг нуля примет единичное значение FZ=1.When a single CLR signal is applied to the input of the initial installation of the
По тактовому сигналу С на внешнем входе 15 проводится запись первых входных данных D1, D2, …, DN в регистр 1, выходы которого образуют внутреннюю шину данных DD, к которой подключены по символам соответствующие входы первой группы элементов ИЛИ 21, 22, …, 2N. Далее на выходах первой группы элементов ИЛИ 21, 22, …, 2N будут установлены единичные значения для ненулевых символов, и так как инверсных выходах триггеров 101, 102, …, 10N также установлены единичные значения, то на внутренней шине маски М сформируются единичные значения соответствующие всем ненулевым символам входного массива (на выходах первой группы из N элементов И 31, 32, …, 3N).By a clock signal C at the
Сигналы с выходов внутренней шины маски М являются входами запросов для многовыходного блока приоритета 4, который позволяет определить среди N входов запроса не только сигнал с наивысшим приоритетом, но также определить сигналы со вторым, третьим, W-м по старшинству приоритетами.The signals from the outputs of the internal bus of the mask M are the request inputs for the
В соответствии со значениями N разрядов маски символов М в W каскадах 41, 42, …, 4W многовыходного блока приоритета формируются W групп соответствующего ранга приоритета на W внутренних шинах указателей старших символов U1, U2, …, UW по (N-i+1) разрядов в каждой i-ой шине Ui. При этом в каждой шине Ui будет установлено значение в единичном кодировании в виде унитарного кода «1 из N» в соответствии с приоритетом ненулевых символов, начиная со старших символов. Выходы группы с меньшим номером имеют высший приоритет, а старший разряд в группе имеет старший приоритет.In accordance with the values of the N digits of the symbol mask M in W stages 4 1 , 4 2 , ..., 4 W of the multi-output priority block, W groups of the corresponding priority rank are formed on W internal buses of the upper symbol pointers U1, U2, ..., UW according to (N-i +1) bits in each i-th bus Ui. In this case, in each bus Ui, a unit coding value will be set in the form of a unitary code “1 of N” in accordance with the priority of non-zero characters, starting with the most significant characters. The outputs of the group with the lower number have the highest priority, and the highest bit in the group has the highest priority.
Сигналы с внутренней шины маски символов М поступают на входы запроса A11, А12, …, A16 (А1N) первого каскада 41. В первом каскаде 41 на выходах группы элементов ИЛИ 511, 512, …, 514 (51(N-2)), объединенных в цепочку, входной код запросов преобразуется в код «00…011..1», где левая (старшая) единица соответствует высшему приоритету (старшему ненулевому символу). Далее на выходе только одного элемента запрета И с одним инверсным входом 611, 612, …, 615 (61(N-1)), на входы которого поданы значения «01», формируется единичное значение, указывающее на запрос с высшим приоритетом (старший ненулевой символ), а на остальных выходах будет установлено нулевое значение. Если установлен запрос с высшим приоритетом A16 (А1N), то единичное значение устанавливается на выходе старшего указателя U16 (U1N). Таким образом, на выходах U11, U12, …, U16 будет установлено значение в единичном кодировании в виде унитарного кода «1 из N» соответствующее запросу с наивысшим приоритетом (первому старшему ненулевому символу).The signals from the internal bus of the mask of symbols M are supplied to the inputs of the request A 11 , A 12 , ..., A 16 (A 1N ) of the
Далее так как на первые входы элементов И 711, 712, …, 715 с выходов элементов ИЛИ 511, 512, …, 514 и старшего запроса A16 поступает код «00…011..1», а на вторые входы входные сигналы запроса A11, А12, …, А15, кроме старшего запроса A16, то выходах S11, S12, …, S15 запроса в следующий второй каскад 42 будут установлены запросы с «исключенным» запросом с высшим приоритетом. Далее сигналы запросов S11, S12, …, S15 поступают на входы запроса А21, А22, …, А25 второго каскада 42, в котором аналогично на выходах U21, U22, …, U25 будет установлено значение в единичном кодировании в виде унитарного кода «1 из N» соответствующее запросу со вторым приоритетом (второму старшему ненулевому символу). Затем формируется результат в виде унитарного кода «1 из N» в третьем, четвертом, W-м каскадах, соответствующих следующим ненулевым символам в порядке старшинства.Further, since the first inputs of the elements AND 7 11 , 7 12 , ..., 7 15 from the outputs of the elements OR 5 11 , 5 12 , ..., 5 14 and the senior request A 16 receive the code "00 ... 011..1", and the second inputs are input signals of the request A 11 , A 12 , ..., A 15 , except for the senior request A 16 , then the outputs S 11 , S 12 , ..., S 15 of the request in the next
Далее в соответствии с приоритетами на W внутренних шинах U1, U2, …, UW указателей старших символов W коммутаторов блока коммутаторов данных 111, 112, …, 11W выбирают до W ненулевых символов по k разрядов и передают их на входы выходного буфера 12.Further, in accordance with the priorities on the W internal buses U1, U2, ..., UW of the high symbol pointers W of the switches of the data switch
Одновременно на выходах второй группы из (N-1) элементов ИЛИ 91, 92, …, 9(N-1) формируются единичные значения соответствующие выбранным ненулевым символам, которые поступают на входы разрешения СЕ синхронных D-триггеров 101, 102, …, 10N.At the same time, at the outputs of the second group of (N-1) elements OR 9 1 , 9 2 , ..., 9 (N-1) , unit values are formed corresponding to the selected non-zero characters, which are fed to the CE enable inputs of synchronous D-flip-flops 10 1 , 10 2 , ..., 10 N.
По следующему тактовому сигналу С проводится запись выбранных W ненулевых символов в выходной буфер 12 и выдача на внешние выходы Q устройства, а также изменение состояния D-триггеров 101, 102, …, 10N на единичное значение при соответствующем единичном сигнале разрешения работы СЕ=1.According to the next clock signal C, the selected W non-zero characters are recorded in the
Далее по нулевым значениям на выходах триггеров 101, 102, …, 10N блокируются выбранные и переданные символы - обнуляются соответствующие разряды в маске символов М (в первой группе из N элементов И 31, 32, …, 3N) и аналогично проводится выборка следующих W ненулевых символов для передачи в выходной буфер 12 и выдача на внешние выходы Q устройства.Further, at the zero values at the outputs of the triggers 10 1 , 10 2 , ..., 10 N , the selected and transmitted symbols are blocked - the corresponding digits in the symbol mask M are reset to zero (in the first group of N elements And 3 1 , 3 2 , ..., 3 N ) and similarly, the following W non-zero symbols are sampled for transmission to the
Далее аналогично по каждому тактовому сигналу С проводится запись выбранных очередных W ненулевых символов в выходной буфер 12, а также изменение состояния D-тригтеров 101, 102, …, 10N на единичное значение при соответствующем единичном сигнале разрешения работы СЕ=1.Then, similarly, for each clock signal C, the selected next W non-zero characters are recorded in the
Одновременно в зависимости от наличия не выбранных ненулевых символов или их отсутствия формируется флаг нуля соответственно FZ=0 или FZ=1 (на выходе элемента ИЛИ-НЕ 8). При отсутствии не выбранных ненулевых символов и сформированном единичном значении флага нуля FZ=1 проводится синхронная установка в нулевое состояние всех триггеров 101, 102, …, 10N и по следующему тактовому сигналу С проводится запись следующего «нового» массива входных данных D1, D2, …, DN во входной регистр 1.At the same time, depending on the presence of non-selected non-zero characters or their absence, a zero flag is generated respectively FZ = 0 or FZ = 1 (at the output of the OR-NOT 8 element). In the absence of non-selected non-zero characters and the generated single value of the zero flag FZ = 1, all triggers 10 1 , 10 2 , ..., 10 N are synchronously set to zero and the next "new" input data array D1 is recorded by the next clock signal C, D2, ..., DN in
Далее проводится формирование групп по W ненулевых символов по k разрядов в соответствии с рассмотренным выше алгоритмом работы для «нового» массива данных.Next, groups of W nonzero characters of k bits are formed in accordance with the above algorithm for the “new” data array.
Формирование групп по W ненулевых k разрядных символов и соответствующих значений N разрядной маски М, запись в выходной буфер 12 и выдача на внешние выходы Q устройства проводится за количество тактов кратное количеству W ненулевых символов в массиве входных данных.The formation of groups of W non-zero k bit characters and the corresponding values of N bit masks M, write to the
Таким образом, в канал передачи на внешние выходы устройства 16 поступают:Thus, in the transmission channel to the external outputs of the
- N разрядов маски символов QM,- N bits of the QM character mask,
- разряды данных выбранных приоритетных W ненулевых символов по k разрядов QD.- data bits of selected priority W non-zero symbols in k bits of QD.
Выходной буфер 12 может быть реализован как регистр или как буфер FIFO. Блок коммутаторов данных 14 может быть реализован на матрице мультиплексоров.The
Приведенное устройство для компрессии данных может быть эффективно применено в системах регистрации, сбора и обработки данных без потери информации в режиме реального времени в физических экспериментах.The device for data compression can be effectively used in systems for recording, collecting and processing data without loss of information in real time in physical experiments.
В результате предлагаемое устройство позволяет экономить объем памяти, повышать эффективность использования ресурсов с одновременным уменьшением времени передачи данных, за счет исключения из входных данных нулевых символов.As a result, the proposed device allows to save the amount of memory, increase the efficiency of resource use while reducing data transfer time, by eliminating zero characters from the input data.
Таким образом, вышеизложенные сведения позволяют сделать вывод, что предлагаемое устройство обеспечивает компрессию входных данных без потерь, обладает регулярностью узлов и связей, при этом упрощается конструкция и, следовательно, устройство соответствует заявляемому техническому результату - простота реализации с одновременным уменьшением времени передачи данных, повышение информационной вместимости без потерь информации за счет сокращения необходимого объема памяти для хранения последовательности двоичных символов.Thus, the above information allows us to conclude that the proposed device provides compression of input data without loss, has a regularity of nodes and connections, while simplifying the design and, therefore, the device meets the claimed technical result - ease of implementation while reducing data transfer time, increasing information lossless storage capacity by reducing the required memory capacity for storing a sequence of binary characters.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017143286A RU2672625C1 (en) | 2017-12-11 | 2017-12-11 | Device for compression of data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017143286A RU2672625C1 (en) | 2017-12-11 | 2017-12-11 | Device for compression of data |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2672625C1 true RU2672625C1 (en) | 2018-11-16 |
Family
ID=64327957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017143286A RU2672625C1 (en) | 2017-12-11 | 2017-12-11 | Device for compression of data |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2672625C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2701711C1 (en) * | 2019-01-09 | 2019-09-30 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for packing data |
RU2710987C1 (en) * | 2019-05-07 | 2020-01-14 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for data compression |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61109353A (en) * | 1984-11-02 | 1986-05-27 | Hitachi Ltd | Data compression system |
RU2154350C2 (en) * | 1995-06-20 | 2000-08-10 | Рикох Компани, Лтд. | Method and system of coding, method and system for decoding |
US6940899B2 (en) * | 2000-03-29 | 2005-09-06 | Hughes Electronics Corporation | System employing data compression transparent mode with compression parameter negotiation |
RU2413360C1 (en) * | 2006-11-14 | 2011-02-27 | Квэлкомм Инкорпорейтед | Memory efficient adaptive block coding |
US20110235697A1 (en) * | 2001-02-13 | 2011-09-29 | Realtime Data, Llc | Bandwidth Sensitive Data Compression and Decompression |
EP2546993A1 (en) * | 2011-07-12 | 2013-01-16 | Hughes Network Systems, LLC | System and method for long range and short range data compression |
US8717203B2 (en) * | 1998-12-11 | 2014-05-06 | Realtime Data, Llc | Data compression systems and methods |
RU2622878C1 (en) * | 2016-08-01 | 2017-06-20 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for data compression |
-
2017
- 2017-12-11 RU RU2017143286A patent/RU2672625C1/en active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61109353A (en) * | 1984-11-02 | 1986-05-27 | Hitachi Ltd | Data compression system |
RU2154350C2 (en) * | 1995-06-20 | 2000-08-10 | Рикох Компани, Лтд. | Method and system of coding, method and system for decoding |
US8717203B2 (en) * | 1998-12-11 | 2014-05-06 | Realtime Data, Llc | Data compression systems and methods |
US6940899B2 (en) * | 2000-03-29 | 2005-09-06 | Hughes Electronics Corporation | System employing data compression transparent mode with compression parameter negotiation |
US20110235697A1 (en) * | 2001-02-13 | 2011-09-29 | Realtime Data, Llc | Bandwidth Sensitive Data Compression and Decompression |
RU2413360C1 (en) * | 2006-11-14 | 2011-02-27 | Квэлкомм Инкорпорейтед | Memory efficient adaptive block coding |
EP2546993A1 (en) * | 2011-07-12 | 2013-01-16 | Hughes Network Systems, LLC | System and method for long range and short range data compression |
RU2622878C1 (en) * | 2016-08-01 | 2017-06-20 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for data compression |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2701711C1 (en) * | 2019-01-09 | 2019-09-30 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for packing data |
RU2710987C1 (en) * | 2019-05-07 | 2020-01-14 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for data compression |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2622878C1 (en) | Device for data compression | |
US5781129A (en) | Adaptive encoder circuit for multiple data channels and method of encoding | |
US7161507B2 (en) | Fast, practically optimal entropy coding | |
US5652878A (en) | Method and apparatus for compressing data | |
EP0098153B1 (en) | Digital data code conversion circuit for variable-word-length data code | |
JP2549254B2 (en) | Method and apparatus for predicting occurrence probability of arbitrary symbol in finite alphabet | |
KR100702428B1 (en) | Method and circuit for data compression | |
RU2672625C1 (en) | Device for compression of data | |
US8943115B1 (en) | Bitwise comparator for selecting two smallest numbers from a set of numbers | |
US3588364A (en) | Adaptive encoder and decoder | |
WO2003049226A1 (en) | Method for assigning variable-length walsh codes for code division multiple access communications systems | |
RU2658147C1 (en) | Data decompression device | |
US5488366A (en) | Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles | |
RU2710987C1 (en) | Device for data compression | |
RU2697618C1 (en) | Device for decompression of data | |
RU2701711C1 (en) | Device for packing data | |
KR20040033745A (en) | Frequency hopping sequence generator | |
US7071855B1 (en) | Gray code conversion method and apparatus embodying the same | |
RU153302U1 (en) | ENCODING DEVICE | |
Fenwick | Universal codes | |
RU2729509C1 (en) | Device for unpacking data | |
US4435781A (en) | Memory-based parallel data output controller | |
KR100702453B1 (en) | Circuit and method for use in data compression | |
RU2613533C1 (en) | Shifter | |
Fraenkel | The use and usefulness of numeration systems |