RU2595955C1 - Method for combined compression and noiseless coding - Google Patents
Method for combined compression and noiseless coding Download PDFInfo
- Publication number
- RU2595955C1 RU2595955C1 RU2015139196/08A RU2015139196A RU2595955C1 RU 2595955 C1 RU2595955 C1 RU 2595955C1 RU 2015139196/08 A RU2015139196/08 A RU 2015139196/08A RU 2015139196 A RU2015139196 A RU 2015139196A RU 2595955 C1 RU2595955 C1 RU 2595955C1
- Authority
- RU
- Russia
- Prior art keywords
- sequence
- next part
- decoded
- coding
- decoding
- Prior art date
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
Заявленное техническое решение относится к области электросвязи и информационных технологий, а именно к технике сжатия избыточной двоичной информации и ее помехоустойчивого кодирования при обмене данными по каналам передачи с ошибками.The claimed technical solution relates to the field of telecommunications and information technology, namely to the technique of compressing redundant binary information and its noise-resistant coding when exchanging data on transmission channels with errors.
Заявленное изобретение может быть использовано для обеспечения достоверности избыточной двоичной информации, передаваемой по каналам с ошибками.The claimed invention can be used to ensure the reliability of redundant binary information transmitted over channels with errors.
Известен способ адаптивного помехоустойчивого кодирования по патенту РФ 2375824 МПК H04L 1/20 (2006.01) от 10.12.2009, заключающийся в том, что на передающей стороне исходную информацию кодируют помехоустойчивым кодом с переменными параметрами, далее помехоустойчивый код передают в канал связи, на приемной стороне помехоустойчивый код декодируют с обнаружением и исправлением ошибок в зависимости от корректирующей способности выбранного кода, по результатам декодирования помехоустойчивого кода оценивают качество канала связи и выбирают переменные параметры помехоустойчивого кода, обеспечивающие заданную вероятность правильного приема помехоустойчивого кода, и далее эти параметры помехоустойчивого кода сообщают на передающую сторону, отличающийся тем, что на приемной стороне по результатам декодирования помехоустойчивого кода рассчитывают начальную величину избыточности помехоустойчивого кода, обеспечивающую заданную вероятность правильного приема помехоустойчивого кода, оценивают вероятность правильного приема помехоустойчивого кода с выбранными параметрами, вычисляют величину отклонения полученной вероятности правильного приема помехоустойчивого кода от заданной вероятности правильного приема кода и в зависимости от величины этого отклонения корректируют величину избыточности помехоустойчивого кода, которую передают на передающую сторону, где формируют помехоустойчивый код с полученной избыточностью.A known method of adaptive error-correcting coding according to the patent of the Russian Federation 2375824 IPC H04L 1/20 (2006.01) dated 12/10/2009, which consists in the fact that on the transmitting side the source information is encoded by an error-correcting code with variable parameters, then the error-correcting code is transmitted to the communication channel, on the receiving side the error-correcting code is decoded with the detection and correction of errors depending on the correcting ability of the selected code, the quality of the communication channel is evaluated according to the results of decoding the error-correcting code, and variables parameters of the error-correcting code, providing a given probability of correct reception of the error-correcting code, and then these parameters of the error-correcting code are reported to the transmitting side, characterized in that on the receiving side, based on the results of decoding the error-correcting code, the initial value of the redundancy of the error-correcting code is calculated, which provides a given probability of correct reception of the error-correcting code, evaluate the probability of correct reception of the error-correcting code with the selected parameters, calculate the deviation of the obtained probability of the correct reception of the error-correcting code from the given probability of the correct reception of the code, and depending on the magnitude of this deviation, the redundancy of the error-correcting code is corrected, which is transmitted to the transmitting side, where the error-correcting code is generated with the received redundancy.
Недостатком указанного аналога является неэффективное использование пропускной способности канала передачи, вызванное отсутствием сжатия избыточной двоичной информации при обмене данными по каналам передачи с ошибками.The disadvantage of this analogue is the inefficient use of transmission channel bandwidth, caused by the lack of compression of excess binary information when exchanging data on transmission channels with errors.
Известен также способ совместного сжатия и помехоустойчивого кодирования речевых сообщений описанный, например, в книге С.Н. Кириллов, В.Т. Дмитриев, Д.Е. Крысяев, С.С. Попов "Исследование качества передаваемой речевой информации при различном сочетании алгоритмов кодирования источника и канала связи в условиях воздействия помех". - Рязань, Вестник РГРТУ, Выпуск 23, 2008. Данный способ заключается в том, что предварительно формируют множество способов сжатия речевого сигнала, таких как импульсно-кодовая модуляция, адаптивная дельта-модуляция, адаптивная дифференциальная импульсно-кодовая модуляция, и множество способов помехоустойчивого кодирования, таких как кодирование Хэмминга, кодирование Боуз-Чоудхури-Хоквингема, на передающей стороне от отправителя получают очередную часть речевого сигнала длиною речевая фраза, который преобразуют в сжатую двоичную последовательность с помощью одного из способов сжатия речевого сигнала, выполняют помехоустойчивое кодирование сжатой двоичной последовательности с помощью одного из способов помехоустойчивого кодирования, передают на приемную сторону по каналу прямой связи очередную часть кодированной последовательности вместе с информацией об использованном способе сжатия речевого сигнала и способе помехоустойчивого кодирования, на приемной стороне получают очередную часть принятой последовательности, очередную часть принятой последовательности последовательно декодируют с использованием соответствующих способа помехоустойчивого декодирования и способа восстановления речевого сигнала, вычисляют оценку качества восстановленного речевого сигнала и полученную оценку сравнивают с пороговым значением качества, если вычисленная оценка качества восстановленного речевого сигнала не хуже предварительно установленного порогового значения качества, то передают получателю очередную часть восстановленной информационной последовательности и передающей стороне от отправителя получают очередную часть речевого сигнала и выполняют последующие действия, иначе передают по каналу обратной связи требование изменить способ сжатия речевого сигнала и способ помехоустойчивого кодирования, и выполняют последующие действия.There is also a method of joint compression and noise-resistant coding of voice messages described, for example, in the book of S. N. Kirillov, V.T. Dmitriev, D.E. Krysyaev, S.S. Popov "Study of the quality of transmitted voice information with a different combination of source and communication channel coding algorithms under the influence of interference". - Ryazan, Vestnik RGRTU, Issue 23, 2008. This method consists in preliminarily generating a plurality of methods for compressing a speech signal, such as pulse-code modulation, adaptive delta modulation, adaptive differential pulse-code modulation, and many methods of noise-resistant coding , such as Hamming coding, Bowes-Chowdhury-Hawkingham coding, on the transmitting side from the sender receive the next part of the speech signal the length of the speech phrase, which is converted into a compressed binary sequence the accuracy using one of the methods of compressing a speech signal, perform error-correcting encoding of a compressed binary sequence using one of the methods of error-correcting encoding, transmit the next part of the encoded sequence along with information about the used method of compressing the speech signal and the method of error-correcting encoding to the receiving side via direct communication channel, on the receiving side receive the next part of the received sequence, the next part of the received sequence they are decoded using the appropriate error-correcting decoding method and the method of reconstructing a speech signal, the quality estimate of the reconstructed speech signal is calculated, and the resulting assessment is compared with the quality threshold value, if the calculated quality assessment of the reconstructed speech signal is not worse than a preset threshold quality value, then the next part of the reconstructed quality is transmitted to the recipient information sequence and the transmitting side from the sender received they receive the next part of the speech signal and perform the following actions, otherwise they transmit via the feedback channel the requirement to change the method of compression of the speech signal and the method of error-correcting coding, and perform the following actions.
Недостатком указанного аналога является большая задержка передачи сообщений по каналу связи, вызванная необходимостью перебора подходящих способа сжатия речевого сигнала и способа помехоустойчивого кодирования.The disadvantage of this analogue is the large delay in the transmission of messages over the communication channel, due to the need to search for a suitable method for compressing a speech signal and a method of error-correcting coding.
Наиболее близким по своей технической сущности к заявленному способу совместного сжатия и помехоустойчивого кодирования является способ совместного сжатия и помехоустойчивого кодирования по патенту США 6892343 МПК H04M 13/00 (2006.01) от 10.05.2005. Способ-прототип совместного сжатия и помехоустойчивого кодирования заключается в том, что на передающей стороне от отправителя получают очередную часть информационной последовательности длиной k≥1 бит, из предварительно сформированного множества выбирают проверочные символы длиной r≥1 бит и записывают вместе с очередной частью информационной последовательности в очередную часть помехоустойчивой последовательности, выполняют сжатие очередной части помехоустойчивой последовательности в очередную часть сжатой последовательности, преобразуют очередную часть сжатой последовательности в очередную часть модулированной последовательности, передают очередную часть модулированной последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, преобразуют ее в двоичную последовательность, которую запоминают, запомненные очередные части принятой последовательности разжимают в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, если декодированные проверочные символы принадлежат предварительно сформированному множеству проверочных символов, то делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности, которые разжимают и выполняют последующие действия до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности.The closest in technical essence to the claimed method of joint compression and noise-resistant coding is the method of joint compression and noise-resistant coding according to US patent 6892343 IPC
Способ-прототип совместного сжатия и помехоустойчивого кодирования обеспечивает возможность обнаружения и исправления ошибок канала передачи.The prototype method of joint compression and error-correcting coding provides the ability to detect and correct transmission channel errors.
Общая схема способа-прототипа совместного сжатия и помехоустойчивого кодирования представлена на фиг. 1. На передающей стороне выполняют совместное сжатие и помехоустойчивое кодирование очередных частей информационной последовательности (ИП), а на приемной стороне - совместное разжатие с обнаружением и исправлением ошибок канала передачи. На передающей стороне при получении от отправителя очередной части информационной последовательности в блоке проверочных символов 1 из предварительно сформированного множества проверочных символов выбирают проверочные символы (ПС), которые вместе с очередной частью информационной последовательности сжимают в блоке сжатия 2. Затем в модуляторе 3 преобразуют очередную часть сжатой последовательности в очередную часть модулированной последовательности, которую передают по каналу передачи 4. На приемной стороне получают очередную часть принятой последовательности и в демодуляторе - последовательном декодере 5 демодулируют ее в двоичную последовательность, которую запоминают. Запомненные очередные части принятой последовательности разжимают в блоке разжатия 6 в очередные части декодированной последовательности, из каждой выделяют очередную часть восстановленной информационной последовательности и декодированные проверочные символы. Декодированные проверочные символы из очередных частей декодированной последовательности в блоке сравнения 7 сравнивают со считанными из блока проверочных символов 8 соответствующими проверочными символами, и при нахождении случая совпадения делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности. Иначе в демодуляторе - последовательном декодере 5 поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности, которые разжимают и выполняют последующие действия до достижения вывода об отсутствии ошибок передачи.The general scheme of the prototype joint compression and error-correcting coding is presented in FIG. 1. On the transmitting side, joint compression and error-correcting coding of the next parts of the information sequence (IP) are performed, and on the receiving side, joint decompression is performed with the detection and correction of transmission channel errors. On the transmitting side, upon receipt of the next part of the information sequence from the sender in the block of
Особенностью способа-прототипа является то, что на передающей стороне выполняют сначала внесение помехоустойчивой избыточности в информационную последовательность, а затем ее сжатие, а на приемной стороне при разжатии обнаруживают ошибки канала передачи при их наличии, а при их обнаружении методом проб и ошибок выполняют их исправление.A feature of the prototype method is that, on the transmitting side, first introduce noise-tolerant redundancy into the information sequence, and then its compression, and on the receiving side, when uncompressed, transmission channel errors are detected, if any, and if they are detected by trial and error, they are corrected .
Однако в данном способе-прототипе совместного сжатия и помехоустойчивого кодирования проверочные символы не зависят от информационной последовательности. Поэтому на приемной стороне формально выполняют проверку наличия ошибок канала передачи в декодированных проверочных символах, и по результату этой проверки делают вывод об отсутствии ошибок передачи также и в восстановленной информационной последовательности. В то же самое время известно, что максимальной обнаруживающей и исправляющей способностью по обнаружению и исправлению ошибок передачи обладают помехоустойчивые коды, в которых проверочные символы вычисляют из информационной последовательности таким образом, чтобы каждый проверочный символ равновероятно зависел от каждого бита информационной последовательности, как описано в статье К. Шеннона "Математическая теория связи. Работы по теории информации и кибернетике". - М., ИЛ, 1963, стр. 587-621.However, in this prototype method of joint compression and error-correcting coding, the check symbols are independent of the information sequence. Therefore, on the receiving side, a formal check of the presence of transmission channel errors in decoded check symbols is performed, and the result of this check concludes that there are no transmission errors in the restored information sequence as well. At the same time, it is known that error-correcting codes have the maximum detecting and correcting ability to detect and correct transmission errors, in which the verification symbols are calculated from the information sequence so that each verification symbol is equally likely to depend on each bit of the information sequence, as described in the article C. Shannon "The mathematical theory of communication. Works on information theory and cybernetics." - M., IL, 1963, p. 587-621.
Таким образом, недостатком ближайшего аналога (прототипа) является сравнительно малая обнаруживающая и исправляющая способность по обнаружению и исправлению ошибок передачи, обусловленная использованием проверочных символов, не зависящих от информационной последовательности.Thus, the disadvantage of the closest analogue (prototype) is the relatively small detecting and correcting ability to detect and correct transmission errors due to the use of check characters that are not dependent on the information sequence.
Техническим результатом заявляемого решения является совместное сжатие и помехоустойчивое кодирование избыточной двоичной информационной последовательности с повышением обнаруживающей и исправляющей способностью по обнаружению и исправлению ошибок передачи.The technical result of the proposed solution is a joint compression and noise-resistant coding of an excess binary information sequence with an increase in the detecting and correcting ability to detect and correct transmission errors.
Указанный технический результат в заявляемом способе совместного сжатия и помехоустойчивого кодирования достигается тем, что в известном способе совместного сжатия и помехоустойчивого кодирования, заключающимся в том, что на передающей стороне от отправителя получают очередную часть информационной последовательности длиной k≥1 бит, записывают проверочные символы длиной r≥1 бит вместе с очередной частью информационной последовательности в очередную часть помехоустойчивой последовательности, выполняют сжатие очередной части помехоустойчивой последовательности в очередную часть сжатой последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, запомненные очередные части принятой последовательности разжимают в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности, которые разжимают и выполняют последующие действия до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, дополнительно после получения очередной части информационной последовательности из нее вычисляют проверочные символы, передают очередную часть сжатой последовательности на приемную сторону, на приемной стороне из очередной части восстановленной информационной последовательности вычисляют проверочные символы и вычисленные проверочные символы побитно сравнивают с декодированными проверочными символами и при их побитном совпадении делают вывод об отсутствии ошибок передачи, причем для сжатия используют арифметическое кодирование или кодирование Хаффмана, а для разжатия используют, соответственно, арифметическое декодирование или декодирование Хаффмана.The specified technical result in the inventive method of joint compression and noise-resistant coding is achieved by the fact that in the known method of joint compression and noise-resistant coding, namely, on the transmitting side, the next part of the information sequence of k≥1 bit length is received from the sender, verification characters of length r are written ≥1 bit together with the next part of the information sequence into the next part of the noise-resistant sequence, compress the next part of the interference a stable sequence into the next part of the compressed sequence, transmit the next part of the sequence to the receiving side, perform the above actions on the transmitting side until the next parts of the information sequence arrive, on the receiving side receive the next part of the received sequence, which is stored, the remembered next parts of the received sequence unclench into the next parts of the decoded sequence, from which the next parts are recovered information sequence and decoded check symbols, make a conclusion about the absence of transmission errors and transmit to the recipient the next part of the restored information sequence, otherwise they invert one or more bits in the stored next parts of the received sequence, which are decompressed and perform the following actions until the conclusion about the absence of transmission errors is reached perform the above actions on the receiving side until the next part of the received sequence, additionally after receiving the next part of the information sequence, verification symbols are calculated from it, the next part of the compressed sequence is transmitted to the receiving side, on the receiving side, the verification symbols are calculated from the next part of the restored information sequence and the calculated verification symbols are bitwise compared with the decoded verification symbols and, if bit by bit coincidence they conclude that there are no transmission errors, and the arithm is used for compression matic coding or Huffman coding, as is used for a release, respectively, the arithmetic decoding or Huffman decoding.
В предлагаемой совокупности действий на передающей стороне из очередной части информационной последовательности вычисляют проверочные символы, а на приемной стороне из очередной части декодированной последовательности выделяют очередную часть восстановленной информационной последовательности и декодированные проверочные символы, из очередной части восстановленной информационной последовательности вычисляют проверочные символы и вычисленные проверочные символы побитно сравнивают с декодированными проверочными символами и при их побитном совпадении делают вывод об отсутствии ошибок передачи. Проверочные символы полностью зависят от информационной последовательности, их вычисляют в соответствии с правилами формирования помехоустойчивых кодов, обеспечивающих максимально достижимую обнаруживающую и исправляющую способность по обнаружению и исправлению ошибок передачи.In the proposed set of actions, on the transmitting side, verification symbols are calculated from the next part of the information sequence, and on the receiving side, the next part of the restored information sequence and decoded verification symbols are extracted from the next part of the decoded sequence, verification symbols and calculated verification symbols are calculated from the next part of the restored information sequence compared with decoded check characters, etc. and bit by bit, they conclude that there are no transmission errors. Verification symbols are completely dependent on the information sequence; they are calculated in accordance with the rules for generating error-correcting codes that provide the maximum achievable detecting and correcting ability to detect and correct transmission errors.
Поэтому указанная новая совокупность действий позволяет при выполнении совместного сжатия и помехоустойчивого кодирования избыточной двоичной информационной последовательности повысить обнаруживающую и исправляющую способность по обнаружению и исправлению ошибок передачи.Therefore, this new set of actions allows, when performing joint compression and error-correcting coding of an excess binary information sequence, to increase the detecting and correcting ability to detect and correct transmission errors.
Заявленный способ поясняется чертежами, на которых показаны:The claimed method is illustrated by drawings, which show:
- на фиг. 1 - общая схема совместного сжатия и помехоустойчивого кодирования в ближайшем аналоге (прототипе);- in FIG. 1 is a general diagram of joint compression and noise-resistant coding in the closest analogue (prototype);
- на фиг. 2 - общая схема совместного сжатия и помехоустойчивого кодирования в предлагаемом способе;- in FIG. 2 is a general diagram of joint compression and noise-resistant coding in the proposed method;
- на фиг. 3 - алгоритм совместного сжатия и помехоустойчивого кодирования на передающей стороне;- in FIG. 3 - algorithm for joint compression and noise-resistant coding on the transmitting side;
- на фиг. 4 - временные диаграммы совместного сжатия и помехоустойчивого кодирования на передающей стороне;- in FIG. 4 is a timing diagram of joint compression and noise-resistant coding on the transmitting side;
- на фиг. 5 - схема сжатия помехоустойчивой последовательности на основе арифметического кодирования;- in FIG. 5 is a compression diagram of an error-correcting sequence based on arithmetic coding;
- на фиг. 6 - таблица состояний арифметического кодирования первых четырех очередных частей помехоустойчивой последовательности;- in FIG. 6 is a state table of arithmetic coding of the first four successive parts of the error-correcting sequence;
- на фиг. 7 - временные диаграммы арифметического кодирования первых четырех очередных частей помехоустойчивой последовательности;- in FIG. 7 is a timing diagram of arithmetic coding of the first four successive parts of an error-correcting sequence;
- на фиг. 8 - временные диаграммы совместного разжатия и исправления ошибок на приемной стороне;- in FIG. 8 is a timing diagram of joint decompression and error correction on the receiving side;
- на фиг. 9 - алгоритм совместного разжатия и исправления ошибок на приемной стороне;- in FIG. 9 - algorithm for joint expansion and correction of errors on the receiving side;
- на фиг. 10 - схема разжатия принятой последовательности на основе арифметического декодирования;- in FIG. 10 is a diagram of the decompression of a received sequence based on arithmetic decoding;
- на фиг. 11 - таблица состояний арифметического декодирования принятой последовательности с ошибкой передачи;- in FIG. 11 is a state table of arithmetic decoding of a received sequence with a transmission error;
- на фиг. 12 - таблица состояний арифметического декодирования принятой последовательности с ошибкой передачи при инвертировании ее первого бита;- in FIG. 12 is a state table of arithmetic decoding of a received sequence with a transmission error when inverting its first bit;
- на фиг. 13 - таблица состояний арифметического декодирования принятой последовательности с ошибкой передачи при инвертировании ее второго бита;- in FIG. 13 is a state table of arithmetic decoding of a received sequence with a transmission error when inverting its second bit;
- на фиг. 14 - сравнение исправляющей и обнаруживающей способности для способа-прототипа и заявленного способа.- in FIG. 14 is a comparison of corrective and detecting abilities for the prototype method and the claimed method.
Реализация заявленного способа представлена на примере системы совместного сжатия и помехоустойчивого кодирования, показанной на фиг. 2. На передающей стороне выполняют совместное сжатие и помехоустойчивое кодирование очередных частей информационной последовательности, а на приемной стороне - совместное разжатие с обнаружением и исправлением ошибок канала передачи. На передающей стороне при получении от отправителя очередной части информационной последовательности из нее в формирователе проверочных символов 1 формируют проверочные символы, которые вместе с очередной частью информационной последовательности сжимают в блоке сжатия 2 с использованием арифметического кодирования или кодирования Хаффмана. С выхода блока сжатия 2 очередную часть сжатой последовательности передают по двоичному каналу передачи 3. На приемной стороне получают очередную часть принятой последовательности и в последовательном декодере 4 ее запоминают. Запомненные очередные части принятой последовательности разжимают в блоке разжатия 5 с использованием арифметического декодирования или декодирования Хаффмана в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы. Из каждой очередной части восстановленной информационной последовательности в формирователе проверочных символов 6 вычисляют проверочные символы, и вычисленные проверочные символы в блоке сравнения 7 побитно сравнивают с декодированными проверочными символами. При их побитном совпадении делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе в последовательном декодере 4 поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности, которые разжимают в блоке разжатия 5 до тех пор, пока побитно не совпадут вычисленные проверочные символы и декодированные проверочные символы, что означает исправление ошибок канала передачи.The implementation of the inventive method is presented on the example of the joint compression and noise-resistant coding system shown in FIG. 2. On the transmitting side, joint compression and error-correcting coding of the next parts of the information sequence are performed, and on the receiving side, joint decompression is performed with detection and correction of transmission channel errors. On the transmitting side, upon receipt of the next part of the information sequence from the sender, verification symbols are generated from it in the
Алгоритм совместного сжатия и помехоустойчивого кодирования на передающей стороне представлен на фигуре 3.The algorithm of joint compression and error-correcting coding on the transmitting side is presented in figure 3.
В способе совместного сжатия и помехоустойчивого кодирования реализуется следующая последовательность действий.In the method of joint compression and noiseless coding, the following sequence of actions is implemented.
На передающей стороне от отправителя получают очередную часть информационной последовательности длиной k≥1 бит. Примерный вид первых четырех очередных частей двоичной ИП длиной k=4 бита показан на фиг. 4(a). Например, первая часть ИП имеет вид "1111", вторая часть - "1011", третья часть - "1001". Единичные значения битов на фигурах показаны в виде заштрихованных импульсов, нулевые значения битов - в виде незаштрихованных импульсов.On the transmitting side, the next part of the information sequence of length k≥1 bits is received from the sender. An exemplary view of the first four consecutive parts of a binary PI with a length of k = 4 bits is shown in FIG. 4 (a). For example, the first part of the IP has the form "1111", the second part is "1011", the third part is "1001". Single bit values in the figures are shown in the form of shaded pulses, zero bit values in the form of unshaded pulses.
Способы вычисления проверочных символов длиной r≥1 бит из очередной части информационной последовательности известны и описаны, например, в книге В.В. Золотарев "Теория и алгоритмы многопорогового декодирования". - М., Радио и связь, Горячая линия-Телеком, 2006, 22-27. Очередную часть информационной последовательности длиной k≥1 бит записывают в последовательный двоичный регистр с k ячейками памяти. В соответствии с порождающей матрицей помехоустойчивого кода с выходов соответствующих ячеек памяти считывают двоичные разряды информационной последовательности и суммируют в r сумматорах по модулю 2. Выходные двоичные значения r данных сумматоров являются проверочными символами длиной r≥1 бит. Чем больше число r проверочных символов и чем меньше отношение , тем выше обнаруживающая и исправляющая способность по обнаружению и исправлению ошибок передачи, как описано в статье К. Шеннона "Математическая теория связи. Работы по теории информации и кибернетике". - М., ИЛ, 1963, стр. 587-621. Простейшим случаем вычисления проверочных символов является формирование единственного проверочного символа (r=1 бит) при суммировании по модулю 2 всех выходов ячеек памяти с использованием единственного сумматора. Такой простейший помехоустойчивый код называется код с проверкой на четность и способен обнаружить произвольные ошибки канала передачи кратностью 1, 3, 5 и так далее числа ошибок. Примерный вид проверочных символов длиной r=1 бит, вычисленных из первых четырех очередных частей двоичной ИП, показан на фиг. 4(б). Например, проверочный символ первой части ИП является нулевым двоичным символом, проверочный символ второй части ИП является единичным двоичным символом и т.д.Methods for calculating test characters of length r≥1 bits from the next part of the information sequence are known and described, for example, in the book of V.V. Zolotarev "Theory and algorithms of multi-threshold decoding." - M., Radio and communications, Hot line-Telecom, 2006, 22-27. The next part of the information sequence of length k≥1 bits is recorded in a serial binary register with k memory cells. In accordance with the generating matrix of the error-correcting code, the binary bits of the information sequence are read from the outputs of the corresponding memory cells and summed in r adders modulo 2. The binary output values r of these adders are test characters of length r≥1 bits. The greater the number r of test characters and the smaller the ratio , the higher the detecting and correcting ability to detect and correct transmission errors, as described in the article by K. Shannon "Mathematical Communication Theory. Works on Information Theory and Cybernetics." - M., IL, 1963, p. 587-621. The simplest case of calculating check characters is the formation of a single check character (r = 1 bit) when summing modulo 2 all the outputs of the memory cells using a single adder. Such a simple error-correcting code is called a parity check code and is capable of detecting arbitrary transmission channel errors of
Способы записи проверочных символов вместе с очередной частью информационной последовательности в очередную часть помехоустойчивой последовательности известны и описаны, например, в книге В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Для этого очередная часть двоичной информационной последовательности с первого по k-ый бит параллельно записывают в первые по счету ячейки памяти регистр сдвига длиной k+r бит. Проверочные символы в виде двоичной последовательности длиной r бит параллельно записывают в последующие, начиная с k+1-ой, ячейки памяти этого же регистра сдвига. В результате в регистре сдвига записана очередная часть помехоустойчивой последовательности длиной k+r бит. Например, первая часть помехоустойчивой последовательности (ПП) имеет вид "11110", вторая часть - "10111", третья часть - "10010".Methods of recording test characters together with the next part of the information sequence in the next part of the noise-tolerant sequence are known and described, for example, in the book by W. Shilo "Popular digital circuits." - M., Radio and Communications, 1987, 104-123, using shift registers with parallel and sequential write / read of binary sequences. For this, the next part of the binary information sequence from the first to the kth bit is written in parallel to the first memory cell shift register of length k + r bits. Check characters in the form of a binary sequence of length r bits are written in parallel to the subsequent, starting from k + 1-st, memory cells of the same shift register. As a result, the next part of the error-correcting sequence of length k + r bits is recorded in the shift register. For example, the first part of the error-correcting sequence (PP) has the form "11110", the second part is "10111", the third part is "10010".
Способы сжатия очередной части помехоустойчивой последовательности в очередную часть сжатой последовательности известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 31-49. Например, сжатие может выполняться с использованием арифметического кодирования или кодирования Хаффмана.Methods of compressing the next part of the error-correcting sequence into the next part of the compressed sequence are known and described, for example, in the book by D. Vatolin, A. Ratushnyak, M. Smirnov, V. Yukin "Data compression methods. Archiver device, image and video compression." - M., DIALOGUE-MEPhI, 2002, p. 31-49. For example, compression may be performed using arithmetic coding or Huffman coding.
Способы сжатия очередной части помехоустойчивой последовательности в очередную часть сжатой последовательности с использованием арифметического кодирования описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном сжатии двоичных символов очередной части помехоустойчивой последовательности в очередную часть сжатой последовательности в соответствии с текущими значениями интервала кодирования арифметического кодирования и текущими значениями вероятностей кодируемых нулевых символов и единичных символов. Схема сжатия помехоустойчивой последовательности на основе арифметического кодирования показана на фиг. 5, в которой по мере поступления на вход двоичных символов подсчитывают число нулевых символов кодирования и число единичных символов кодирования, пропорционально которым интервал кодирования арифметического кодирования делят на подинтервал нулевых символов кодирования и подинтервал единичных символов кодирования, в соответствии с которыми арифметический кодер последовательно формирует сжатую последовательность (СП).Methods of compressing the next part of the error-correcting sequence into the next part of the compressed sequence using arithmetic coding are described, for example, in the book by D. Vatolin, A. Ratushnyak, M. Smirnov, V. Yukin, "Data compression methods. Archiver device, image and video compression." - M., DIALOGUE-MEPhI, 2002, pp. 35-43. They consist in sequentially compressing the binary symbols of the next part of the error-correcting sequence into the next part of the compressed sequence in accordance with the current values of the coding interval of the arithmetic coding and the current values of the probabilities of the encoded zero characters and single characters. An arithmetic coding compression scheme based on arithmetic coding is shown in FIG. 5, in which, as binary symbols arrive at the input, the number of null coding symbols and the number of coding unit symbols is proportional to the coding interval of the arithmetic coding is divided into the sub-interval of null coding symbols and the sub-interval of coding unit symbols, according to which the arithmetic encoder sequentially generates a compressed sequence (Joint venture).
Перед сжатием первой части помехоустойчивой последовательности устанавливают начальные значения первого и второго регистров кодирования. Начальное нижнее значение интервала кодирования устанавливают в минимальное значение, а начальное верхнее значения интервала кодирования - в максимальное значение. Например, при представлении значений интервала кодирования восемью двоичными символами, начальное нижнее значение интервала кодирования арифметического кодирования L[0] устанавливают в минимальное значение, равное нулевому значению в десятичном представлении или 00000000 в двоичном представлении, где старшие двоичные символы записывают слева, а начальное верхнее значение интервала кодирования арифметического кодирования H[0] устанавливают в максимальное значение, равное 255 в десятичном представлении или 11111111 в двоичном представлении. Пример начального состояния (Нач. сост.) арифметического кодирования представлен на фиг. 6.Before compressing the first part of the error-correcting sequence, the initial values of the first and second coding registers are set. The initial lower value of the encoding interval is set to the minimum value, and the initial upper value of the encoding interval is set to the maximum value. For example, when representing the values of an encoding interval with eight binary characters, the initial lower value of the encoding interval of the arithmetic encoding L [0] is set to the minimum value equal to zero in decimal or 00000000 in binary representation, where the most significant binary characters are written to the left and the initial upper value the coding interval of the arithmetic coding H [0] is set to a maximum value of 255 in decimal or 11111111 in binary representation. An example of an initial state (Start state) of arithmetic coding is shown in FIG. 6.
Начальное состояние арифметического кодирования также заключается в установке начального значения вероятности кодируемых нулевых символов p0[0] и начального значения вероятности кодируемых единичных символов p1[0]. При установке начального значения вероятности кодируемых нулевых символов p0[0] и начального значения вероятности кодируемых нулевых символов р1[0] в выбранные значения должно выполняться ограничение вида: p0[0]+p1[0]=1. Начальное значение вероятности кодируемых нулевых символов p0[0] вычисляют по формуле вида , а начальное значение вероятности кодируемых единичных символов p1[0] вычисляют по формуле вида , где N0[0] - начальное число закодированных нулевых символов, N1[0] - начальное число закодированных единичных символов, а N[0] - начальное число закодированных нулевых и единичных символов, равное N[0]=N0[0]+N1[0]. В известных способах, описанных, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 124-130, устанавливают начальное число закодированных нулевых символов равным N0[0]=1, а начальное число закодированных единичных символов - равным N1[0]=1, то есть начальные значения вероятности кодируемых единичных и нулевых символов устанавливают равными: p1[0]=p0[0].The initial state of arithmetic coding also consists in setting the initial probability value of the encoded zero characters p 0 [0] and the initial probability value of the encoded single characters p 1 [0]. When setting the initial probability value of encoded null characters p 0 [0] and the initial probability value of encoded null characters p 1 [0] to the selected values, a restriction of the form should be satisfied: p 0 [0] + p 1 [0] = 1. The initial probability value of the encoded null characters p 0 [0] is calculated by the formula of the form , and the initial probability value of encoded single characters p 1 [0] is calculated by the formula of the form , where N 0 [0] is the initial number of encoded zero characters, N 1 [0] is the initial number of encoded single characters, and N [0] is the initial number of encoded zero and single characters, equal to N [0] = N 0 [0 ] + N 1 [0]. In the known methods described, for example, in the book by D. Vatolin, A. Ratushnyak, M. Smirnov, V. Yukin "Data compression methods. The device archivers, image and video compression." - M., DIALOGU-MIFI, 2002, pp. 124-130, set the initial number of encoded null characters to N 0 [0] = 1, and the initial number of encoded single characters to N 1 [0] = 1, that is, the initial the probability values of the encoded single and zero characters are set equal to: p 1 [0] = p 0 [0].
Начальное значение интервала кодирования арифметического кодирования I[0], равное I[0]=H[0]-L[0], разделяют на начальные значения подинтервала нулевых символов D0[0] и подинтервала единичных символов D1[0], длины которых прямо пропорциональны начальным значениям вероятностей кодируемых нулевых символов p0[0] и единичных символов p1[0], соответственно. Начальную длину подинтервала единичных символов D1[0] определяют по формуле вида D1[0]=I[0]×p1[0], а начальную длину подинтервала нулевых символов D0[0] определяют по формуле вида D0[0]=I[0]-D1[0]. Например, начальная длина подинтервала единичных символов D1[0] имеет десятичное значение 128 или 10000000 в двоичном представлении, а начальная длина подинтервала нулевых символов D0[0] имеет десятичное значение 127 или 01111111 в двоичном представлении. Подинтервал единичных символов расположен сверху подинтервала нулевых символов, как показано, например, на фиг. 7. Верхнюю границу подинтервала нулевых символов обозначают как значение Q, и данный подинтервал начинается снизу от нижней границы интервала кодирования арифметического кодирования до значения Q исключительно, а подинтервал единичных символов простирается от значения Q включительно до верхней границы интервала кодирования арифметического кодирования исключительно. Начальное значение Q имеет десятичное значение 127, как показано на фиг. 6 в первой строке при t=0.The initial value of the coding interval of arithmetic coding I [0], equal to I [0] = H [0] -L [0], is divided into the initial values of the sub-interval of zero characters D 0 [0] and the sub-interval of single characters D 1 [0], length which are directly proportional to the initial values of the probabilities of the encoded null characters p 0 [0] and unit characters p 1 [0], respectively. The initial length of the sub-interval of single characters D 1 [0] is determined by the formula of the form D 1 [0] = I [0] × p 1 [0], and the initial length of the sub-interval of single characters of D 0 [0] is determined by the formula of the form D 0 [0] ] = I [0] -D 1 [0]. For example, the initial length subslot single symbol D 1 [0] has a value of 128 decimal or 10000000 in binary representation, and the initial length subslot zero symbols D 0 [0] has a value of 127 decimal or 01111111 in binary representation. A sub-interval of single characters is located above the sub-interval of null characters, as shown, for example, in FIG. 7. The upper boundary of the null-character subinterval is designated as the Q value, and this subinterval starts from the bottom of the lower bound of the arithmetic coding coding interval to the Q value exclusively, and the single-character subinterval extends from the Q value inclusive to the upper limit of the arithmetic coding coding interval exclusively. The initial Q value has a
Примерный вид сжатия первых четырех очередных частей помехоустойчивой последовательности вида "11110 10111 10010 10100" в первые четыре очередные части сжатой последовательности (СП) показан на фиг. 4(г).An exemplary compression of the first four successive parts of the error-correcting sequence of the form “11110 10111 10010 10100” into the first four successive parts of the compressed sequence (SP) is shown in FIG. 4 (g).
При поступлении на вход арифметического кодирования первого сжимаемого символа, являющегося единичным двоичным символом, нижнее значение интервала кодирования первого символа L[1] устанавливают равным значению Q, равному, например, 127, а верхнее значение интервала кодирования первого символа арифметического кодирования H[1] устанавливают равным начальному верхнему значению интервала кодирования арифметического кодирования H[0], равному, например, 255, как показано на фиг. 6 и на фиг. 7 при t=1.When the first compressible character, which is a single binary character, arrives at the input of the arithmetic coding, the lower value of the encoding interval of the first character L [1] is set to the value of Q, for example, 127, and the upper value of the encoding interval of the first character of the arithmetic coding H [1] is set equal to the initial upper value of the arithmetic coding coding interval H [0], for example, equal to 255, as shown in FIG. 6 and in FIG. 7 at t = 1.
Самый левый бит двоичного представления значения L[1] сравнивают с самым левым битом двоичного представления значения H[1], например, вида 01111111 и 11111111, соответственно, как показано на фиг. 6 при t=1. При их несовпадении переходят к сжатию следующего символа.The leftmost bit of the binary representation of the value L [1] is compared with the leftmost bit of the binary representation of the value H [1], for example, of the form 01111111 and 11111111, respectively, as shown in FIG. 6 at t = 1. If they do not match, they go on to compress the next character.
После выполнения сжатия каждого очередного символа уточняют число закодированных нулевых символов и единичных символов. Так как первый сжатый символ является единичным, то число закодированных единичных символов увеличивают на единичное значение и оно составляет N1[1]=2, и число закодированных нулевых и единичных символов становится равным N[1]=N0[1]+N1[1]=3. Пересчитывают текущее значение вероятности кодируемых нулевых символов и текущее значение вероятности кодируемых единичных . В соответствии с этим длина подинтервала нулевых символов D0[1] становится в 2 раза меньше длины подинтервала единичных символов D1[1], а параметр Q принимает значение 170, как показано на фиг. 6, вторая строка сверху и на фиг. 7.After performing compression of each successive character, the number of encoded null characters and single characters is specified. Since the first compressed symbol is single, the number of encoded single characters is increased by a single value and it is N 1 [1] = 2, and the number of encoded zero and single characters becomes N [1] = N 0 [1] + N 1 [1] = 3. Recalculate the current probability value of encoded null characters and the current probability value of the encoded units . Accordingly, the length of the zero-character subinterval D 0 [1] becomes 2 times less than the length of the single-character subinterval D 1 [1], and the parameter Q takes on the
При поступлении на вход арифметического кодирования второго сжимаемого символа, являющегося единичным двоичным символом, нижнее значение интервала кодирования второго символа L[2] устанавливают равным значению Q, равному, например, 170, а верхнее значение интервала кодирования второго символа арифметического кодирования H[2] устанавливают равным верхнему значению интервала кодирования арифметического кодирования H[1], равному, например, 255, как показано на фиг. 6 при t=2.When the second compressible character, which is a single binary character, arrives at the input of arithmetic coding, the lower value of the encoding interval of the second character L [2] is set equal to the value of Q, for example, 170, and the upper value of the encoding interval of the second character of arithmetic coding H [2] is set equal to the upper value of the coding interval of arithmetic coding H [1], equal to, for example, 255, as shown in FIG. 6 at t = 2.
После выполнения сжатия каждого очередного символа уточняют число закодированных нулевых символов и единичных символов. Так как второй сжатый символ является единичным, то число закодированных единичных символов увеличивают на единичное значение и оно составляет N1[2]=3, и число закодированных нулевых и единичных символов становится равным N[2]=N0[2]+N1[2]=4. Пересчитывают текущее значение вероятности кодируемых нулевых символов и текущее значение вероятности кодируемых единичных . В соответствии с этим длина подинтервала нулевых символов D0[2] становится в 3 раза меньше длины подинтервала единичных символов D1[2], как показано на фиг. 6, третья строка сверху и на фиг. 7.After performing compression of each successive character, the number of encoded null characters and single characters is specified. Since the second compressed symbol is single, the number of encoded single characters is increased by a single value and it is N 1 [2] = 3, and the number of encoded zero and single characters becomes N [2] = N 0 [2] + N 1 [2] = 4. Recalculate the current probability value of encoded null characters and the current probability value of the encoded units . Accordingly, the length of the zero-character subinterval D 0 [2] becomes 3 times less than the length of the single-character subinterval D 1 [2], as shown in FIG. 6, the third row from above and in FIG. 7.
Самый левый бит двоичного представления значения L[2] сравнивают с самым левым битом двоичного представления значения H[2], например, вида 10101001 и 11111111, соответственно, как показано на фиг. 6 при t=2. При их совпадении значение самого левого бита двоичных представлений значений L[2] и H[2] считывают в качестве очередного бита сжатой последовательности (Закод. символ на фиг. 6). Например, при сжатии первой части помехоустойчивой последовательности первым битом первой части сжатой последовательности является совпавший при сравнении единичный двоичный символ, как показано на фиг. 6, четвертая строка сверху. Считанный бит удаляют из двоичных представлений значений L[2] и H[2], которые уменьшаются до длины 7 бит вида 0101001 и 1111111, соответственно. Двоичные символы двоичных представлений значений L[2] и Н[2] сдвигают справа налево на один разряд и справа к ним дописывают по нулевому двоичному символу. Например, двоичные представления значений L[2] и H[2] приобретают вид 01010010 и 11111110, соответственно. Способы считывания двоичных символов с удалением считанных символов известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Операции сдвига справа налево на один разряд и дописывания справа нулевого двоичного символа увеличивают значения L[2] и H[2] в 2 раза и называются нормализацией параметров арифметического кодирования. Способы сдвига на один разряд в сторону старших разрядов двоичных последовательностей и записи в освободившийся младший разряд нулевого двоичного символа известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей, и по своей сути являются умножением на два десятичных значений нижнего и верхнего значений интервала кодирования.The leftmost bit of the binary representation of the value L [2] is compared with the leftmost bit of the binary representation of the value H [2], for example, of the form 10101001 and 11111111, respectively, as shown in FIG. 6 at t = 2. When they coincide, the value of the leftmost bit of the binary representations of the values L [2] and H [2] is read as the next bit of the compressed sequence (Code symbol in Fig. 6). For example, when compressing the first part of the error-correcting sequence, the first bit of the first part of the compressed sequence is the unit binary symbol that coincides when comparing, as shown in FIG. 6, the fourth line from the top. The read bit is removed from the binary representations of the values L [2] and H [2], which are reduced to a length of 7 bits of the form 0101001 and 1111111, respectively. Binary symbols of binary representations of the values of L [2] and H [2] are shifted from right to left by one digit and are added to the right by a zero binary symbol. For example, binary representations of the values L [2] and H [2] take the form 01010010 and 11111110, respectively. Methods for reading binary characters with the removal of read characters are known and described, for example, in the book: V. Shilo "Popular digital circuits." - M., Radio and Communications, 1987, 104-123, using shift registers with parallel and sequential write / read of binary sequences. The right-to-left shift operations by one bit and the addition of a binary binary symbol to the right increase the values of L [2] and H [2] by 2 times and are called normalization of arithmetic coding parameters. Methods of shifting one bit in the direction of the higher bits of binary sequences and writing to the freed low order of the zero binary symbol are known and described, for example, in the book: V. Shilo "Popular Digital Circuits". - M., Radio and Communications, 1987, 104-123, using shift registers with parallel and sequential write / read of binary sequences, and in essence are multiplication by two decimal values of the lower and upper values of the encoding interval.
После каждого выполнения нормализации повторно самый левый бит двоичного представления нижнего значения интервала кодирования сравнивают с самым левым битом двоичного представления верхнего значения интервала кодирования. При их совпадении значение самого левого бита этих двоичных представлений считывают в качестве следующего сжатого бита, иначе переходят к сжатию следующего очередного символа и так далее, как показано на фиг. 6.After each normalization run, the leftmost bit of the binary representation of the lower value of the encoding interval is compared again with the leftmost bit of the binary representation of the upper value of the encoding interval. If they coincide, the value of the leftmost bit of these binary representations is read as the next compressed bit, otherwise, they go on to compress the next next character and so on, as shown in FIG. 6.
При поступлении на вход арифметического кодирования очередного символа ИП, являющегося нулевым двоичным символом, нижнее значение интервала кодирования устанавливают равным предыдущему нижнему значению интервала кодирования арифметического кодера, а верхнее значение интервала кодирования устанавливают равным текущему значению Q. Например, при поступлении на вход арифметического кодирования пятого по счету символа ИП, являющегося нулевым двоичным символом, нижнее значение интервала кодирования пятого символа L[5] устанавливают равным предыдущему нижнему значению интервала кодирования арифметического кодера L[4], равному, например, 44, а верхнее значение интервала кодирования пятого символа арифметического кодирования Н[5] устанавливают равным текущему значению Q, равному, например, 78, как показано на фиг. 6 при t=5.When the next IP symbol, which is a binary binary character, is received at the arithmetic coding input, the lower value of the coding interval is set equal to the previous lower value of the coding interval of the arithmetic encoder, and the upper value of the coding interval is set to the current value of Q. For example, when the fifth arithmetic coding is received at the input count of the symbol IP, which is a zero binary symbol, the lower value of the encoding interval of the fifth character L [5] is set equal to the previous lower value of the coding interval of the arithmetic encoder L [4], for example, 44, and the upper value of the coding interval of the fifth character of the arithmetic coding H [5] is set to the current value of Q, for example, 78, as shown in FIG. 6 at t = 5.
Примерный вид сжатия первых четырех очередных частей помехоустойчивой последовательности вида "11110 10111 10010 10100" в соответствующие очередные части сжатой последовательности вида "110 01110 1000000 010" показан на фиг. 4(г).An exemplary compression of the first four successive parts of an error-correcting sequence of the form “11110 10111 10010 10100” into the corresponding successive parts of the compressed sequence of the form “110 01110 1,000,000 010” is shown in FIG. 4 (g).
Способы передачи на приемную сторону очередной части сжатой последовательности известны и описаны, например, в книге А.Г. Зюко, Д.Д. Кловский, М.В. Назаров, Л.М. Финк "Теория передачи сигналов". - М.: Радио и связь, 1986, стр. 11. Примерный вид принятой последовательности (Пр. П) показан на фиг. 8(a). Принятая последовательность при передаче искажена во втором бите и имеет вид "100011101000000010".Methods of transmitting to the receiving side the next part of the compressed sequence are known and described, for example, in the book of A.G. Zyuko, D.D. Klovsky, M.V. Nazarov, L.M. Fink "Theory of signal transmission." - M .: Radio and communications, 1986, p. 11. An exemplary view of the received sequence (Pr. P) is shown in FIG. 8 (a). The received sequence during transmission is distorted in the second bit and has the form "100011101000000010".
Алгоритм совместного разжатия и исправления ошибок на приемной стороне представлен на фиг. 9. Схема разжатия на основе арифметического декодирования представлена на фиг. 10, в которой по мере декодирования подсчитывают число нулевых символов декодирования и число единичных символов декодирования, пропорционально которым интервал декодирования арифметического декодирования делят на подинтервал нулевых символов декодирования и подинтервал единичных символов декодирования, в соответствии с которыми арифметический декодер последовательно декодирует принятую последовательность.An algorithm for joint decompression and error correction on the receiving side is shown in FIG. 9. The decompression scheme based on arithmetic decoding is shown in FIG. 10, in which, as the decoding is performed, the number of null decoding symbols and the number of single decoding symbols are calculated proportionally to which the decoding interval of the arithmetic decoding is divided into the sub-interval of null decoding symbols and the sub-interval of single decoding symbols, according to which the arithmetic decoder decodes the received sequence in sequence.
Способы запоминания очередных частей принятой последовательности известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей.Methods of storing the next parts of the received sequence are known and described, for example, in the book: V. Shilo "Popular Digital Circuits". - M., Radio and Communications, 1987, 104-123, using shift registers with parallel and sequential write / read of binary sequences.
Способы разжатия запомненной очередной части принятой последовательности в очередную часть декодированной последовательности с использованием арифметического декодирования описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном декодировании с использованием арифметического декодирования очередной части принятой последовательности в соответствии с текущими значениями интервала декодирования арифметического декодирования и текущими значениями вероятности декодируемых нулевых символов и единичных символов.Methods of decompressing the stored next part of the received sequence into the next part of the decoded sequence using arithmetic decoding are described, for example, in the book D. Compression Methods, Data Compression, Image and Video Compression Methods by D. Vatolin, A. Ratushnyak, M. Smirnov, V. Yukin . - M., DIALOGUE-MEPhI, 2002, pp. 35-43. They consist in sequential decoding using arithmetic decoding of the next part of the received sequence in accordance with the current values of the decoding interval of the arithmetic decoding and the current probability values of the decoded zero characters and single characters.
Перед разжатием первой части принятой последовательности устанавливают начальные значения первого и второго регистров декодирования. Начальное нижнее значение интервала декодирования устанавливают в минимальное значение, а начальное верхнее значения интервала декодирования - в максимальное значение. Например, при представлении значений интервала кодирования восемью двоичными символами, начальное нижнее значение интервала декодирования арифметического декодирования LL[0] устанавливают в минимальное значение, равное нулевому значению в десятичном представлении или 00000000 в двоичном представлении, где старшие двоичные символы записывают слева, а начальное верхнее значение интервала декодирования арифметического декодирования HH[0] устанавливают в максимальное значение, равное 255 в десятичном представлении или 11111111 в двоичном представлении. Пример начального состояния (начальн. состоян.) арифметического декодирования представлен на фиг. 11. Начальные состояния арифметического кодирования и арифметического декодирования устанавливают идентично.Before expanding the first part of the received sequence, the initial values of the first and second decoding registers are set. The initial lower value of the decoding interval is set to the minimum value, and the initial upper value of the decoding interval is set to the maximum value. For example, when representing coding interval values with eight binary characters, the initial lower value of the arithmetic decoding decoding interval LL [0] is set to the minimum value equal to zero in decimal or 00000000 in binary representation, where the most significant binary characters are written to the left and the initial upper value arithmetic decoding decoding interval HH [0] is set to a maximum value of 255 in decimal or 11111111 in binary representation lenii. An example of an initial state (initial state) of arithmetic decoding is shown in FIG. 11. The initial states of arithmetic coding and arithmetic decoding are set identically.
Начальное состояние арифметического декодирования также заключается в установке начального значения вероятности декодируемых нулевых символов pp0[0] и начального значения вероятности декодируемых единичных символов pp1[0]. При установке начального значения вероятности декодируемых нулевых символов pp0[0] и начального значения вероятности декодируемых нулевых символов pp1[0] в выбранные значения должно выполняться ограничение вида: pp0[0]+pp1[0]=1. Начальное значение вероятности декодируемых нулевых символов pp0[0] вычисляют по формуле вида , а начальное значение вероятности декодируемых единичных символов pp0[0] вычисляют по формуле вида , где NN0[0] - начальное число декодированных нулевых символов, NN1[0] - начальное число декодированных единичных символов, а NN[0] - начальное число декодированных нулевых и единичных символов, равное NN[0]=NN0[0]+NN1[0]. В известных способах, описанных, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М., ДИАЛОГ-МИФИ, 2002, стр. 124-130, устанавливают начальное число декодированных нулевых символов равным NN0[0]=1, а начальное число декодированных единичных символов - равным NN1[0]=1, то есть начальные значения вероятности декодируемых единичных и нулевых символов устанавливают равными: pp1[0]=pp0[0].The initial state of arithmetic decoding also consists in setting the initial probability value of the decoded null symbols pp 0 [0] and the initial probability value of the decoded unit symbols pp 1 [0]. When setting the initial probability value of decoded null characters pp 0 [0] and the initial probability value of decoded null characters pp 1 [0] to the selected values, a restriction of the form: pp 0 [0] + pp 1 [0] = 1, must be fulfilled. The initial probability value of decoded null characters pp 0 [0] is calculated by the formula of the form , and the initial probability value of decoded unit characters pp 0 [0] is calculated by the formula of the form where NN 0 [0] is the initial number of decoded zero characters, NN 1 [0] is the initial number of decoded unit characters, and NN [0] is the initial number of decoded zero and unit characters equal to NN [0] = NN 0 [0 ] + NN 1 [0]. In the known methods described, for example, in the book by D. Vatolin, A. Ratushnyak, M. Smirnov, V. Yukin "Data compression methods. The device archivers, image and video compression." - M., DIALOGU-MIFI, 2002, pp. 124-130, set the initial number of decoded zero characters to NN 0 [0] = 1, and the initial number of decoded single characters to NN 1 [0] = 1, that is, the initial the probability values of the decoded unit and zero characters are set equal to: pp 1 [0] = pp 0 [0].
Начальное значение интервала декодирования арифметического декодирования II[0], равное II[0]=HH[0]-LL[0], разделяют на начальные значения подинтервала декодирования нулевых символов DD0[0] и подинтервала декодирования единичных символов DD1[0], длины которых прямо пропорциональны начальным значениям вероятностей декодируемых нулевых символов pp0[0] и единичных символов pp1[0], соответственно. Начальную длину подинтервала декодирования единичных символов DD1[0] определяют по формуле вида DD1[0]=II[0]×pp1[0], а начальную длину подинтервала декодирования нулевых символов DD0[0] определяют по формуле вида DD0[0]=II[0]-DD1[0]. Например, начальная длина подинтервала декодирования единичных символов DD1[0] имеет десятичное значение 128 или 10000000 в двоичном представлении, а начальная длина подинтервала декодирования нулевых символов DD0[0] имеет десятичное значение 127 или 01111111 в двоичном представлении. Подинтервал декодирования единичных символов расположен сверху подинтервала декодирования нулевых символов. Верхнюю границу подинтервала декодирования нулевых символов обозначают как значение QQ, и данный подинтервал начинается снизу от нижней границы интервала декодирования арифметического кодирования до значения QQ исключительно, а подинтервал декодирования единичных символов простирается от значения QQ включительно до верхней границы интервала декодирования арифметического декодирования исключительно. Начальное значение QQ имеет десятичное значение 127, как показано на фиг. 11 в первой строке при t=0.The initial value of the decoding interval of the arithmetic decoding II [0], equal to II [0] = HH [0] -LL [0], is divided into the initial values of the decoding sub-interval of zero characters DD 0 [0] and the decoding sub-interval of single characters DD 1 [0] whose lengths are directly proportional to the initial probabilities of decoded null characters pp 0 [0] and unit characters pp 1 [0], respectively. The initial length of the decoding sub-interval of single characters DD 1 [0] is determined by the formula of the form DD 1 [0] = II [0] × pp 1 [0], and the initial length of the decoding sub-interval of decoding of zero characters DD 0 [0] is determined by the formula of the form DD 0 [0] = II [0] -DD 1 [0]. For example, the initial length of the decoding sub-interval of single characters DD 1 [0] has a decimal value of 128 or 10,000,000 in binary representation, and the initial length of the decoding sub-interval of single characters DD 0 [0] has a decimal value of 127 or 01111111 in binary representation. The unit character decoding sub-interval is located on top of the null character decoding sub-interval. The upper limit of the null-symbol decoding interval is designated as the QQ value, and this sub-interval starts from the bottom of the lower boundary of the arithmetic coding decoding interval to the QQ value exclusively, and the unit decoding interval of the single symbols extends from the QQ value inclusive to the upper limit of the arithmetic decoding decoding interval exclusively. The initial QQ value has a decimal value of 127, as shown in FIG. 11 in the first line at t = 0.
Примерный вид разжатия искаженной во втором бите принятой последовательности вида "100011101000000010" в декодированную последовательность показан на фиг. 11.An exemplary view of decompressing a received sequence of the form “100011101000000010” into a decoded sequence shown in FIG. eleven.
На вход арифметического декодирования поступает часть принятой последовательности длиной R бит, равной разрядности выполняемых операций, как и при ранее описанном арифметическом кодировании. Первоначально на вход арифметического декодирования считывают первые по очереди 8 бит вида "10001110", что соответствует десятичному числу 142. Текущее значение считанной последовательности, сравнивают с границами начального значения подинтервала декодирования нулевых символов DD0[0], находящимися, например, в пределах от 0 до 127 и с границами начального значения подинтервала декодирования единичных символов DD1[0], находящимися, например, в пределах от 127 до 255. В зависимости от того, в пределах какого подинтервала декодирования символов оказалось текущее значение считанной последовательности, принимают решение о декодировании очередного символа декодированной последовательности.The input of the arithmetic decoding receives a part of the received sequence of length R bits equal to the bit depth of the operations performed, as with the previously described arithmetic coding. Initially, the first 8 bits of the form “10001110” are read in turn at the input of the arithmetic decoding, which corresponds to the
Например, так как текущее значение считанной последовательности оказалось больше значения QQ, то первый декодированный символ является единичным и следующие границы интервала декодирования устанавливают соответствующими границам значения подинтервала декодирования единичных символов DD0[0]. В результате декодирования первого символа устанавливают нижнее значение интервала декодирования арифметического кодирования LL[1] равным значению QQ, например, LL[1]=127, а верхнее значение интервала декодирования арифметического кодирования HH[1] - равным предыдущему значению HH[0], например, HH[1]=255, как показано на фиг. 11 во второй строке при t=1. После декодирования каждого символа пересчитывают текущее значение вероятности декодируемых нулевых символов и текущее значение вероятности декодируемых нулевых символов, например, после декодирования первого символа, являющегося единичным, по формуле вида и по формуле вида , соответственно. Устанавливают текущие длины подинтервалов декодирования единичных символов и нулевых символов и устанавливают текущее значение QQ=170 с двоичным представлением вида "10101001", как показано на фиг. 11 при t=1.For example, since the current value of the read sequence turned out to be greater than the QQ value, the first decoded symbol is single and the following boundaries of the decoding interval are set to the corresponding boundaries of the value of the decoding sub-interval of single characters DD 0 [0]. As a result of decoding the first symbol, the lower value of the arithmetic coding decoding interval LL [1] is set to QQ, for example, LL [1] = 127, and the upper value of the arithmetic coding decoding interval HH [1] is set to the previous value HH [0], for example , HH [1] = 255, as shown in FIG. 11 in the second row at t = 1. After decoding each symbol, the current probability value of the decoded zero characters and the current probability value of the decoded zero characters are recalculated, for example, after decoding the first character that is single, according to the formula and according to the formula of the form , respectively. Set the current lengths of the decoding intervals of single characters and zero characters and set the current value QQ = 170 with a binary representation of the form "10101001", as shown in FIG. 11 at t = 1.
Декодированный единичный символ считывают с выхода арифметического декодирования в качестве первого символа декодированной последовательности.The decoded unit symbol is read from the arithmetic decoding output as the first symbol of the decoded sequence.
После каждого изменения состояния арифметического декодирования самый левый бит двоичного представления значения LL сравнивают с самым левым битом двоичного представления значения HH, например, при t=1 вида "01111111" и "11111111", соответственно. При их совпадении выполняют нормализацию арифметического декодирования, иначе продолжают декодирование, например, декодируют второй символ принятой последовательности. На вход арифметического декодирования по прежнему считаны входные данные вида "10001110", что соответствует десятичному числу 142. Текущее значение считанной последовательности, сравнивают с границами значения подинтервала декодирования нулевых символов DD0[1], находящимися, например, в пределах от 127 до 170 и с границами значения подинтервала декодирования единичных символов DD1[1], находящимися, например, в пределах от 170 до 255. В зависимости от того, в пределах какого подинтервала декодирования символов оказалось текущее значение считанной последовательности, принимают решение о декодировании очередного символа принятой двоичной информационной последовательности. Например, так как текущее значение считанной последовательности оказалось меньше значения QQ, то второй декодированный символ является нулевым и следующие границы интервала декодирования устанавливают соответствующими границам значения подинтервала декодирования нулевых символов DD0[1]. В результате декодирования второго символа устанавливают нижнее значение интервала декодирования арифметического кодирования LL[2] равным предыдущему значению LL[1], например, LL[2]=127, а верхнее значение интервала декодирования арифметического кодирования HH[2] - равным значению QQ, например, HH[2]=170, как показано на фиг. 11 в третьей строке при t=2. После декодирования каждого символа пересчитывают текущее значение вероятности декодируемого нулевого символа и декодируемого нулевого символа, например, после декодирования второго символа, являющегося нулевым, по формуле вида и по формуле вида , соответственно. Устанавливают текущие длины подинтервалов декодирования единичных символов и нулевых символов и таким образом уточняют значения первого и второго регистров декодирования.After each change in the arithmetic decoding state, the leftmost bit of the binary representation of the LL value is compared with the leftmost bit of the binary representation of the HH value, for example, at t = 1 of the form “01111111” and “11111111”, respectively. When they coincide, normalization of arithmetic decoding is performed, otherwise decoding is continued, for example, the second character of the received sequence is decoded. The input of the form “10001110” is still read to the arithmetic decoding input, which corresponds to the
После декодирования каждого символа самый левый бит двоичного представления значения LL сравнивают с самым левым битом двоичного представления значения HH. Например, после декодирования четвертого символа самый левый бит двоичного представления значения LL[4] вида "10001100" сравнивают с самым левым битом двоичного представления значения HH[4] вида "10010101" и при их совпадении выполняют нормализацию арифметического декодирования: значение самого левого бита двоичных представлений значений LL и HH удаляют и двоичные символы двоичных представлений значений LL и HH сдвигают справа налево на один разряд и справа к ним в младший разряд дописывают по нулевому двоичному символу. Одновременно с этим, значение самого левого бита входных данных удаляют и двоичные символы входных данных сдвигают справа налево на один разряд и справа к ним дописывают следующий двоичный символ принятой последовательности, например, девятый по счету символ принятой последовательности, являющийся единичным символом, как показано на фиг. 11 в шестой строке "нормализация". С учетом дописанного двоичного символа, входные данные приобретают двоичное представление "00011101" и десятичное значение 29. Переменная LL принимает десятичное значение 24 и двоичное представление "00011000", а HH - десятичное значение 42 и двоичное представление "00101010". Так как самые левые биты двоичных представлений LL и HH снова совпадают, то выполняют повторную нормализацию идентичным образом и т.д.After decoding each symbol, the leftmost bit of the binary representation of the LL value is compared with the leftmost bit of the binary representation of the HH value. For example, after decoding the fourth character, the leftmost bit of the binary representation of the LL [4] value of the form “10001100” is compared with the leftmost bit of the binary representation of the HH [4] value of the form “10010101” and, if they coincide, the arithmetic decoding is normalized: the value of the leftmost bit of the binary representations of the values of LL and HH are deleted and the binary characters of binary representations of the values of LL and HH are shifted from right to left by one digit and are added to the least significant bit from right to left by a binary binary character. At the same time, the value of the leftmost bit of the input data is deleted and the binary characters of the input data are shifted from right to left by one digit, and the next binary character of the received sequence is added to them, for example, the ninth character of the received sequence, which is a single character, as shown in FIG. . 11 in the sixth line of "normalization." Given the added binary character, the input data acquires the binary representation "00011101" and
В результате арифметического декодирования первых по очереди символов принятой последовательности декодируют первую и вторую часть декодированной последовательности (ДП), имеющие, например, вид "10010" и "01110", как показано, например, на фиг. 8(б) и на фиг. 11.As a result of arithmetic decoding of the first-by-one characters of the received sequence, the first and second part of the decoded sequence (DP) are decoded, having, for example, the form “10010” and “01110”, as shown, for example, in FIG. 8 (b) and in FIG. eleven.
Способы выделения из очередной части декодированной последовательности очередной части восстановленной информационной последовательности и декодированных проверочных символов известны и описаны, например, в книге В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Очередную часть декодированной последовательности последовательно записывают в ячейки памяти регистра сдвига длиной k+r бит. Из первых по счету ячеек памяти этого регистра сдвига параллельно считывают очередную часть восстановленной информационной последовательности длиной k бит. Из последующих, начиная с k+1-ой, ячейки памяти этого же регистра сдвига параллельно считывают декодированные проверочные символы длиной r бит. Например, из первой части ДП вида "10010" выделяют первую часть восстановленной информационной последовательности (ВИП) вида "1001" и декодированный проверочный символ вида "0".Methods for extracting from the next part of the decoded sequence the next part of the reconstructed information sequence and decoded check symbols are known and described, for example, in the book by V. Shilo "Popular Digital Circuits". - M., Radio and Communications, 1987, 104-123, using shift registers with parallel and sequential write / read of binary sequences. The next part of the decoded sequence is sequentially recorded in the memory cells of the shift register of length k + r bits. From the first memory cells of this shift register, the next part of the reconstructed information sequence of length k bits is read in parallel. From the subsequent, starting from k + 1, memory cells of the same shift register, decoded check symbols of r bit length are read in parallel. For example, from the first part of the DP of the form "10010", the first part of the reconstructed information sequence (VIP) of the form "1001" and the decoded verification symbol of the form "0" are extracted.
Из очередной части восстановленной информационной последовательности вычисляют проверочные символы точно так же, как на передающей стороне проверочные символы вычисляют из очередной части информационной последовательности. Например, из первой части восстановленной информационной последовательности вида "1001" вычисляют проверочный символ вида "0".Verification symbols are calculated from the next part of the reconstructed information sequence in the same way as on the transmitting side, verification symbols are calculated from the next part of the information sequence. For example, from the first part of the restored information sequence of the form "1001", a verification character of the form "0" is calculated.
Вычисленные проверочные символы побитно сравнивают с декодированными проверочными символами и при их побитном совпадении делают вывод об отсутствии ошибок передачи. Например, в первой части вычисленный проверочный символ совпал с декодированным проверочным символом и ошибка канала передачи не обнаружена. Но во второй части декодированной последовательности вида "01110" из восстановленной информационной последовательности вида "0111" вычисляют проверочный символ вида "1", который не совпадает с декодированным проверочным символом вида "0". Поэтому ошибка передачи в принятой последовательности обнаружена.The calculated check symbols are bitwise compared with the decoded check symbols and, when bit-wise coincided, they conclude that there are no transmission errors. For example, in the first part, the calculated verification symbol coincided with the decoded verification symbol and no transmission channel error was detected. But in the second part of the decoded sequence of the form "01110" from the restored information sequence of the form "0111", a verification symbol of the form "1" is calculated, which does not coincide with the decoded verification symbol of the type "0". Therefore, a transmission error in the received sequence is detected.
Для исправления ошибки передачи поочередно инвертируют один или несколько битов в запомненной очередной части принятой последовательности. Способы инвертирования битов в запомненной очередной части принятой последовательности известны и описаны, например, в книге В. Шило "Популярные цифровые микросхемы". - М., Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной записью/считыванием двоичных последовательностей и двоичных инверторов. Инвертируемый бит из регистра сдвига параллельно считывают на вход инвертора и с выхода инвертора параллельно записывают в эту же ячейку памяти регистра сдвига.To correct transmission errors, one or more bits are inverted in turn in the remembered next part of the received sequence. Methods of inverting bits in the stored next part of the received sequence are known and described, for example, in the book by V. Shilo "Popular digital circuits." - M., Radio and Communications, 1987, 104-123, using shift registers with parallel writing / reading of binary sequences and binary inverters. The invertible bit from the shift register is read in parallel to the inverter input and from the inverter output is written in parallel to the same shift register memory cell.
Например, в запомненной принятой последовательности инвертируют первый бит (Ин 1. Пр. П) и она приобретает вид "000011101000000010", показанный на фиг. 8(в). Порядок сжатия запомненной принятой последовательности с инвертированным первым битов показан на фиг. 12. В результате арифметического декодирования Ин 1. Пр. П декодируют первые четыре части декодированной последовательности при инвертированном первом бите (ДП1), имеющие, например, вид "00000", "00000", "00000" и "01000", как показано, например, на фиг. 8(г) и на фиг. 12. Неисправленная ошибка передачи в принятой последовательности обнаружена только в четвертой части декодированной последовательности.For example, in the stored received sequence, the first bit is inverted (
Так как инвертирование первого (или только первого) бита принятой последовательности не привело к исправлению ошибки передачи, то в запомненной принятой последовательности инвертируют второй бит (Ин 2. Пр. П) и она приобретает вид "110011101000000010", показанный на фиг. 8(д). Порядок сжатия запомненной принятой последовательности с инвертированным вторым битов показан на фиг. 13. В результате арифметического декодирования Ин 2. Пр. П декодируют первые две части декодированной последовательности при инвертированном втором бите (ДП2), имеющие, например, вид "11110" и "10111", как показано, например, на фиг. 8(e) и на фиг. 13. По результатам побитного сравнения вычисленных проверочных символов с соответствующим декодированными проверочными символами сделан вывод об отсутствии ошибок передачи. Действительно, первые две части декодированные последовательности идентичны первым двум частям помехоустойчивой последовательности, показанным на фиг. 4(в).Since the inversion of the first (or only the first) bit of the received sequence did not correct the transmission error, the second bit is inverted in the stored received sequence (
При отсутствии ошибка передачи передают получателю очередные части восстановленной информационной последовательности, например, первые две части восстановленной информационной последовательности вида "1111" и "1011", показанные на фиг. 8(ж).If there is no transmission error, the next parts of the restored information sequence are transmitted to the recipient, for example, the first two parts of the restored information sequence of the form “1111” and “1011” shown in FIG. 8 (g).
Для сжатия очередных частей помехоустойчивой последовательности можно использовать кодирование Хаффмана, а для разжатия принятой последовательности использовать декодирование Хаффмана, аналогично, как описанное арифметическое кодирование и арифметическое декодирование.Huffman coding can be used to compress the next parts of the error-correcting sequence, and Huffman decoding can be used to decompress the received sequence, similarly to the described arithmetic coding and arithmetic decoding.
Проверка теоретических предпосылок заявленного способа совместного сжатия и помехоустойчивого кодирования проверялась путем его аналитических исследований.Verification of the theoretical background of the claimed method of joint compression and noise-correcting coding was verified by its analytical studies.
Было выполнено совместное сжатие и помехоустойчивое кодирования нескольких очередных частей информационной последовательности с использованием способа-прототипа и предлагаемого способа, результаты показаны на фиг. 14. Выполнялось совместное сжатие и помехоустойчивое кодирование N=10 очередных частей информационной последовательности длиной k=4 бит и k=20 бит, при использовании проверочных символов длиной r=1 бит. Сжатию и помехоустойчивому кодированию подвергались очередные части двоичной информационной последовательности с вероятностью единичных символов 0.5, 0.2, 0.1, 0.01 и 0.001, соответственно. Передаваемая по каналу передачи сжатая последовательность случайным образом искажалась одной ошибкой. На приемной стороне подсчитывалась вероятность обнаружения ошибки Pобнар и вероятность исправления ошибки Pисправ. Выявлено, что по мере повышения избыточности информационной последовательности повышается вероятность обнаружения ошибки и вероятность исправления ошибки. Также вероятность обнаружения ошибки и вероятность исправления ошибки повышается с увеличением длины очередной части информационной последовательности с k=4 бит до k=20 бит. Для всех исследованных случаев предлагаемый способ обеспечивает повышение обнаруживающей и исправляющей способностью по обнаружению и исправлению ошибок передачи по сравнению со способом-прототипом.Joint compression and noise-resistant coding of several successive parts of the information sequence was performed using the prototype method and the proposed method, the results are shown in FIG. 14. Joint compression and error-correcting coding of N = 10 consecutive parts of the information sequence of length k = 4 bits and k = 20 bits was performed using test characters of length r = 1 bit. The next parts of the binary information sequence with the probability of single symbols of 0.5, 0.2, 0.1, 0.01 and 0.001, respectively, were subjected to compression and noise-resistant coding. The compressed sequence transmitted over the transmission channel was randomly distorted by one error. On the receiving side, the probability of detecting an error P obn and the probability of correcting an error P correct were calculated . It was revealed that as the redundancy of the information sequence increases, the probability of error detection and the probability of error correction increase. Also, the probability of error detection and the probability of error correction increases with increasing length of the next part of the information sequence from k = 4 bits to k = 20 bits. For all investigated cases, the proposed method provides an increase in the detecting and correcting ability to detect and correct transmission errors in comparison with the prototype method.
Таким образом, в заявленном способе совместного сжатия и помехоустойчивого кодирования избыточной двоичной информационной последовательности обеспечивается повышение обнаруживающей и исправляющей способностью по обнаружению и исправлению ошибок передачи.Thus, in the inventive method for joint compression and error-correcting coding of an excess binary information sequence, an increase in the detecting and correcting ability to detect and correct transmission errors is provided.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015139196/08A RU2595955C1 (en) | 2015-09-14 | 2015-09-14 | Method for combined compression and noiseless coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015139196/08A RU2595955C1 (en) | 2015-09-14 | 2015-09-14 | Method for combined compression and noiseless coding |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2595955C1 true RU2595955C1 (en) | 2016-08-27 |
Family
ID=56892018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015139196/08A RU2595955C1 (en) | 2015-09-14 | 2015-09-14 | Method for combined compression and noiseless coding |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2595955C1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892343B2 (en) * | 2000-03-27 | 2005-05-10 | Board Of Regents Of The University Of Nebraska | System and method for joint source-channel encoding, with symbol decoding and error correction |
US7249311B2 (en) * | 2002-09-11 | 2007-07-24 | Koninklijke Philips Electronics N.V. | Method end device for source decoding a variable-length soft-input codewords sequence |
RU71491U1 (en) * | 2006-06-26 | 2008-03-10 | Открытое акционерное общество "Концерн "Созвездие" | DEVICE FOR TRANSMISSION AND RECEIVING OF DISCRETE INFORMATION IN A RADIO LINE WITH A PSEUDO-RANDOM RESETTING OF THE OPERATING FREQUENCY |
RU2375824C2 (en) * | 2007-06-13 | 2009-12-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method of adaptive noiseless coding |
US7882421B2 (en) * | 2004-05-06 | 2011-02-01 | Seyfullah Halit Oguz | Method and apparatus for joint source-channel map decoding |
US8938663B2 (en) * | 2012-01-24 | 2015-01-20 | Broadcom Corporation | Modem architecture for joint source channel decoding |
-
2015
- 2015-09-14 RU RU2015139196/08A patent/RU2595955C1/en not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892343B2 (en) * | 2000-03-27 | 2005-05-10 | Board Of Regents Of The University Of Nebraska | System and method for joint source-channel encoding, with symbol decoding and error correction |
US7249311B2 (en) * | 2002-09-11 | 2007-07-24 | Koninklijke Philips Electronics N.V. | Method end device for source decoding a variable-length soft-input codewords sequence |
US7882421B2 (en) * | 2004-05-06 | 2011-02-01 | Seyfullah Halit Oguz | Method and apparatus for joint source-channel map decoding |
RU71491U1 (en) * | 2006-06-26 | 2008-03-10 | Открытое акционерное общество "Концерн "Созвездие" | DEVICE FOR TRANSMISSION AND RECEIVING OF DISCRETE INFORMATION IN A RADIO LINE WITH A PSEUDO-RANDOM RESETTING OF THE OPERATING FREQUENCY |
RU2375824C2 (en) * | 2007-06-13 | 2009-12-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method of adaptive noiseless coding |
US8938663B2 (en) * | 2012-01-24 | 2015-01-20 | Broadcom Corporation | Modem architecture for joint source channel decoding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108702161B (en) | Systems and methods for polarization encoding and decoding | |
CN108702290B (en) | Concatenated polarization encoding and sliding window polarization encoding | |
KR101330132B1 (en) | Decoding of raptor codes | |
JP3923617B2 (en) | Method for converting information bits having error correcting code and encoder and decoder for performing the method | |
US11171741B2 (en) | Polar code transmission method and apparatus | |
EP3371890A1 (en) | Signature-enabled polar encoder and decoder | |
RU2629455C2 (en) | Method of joint arithmetic and noise-immune coding | |
CN108282265B (en) | Error correction encoding method, apparatus, device and computer readable storage medium | |
CN109768846B (en) | Hole drilling method, system, device and medium based on two-core three-core mixed polarization code | |
US20190081730A1 (en) | Forward error correction with compression coding | |
US10848185B2 (en) | Coding and decoding of polar codes extended to lengths which are not powers of two | |
CN109075804B (en) | Communication apparatus and communication method using polarization code | |
JP2000101452A (en) | Information transmission method, device and storage medium therefor | |
US20200067536A1 (en) | Polar Code Transmission Method and Apparatus | |
RU2611022C1 (en) | Method of joint arithmetic and protective coding (versions) | |
US20230275600A1 (en) | Parity interleaving apparatus for encoding variable-length signaling information and parity interleaving method using same | |
CN109787641B (en) | Method, device and storage medium for decoding sta-irecase code | |
KR20100008849A (en) | Apparatus and method for cyclic redundancy check in communication system | |
US3571795A (en) | Random and burst error-correcting systems utilizing self-orthogonal convolution codes | |
RU2620731C1 (en) | Method of joint arithmetic and immune construction of coding and decoding | |
CN111771336B (en) | Apparatus and method for generating polarization code | |
RU2595955C1 (en) | Method for combined compression and noiseless coding | |
CN101645753B (en) | Coding method without rate codes | |
RU2702724C2 (en) | Method of combined arithmetic and noise-immune encoding and decoding | |
RU2608872C1 (en) | Method of encoding and decoding block code using viterbi algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20170915 |