[go: up one dir, main page]

RU2611022C1 - Method of joint arithmetic and protective coding (versions) - Google Patents

Method of joint arithmetic and protective coding (versions) Download PDF

Info

Publication number
RU2611022C1
RU2611022C1 RU2016102915A RU2016102915A RU2611022C1 RU 2611022 C1 RU2611022 C1 RU 2611022C1 RU 2016102915 A RU2016102915 A RU 2016102915A RU 2016102915 A RU2016102915 A RU 2016102915A RU 2611022 C1 RU2611022 C1 RU 2611022C1
Authority
RU
Russia
Prior art keywords
sequence
interval
current
characters
arithmetic
Prior art date
Application number
RU2016102915A
Other languages
Russian (ru)
Inventor
Нина Сергеевна Агеева
Игорь Николаевич Оков
Андрей Александрович Устинов
Original Assignee
федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации filed Critical федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации
Priority to RU2016102915A priority Critical patent/RU2611022C1/en
Application granted granted Critical
Publication of RU2611022C1 publication Critical patent/RU2611022C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: check symbols on transmitting side are selected by allocation of a sub-interval for each check symbol among current zero symbol encoding sub-interval and current single symbol encoding sub-interval, including the middle of initial interval of arithmetic coding, and check symbols sets the symbol corresponding to the selected current sub-interval, next part of encoded sequence is transmitted on the receiving side, wherein, if the current decoding subinterval of each decoded check symbols includes the middle of initial interval of arithmetic coding, the absence of transmission errors is concluded.
EFFECT: joint arithmetic and noise protective coding of redundant binary information sequence providing reduction in requirements for transmission speed of encoded sequence through transmission channel and reduction in capacity of devices for its storage.
3 cl, 26 dwg

Description

Заявленные технические решения объединены единым изобретательским замыслом и относятся к области электросвязи и информационных технологий, а именно к технике сжатия избыточной двоичной информации и ее помехоустойчивого кодирования при обмене данными по каналам передачи с ошибками.The claimed technical solutions are united by a single inventive concept and relate to the field of telecommunications and information technologies, namely to the technique of compressing redundant binary information and its noise-resistant coding when exchanging data over transmission channels with errors.

Заявленные объекты изобретения могут быть использованы для сжатия избыточной двоичной информации и ее помехоустойчивого кодирования при обмене данными по каналам передачи с ошибками.The claimed objects of the invention can be used to compress redundant binary information and its error-correcting coding when exchanging data on transmission 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.

Известен также способ совместного сжатия и помехоустойчивого кодирования речевых сообщений описанный, например, в книге C.H. Кириллов, В.Т. Дмитриев, Д.Е. Крысяев, С.С. Попов "Исследование качества передаваемой речевой информации при различном сочетании алгоритмов кодирования источника и канала связи в условиях воздействия помех". - Рязань, Вестник РГРТУ, Выпуск 23, 2008. Данный способ заключается в том, что предварительно формируют множество способов сжатия речевого сигнала, таких как импульсно-кодовая модуляция, адаптивная дельта-модуляция, адаптивная дифференциальная импульсно-кодовая модуляция, и множество способов помехоустойчивого кодирования, таких как кодирование Хэмминга, кодирование Боуз-Чоудхури-Хоквингема, на передающей стороне от отправителя получают очередную часть речевого сигнала длиною речевая фраза, который преобразуют в сжатую двоичную последовательность с помощью одного из способов сжатия речевого сигнала, выполняют помехоустойчивое кодирование сжатой двоичной последовательности с помощью одного из способов помехоустойчивого кодирования, передают на приемную сторону по каналу прямой связи очередную часть кодированной последовательности вместе с информацией об использованном способе сжатия речевого сигнала и способе помехоустойчивого кодирования, на приемной стороне получают очередную часть принятой последовательности, очередную часть принятой последовательности последовательно декодируют с использованием соответствующих способа помехоустойчивого декодирования и способа восстановления речевого сигнала, вычисляют оценку качества восстановленного речевого сигнала и полученную оценку сравнивают с пороговым значением качества, если вычисленная оценка качества восстановленного речевого сигнала не хуже предварительно установленного порогового значения качества, то передают получателю очередную часть восстановленной информационной последовательности и передающей стороне от отправителя получают очередную часть речевого сигнала и выполняют последующие действия, иначе передают по каналу обратной связи требование изменить способ сжатия речевого сигнала и способ помехоустойчивого кодирования, и выполняют последующие действия.There is also a method of joint compression and noise-resistant coding of voice messages described, for example, in the book C.H. 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 estimate is compared with the threshold quality value, if the calculated quality assessment of the reconstructed speech signal is not worse than a preset threshold quality value, then the receiver receives the next part of the reconstructed 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 МПК Н04М 13/00 (2006.01) от 10.05.2005. Способ-прототип совместного арифметического и помехоустойчивого кодирования заключается в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, из предварительно сформированного множества выбирают проверочные символы длиной r≥1 бит и формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, преобразуют очередную часть кодированной последовательности в очередную часть модулированной последовательности, передают очередную часть модулированной последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, преобразуют ее в двоичную последовательность, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, если декодированные проверочные символы принадлежат предварительно сформированному множеству проверочных символов, то делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности.Closest in technical essence to the claimed methods of joint compression and noise-resistant coding is the method of joint arithmetic and noise-resistant coding according to US patent 6892343 IPC Н04М 13/00 (2006.01) dated 05/10/2005. The prototype method of joint arithmetic and noise-resistant coding is that the initial arithmetic coding interval is set on the transmitting side and the initial arithmetic decoding interval corresponding to it is set on the receiving side, the next part of the information sequence of k≥1 bit length is received on the transmitting side, divide the current arithmetic coding interval into the current null character encoding sub-interval and the current the coding sub-interval of a single symbol, from the pre-formed set, test characters of r≥1 bit length are selected and the next part of the error-correcting sequence is formed from the next part of the information sequence and the selected test symbols, arithmetic coding of the next part of the error-correcting sequence into the next part of the coded sequence is converted, the next part of the coded sequences in the next part of the modulated sequence lnostities, transmit the next part of the modulated sequence to the receiving side, perform the above actions on the transmitting side until the next parts of the information sequence arrive, receive the next part of the received sequence on the receiving side, convert it to a binary sequence that is stored, share the current arithmetic interval decoding to the current decoding interval of the null symbol and to the current decoding interval of a single symbol, the aforementioned next parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, from which the next parts of the reconstructed information sequence and decoded verification symbols are extracted, if the decoded verification symbols belong to a pre-formed set of verification symbols, then they conclude that there are no transmission errors and the next part of the restored information sequence, otherwise alternately inv One or several bits in the stored successive parts of the received sequence are verified and their arithmetic decoding is performed until a conclusion about the absence of transmission errors is reached, the above actions are performed on the receiving side until the next parts of the received sequence arrive.

Особенностью способа-прототипа является то, что на передающей стороне выполняют сначала выбор проверочных символов, которые вместе с очередной частью информационной последовательности составляют очередную часть помехоустойчивой последовательности, а затем ее сжатие путем арифметического кодирования, а на приемной стороне при декодировании обнаруживают ошибки канала передачи при их наличии, а при их обнаружении методом проб и ошибок выполняют их исправление.A feature of the prototype method is that on the transmitting side, first, the selection of test symbols is performed, which together with the next part of the information sequence make up the next part of the error-correcting sequence, and then its compression by arithmetic coding, and on the receiving side when decoding, they detect transmission channel errors when the presence, and when they are detected by trial and error, they are corrected.

Способ-прототип совместного арифметического и помехоустойчивого кодирования обеспечивает возможность обнаружения и исправления ошибок канала передачи.The prototype method of the joint arithmetic and noise-resistant coding provides the ability to detect and correct errors of the transmission channel.

Однако в данном способе-прототипе совместного арифметического и помехоустойчивого кодирования проверочные символы не зависят от избыточной информационной последовательности, соответственно, статистические характеристики проверочных символов и информационной последовательности различаются. Поэтому в данном способе-прототипе совместного арифметического и помехоустойчивого кодирования уменьшается коэффициент сжатия очередных частей помехоустойчивой последовательности, что приводит к увеличению длины кодированной последовательности и требует повышения скорости передачи по каналу передачи кодированной последовательности или увеличения емкости устройств ее запоминания.However, in this prototype method of joint arithmetic and noise-resistant coding, the verification symbols are independent of the redundant information sequence; accordingly, the statistical characteristics of the verification symbols and the information sequence are different. Therefore, in this prototype method of joint arithmetic and noise-resistant coding, the compression ratio of the next parts of the noise-resistant sequence is reduced, which leads to an increase in the length of the encoded sequence and requires an increase in the transmission speed of the encoded sequence over the transmission channel or an increase in the capacity of its storage devices.

Таким образом, недостатком ближайшего аналога (прототипа) является необходимость повышения скорости передачи по каналу передачи кодированной последовательности или увеличения емкости устройств ее запоминания при совместном арифметическом и помехоустойчивом кодировании избыточной двоичной информационной последовательности.Thus, a drawback of the closest analogue (prototype) is the need to increase the transmission rate of the encoded sequence over the transmission channel or to increase the capacity of its memory devices when arithmetic and noise-resistant coding of an excess binary information sequence is combined.

Техническим результатом заявляемых решений является совместное арифметическое и помехоустойчивое кодирование избыточной двоичной информационной последовательности, обеспечивающее уменьшение скорости передачи по каналу передачи кодированной последовательности или уменьшение емкости устройств ее запоминания.The technical result of the claimed solutions is a joint arithmetic and noise-resistant coding of an excess binary information sequence, which provides a decrease in the transmission rate over the transmission channel of the encoded sequence or a decrease in the capacity of its storage devices.

Указанный технический результат в первом варианте заявляемого способа совместного арифметического и помехоустойчивого кодирования, использующего выбор проверочных символов по подинтервалам кодирования, достигается тем, что в известном способе совместного арифметического и помехоустойчивого кодирования, заключающимся в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, выбирают проверочные символы длиной r≥1 бит, формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, дополнительно на передающей стороне проверочные символы выбирают выделением для каждого проверочного символа среди текущего подинтервала кодирования нулевого символа и текущего подинтервала кодирования единичного символа текущий подинтервал, включающий середину начального интервала арифметического кодирования, и устанавливают проверочным символом такой символ, который соответствует выделенному текущему подинтервалу. Передают очередную часть кодированной последовательности на приемную сторону, а на приемной стороне, если текущий подинтервал декодирования каждого из декодированных проверочных символов включает середину начального интервала арифметического кодирования, то делают вывод об отсутствии ошибок передачи.The specified technical result in the first embodiment of the proposed method of joint arithmetic and noise-resistant coding, using the choice of check characters for the coding sub-intervals, is achieved by the fact that in the known method of joint arithmetic and noise-resistant coding, which means that the initial arithmetic coding interval is set on the transmitting side and on the receiving side the corresponding initial arithmetic decoding interval, on transmitting on the other side of the information source, the next part of the information sequence of k≥1 bit length is received, the current arithmetic coding interval is divided into the current null symbol encoding subinterval and the single character encoding subinterval, the test characters are r≥1 bit long, the next part of the error-correcting sequence is formed from the next part of the information sequence and the selected check symbols, perform arithmetic coding of the next part of the noise sequence in the next part of the coded 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, share the current arithmetic decoding interval to the current sub-interval of decoding a null character and to the current sub-interval of decoding a single the symbol, the stored next parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, from which the next parts of the restored information sequence and decoded check symbols are extracted, they conclude that there are no transmission errors and transmit the next part of the restored information sequence to the recipient, otherwise one or more bits are inverted in the memorized regular parts of the accepted sequence and perform their ari until the next part of the received sequence arrives, additionally, on the transmitting side, the verification symbols are selected by highlighting for each verification symbol among the current null symbol coding subinterval and the single coding subinterval character the current sub-interval, including the middle of the initial interval of arithmetic coding, and set roverochnym symbol of a symbol that corresponds to the selection of the current subinterval. The next part of the encoded sequence is transmitted to the receiving side, and on the receiving side, if the current decoding sub-interval of each of the decoded check symbols includes the middle of the initial arithmetic coding interval, then a conclusion is made that there are no transmission errors.

Таким образом, в первом варианте способа совместного арифметического и помехоустойчивого кодирования используют выбор проверочных символов, соответствующих текущему подинтервалу кодирования, включающего середину начального интервала арифметического кодирования.Thus, in the first embodiment of the method of joint arithmetic and noise-resistant coding, a selection of check symbols is used corresponding to the current coding sub-interval, including the middle of the initial arithmetic coding interval.

Указанный технический результат во втором варианте заявляемого способа совместного арифметического и помехоустойчивого кодирования, использующего выбор проверочных символов по вероятности символов информационной последовательности, достигается тем, что в известном способе совместного арифметического и помехоустойчивого кодирования, заключающимся в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, выбирают проверочные символы длиной r≥1 бит, формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, дополнительно на передающей стороне проверочные символы выбирают как нулевые или единичные символы, текущая вероятность которых наиболее близка к определенной арифметическим кодированием текущей вероятности символов информационной последовательности. Передают очередную часть кодированной последовательности на приемную сторону, а на приемной стороне, если текущая вероятность декодированных проверочных символов как нулевых или единичных символов соответствует определенной арифметическим декодированием текущей вероятности символов восстановленной информационной последовательности, то делают вывод об отсутствии ошибок передачи.The specified technical result in the second embodiment of the proposed method of joint arithmetic and noise-resistant coding, using the choice of check symbols for the probability of information sequence symbols, is achieved by the fact that in the known method of joint arithmetic and noise-resistant coding, which means that the initial arithmetic interval is preliminarily set on the transmitting side encoding and on the receiving side the corresponding initial interval arithmetic of the decoding, on the transmitting side from the information source, the next part of the information sequence of k≥1 bit length is received, the current arithmetic coding interval is divided into the current coding subinterval of the zero character and the current coding subinterval of a single character, test characters of r≥1 bit length are selected, the next part of the error-correcting sequence from the next part of the information sequence and the selected check symbols, perform arithmetic coding the next part of the error-correcting sequence into the next part of the coded sequence, the next part of the sequence is transmitted to the receiving side, the listed actions are performed on the transmitting side until the next parts of the information sequence arrive, the next part of the received sequence is received on the receiving side, which is stored, shared by the current the interval of arithmetic decoding to the current sub-interval of decoding of a null character and to the current subint tore decoding a single character, the stored next parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, from which the next parts of the restored information sequence and decoded check symbols are extracted, they conclude that there are no transmission errors and transmit the next part of the restored information sequence to the recipient, otherwise they invert one or several bits in the memorized successive parts of the received last sequence and perform their arithmetic decoding until a conclusion is reached that there are no transmission errors, perform the above actions on the receiving side until the next parts of the received sequence arrive, in addition, on the transmitting side, the test characters are selected as zero or single characters, the current probability of which is closest to defined by arithmetic coding of the current probability of information sequence symbols. The next part of the encoded sequence is transmitted to the receiving side, and on the receiving side, if the current probability of the decoded check symbols as zero or single characters corresponds to a certain arithmetic decoding of the current probability of the symbols of the restored information sequence, then a conclusion is made that there are no transmission errors.

Таким образом, во втором варианте способа совместного арифметического и помехоустойчивого кодирования используют выбор проверочных символов, текущая вероятность которых наиболее близка к определенной арифметическим кодированием текущей вероятности символов информационной последовательности.Thus, in the second embodiment of the method of joint arithmetic and noise-resistant coding, a selection of check symbols is used, the current probability of which is closest to the current probability of the information sequence symbols determined by arithmetic coding.

Указанный технический результат в третьем варианте заявляемого способа совместного арифметического и помехоустойчивого кодирования, использующего выбор проверочных символов по преобладанию символов информационной последовательности, достигается тем, что в известном способе совместного арифметического и помехоустойчивого кодирования, заключающимся в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, выбирают проверочные символы длиной r≥1 бит, формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, дополнительно на передающей стороне проверочные символы выбирают как нулевые символы, если определенная арифметическим кодированием текущая вероятность нулевых символов информационной последовательности больше или равна текущей вероятности единичных символов информационной последовательности, иначе выбирают проверочные символы как единичные символы. Передают очередную часть кодированной последовательности на приемную сторону, а на приемной стороне, если декодированные проверочные символы являются нулевыми символами при условии, что определенная арифметическим декодированием текущая вероятность нулевых символов восстановленной информационной последовательности больше или равна текущей вероятности единичных символов этой последовательности, или декодированные проверочные символы являются единичными символами при условии, что определенная арифметическим декодированием текущая вероятность единичных символов восстановленной информационной последовательности больше текущей вероятности нулевых символов этой последовательности, то делают вывод об отсутствии ошибок передачи.The specified technical result in the third embodiment of the proposed method of joint arithmetic and noise-resistant coding, using the choice of check characters for the predominance of the characters of the information sequence, is achieved by the fact that in the known method of joint arithmetic and noise-resistant coding, which consists in the preliminary setting of the initial interval of the arithmetic encoding and on the receiving side the corresponding initial interval is arithmetic decoding, on the transmitting side from the information source, the next part of the information sequence of k≥1 bit length is received, the current arithmetic coding interval is divided into the current coding subinterval of the zero character and the current coding subinterval of a single character, test characters of r≥1 bit length are selected, the next part of the error-correcting sequence of the next part of the information sequence and the selected check symbols, perform arithmetic coding the next part of the error-correcting sequence into the next part of the coded sequence, the next part of the sequence is transmitted to the receiving side, the above actions are performed on the transmitting side until the next parts of the information sequence arrive, the next part of the received sequence is received on the receiving side, which is stored, shared by the current arithmetic decoding interval to the current null-symbol decoding sub-interval and to the current subint the decoding interval of a single symbol, the stored next parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, from which the next parts of the restored information sequence and decoded check symbols are extracted, they conclude that there are no transmission errors and transmit the next part of the restored information sequence to the recipient, otherwise they invert one or several bits in the memorized regular parts received after sequences and perform their arithmetic decoding until a conclusion is reached that there are no transmission errors, perform the above actions on the receiving side until the next parts of the received sequence arrive, additionally, on the transmitting side, the test characters are selected as zero characters if the current probability of zero characters determined by arithmetic coding information sequence greater than or equal to the current probability of single characters of the information sequence, in Alternatively, test characters are selected as single characters. The next part of the coded sequence is transmitted to the receiving side, and on the receiving side, if the decoded check symbols are null symbols, provided that the arithmetic decoding current probability of zero symbols of the restored information sequence is greater than or equal to the current probability of single symbols of this sequence, or the decoded verification symbols are single characters, provided that defined by arithmetic decoding schaya probability of single characters reconstructed information sequence greater than the current probability of null characters of the sequence, then come to the conclusion about the absence of transmission errors.

Таким образом, в третьем варианте способа совместного арифметического и помехоустойчивого кодирования используют выбор проверочных символов в соответствии с символами информационной последовательности с большей текущей вероятностью.Thus, in the third embodiment of the method of joint arithmetic and noise-resistant coding, the choice of check symbols is used in accordance with the symbols of the information sequence with a greater current probability.

Указанные новые совокупности действий по трем вариантам за счет выбора проверочных символов в соответствии с текущей вероятностью нулевых и единичных символов информационной последовательности позволяют увеличить коэффициент сжатия очередных частей помехоустойчивой последовательности, что приводит к уменьшению длины кодированной последовательности и обеспечивает уменьшение скорости передачи по каналу передачи кодированной последовательности или уменьшение емкости устройств ее запоминания.The indicated new sets of actions in three variants by selecting test symbols in accordance with the current probability of zero and single symbols of the information sequence make it possible to increase the compression ratio of the next parts of the error-correcting sequence, which leads to a decrease in the length of the encoded sequence and reduces the transmission rate over the transmission channel of the encoded sequence or reduction in the capacity of devices for its storage.

Заявленный способ (варианты) поясняется чертежами, на которых показаны:The claimed method (options) is illustrated by drawings, which show:

- на фиг. 1 - общая схема совместного арифметического и помехоустойчивого кодирования в предлагаемых способах;- in FIG. 1 - a General scheme of joint arithmetic and noise-resistant coding in the proposed methods;

- на фиг. 2 - алгоритм совместного арифметического и помехоустойчивого кодирования на передающей стороне;- in FIG. 2 - algorithm for joint arithmetic and noise-resistant coding on the transmitting side;

- на фиг. 3 - таблица состояний совместного арифметического и помехоустойчивого кодирования первых шести очередных частей помехоустойчивой последовательности при выборе проверочных символов по подынтервалам кодирования;- in FIG. 3 is a state table of the joint arithmetic and noise-resistant coding of the first six successive parts of the error-correcting sequence when selecting check symbols for the coding sub-intervals;

- на фиг. 4 - временные диаграммы совместного арифметического и помехоустойчивого кодирования первых шести очередных частей помехоустойчивой последовательности при выборе проверочных символов по подинтервалам кодирования;- in FIG. 4 - time diagrams of the joint arithmetic and noise-resistant coding of the first six successive parts of the error-correcting sequence when selecting check symbols for coding sub-intervals;

- на фиг. 5 - временные диаграммы совместного арифметического и помехоустойчивого кодирования на передающей стороне при выборе проверочных символов по подинтервалам кодирования;- in FIG. 5 is a timing diagram of a joint arithmetic and noise-resistant coding on the transmitting side when selecting check symbols for coding sub-intervals;

- на фиг. 6 - временные диаграммы совместного арифметического декодирования и исправления ошибок на приемной стороне при выборе проверочных символов по подинтервалам кодирования;- in FIG. 6 is a timing chart of joint arithmetic decoding and error correction at the receiving side when selecting check symbols for coding sub-intervals;

- на фиг. 7 - алгоритм совместного арифметического и помехоустойчивого декодирования на приемной стороне;- in FIG. 7 - algorithm for joint arithmetic and noise-resistant decoding at the receiving side;

- на фиг. 8 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при выборе проверочных символов по подинтервалам кодирования;- in FIG. 8 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when selecting check symbols for coding sub-intervals;

- на фиг. 9 - временные диаграммы совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при выборе проверочных символов по подинтервалам кодирования;- in FIG. 9 is a timing chart of joint arithmetic and noise-resistant decoding of a received sequence with a transmission error when selecting check symbols for coding sub-intervals;

- на фиг. 10 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее первого бита при выборе проверочных символов по подинтервалам кодирования;- in FIG. 10 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when inverting its first bit when selecting check symbols for coding sub-intervals;

- на фиг. 11 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее второго бита при выборе проверочных символов по подинтервалам кодирования;- in FIG. 11 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when inverting its second bit when selecting check symbols for coding sub-intervals;

- на фиг. 12 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее третьего бита при выборе проверочных символов по подинтервалам кодирования;- in FIG. 12 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when inverting its third bit when selecting check symbols for coding sub-intervals;

- на фиг. 13 - временные диаграммы совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее третьего бита при выборе проверочных символов по подинтервалам кодирования;- in FIG. 13 is a timing chart of joint arithmetic and noise-resistant decoding of a received sequence with a transmission error when inverting its third bit when selecting check symbols for coding sub-intervals;

- на фиг. 14 - временные диаграммы совместного арифметического и помехоустойчивого кодирования первых шести очередных частей помехоустойчивой последовательности при выборе проверочных символов по вероятности символов информационной последовательности;- in FIG. 14 is a timing chart of the joint arithmetic and noise-resistant coding of the first six successive parts of the noise-resistant sequence when selecting test symbols for the probability of information sequence symbols;

- на фиг. 15 - таблица состояний совместного арифметического и помехоустойчивого кодирования первых шести очередных частей помехоустойчивой последовательности при выборе проверочных символов по вероятности символов информационной последовательности;- in FIG. 15 is a state table of joint arithmetic and noise-resistant coding of the first six successive parts of the noise-resistant sequence when selecting test symbols for the probability of information sequence symbols;

- на фиг. 16 - временные диаграммы совместного арифметического декодирования и исправления ошибок на приемной стороне при выборе проверочных символов по вероятности символов информационной последовательности;- in FIG. 16 is a timing chart of joint arithmetic decoding and error correction at the receiving side when selecting check symbols for the probability of information sequence symbols;

- на фиг. 17 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при выборе проверочных символов по вероятности символов информационной последовательности;- in FIG. 17 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when selecting check symbols for the probability of information sequence symbols;

- на фиг. 18 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее первого бита при выборе проверочных символов по вероятности символов информационной последовательности;- in FIG. 18 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when inverting its first bit when selecting check symbols for the probability of information sequence symbols;

- на фиг. 19 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее второго бита при выборе проверочных символов по вероятности символов информационной последовательности;- in FIG. 19 is a state table of joint arithmetic and noise-resistant decoding of a received sequence with a transmission error when inverting its second bit when selecting check symbols for the probability of information sequence symbols;

- на фиг. 20 - временные диаграммы совместного арифметического и помехоустойчивого кодирования первых пяти очередных частей помехоустойчивой последовательности при выборе проверочных символов по преобладанию символов информационной последовательности;- in FIG. 20 is a timing chart of the joint arithmetic and noise-resistant coding of the first five successive parts of the noise-resistant sequence when selecting test symbols for the predominance of information sequence symbols;

- на фиг. 21 - таблица состояний совместного арифметического и помехоустойчивого кодирования первых пяти очередных частей помехоустойчивой последовательности при выборе проверочных символов по преобладанию символов информационной последовательности;- in FIG. 21 is a state table of joint arithmetic and noise-resistant coding of the first five successive parts of the noise-resistant sequence when selecting test symbols for the predominance of information sequence symbols;

- на фиг. 22 - временные диаграммы совместного арифметического декодирования и исправления ошибок на приемной стороне при выборе проверочных символов по преобладанию символов информационной последовательности;- in FIG. 22 is a timing chart of joint arithmetic decoding and error correction at the receiving side when selecting test symbols for the predominance of information sequence symbols;

- на фиг. 23 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при выборе проверочных символов по преобладанию символов информационной последовательности;- in FIG. 23 is a state table of joint arithmetic and noise-resistant decoding of a received sequence with a transmission error when selecting check symbols for the predominance of information sequence symbols;

- на фиг. 24 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее первого бита при выборе проверочных символов по преобладанию символов информационной последовательности;- in FIG. 24 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when inverting its first bit when selecting check symbols for the predominance of information sequence symbols;

- на фиг. 25 - таблица состояний совместного арифметического и помехоустойчивого декодирования принятой последовательности с ошибкой передачи при инвертировании ее второго бита при выборе проверочных символов по преобладанию символов информационной последовательности;- in FIG. 25 is a state table of joint arithmetic and error-correcting decoding of a received sequence with a transmission error when inverting its second bit when selecting check symbols for the predominance of information sequence symbols;

- на фиг. 26 - сравнение характеристик совместного арифметического и помехоустойчивого кодирования для способа-прототипа и заявляемых вариантов способа.- in FIG. 26 is a comparison of the characteristics of joint arithmetic and noise-resistant coding for the prototype method and the claimed method variants.

Реализация заявленных способов (варианты) представлена на примере системы совместного арифметического и помехоустойчивого кодирования, показанной на фиг. 1. На передающей стороне выполняют совместное арифметическое и помехоустойчивое кодирование очередных частей информационной последовательности, а на приемной стороне - совместное арифметическое и помехоустойчивое декодирование принятой последовательности с обнаружением и исправлением ошибок канала передачи. На передающей стороне при получении от отправителя двоичного символа очередной части информационной последовательности при получении нулевого символа счетчик числа нулевых символов 1 увеличивает число нулевых символов кодирования на единичное значение, а при получении единичного символа счетчик числа единичных символов 2 увеличивает число единичных символов кодирования на единичное значение. Пропорционально подсчитанным числам нулевых и единичных символов кодирования в формирователе границ подинтервалов 3 текущий интервал арифметического кодирования разделяют на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа. В блоке выбора проверочных символов 4 выбирают проверочные символы, которые вместе с символами очередной части информационной последовательности кодируют в арифметическом кодере 5 в очередную часть кодированной последовательности и передают по каналу передачи на приемную сторону.The implementation of the claimed methods (options) is presented on the example of the joint arithmetic and noise-resistant coding system shown in FIG. 1. On the transmitting side, joint arithmetic and noise-resistant coding of the next parts of the information sequence is performed, and on the receiving side, joint arithmetic and noise-resistant decoding of the received sequence is performed with the detection and correction of transmission channel errors. On the transmitting side, when the next part of the information sequence is received from the sender of the binary character, when the zero character is received, the counter of the number of zero characters 1 increases the number of zero coding characters by a unit value, and when a single character is received, the counter of the number of single characters 2 increases the number of coding unit characters by a unit value. Proportionally calculated numbers of null and single coding symbols in the boundary interval generator 3, the current arithmetic coding interval is divided into the current null symbol encoding sub-interval and the current single character encoding sub-interval. In the block for selecting the verification symbols 4, verification symbols are selected, which together with the symbols of the next part of the information sequence are encoded in the arithmetic encoder 5 into the next part of the encoded sequence and transmitted via the transmission channel to the receiving side.

На приемной стороне в последовательном декодере 7 принимают и запоминают очередные части принятой последовательности, которые в арифметическом декодере 8 декодируют в очередные части декодированной последовательности. При декодировании нулевого символа счетчик числа нулевых символов 9 увеличивает число нулевых символов декодирования на единичное значение, а при декодировании единичного символа счетчик числа единичных символов 10 увеличивает число единичных символов декодирования на единичное значение. Пропорционально подсчитанным числам нулевых и единичных символов декодирования в формирователе границ подинтервалов 11 текущий интервал арифметического декодирования разделяют на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, в соответствии с которыми в арифметическом декодере 8 выполняют декодирование принятой последовательности. В блоке проверки проверочных символов 12 выполняют поиск ошибок в декодированных проверочных символах и при отсутствии ошибок передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных в последовательном декодере 7 очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи.On the receiving side, in the serial decoder 7, the next parts of the received sequence are received and stored, which are decoded in the next parts of the decoded sequence in the arithmetic decoder 8. When decoding a null character, the counter of the number of zero characters 9 increases the number of null decoding characters by a unit value, and when decoding a single character, the counter of the number of unit characters 10 increases the number of unit decoding characters by a unit value. Proportionally calculated numbers of null and single decoding symbols in the boundary interval generator 11 of the current arithmetic decoding interval are divided into the current decoding interval of the zero symbol and the current decoding interval of a single symbol, in accordance with which the received sequence is decoded in the arithmetic decoder 8. In the check symbol check block 12, errors are searched for in the decoded check symbols and, if there are no errors, the next part of the restored information sequence is transmitted to the recipient, otherwise one or several bits in the next 7 parts of the received sequence stored in the serial decoder are alternately inverted and arithmetic decoding is performed until the output is reached about the absence of transmission errors.

В способе по первому варианту совместного арифметического и помехоустойчивого кодирования, использующего выбор проверочных символов по подинтервалам кодирования, реализуется следующая последовательность действий.In the method according to the first embodiment of joint arithmetic and noise-correcting coding, using the choice of check characters for the coding sub-intervals, the following sequence of actions is implemented.

Алгоритм совместного арифметического и помехоустойчивого кодирования на передающей стороне представлен на фигуре 2.The algorithm for joint arithmetic and noise-resistant coding on the transmitting side is presented in figure 2.

Способы предварительной установки на передающей стороне начального интервала арифметического кодирования и на приемной стороне соответствующего ему начального интервала арифметического декодирования известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М.: ДИАЛОГ-МИФИ, 2002, стр. 35-43. Начальный интервал арифметического кодирования начинается от его начального нижнего значения и заканчивается его начальным верхним значением. Начальное нижнее значение интервала кодирования устанавливают в минимальное значение, а начальное верхнее значения интервала кодирования - в максимальное значение. Например, при представлении значений интервала кодирования восемью двоичными символами, начальное нижнее значение интервала кодирования арифметического кодирования L[0] в момент времени t=0 устанавливают в минимальное значение, равное нулевому значению в десятичном представлении или 00000000 в двоичном представлении, где старшие двоичные символы записывают слева, а начальное верхнее значение интервала кодирования арифметического кодирования Н[0] устанавливают в максимальное значение, равное 255 в десятичном представлении или 11111111 в двоичном представлении. Пример начального интервала арифметического кодирования представлен на фиг. 3 при t=0 (первая строка) и на фиг. 4 при t=0.The methods of presetting on the transmitting side of the initial interval of arithmetic coding and on the receiving side of the corresponding initial interval of arithmetic decoding are known and described, for example, in the book “Data compression methods. Archiver device , image and video compression. " - M.: DIALOGUE-MEPhI, 2002, p. 35-43. The initial interval of arithmetic coding starts from its initial lower value and ends with its initial upper value. 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 encoding interval values with eight binary characters, the initial lower value of the arithmetic encoding encoding interval L [0] at time t = 0 is set to a minimum value equal to zero in decimal or 00000000 in binary representation, where the most significant binary characters are written on the left, and the initial upper value of the coding interval of arithmetic coding H [0] is set to a maximum value of 255 in decimal or 11111111 in binary m representation. An example of an initial arithmetic coding interval is shown in FIG. 3 at t = 0 (first row) and in FIG. 4 at t = 0.

На передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит. Примерный вид первых шести очередных частей двоичной ИП длиной k=2 бита показан на фиг. 5(a). Например, первая часть ИП имеет вид "11", вторая часть - "10", третья часть - "01". Единичные значения битов на фигурах показаны в виде заштрихованных импульсов, нулевые значения битов - в виде незаштрихованных импульсов.On the transmitting side from the information source, the next part of the information sequence of length k≥1 bits is received. An exemplary view of the first six consecutive parts of a binary PI with a length of k = 2 bits is shown in FIG. 5 (a). For example, the first part of the IP has the form "11", the second part is "10", the third part is "01". Single bit values in the figures are shown in the form of shaded pulses, zero bit values in the form of unshaded pulses.

Способы разделения текущего интервала арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". – М.: ДИАЛОГ-МИФИ, 2002, стр. 35-43. Длину начального интервала арифметического кодирования I[0], равную I[0]=Н[0]-L[0], разделяют на начальные значения подинтервала нулевого символа D0[0] и подинтервала единичного символа D1[0], длины которых прямо пропорциональны начальным значениям вероятностей кодируемых нулевых символов р0[0] и единичных символов p1[0], соответственно. Длину начального подинтервала единичных символов D1[0] определяют по формуле вида D1[0]=I[0]×р1[0], а длину начального подинтервала нулевых символов D0[0] определяют по формуле вида D0[0]=I[0]-D1[0].Methods for dividing the current arithmetic coding interval into the current null-character encoding sub-interval and the current single-character coding sub-interval are known and described, for example, in the book “Data compression methods. Archiver devices, D. Arthur, A. Ratushnyak, M. Smirnov, V. Yukin. image and video compression. " - M.: DIALOGUE-MEPhI, 2002, p. 35-43. The length of the initial interval of arithmetic coding I [0], equal to I [0] = H [0] -L [0], is divided into the initial values of the subinterval of the zero character D 0 [0] and the subinterval of a single character D 1 [0], the lengths of which are directly proportional to the initial probabilities of the encoded null characters p 0 [0] and unit characters p 1 [0], respectively. The length of the initial sub-interval of unit characters D 1 [0] is determined by the formula of the form D 1 [0] = I [0] × p 1 [0], and the length of the initial sub-interval of unit characters of D 0 [0] is determined by the formula of the form D 0 [0] ] = I [0] -D 1 [0].

Начальное значение вероятности кодируемых нулевых символов р0[0] вычисляют по формуле вида

Figure 00000001
, а начальное значение вероятности кодируемых единичных символов р1[0] вычисляют по формуле вида
Figure 00000002
, где N0[0] - начальное число закодированных нулевых символов, N1[0] - начальное число закодированных единичных символов, а N[0] - начальное число закодированных нулевых и единичных символов, равное N[0]=N0[0]+N1[0]. В известных способах, описанных, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М.: ДИАЛОГ-МИФИ, 2002, стр. 124-130, устанавливают начальное число закодированных нулевых символов равным N0[0]=1, а начальное число закодированных единичных символов - равным N1[0]=1, то есть начальные значения вероятности кодируемых единичных и нулевых символов устанавливают равными: р1[0]=р0[0].The initial probability value of the encoded null characters p 0 [0] is calculated by the formula of the form
Figure 00000001
, and the initial probability value of the encoded single characters p 1 [0] is calculated by the formula of the form
Figure 00000002
, 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].

Например, длина начального подинтервала единичных символов D1[0] имеет десятичное значение 128 или 10000000 в двоичном представлении, а длина начального подинтервала нулевых символов D0[0] имеет десятичное значение 127 или 01111111 в двоичном представлении. Подинтервал единичных символов расположен сверху подинтервала нулевых символов, как показано, например, на фиг. 4. Верхнюю границу подинтервала нулевого символа обозначают как значение Q, и данный подинтервал начинается снизу от нижней границы интервала кодирования арифметического кодирования включительно до значения Q исключительно, а подинтервал единичного символа простирается от значения Q включительно до верхней границы интервала кодирования арифметического кодирования исключительно. Начальное значение Q имеет десятичное значение 127, как показано на фиг. 3 в первой строке при t=0.For example, the length of the initial subinterval of single characters D 1 [0] has a decimal value of 128 or 10,000,000 in binary representation, and the length of the initial subinterval of single characters D 0 [0] has a decimal value of 127 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. 4. The upper limit of the null-symbol subinterval is designated as the Q value, and this subinterval starts from the bottom of the lower boundary of the arithmetic coding encoding interval inclusively to the Q value exclusively, and the single-symbol subinterval extends from the Q value inclusive to the upper limit of the arithmetic coding encoding interval exclusively. The initial Q value has a decimal value 127, as shown in FIG. 3 in the first row at t = 0.

После выполнения кодирования каждого очередного символа уточняют число закодированных нулевых символов и единичных символов. После кодирования t символов текущее значение вероятности кодируемых нулевых символов p0[t] вычисляют по формуле вида

Figure 00000003
, текущее значение вероятности кодируемых единичных символов p1[t] вычисляют по формуле вида
Figure 00000004
, где N0[t] - текущее число закодированных нулевых символов, N1[t] - текущее число закодированных единичных символов, a N[t] - текущее число закодированных нулевых и единичных символов, равное N[t]=N0[t]+N1[t]. Соответственно, длину текущего подинтервала единичного символа D1[t] определяют по формуле вида D1[t]=I[t]×p1[t], а длину текущего подинтервала нулевого символа D0[t] определяют по формуле вида D0[t]=I[t]-D1[t].After encoding each successive character, the number of encoded null characters and single characters is specified. After encoding t characters, the current probability value of the encoded null characters p 0 [t] is calculated by a formula of the form
Figure 00000003
, the current value of the probability of encoded single characters p 1 [t] is calculated by the formula of the form
Figure 00000004
where N 0 [t] is the current number of encoded zero characters, N 1 [t] is the current number of encoded single characters, and N [t] is the current number of encoded zero and single characters equal to N [t] = N 0 [t ] + N 1 [t]. Accordingly, the length of the current sub-interval of a single symbol D 1 [t] is determined by a formula of the form D 1 [t] = I [t] × p 1 [t], and the length of the current sub-interval of a single symbol D 0 [t] is determined by a formula of the form D 0 [t] = I [t] -D 1 [t].

Проверочные символы длиной r≥1 бит выбирают выделением для каждого проверочного символа среди текущего подинтервала кодирования нулевого символа и текущего подинтервала кодирования единичного символа текущий подинтервал, включающий середину начального интервала арифметического кодирования, и устанавливают проверочным символом такой символ, который соответствует выделенному текущему подинтервалу. Способ выбора проверочных символов заключается в следующем.Verification characters of r≥1 bit length are selected by highlighting for each verification character among the current null character encoding subinterval and the current character encoding subinterval the current subinterval, including the middle of the initial arithmetic encoding interval, and set the character that corresponds to the highlighted current subinterval to the verification character. The way to select test characters is as follows.

Определяют середину начального интервала арифметического кодирования. Для этого начальное значение интервала кодирования арифметического кодирования I[0], равное I[0]=Н[0]-L[0], разделяют пополам. Например, при представлении значений интервала кодирования восемью двоичными символами, с учетом округления до ближайшего целого числа середина начального интервала арифметического кодирования соответствует значению S=127 в десятичном представлении или 01111111 в двоичном представлении. Пример местоположения середины начального интервала арифметического кодирования относительно текущих подинтервалов кодирования нулевого символа, обозначенных D0, и текущих подинтервалов кодирования единичного символа, обозначенных D1, представлен на фиг. 4.The middle of the initial arithmetic coding interval is determined. For this, the initial value of the coding interval of the arithmetic coding I [0], equal to I [0] = H [0] -L [0], is divided in half. For example, when representing the values of the coding interval with eight binary characters, taking into account rounding to the nearest integer, the middle of the initial arithmetic coding interval corresponds to the value S = 127 in decimal or 01111111 in binary representation. An example of the location of the middle of the initial arithmetic coding interval with respect to the current null character coding sub-intervals denoted by D0 and the current single character coding sub-intervals denoted by D1 is shown in FIG. four.

Для каждой очередной части информационной последовательности длиной k≥1 бит выбирают соответствующие им проверочные двоичные символы фиксированной длиной r≥1 бит.Место проверочных символов выбирают фиксированным относительно расположения очередной части информационной последовательности. Например, после очередной части информационной последовательности, состоящей из двух бит, показанной на фиг. 5(a), выбирают один двоичный проверочный символ. Соответственно, каждый третий символ входных данных в моменты времени t=3, t=6, t=9, и так далее, является выбираемым проверочным символом, априори неизвестным, что подчеркнуто на фиг. 4 знаком "?".For each successive part of the information sequence of length k≥1 bits, the corresponding binary symbols of a fixed length r≥1 bit are selected. The place of the test characters is chosen fixed relative to the location of the next part of the information sequence. For example, after the next part of the information sequence consisting of two bits shown in FIG. 5 (a), select one binary check character. Accordingly, every third input symbol at times t = 3, t = 6, t = 9, and so on, is a selectable verification symbol, a priori unknown, which is emphasized in FIG. 4 with a "?"

Для выбора каждого из проверочных символов выделяют среди текущего подинтервала кодирования нулевого символа и текущего подинтервала кодирования единичного символа текущий подинтервал, включающий середину начального интервала арифметического кодирования. Например, после арифметического кодирования первой части информационной последовательности, состоящей из двух бит вида "11", текущий подинтервала кодирования нулевого символа D0 имеет границы от 82 до 125, а текущий подинтервала кодирования единичного символа D1 имеет границы от 125 до 254, как показано на фиг. 4 при t=3. Середину начального интервала арифметического кодирования, соответствующую значению S=127, из этих двух подинтервалов включает текущий подинтервала кодирования единичного символа D1. Поэтому проверочным символом в данном случае устанавливают единичный символ. Если бы середину начального интервала арифметического кодирования включал текущий подинтервал кодирования нулевого символа D0, то проверочным символом был бы установлен нулевой символ.To select each of the test characters, the current sub-interval, including the middle of the initial arithmetic coding interval, is selected from the current null-character encoding sub-interval and the current single-character coding sub-interval. For example, after arithmetic coding of the first part of an information sequence consisting of two bits of the form “11”, the current coding subinterval D0 has boundaries from 82 to 125, and the current coding subinterval D1 has boundaries from 125 to 254, as shown in FIG. . 4 at t = 3. The middle of the initial arithmetic coding interval, corresponding to the value S = 127, of these two sub-intervals includes the current coding sub-interval of a single symbol D1. Therefore, in this case, a single character is set as a check symbol. If the middle of the initial interval of arithmetic coding included the current coding subinterval of the null character D0, then the null character would be set as a test character.

Аналогичным образом может быть выполнен выбор двух и более проверочных символов для очередной части информационной последовательности.Similarly, the selection of two or more test characters for the next part of the information sequence can be performed.

Примерный вид выбранного первого проверочного символа (1-й провер. символ) вида "1" для первой части информационной последовательности вида "11" показан на фиг. 5(б).An exemplary view of the selected first verification symbol (1st verification symbol) of the form "1" for the first part of the information sequence of the form "11" is shown in FIG. 5 B).

Формирование очередной части помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов может быть выполнено, например, как считывание в очередную часть помехоустойчивой последовательности сначала очередной части информационной последовательности, а вслед за ней считывание выбранных проверочных символов. Способы считывания проверочных символов вместе с очередной частью информационной последовательности в очередную часть помехоустойчивой последовательности известны и описаны, например, в книге В. Шило "Популярные цифровые микросхемы". - М.: Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Для этого очередная часть двоичной информационной последовательности с первого по k-й бит параллельно записывают в первые по счету ячейки памяти регистр сдвига длиной k+r бит. Проверочные символы в виде двоичной последовательности длиной r бит параллельно записывают в последующие, начиная с k+1-й, ячейки памяти этого же регистра сдвига. В результате в регистре сдвига записана очередная часть помехоустойчивой последовательности длиной k+r бит. Например, первая часть помехоустойчивой последовательности (ПП) имеет вид "111", вторая часть - "101", третья часть - "011", как показано на фиг. 5(в).The formation of the next part of the error-correcting sequence from the next part of the information sequence and the selected check symbols can be performed, for example, by reading into the next part of the error-correcting sequence first the next part of the information sequence, and after it, reading the selected test symbols. Methods for reading test characters together with the next part of the information sequence into 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 communication, 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, 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 “111”, the second part is “101”, the third part is “011”, as shown in FIG. 5 (c).

Способы арифметического кодирования очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М.: ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном сжатии двоичных символов очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности в соответствии с текущими значениями интервала кодирования арифметического кодирования и текущими значениями вероятностей кодируемых нулевых символов и единичных символов. По мере поступления на вход двоичных символов подсчитывают число нулевых символов кодирования и число единичных символов кодирования, пропорционально которым интервал кодирования арифметического кодирования делят на подинтервал кодирования нулевого символа и подинтервал кодирования единичного символа, в соответствии с которыми арифметический кодер последовательно формирует кодированную последовательность (КП).The methods of arithmetic coding of the next part of the error-correcting sequence into the next part of the encoded 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. 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 encoded 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. As binary symbols are input to the input, the number of coding zero characters and the number of single coding characters are calculated, proportionally to which the coding interval of the arithmetic coding is divided into the coding sub-interval of the zero character and the coding sub-interval of a single character, according to which the arithmetic encoder sequentially generates an encoded sequence (CP).

При поступлении на вход арифметического кодирования очередного двоичного символа очередной части помехоустойчивой последовательности, являющегося единичным двоичным символом, текущий интервал кодирования этого символа устанавливают равным предыдущему подинтервалу кодирования единичного символа, а при поступлении на вход арифметического кодирования нулевого двоичного символа, текущий интервал кодирования этого символа устанавливают равным предыдущему подинтервалу нулевого символа. Например, при поступлении на вход арифметического кодирования первого двоичного символа первой части помехоустойчивой последовательности, являющегося единичным двоичным символом, нижнее значение интервала кодирования первого символа L[1] устанавливают равным значению Q, равному, например, 127, а верхнее значение интервала кодирования первого символа арифметического кодирования Н[1] устанавливают равным начальному верхнему значению интервала кодирования арифметического кодирования H[0], равному, например, 255, как показано на фиг. 3 и на фиг. 4 при t=1.When the next binary symbol arrives at the input of the arithmetic coding of the next part of the error-correcting sequence, which is a single binary symbol, the current encoding interval of this symbol is set equal to the previous encoding sub-interval of a single symbol, and when the binary symbol enters the arithmetic encoding input, the current encoding interval of this symbol is set equal to previous sub-interval of a null character. For example, when the first binary character of the first part of the error-correcting sequence, 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 encodings H [1] are set equal to the initial upper value of the arithmetic encoding encoding interval H [0], for example, equal to 255, as shown in FIG. 3 and in FIG. 4 at t = 1.

Самый левый бит двоичного представления значения L[1] сравнивают с самым левым битом двоичного представления значения H[1], например, вида 01111111 и 11111111, соответственно, как показано на фиг. 3 при 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. 3 at t = 1. If they do not match, they proceed to the arithmetic coding of the next character.

После выполнения арифметического кодирования каждого очередного символа уточняют число закодированных нулевых символов и единичных символов. Так как первый закодированный символ является единичным, то число закодированных единичных символов увеличивают на единичное значение и оно составляет N1[1]=2, и число закодированных нулевых и единичных символов становится равным N[1]=N0[1]+N1[1]=3. Пересчитывают текущее значение вероятности кодируемых нулевых символов

Figure 00000005
и текущее значение вероятности кодируемых единичных
Figure 00000006
. В соответствии с этим длина подинтервала нулевого символа D0[1] становится в 2 раза меньше длины подинтервала единичного символа D1[1], а параметр Q принимает значение 170, как показано на фиг. 3, вторая строка сверху и на фиг. 4 при t=1.After arithmetic coding of each successive character, the number of encoded null characters and single characters is specified. Since the first encoded character 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
Figure 00000005
and the current probability value of the encoded units
Figure 00000006
. Accordingly, the length of the sub-interval of the null symbol D 0 [1] becomes 2 times less than the length of the sub-interval of a single symbol D 1 [1], and the parameter Q takes on the value 170, as shown in FIG. 3, the second row from above and in FIG. 4 at t = 1.

При поступлении на вход арифметического кодирования второго символа, являющегося единичным двоичным символом, нижнее значение интервала кодирования второго символа L[2] устанавливают равным значению Q, равному, например, 170, а верхнее значение интервала кодирования второго символа арифметического кодирования H[2] устанавливают равным верхнему значению интервала кодирования арифметического кодирования H[1], равному, например, 255, как показано на фиг. 3 при t=2.Upon receipt of the input of the arithmetic coding of the second character, which is a single binary character, the lower value of the coding interval of the second character L [2] is set equal to the value of Q, for example, 170, and the upper value of the coding interval of the second character of the arithmetic coding H [2] is set to the upper value of the coding interval of the arithmetic coding H [1], for example, equal to 255, as shown in FIG. 3 at t = 2.

После выполнения арифметического кодирования каждого очередного символа уточняют число закодированных нулевых символов и единичных символов. Так как второй сжатый символ является единичным, то число закодированных единичных символов увеличивают на единичное значение и оно составляет N1[2]=3, и число закодированных нулевых и единичных символов становится равным N[2]=N0[2]+N1[2]=4. Пересчитывают текущее значение вероятности кодируемых нулевых символов

Figure 00000007
и текущее значение вероятности кодируемых единичных символов
Figure 00000008
. В соответствии с этим длина подинтервала нулевого символа D0[2] становится в 3 раза меньше длины подинтервала единичного символа D1[2], как показано на фиг. 3, третья строка сверху и на фиг. 4 при t=2.After arithmetic coding 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
Figure 00000007
and the current probability value of the encoded unit characters
Figure 00000008
. Accordingly, the length of the sub-interval of the null symbol D 0 [2] becomes 3 times less than the length of the sub-interval of a single symbol D 1 [2], as shown in FIG. 3, the third row from above and in FIG. 4 at t = 2.

Самый левый бит двоичного представления значения L[2] сравнивают с самым левым битом двоичного представления значения H[2], например, вида 10101001 и 11111111, соответственно, как показано на фиг. 3 при t=2. При их совпадении значение самого левого бита двоичных представлений значений L[2] и Н[2] считывают в качестве очередного бита сжатой последовательности (закод. символ на фиг. 3). Например, при кодировании первой части помехоустойчивой последовательности первым битом первой части кодированной последовательности является совпавший при сравнении единичный двоичный символ, как показано на фиг. 3, четвертая строка сверху. Считанный бит удаляют из двоичных представлений значений L[2] и H[2], которые уменьшаются до длины 7 бит вида 0101001 и 1111111, соответственно. Двоичные символы двоичных представлений значений L[2] и H[2] сдвигают справа налево на один разряд и справа к ним дописывают по нулевому двоичному символу. Например, двоичные представления значений L[2] и H[2] приобретают вид 01010010 и 11111110, соответственно. Способы считывания двоичных символов с удалением считанных символов известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М.: Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Операции сдвига справа налево на один разряд и дописывания справа нулевого двоичного символа увеличивают значения L[2] и Н[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. 3 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. 3). For example, when encoding the first part of the error-correcting sequence, the first bit of the first part of the encoded sequence is the matching binary symbol as compared, as shown in FIG. 3, 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 communication, 1987, 104-123, using shift registers with parallel and sequential write / read of binary sequences. The operations of shifting from right to left by one bit and appending 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.

После каждого выполнения нормализации повторно самый левый бит двоичного представления нижнего значения интервала кодирования сравнивают с самым левым битом двоичного представления верхнего значения интервала кодирования. При их совпадении значение самого левого бита этих двоичных представлений считывают в качестве следующего бита кодированной последовательности, иначе переходят к кодированию следующего символа и так далее, как показано на фиг. 3.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 bit of the encoded sequence, otherwise they proceed to the encoding of the next character and so on, as shown in FIG. 3.

Например, при поступлении на вход арифметического кодирования второго двоичного символа второй части помехоустойчивой последовательности, являющегося нулевым двоичным символом, нижнее значение текущего интервала кодирования L[5] этого символа, являющегося пятым по счету, устанавливают равным нижнему значению предыдущего подинтервала кодирования нулевого символа, равному, например, 44, а верхнее значение текущего интервала кодирования этого символа Н[5] устанавливают равным значению Q, численно равному, например, 79, как показано на фиг. 3 и на фиг. 4 при t=5.For example, when the second binary symbol of the second part of the error-correcting sequence, which is a zero binary symbol, arrives at the input of the arithmetic encoding, the lower value of the current encoding interval L [5] of this symbol, which is the fifth in a row, is set equal to the lower value of the previous encoding subinterval of the zero symbol, equal to for example, 44, and the upper value of the current coding interval of this symbol H [5] is set equal to the value Q, numerically equal to, for example, 79, as shown in FIG. 3 and in FIG. 4 at t = 5.

Арифметическое кодирование выбранных проверочных символов, входящих в состав очередной части помехоустойчивой последовательности, не отличается от арифметического кодирования символов информационной последовательности.The arithmetic coding of the selected check symbols that are part of the next part of the error-correcting sequence does not differ from the arithmetic coding of information sequence symbols.

Примерный вид арифметического кодирования первых шести очередных частей помехоустойчивой последовательности вида "111", "101", "011", "101", "111" и "001" в соответствующие очередные части кодированной последовательности вида "1", "10", "0111", "010", "1" и "001" показан на фиг. 5(г).An approximate form of arithmetic coding of the first six successive parts of an error-correcting sequence of the form "111", "101", "011", "101", "111" and "001" into the corresponding subsequent parts of the encoded sequence of the form "1", "10", " 0111 "," 010 "," 1 "and" 001 "are shown in FIG. 5 (g).

Способы передачи на приемную сторону очередной части кодированной последовательности известны и описаны, например, в книге А.Г. Зюко, Д.Д. Кловский, М.В. Назаров, Л.М. Финк "Теория передачи сигналов". - М.: Радио и связь, 1986, стр. 11. Примерный вид первых шести частей принятой последовательности (Пр. П) показан на фиг. 6(a). Принятая последовательность при передаче искажена в третьем бите и имеет вид "1", "11", "0111", "010", "1", "001".Methods of transmitting to the receiving side the next part of the encoded 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 first six parts of the received sequence (Pr. P) is shown in FIG. 6 (a). The received sequence during transmission is distorted in the third bit and has the form "1", "11", "0111", "010", "1", "001".

Алгоритм совместного арифметического и помехоустойчивого декодирования на приемной стороне представлен на фиг. 7.The algorithm for joint arithmetic and error-correcting decoding at the receiving side is shown in FIG. 7.

Способы запоминания очередных частей принятой последовательности известны и описаны, например, в книге: В. Шило "Популярные цифровые микросхемы". - М.: Радио и связь, 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 communication, 1987, pages 104-123, using shift registers with parallel and sequential write / read of binary sequences.

Способы разделения текущего интервала арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа идентичны способам разделения текущего интервала арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа. Соответственно, текущий подинтервал декодирования единичного символа расположен сверху текущего подинтервала декодирования нулевого символа, как показано, например, на фиг. 8 и фиг. 9. Верхнюю границу текущего подинтервала декодирования нулевого символа обозначают как значение QQ, и данный подинтервал начинается снизу от нижней границы текущего интервала декодирования до значения QQ исключительно, а текущий подинтервал декодирования единичного символа простирается от значения QQ включительно до верхней границы текущий интервала декодирования исключительно. Аналогичным арифметическому кодированию образом после выполнения декодирования каждого очередного символа уточняют текущее число NN0[t] декодированных нулевых символов и текущее число NN1[t] декодированных единичных символов. После декодирования t символов текущее значение вероятности декодируемых нулевых символов pp0[t] вычисляют по формуле вида

Figure 00000009
, текущее значение вероятности декодируемых единичных символов pp1[t] вычисляют по формуле вида
Figure 00000010
, где NN[t] - текущее число декодированных нулевых и единичных символов, равное NN[t]=NN0[t]+NN1[t]. Соответственно, длину текущего подинтервала декодирования единичного символа DD1[t] определяют по формуле вида DD1[t]=II[t]×pp1[t], a длину текущего подинтервала декодирования нулевого символа DD0[t] определяют по формуле вида DD0[t]=II[t]-DD1[t], где II[t] - длина текущего интервала арифметического декодирования.The methods for dividing the current arithmetic decoding interval into the current null symbol decoding subinterval and the current decoding subinterval of a single character are identical to the methods for dividing the current arithmetic decoding subinterval into the current null character encoding subinterval and the current single character encoding subinterval. Accordingly, the current decoding interval of a single symbol is located above the current decoding interval of a null symbol, as shown, for example, in FIG. 8 and FIG. 9. The upper boundary of the current decoding interval of the null symbol is denoted as the QQ value, and this sub-interval starts from the bottom of the current boundary of the decoding interval to the QQ value exclusively, and the current decoding interval of a single symbol extends from the QQ value inclusive to the upper boundary of the current decoding interval exclusively. Similarly to arithmetic coding, after the decoding of each successive symbol, the current number NN 0 [t] of decoded zero characters and the current number NN 1 [t] of decoded single characters are specified. After decoding t symbols, the current probability value of decoded zero symbols pp 0 [t] is calculated by the formula of the form
Figure 00000009
, the current probability value of decoded unit symbols pp 1 [t] is calculated by the formula of the form
Figure 00000010
where NN [t] is the current number of decoded zero and one characters equal to NN [t] = NN 0 [t] + NN 1 [t]. Accordingly, the length of the current decoding sub-interval of a single symbol DD 1 [t] is determined by a formula of the form DD 1 [t] = II [t] × pp 1 [t], and the length of the current decoding sub-interval of a zero character DD 0 [t] is determined by a formula of the form DD 0 [t] = II [t] -DD 1 [t], where II [t] is the length of the current arithmetic decoding interval.

Идентично арифметическому кодированию, устанавливают начальное число декодированных нулевых символов равным NN0[0]=1, а начальное число декодированных единичных символов - равным NN1[0]=1, то есть начальные значения вероятности декодируемых единичных и нулевых символов устанавливают равными: pp1[0]=pp0[0]. Пример начального состояния арифметического декодирования представлен на фиг. 8 при t=0.Identical to arithmetic coding, 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 probability values of decoded single and zero characters are set to: pp 1 [0] = pp 0 [0]. An example of the initial state of arithmetic decoding is shown in FIG. 8 at t = 0.

Способы арифметического декодирования запомненных очередных частей принятой последовательности в очередные части декодированной последовательности известны и описаны, например, в книге Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". - М.: ДИАЛОГ-МИФИ, 2002, стр. 35-43. Они заключаются в последовательном декодировании очередных частей принятой последовательности в соответствии с текущими значениями интервала декодирования арифметического декодирования и текущими значениями вероятности декодируемых нулевых символов и единичных символов.Methods for arithmetic decoding of remembered successive parts of a received sequence into successive parts of a decoded 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. 35-43. They consist in sequential decoding of the next parts of the received sequence in accordance with the current values of the decoding interval of the arithmetic decoding and the current values of the probability of decoded zero characters and single characters.

Подинтервал декодирования единичных символов расположен сверху подинтервала декодирования нулевых символов. Верхнюю границу подинтервала декодирования нулевых символов обозначают как значение QQ, и данный подинтервал начинается снизу от нижней границы интервала декодирования арифметического кодирования до значения QQ исключительно, а подинтервал декодирования единичных символов простирается от значения QQ включительно до верхней границы интервала декодирования арифметического декодирования исключительно. Начальное значение QQ имеет десятичное значение 127, как показано на фиг. 8 в первой строке и на фиг. 9 при t=0.The unit symbol 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. 8 in the first row and in FIG. 9 at t = 0.

Примерный вид арифметического декодирования искаженных в третьем бите запомненных очередных частей принятой последовательности вида "11101110101001" в очередные части декодированной последовательности показан на фиг. 8 и фиг. 9.An exemplary arithmetic decoding of the memorized successive parts of the received sequence of the type “11101110101001” into the next parts of the decoded sequence distorted in the third bit is shown in FIG. 8 and FIG. 9.

На вход арифметического декодирования поступает часть принятой последовательности длиной R бит, равной разрядности выполняемых операций арифметического кодирования и декодирования. Первоначально на вход арифметического декодирования считывают первые по очереди 8 бит вида "11101110", что соответствует десятичному числу 238. Текущие считываемые биты (сч.) показаны во втором столбце, в третьем столбце этой же фигуры (Вх. данные) показано текущее значение считанной последовательности, а место текущего значения считанной последовательности относительно текущих подинтервалов декодирования показано в виде стрелки на фиг. 9. Текущее значение считанной последовательности сравнивают с границами начального значения подинтервала декодирования нулевых символов DD0[0], находящимися, например, в пределах от 0 до 127 и с границами начального значения подинтервала декодирования единичных символов D1[0], находящимися, например, в пределах от 127 до 255. В зависимости от того, в пределах какого подинтервала декодирования символов оказалось текущее значение считанной последовательности, принимают решение о значении текущего символа декодированной последовательности.The arithmetic decoding input receives a part of the received sequence of length R bits equal to the bit depth of the arithmetic coding and decoding operations. Initially, the first 8 bits of the form “11101110” are read in turn at the input of arithmetic decoding, which corresponds to the decimal number 238. The current read bits (count) are shown in the second column, the third value of the same sequence is shown in the third column of the same figure (Input data) and the place of the current value of the read sequence relative to the current decoding sub-intervals is shown in the form of an arrow in FIG. 9. The current value of the read sequence is compared with the boundaries of the initial value of the decoding subinterval of the zero characters DD 0 [0], which are, for example, in the range from 0 to 127 and with the boundaries of the initial values of the subinterval of the decoding subinterval of the single characters D 1 [0], located, for example, ranging from 127 to 255. Depending on the limits within which the character decoding sub-interval the current value of the read sequence has turned out, a decision is made on the value of the current character of the decoded sequence.

Например, так как текущее значение считанной последовательности оказалось больше значения QQ (238>127), то первый декодированный символ является единичным и следующие границы интервала декодирования устанавливают соответствующими границам значения подинтервала декодирования единичных символов DD0[0]. В результате декодирования первого символа устанавливают нижнее значение интервала декодирования арифметического кодирования LL[1] равным значению QQ, например, LL[1]=127, а верхнее значение интервала декодирования арифметического кодирования НН[1] - равным предыдущему значению НН[0], например, НН[1]=255, как показано на фиг. 8 во второй строке при t=1.For example, since the current value of the read sequence turned out to be greater than the QQ value (238> 127), the first decoded symbol is single and the following boundaries of the decoding interval are set to the corresponding limits 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 decoding interval of the arithmetic coding LL [1] is set to QQ, for example, LL [1] = 127, and the upper value of the decoding interval of the arithmetic coding HH [1] is equal to the previous value of HH [0], for example , HH [1] = 255, as shown in FIG. 8 in the second line at t = 1.

После декодирования каждого символа пересчитывают текущее значение вероятности декодируемых нулевых символов и текущее значение вероятности декодируемых нулевых символов, например, после декодирования первого символа, являющегося единичным, по формуле вида

Figure 00000011
и по формуле вида
Figure 00000012
, соответственно. Устанавливают текущее значение QQ и текущие подинтервал декодирования единичных символов и подинтервал декодирования нулевых символов, как показано на фиг. 8 и на фиг. 9.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
Figure 00000011
and according to the formula of the form
Figure 00000012
, respectively. The current QQ value and the current decoding interval of single symbols and the decoding interval of zero symbols are set, as shown in FIG. 8 and in FIG. 9.

После каждого изменения состояния арифметического декодирования самый левый бит двоичного представления значения LL сравнивают с самым левым битом двоичного представления значения НН, например, при t=2 вида "10101001" и "11111111", соответственно. При их совпадении выполняют нормализацию арифметического декодирования: значение самого левого бита двоичных представлений значений LL и НН удаляют и двоичные символы двоичных представлений значений LL и НН сдвигают справа налево на один разряд и справа к ним в младший разряд дописывают по нулевому двоичному символу. Одновременно с этим, значение самого левого бита считанной последовательности удаляют и двоичные символы считанной последовательности сдвигают справа налево на один разряд и справа к ним дописывают следующий считанный двоичный символ принятой последовательности, например, девятый по счету символ принятой последовательности, являющийся единичным символом, как показано на фиг. 8 в четвертой сверху строке "нормализация". С учетом дописанного двоичного символа, считанной последовательность приобретают двоичное представление "11011101" и десятичное значение 221. Переменная LL принимает десятичное значение 82 и двоичное представление "01010010", а НН - десятичное значение 254 и двоичное представление "11111110". Повторно самый левый бит двоичного представления значения LL сравнивают с самым левым битом двоичного представления значения НН, и если они снова совпадают, то выполняют повторную нормализацию идентичным образом и т.д.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 = 2 of the form “10101001” and “11111111”, respectively. If they coincide, the arithmetic decoding is normalized: the value of the leftmost bit of the binary representations of the LL and LV values is removed and the binary symbols of the binary representations of the LL and LV values are shifted from right to left by one digit and appended to the lower order by the binary binary symbol. At the same time, the value of the leftmost bit of the read sequence is deleted and the binary characters of the read sequence are shifted from right to left by one bit and the next read binary symbol 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. 8 in the fourth line above the "normalization". Taking into account the added binary character, the read sequence acquires the binary representation "11011101" and the decimal value 221. The variable LL takes the decimal value 82 and the binary representation "01010010", and the HH decimal value 254 and the binary representation "11111110". Again, 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, and if they coincide again, they perform normalization again in the same way, etc.

В результате арифметического декодирования первых одиннадцати символов принятой с ошибкой последовательности декодируют с первой по пятую часть декодированной последовательности (ДП), имеющие, например, вид "1П","1П", "111", "111" и "101", как показано, например, на фиг. 6(б) и на фиг. 8 и фиг. 9.As a result of arithmetic decoding of the first eleven characters of the error-received sequence, the first to fifth part of the decoded sequence (DP) is decoded, having, for example, the form “1P”, “1P”, “111”, “111” and “101”, as shown for example in FIG. 6 (b) and in FIG. 8 and FIG. 9.

Способы выделения из очередной части декодированной последовательности очередной части восстановленной информационной последовательности и декодированных проверочных символов известны и описаны, например, в книге В. Шило "Популярные цифровые микросхемы". - М.: Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной и последовательной записью/считыванием двоичных последовательностей. Очередную часть декодированной последовательности последовательно записывают в ячейки памяти регистра сдвига длиной k+r бит. Из первых по счету ячеек памяти этого регистра сдвига параллельно считывают очередную часть восстановленной информационной последовательности длиной k бит. Из последующих, начиная с k+1-й, ячейки памяти этого же регистра сдвига параллельно считывают декодированные проверочные символы длиной r бит. Например, из первой части ДП вида "111" выделяют первую часть восстановленной информационной последовательности (ВИП) вида "11" и декодированный проверочный символ вида "1".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 communication, 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 type "111", the first part of the restored information sequence (VIP) of the type "11" and the decoded verification symbol of the type "1" are extracted.

Если текущий подинтервал декодирования каждого из декодированных проверочных символов включает середину начального интервала арифметического кодирования, то делают вывод об отсутствии ошибок передачи. Например, первый декодированный проверочный символ является единичным символом и его текущий подинтервал декодирования является текущим подинтервалом декодирования единичного символа, включающего значения от 125 до 254. Данный подинтервал декодирования включает в себя середину начального интервала арифметического кодирования, соответствующую значению S=127. Поэтому имеющаяся ошибка передачи не обнаружена при проверке первого декодированного проверочного символа. Аналогичным образом имеющаяся ошибка передачи не обнаружена при последующей проверке второго, третьего и четвертого декодированных проверочных символов. При декодировании пятого проверочного символа, соответствующий ему текущий подинтервал декодирования единичного символа, включающий значения от 110 до 119, не включают значение S=127 середины начального интервала арифметического кодирования, что однозначно свидетельствует об обнаружении ошибки передачи. Например, ошибка в третьем символе принятой последовательности обнаружена при декодировании пятнадцатого по счету символа декодированной последовательности.If the current decoding sub-interval of each of the decoded check symbols includes the middle of the initial arithmetic coding interval, then a conclusion is made that there are no transmission errors. For example, the first decoded check symbol is a single character and its current decoding sub-interval is the current decoding sub-interval of a single character, including values from 125 to 254. This decoding sub-interval includes the middle of the initial arithmetic coding interval corresponding to S = 127. Therefore, an existing transmission error was not detected when checking the first decoded check symbol. Similarly, an existing transmission error was not detected during the subsequent verification of the second, third and fourth decoded check symbols. When decoding the fifth check symbol, the corresponding single character decoding subinterval, including values from 110 to 119, does not include the value S = 127 of the middle of the initial arithmetic coding interval, which unambiguously indicates the detection of a transmission error. For example, an error in the third character of the received sequence was detected while decoding the fifteenth character of the decoded sequence.

Для исправления ошибки передачи поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности. Способы инвертирования битов в запомненных очередных частях принятой последовательности известны и описаны, например, в книге В. Шило "Популярные цифровые микросхемы". - М.: Радио и связь, 1987, 104-123, с использованием регистров сдвига с параллельной записью/считыванием двоичных последовательностей и двоичных инверторов. Инвертируемый бит из регистра сдвига параллельно считывают на вход инвертора и с выхода инвертора параллельно записывают в эту же ячейку памяти регистра сдвига.To correct transmission errors, one or more bits are inverted in turn in the remembered successive parts of the received sequence. Methods for inverting bits in the stored next parts of the received 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 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.Пр.П) и первые четыре части запомненной принятой последовательности приобретают вид "0110111010", показанный на фиг. 6(в). Порядок арифметического декодирования запомненной принятой последовательности с инвертированным первым битов показан на фиг. 10. В результате арифметического декодирования Ин1.Пр.П декодируют первую часть декодированной последовательности при инвертированном первом бите (ДП1), имеющий, например, вид "011", как показано, например, на фиг. 6(г) и на фиг. 10. При проверке первого декодированного проверочного символа, соответствующий ему текущий подинтервал декодирования единичного символа, включающий значения от 167 до 252, не включает значение S=127 середины начального интервала арифметического кодирования, что однозначно свидетельствует об обнаружении ошибки передачи.For example, in the stored received sequence, the first bit is inverted (In1. Pr.P) and the first four parts of the stored received sequence take the form “0110111010” shown in FIG. 6 (c). The arithmetic decoding order of the stored received sequence with the inverted first bits is shown in FIG. 10. As a result of the arithmetic decoding of In1.Pr.P, the first part of the decoded sequence is decoded with the inverted first bit (DP1) having, for example, the form “011”, as shown, for example, in FIG. 6 (d) and in FIG. 10. When checking the first decoded check character, the corresponding single character decoding subinterval, including values from 167 to 252, does not include the value S = 127 of the middle of the initial arithmetic coding interval, which unambiguously indicates the detection of a transmission error.

Так как инвертирование первого бита принятой последовательности не привело к исправлению ошибки передачи, то в запомненной принятой последовательности инвертируют второй бит (Ин2.Пр.П) и первые четыре части запомненной принятой последовательности приобретают вид "1010111010", показанный на фиг. 6(д). Порядок арифметического декодирования запомненной принятой последовательности с инвертированным вторым битов показан на фиг. 11. В результате арифметического декодирования Ин2.Пр.П декодируют первую часть декодированной последовательности при инвертированном втором бите (ДП2), имеющую, например, вид "110", как показано, например, на фиг. 6(e) и на фиг. 11. При проверке первого декодированного проверочного символа, соответствующий ему текущий подинтервал декодирования единичного символа, включающий значения от 84 до 127 исключительно, не включает значение S=127 середины начального интервала арифметического кодирования, что однозначно свидетельствует об обнаружении ошибки передачи.Since the inversion of the first bit of the received sequence did not correct the transmission error, the second bit is inverted in the stored received sequence (In2. Pr.P) and the first four parts of the stored received sequence take the form "1010111010" shown in FIG. 6 (d). The arithmetic decoding order of the stored received sequence with the inverted second bits is shown in FIG. 11. As a result of the arithmetic decoding of In2.P.R, the first part of the decoded sequence is decoded with the inverted second bit (DP2) having, for example, the form “110”, as shown, for example, in FIG. 6 (e) and in FIG. 11. When checking the first decoded check character, the corresponding single character decoding subinterval, including values from 84 to 127 exclusively, does not include the value S = 127 of the middle of the initial arithmetic coding interval, which unambiguously indicates the detection of a transmission error.

Так как инвертирование второго бита принятой последовательности не привело к исправлению ошибки передачи, то в запомненной принятой последовательности инвертируют третий бит (Ин3.Пр.П) и первые части запомненной принятой последовательности приобретают вид "11001110101001", показанный на фиг. 6(ж). Порядок арифметического декодирования запомненной принятой последовательности с инвертированным третьим битов показан на фиг. 12. В результате арифметического декодирования Ин3.Пр.П декодируют первую, вторую и частично третью части декодированной последовательности при инвертированном третьем бите (ДПЗ), имеющие, например, вид "111", "101", "01..", как показано, например, на фиг. 6(з), фиг. 13 и фиг. 14. При проверке первого и второго декодированных проверочных символов (ДПС), показанных на фиг. 6(и), соответствующие им текущие подинтервалы декодирования единичного символа включают значение S=127 середины начального интервала арифметического кодирования, на основании чего делают вывод об отсутствии ошибок передачи.Since inverting the second bit of the received sequence did not correct the transmission error, the third bit (In3. Pr.P) is inverted in the stored received sequence and the first parts of the stored received sequence take the form "11001110101001" shown in FIG. 6 (g). The arithmetic decoding order of the stored received sequence with the inverted third bits is shown in FIG. 12. As a result of the arithmetic decoding of In3.Pr.P, the first, second and partially third parts of the decoded sequence are decoded with the inverted third bit (DPS) having, for example, the form “111”, “101”, “01 ..”, as shown for example in FIG. 6 (h), FIG. 13 and FIG. 14. When checking the first and second decoded check symbols (DPS) shown in FIG. 6 (i), the corresponding current unit symbol decoding sub-intervals thereof include the value S = 127 of the middle of the initial arithmetic coding interval, based on which it is concluded that there are no transmission errors.

При отсутствии ошибок передачи передают получателю очередную часть восстановленной информационной последовательности, например, первую часть восстановленной информационной последовательности вида "11", показанную на фиг. 6(к), получают очередную часть принятой последовательности и т.д.If there are no transmission errors, the next part of the restored information sequence, for example, the first part of the restored information sequence of the form “11” shown in FIG. 6 (k), receive the next part of the received sequence, etc.

Отличия второго варианта способа совместного арифметического и помехоустойчивого кодирования от первого варианта способа заключаются в выборе проверочных символов по вероятности символов информационной последовательности.The differences between the second variant of the method of joint arithmetic and noise-resistant coding from the first variant of the method are in the selection of test symbols in terms of the probability of information sequence symbols.

Временные диаграммы совместного арифметического и помехоустойчивого кодирования первых шести очередных частей информационной последовательности вида "11", "10", "01", "10", "11" и "00" при выборе проверочных символов по вероятности символов информационной последовательности показаны на фиг. 14. Таблица состояний совместного арифметического и помехоустойчивого кодирования данных частей информационной последовательности при выборе проверочных символов по вероятности символов информационной последовательности показана на фиг. 15. По сравнению с ранее описанным первым вариантом, раздельно и вместе подсчитывается число кодируемых нулевых и единичных символов информационной последовательности и проверочных символов. Для этого задают значения начального числа закодированных нулевых символов информационной последовательности, например, Ninf0[0]=1 и начального числа закодированных единичных символов информационной последовательности, например, Ninf1[0]=1, и как описывалось ранее, вычисляют вероятность кодируемых нулевых символов информационной последовательности pinf0 и вероятность кодируемых единичных символов информационной последовательности pinf1. Одновременно задают значения начального числа закодированных нулевых проверочных символов, например, Nproν0[0]=1 и начального числа закодированных единичных проверочных символов, например, Nproν1[0]=1, и таким же образом, вычисляют вероятность кодируемых нулевых проверочных символов pproν1. и вероятность кодируемых единичных проверочных символов pproν1. Затем вычисляют значения начального числа всех закодированных нулевых символов путем суммирования начального числа закодированных нулевых символов информационной последовательности и начального числа закодированных нулевых проверочных символов, например, Ν∑0[0]=Ninf0[0]+Nproν0[0]=1+1=2 и начального числа всех закодированных единичных символов путем суммирования начального числа закодированных единичных символов информационной последовательности и начального числа закодированных единичных проверочных символов, например, Ν∑1[0]=Ninf1[0]+Nproν1[0]=1+1=2. Ранее описанным образом вычисляют вероятность всех кодируемых нулевых символов p∑0 и вероятность всех кодируемых единичных символов p∑1. Полученные значения записывают, например, при кодировании каждого символа последовательно сверху вниз для символов информационной последовательности, для проверочных символов и для всех символов, как показано на фиг. 15. Разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа в соответствии с вероятностью всех кодируемых нулевых символов p∑0 и вероятность всех кодируемых единичных символов р∑1.Timing diagrams of joint arithmetic and error-correcting coding of the first six consecutive parts of an information sequence of the form "11", "10", "01", "10", "11" and "00" when selecting test symbols for the probability of information sequence symbols are shown in FIG. 14. The state table of joint arithmetic and noise-tolerant coding of data of parts of the information sequence when selecting test symbols for the probability of the symbols of the information sequence is shown in FIG. 15. Compared to the previously described first option, the number of encoded zero and single characters of the information sequence and check characters is calculated separately and together. To do this, set the values of the initial number of encoded zero characters of the information sequence, for example, Ninf 0 [0] = 1 and the initial number of encoded single characters of the information sequence, for example, Ninf 1 [0] = 1, and as described earlier, calculate the probability of the encoded zero characters information sequence pinf 0 and the probability of encoded single characters of the information sequence pinf 1 . At the same time, the values of the initial number of encoded zero check symbols, for example, Nproν 0 [0] = 1 and the initial number of encoded single check symbols, for example, Nproν 1 [0] = 1, are set, and in the same way, the probability of the encoded zero check symbols pproν 1 is calculated . and the probability of encoded unit check symbols pproν 1 . Then, the initial number of all encoded zero characters is calculated by summing the initial number of encoded zero characters of the information sequence and the initial number of encoded zero check characters, for example, символов ∑0 [0] = Ninf 0 [0] + Nproν 0 [0] = 1 + 1 = 2 and the initial number of all encoded unit characters by summing the initial number of encoded unit characters of the information sequence and the initial number of encoded unit check characters, for example, Ν ∑1 [0] = Ninf 1 [0] + Npr oν 1 [0] = 1 + 1 = 2. The probability of all coded zero characters p ∑ 0 and the probability of all coded single characters p ∑ 1 are previously calculated in the manner described. The obtained values are recorded, for example, when each character is encoded sequentially from top to bottom for information sequence symbols, for verification symbols, and for all symbols, as shown in FIG. 15. The current arithmetic coding interval is divided into the current null character encoding subinterval and the single character encoding subinterval in accordance with the probability of all coded zero characters p ∑ 0 and the probability of all coded single characters p ∑ 1 .

Выбор очередных проверочных символов по вероятности символов информационной последовательности выполняют следующим образом. Пусть в t-й момент времени вычислена вероятность кодируемых нулевых символов информационной последовательности pinf0[t] и вероятность кодируемых единичных символов информационной последовательности pinf1[t], а также с момента выбора предыдущего проверочного символа вычислена вероятность кодируемых нулевых проверочных символов pproν0[t-1] и вероятность кодируемых единичных проверочных символов pproν1[t-1]. Если очередной проверочный символ будет иметь нулевое значение, то вероятность кодируемых нулевых проверочных символов при нулевом значении очередного проверочного символа примет значение pproν0 при 0[t], а если очередной проверочный символ будет иметь единичное значение, то вероятность кодируемых нулевых проверочных символов при единичном значении очередного проверочного символа примет значение pproν0 при 1[t]. Из двух возможных вариантов значений очередного проверочного символа выбирают то значение, которое обеспечивает значение вероятности кодируемых проверочных символов наиболее близкую к значению вероятности кодируемых символов информационной последовательности. Для этого вычисляют значение разницы pinf0[t]-pproν0 при 0[t] и значение разницы pinf0[t]-pproν0 при 1[t] и сравнивают их по абсолютной величине. Если первое значение разницы меньше или равно второму значению разницы, то выбирают очередной проверочный символ с нулевым значением, иначе выбирают очередной проверочный символ с единичным значением. Например, как показано на фиг. 15, в момент времени t=3 после кодирования первых двух информационных символов выбирают первый проверочный символ. На этот момент вероятность кодируемых нулевых символов информационной последовательности составляет pinf0[3]=1/4 и вероятность кодируемых единичных символов информационной последовательности - pinf1[3]=3/4, а вероятность кодируемых нулевых проверочных символов pproν0[2]=1/2 и вероятность кодируемых единичных проверочных символов pproν1[2]=1/2. Если первый проверочный символ примет нулевое значение, то pproν0[3]=2/3≈0,67, а если первый проверочный символ примет единичное значение, то pproν0[3]=1/3≈0,33. Вычисляют значение разницы pinf0[3]-pproν0 при 0[3]=1/4- 2/3≈-0,42 и значение разницы pinf0[3]-pproν0 при 1[3]=1/ 4-1/3=-0,08. По абсолютной величине второе значение разницы меньше, поэтому выбирают очередной проверочный символ как единичный символ, при этом текущее значение вероятности проверочных символов будет ближе всего к текущему значению вероятности символов информационной последовательности.The selection of the next test characters in terms of the probability of the characters of the information sequence is as follows. Let the probability of encoded zero characters of the information sequence pinf 0 [t] and the probability of encoded single characters of the information sequence pinf 1 [t] be calculated at the t-th moment of time, and the probability of encoded zero check characters pproν 0 [t -1] and the probability of encoded unit check symbols pproν 1 [t-1]. If the next check character has a zero value, then the probability of encoded zero check characters at a zero value of the next check character will take the value pproν 0 at 0 [t], and if the next check character will have a single value, then the probability of the coded zero check characters at a single value the next check character will take the value pproν 0 at 1 [t]. Of the two possible variants of the values of the next verification symbol, choose the value that provides the probability value of the encoded verification symbols closest to the probability value of the encoded symbols of the information sequence. To do this, calculate the difference value pinf 0 [t] -pproν 0 at 0 [t] and the difference value pinf 0 [t] -pproν 0 at 1 [t] and compare them in absolute value. If the first value of the difference is less than or equal to the second value of the difference, then select the next test character with a zero value, otherwise select the next test character with a single value. For example, as shown in FIG. 15, at time t = 3, after encoding the first two information symbols, the first verification symbol is selected. At this moment, the probability of encoded null characters of the information sequence is pinf 0 [3] = 1/4 and the probability of encoded single characters of the information sequence is pinf 1 [3] = 3/4, and the probability of encoded zero characters of the information sequence is pproν 0 [2] = 1 / 2 and the probability of encoded unit check symbols pproν 1 [2] = 1/2. If the first check character takes a zero value, then pproν 0 [3] = 2 / 3≈0.67, and if the first check character takes a single value, then pproν 0 [3] = 1 / 3≈0.33. The difference value pinf 0 [3] -pproν 0 at 0 [3] = 1 / 4-2 / 3≈-0.42 and the difference value pinf 0 [3] -pproν 0 at 1 [3] = 1 / 4- are calculated 1/3 = -0.08. The absolute value of the second value of the difference is less, so choose the next test character as a single character, while the current value of the probability of the test characters will be closest to the current value of the probability of the characters of the information sequence.

Примерный вид выбранных проверочных символов для первых шести очередных частей помехоустойчивой последовательности показан на фиг. 14(б), а сформированных с их использованием очередных частей помехоустойчивой последовательности - на фиг. 14(в). Примерный вид арифметического кодирования первых шести очередных частей помехоустойчивой последовательности вида "111", "100", "010", "101", "111" и "000" в соответствующие очередные части кодированной последовательности вида "11", "0111", "100", "10" и "1001" показан на фиг. 14(г).An exemplary view of the selected check symbols for the first six successive parts of the error-correcting sequence is shown in FIG. 14 (b), and the next parts of the error-correcting sequence formed with their use are shown in FIG. 14 (c). An approximate form of arithmetic coding of the first six successive parts of an error-correcting sequence of the form "111", "100", "010", "101", "111" and "000" into the corresponding subsequent parts of the encoded sequence of the form "11", "0111", " 100 "," 10 "and" 1001 "is shown in FIG. 14 (g).

Примерный вид первых шести частей принятой последовательности (Пр. П) показан на фиг. 16(a). Принятая последовательность при передаче искажена во втором бите и имеет вид "10", "_", "0111", "100", "10" и "1001".An exemplary view of the first six parts of the received sequence (Ex. P) is shown in FIG. 16 (a). The received sequence during transmission is distorted in the second bit and has the form "10", "_", "0111", "100", "10" and "1001".

Идентично тому, как при кодировании подсчитывают значения числа закодированных символов информационной последовательности и их вероятности, числа закодированных проверочных символов и их вероятности, числа всех закодированных символов и их вероятности, при декодировании подсчитывают значения числа декодированных нулевых и единичных символов информационной последовательности NNinf0 и NNinf1, и их вероятности ppinf0 и ppinf1, значения числа декодированных нулевых и единичных проверочных символов NNproν0 и NNproν1 и их вероятности рр proν0 и рр proν1, значения числа всех декодированных нулевых и единичных символов ΝΝ∑0 и ΝΝ∑1 и их вероятности pp∑0 и pp∑1. Полученные значения записывают, например, при декодировании каждого символа последовательно для символов восстановленной информационной последовательности (сверху), для декодированных проверочных символов и для всех декодированных символов (снизу), как показано на фиг. 17. Разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа в соответствии с вероятностью всех декодируемых нулевых символов p∑0 и вероятность всех декодируемых единичных символов р∑1.It is identical to how, when encoding, the values of the number of encoded symbols of the information sequence and their probability, the number of encoded test symbols and their probability, the number of all encoded symbols and their probability are calculated, when decoding, the values of the number of decoded zero and single symbols of the information sequence NNinf 0 and NNinf 1 are calculated , and their probabilities ppinf 0 and ppinf 1 , the values of the number of decoded zero and unit check symbols NNproν 0 and NNproν 1 and their probabilities pp proν 0 and pp proν 1 , values of zero, and all the decoded symbols unit ΝΝ Σ0 and ΝΝ Σ1 and their probabilities pp Σ0 and pp Σ1. The obtained values are recorded, for example, when decoding each symbol sequentially for the symbols of the reconstructed information sequence (above), for decoded verification symbols, and for all decoded symbols (below), as shown in FIG. 17. The current arithmetic decoding interval is divided into the current null symbol decoding sub-interval and the single symbol decoding sub-interval in accordance with the probability of all decoded zero symbols p ∑ 0 and the probability of all decoded single symbols p ∑ 1 .

Примерный вид арифметического декодирования искаженных во втором бите запомненных очередных частей принятой последовательности вида "100111100101001" в очередные части декодированной последовательности показан на фиг. 17. Вследствие ошибки принятой последовательности после декодирования второго символа текущее значение считанной последовательности, равное 60, оказалось вне текущего интервала арифметического декодирования, простирающегося от 82 до 254, что однозначно свидетельствует об обнаружении ошибки передачи. Например, ошибка во втором символе принятой последовательности обнаружена при декодировании второго по счету символа декодированной последовательности, как показано на фиг. 16(6).An exemplary arithmetic decoding of the memorized successive parts of the received sequence of the form “100111100101001” into the next parts of the decoded sequence distorted in the second bit is shown in FIG. 17. Due to the error of the received sequence after decoding the second symbol, the current value of the read sequence, equal to 60, was outside the current interval of arithmetic decoding, extending from 82 to 254, which clearly indicates the detection of a transmission error. For example, an error in the second symbol of the received sequence is detected when decoding the second symbol of the decoded sequence, as shown in FIG. 16 (6).

Для исправления ошибки передачи поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности. Например, в запомненной принятой последовательности инвертируют первый бит (Ин1.Пр.П) и первые шесть частей запомненной принятой последовательности приобретают вид "00011110010001", показанный на фиг. 16(в). Порядок декодирования запомненной принятой последовательности с инвертированным первым битом показан на фиг. 18. В результате декодирования Ин1.Пр.П декодируют первые три части последовательности при инвертированном первом бите (ДП1), имеющие, например, вид "000", "010"и "010", как показано, например, на фиг. 16(г) и на фиг. 18.To correct transmission errors, one or more bits are inverted in turn in the remembered successive parts of the received sequence. For example, in the stored received sequence, the first bit is inverted (In1. Pr.) And the first six parts of the stored received sequence take the form “00011110010001” shown in FIG. 16 (c). The decoding order of the stored received sequence with the inverted first bit is shown in FIG. 18. As a result of decoding, In1.Pr.P decodes the first three parts of the sequence with the inverted first bit (DP1), having, for example, the form “000”, “010” and “010”, as shown, for example, in FIG. 16 (d) and in FIG. eighteen.

Если текущая вероятность декодированных проверочных символов как нулевых или единичных символов соответствует определенной арифметическим декодированием текущей вероятности символов восстановленной информационной последовательности, то делают вывод об отсутствии ошибок передачи.If the current probability of decoded check symbols as zero or single characters corresponds to a certain arithmetic decoding of the current probability of the symbols of the restored information sequence, then a conclusion is made that there are no transmission errors.

При проверке первого декодированного проверочного символа в момент времени t=3 вычислена вероятность декодируемых нулевых символов информационной последовательности ppinf0[3]=3/4 и вероятность декодируемых единичных символов информационной последовательности ppinf1[3]=1/4, а также с момента выбора предыдущего проверочного символа вычислена вероятность декодируемых нулевых проверочных символов рр proν0[2]=1/2 и вероятность декодируемых единичных проверочных символов p pproν1[2]=1/2. Первый декодированный проверочный символ имеет нулевое значение, и вероятность декодируемых нулевых проверочных символов приняла значение рр proν0[3]=2/3, как показано на фиг. 18 при t=3. Вычисляют значение разницы ppinf1[3]-рр proν0[3]=3/4-2/3≈0,08 и значение разницы в случае, если бы декодированный проверочный символ принял единичное значение: ppinf1[3]-рр proν0 при 1 [3]=3/4-1/3≈0,42. Очевидно, что текущая вероятность первого декодированного проверочного символа как нулевого символа соответствует определенной арифметическим декодированием текущей вероятности символов восстановленной информационной последовательности, поэтому при проверке первого декодированного проверочного символа ошибок передачи не выявлено.When checking the first decoded check character at time t = 3, the probability of decoded zero characters of the information sequence ppinf 0 [3] = 3/4 and the probability of decoded single characters of the information sequence ppinf 1 [3] = 1/4, as well as from the moment of selection of the previous check symbol, the probability of decoded zero check symbols pp proν 0 [2] = 1/2 and the probability of decoded single check symbols p ppropro 1 [2] = 1/2 are calculated. The first decoded check symbol has a zero value, and the probability of decoded zero check symbols has taken the value pp proν 0 [3] = 2/3, as shown in FIG. 18 at t = 3. The difference value ppinf 1 [3] -pr proν 0 [3] = 3 / 4-2 / 3≈0.08 and the difference value are calculated if the decoded check character accepts a single value: ppinf 1 [3] -r proν 0 at 1 [3] = 3 / 4-1 / 3≈0.42. Obviously, the current probability of the first decoded check symbol as a null symbol corresponds to a certain arithmetic decoding of the current probability of the symbols of the restored information sequence, therefore, when checking the first decoded check symbol, transmission errors were not detected.

Ошибок передачи не выявлено и при проверке второго декодированного проверочного символа при t=6,a при проверке третьего декодированного проверочного символа при t=9, вычислена вероятность декодируемых нулевых символов информационной последовательности ppinf0[9]=5/8 и вероятность декодируемых единичных символов информационной последовательности рр inf1[9]=3/8, а также с момента выбора предыдущего проверочного символа вычислена вероятность декодируемых нулевых проверочных символов рр proν0[8]=3/4 и вероятность декодируемых единичных проверочных символов рр proν1[8]=1/4. Третий декодированный проверочный символ имеет нулевое значение, и вероятность декодируемых нулевых проверочных символов приняла значение рр proν0[9]=4/5, как показано на фиг. 18 при t=9. Вычисляют значение разницы ppinf1[9]-рр proν0 [9]=5/8-4/5=-0,175 и значение разницы в случае, если бы декодированный проверочный символ принял единичное значение: ppinf1[9]-рр proν0 при 1 [9]=5/8-3/5=0,025. Сравнение двух вычисленных значений по абсолютной величине показывает, что текущая вероятность третьего декодированного проверочного символа как нулевого символа не соответствует определенной арифметическим декодированием текущей вероятности символов восстановленной информационной последовательности, поэтому при проверке третьего декодированного проверочного символа выявлены ошибки передачи, то есть инвертирование первого бита принятой последовательности не привело к исправлению ошибок передачи.No transmission errors were detected when checking the second decoded check character at t = 6, and when checking the third decoded check character at t = 9, the probability of decoded zero characters of the information sequence ppinf 0 [9] = 5/8 and the probability of decoded single characters of information of the sequence pp inf 1 [9] = 3/8, and also from the moment of selecting the previous check character, the probability of decoded zero check characters pp proν 0 [8] = 3/4 and the probability of decoded single check characters are calculated characters pp proν 1 [8] = 1/4. The third decoded check symbol has a zero value, and the probability of decoded zero check symbols has taken the value pp proν 0 [9] = 4/5, as shown in FIG. 18 at t = 9. The difference value ppinf 1 [9] -pr proν 0 [9] = 5 / 8-4 / 5 = -0.175 and the difference value are calculated if the decoded check character accepts a single value: ppinf 1 [9] -pr proν 0 with 1 [9] = 5 / 8-3 / 5 = 0.025. Comparison of the two calculated values in absolute value shows that the current probability of the third decoded check character as a null character does not correspond to a certain arithmetic decoding of the current probability of the characters of the restored information sequence, therefore, when checking the third decoded check character, transmission errors were detected, i.e., the inversion of the first bit of the received sequence does not led to the correction of transmission errors.

Поэтому в запомненной принятой последовательности инвертируют второй по счету бит (Ин2.Пр.П) и первые шесть частей запомненной принятой последовательности приобретают вид "11011110010001", показанный на фиг. 16(д). Порядок декодирования запомненной принятой последовательности с инвертированным вторым битом показан на фиг. 19. В результате декодирования Ин2.Пр.П декодируют полностью первые три части последовательности при инвертированном втором бите (ДП2), имеющие, например, вид "111", "100" и "010", как показано, например, на фиг. 16(e) и на фиг. 19. При проверке декодированных проверочных символов показанных, например, на фиг. 16(ж), выявлено, что их текущая вероятность соответствует определенной арифметическим декодированием текущей вероятности символов восстановленной информационной последовательности, следовательно, ошибки передачи отсутствуют. При отсутствии ошибок передачи передают получателю очередную часть восстановленной информационной последовательности, например, первую часть восстановленной информационной последовательности вида "11", показанную на фиг. 16(з).Therefore, in the stored received sequence, the second bit (In2. Pr.P) is inverted and the first six parts of the stored received sequence take the form "11011110010001" shown in FIG. 16 (d). The decoding order of the stored received sequence with the inverted second bit is shown in FIG. 19. As a result of decoding, In2.P.P completely decodes the first three parts of the sequence with the inverted second bit (DP2), having, for example, the form “111”, “100” and “010”, as shown, for example, in FIG. 16 (e) and in FIG. 19. When checking decoded check symbols shown, for example, in FIG. 16 (g), it was revealed that their current probability corresponds to a certain arithmetic decoding of the current probability of the symbols of the restored information sequence, therefore, there are no transmission errors. If there are no transmission errors, the next part of the restored information sequence, for example, the first part of the restored information sequence of the form “11” shown in FIG. 16 (h).

Отличия третьего варианта способа совместного арифметического и помехоустойчивого кодирования от первого варианта способа заключаются в выборе проверочных символов по преобладанию символов информационной последовательности.The differences of the third variant of the method of joint arithmetic and noise-resistant coding from the first variant of the method are in the selection of test symbols for the predominance of symbols of the information sequence.

Временные диаграммы совместного арифметического и помехоустойчивого кодирования первых пяти очередных частей информационной последовательности вида "11", "10", "01", "10", "11" и "00" при выборе проверочных символов по преобладанию символов информационной последовательности показаны на фиг. 20. Таблица состояний совместного арифметического и помехоустойчивого кодирования данных частей информационной последовательности при выборе проверочных символов по преобладанию символов информационной последовательности показана на фиг. 21. По сравнению с ранее описанным первым вариантом, раздельно подсчитывают число кодируемых нулевых и единичных символов информационной последовательности и вместе подсчитывают число кодируемых нулевых и единичных символов информационной последовательности и проверочных символов. Для этого задают значения начального числа закодированных нулевых символов информационной последовательности, например, Ninf0[0]=1 и начального числа закодированных единичных символов информационной последовательности, например, Ninf1[0]=1, и как описывалось ранее, вычисляют текущую вероятность кодируемых нулевых символов информационной последовательности pinf0 и текущую вероятность кодируемых единичных символов информационной последовательности pinf1.Timing diagrams of joint arithmetic and noise-resistant coding of the first five successive parts of the information sequence of the form "11", "10", "01", "10", "11" and "00" when selecting test characters for the predominance of information sequence symbols are shown in FIG. 20. The state table of joint arithmetic and noise-resistant coding of data of parts of the information sequence when selecting test symbols for the predominance of information sequence symbols is shown in FIG. 21. Compared with the previously described first option, separately count the number of encoded zero and single characters of the information sequence and together count the number of encoded zero and single characters of the information sequence and check characters. To do this, set the values of the initial number of encoded zero characters of the information sequence, for example, Ninf 0 [0] = 1 and the initial number of encoded single characters of the information sequence, for example, Ninf 1 [0] = 1, and as described earlier, calculate the current probability of the encoded zero characters of the information sequence pinf 0 and the current probability of encoded single characters of the information sequence pinf 1 .

Также вычисляют текущего значения числа всех закодированных нулевых символов путем суммирования текущего числа закодированных нулевых символов информационной последовательности и текущего числа закодированных нулевых проверочных символов при их выборе, например, Ν∑0[t]=Ninf0[t]+Nproν0[t] и текущего числа всех закодированных единичных символов путем суммирования текущего числа закодированных единичных символов информационной последовательности и текущего числа закодированных единичных проверочных символов при их выборе, например, N∑1[t]=Ninf1[t]+Nproν1[t]. Ранее описанным образом вычисляют текущую вероятность всех кодируемых нулевых символов p∑0[t] и текущую вероятность всех кодируемых единичных символов p∑1[t]. Полученные значения записывают, например, при кодировании каждого символа последовательно сверху вниз для символов информационной последовательности и для всех символов, как показано на фиг. 21. Разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа в соответствии с текущей вероятностью всех кодируемых нулевых символов p∑0[t] и текущей вероятностью всех кодируемых единичных символов p∑1[t].The current value of the number of all encoded null characters is also calculated by summing the current number of encoded null characters of the information sequence and the current number of encoded null check characters when selected, for example, Ν ∑0 [t] = Ninf 0 [t] + Nproν 0 [t] and the current number of all encoded unit characters by summing the current number of encoded unit characters of the information sequence and the current number of encoded unit check characters when selected, for example, N ∑ 1 [t] = Ninf 1 [t] + Nproν 1 [t]. Manner previously described current calculated probability of all encoded symbols of zero p Σ0 [t] and the probability of the current encoded symbol unit p Σ1 [t]. The obtained values are recorded, for example, when each character is encoded sequentially from top to bottom for information sequence symbols and for all symbols, as shown in FIG. 21. Separate the current interval arithmetic coding to encode the current subinterval zero symbol and the current symbol subinterval coding unit according to the probability of the current encoded zero symbols p Σ0 [t] and the probability of the current encoded symbol unit p Σ1 [t].

Выбор очередных проверочных символов по преобладанию символов информационной последовательности выполняют следующим образом. Пусть перед t-ым моментом времени выбора проверочного символа вычислена вероятность кодируемых нулевых символов информационной последовательности pinf0[t-1] и вероятность кодируемых единичных символов информационной последовательности pinf1[t-1], а также вычислена вероятность всех кодируемых нулевых символов p∑0[t-1] и вероятность всех кодируемых единичных символов p∑1[t-1]. Если выполняется соотношение вида pinf0[t-1]≥pinf1[t-1], то преобладают нулевые символ информационной последовательности и очередной проверочный символ выбирают как имеющий нулевое значение, иначе преобладают единичные символ информационной последовательности и очередной проверочный символ выбирают как имеющий единичное значение. Например, как показано на фиг. 21, в момент времени t=3 после кодирования первых двух информационных символов выбирают первый проверочный символ. На этот момент вероятность кодируемых нулевых символов информационной последовательности составляет pinf0[2]=3/4 и вероятность кодируемых единичных символов информационной последовательности - pinf1[2]=1/4. В силу преобладания нулевых символов информационной последовательности очередной проверочный символ выбирают как имеющий нулевое значение. Для символов информационной последовательности значения вероятности не меняются: pinf0[3]=pinf0[2]=3/4 и pinf1[3]=pinf1[2]=1/4, а вероятность всех кодируемых нулевых символов и вероятность всех кодируемых единичных символов получают значения p∑1[t]=4/5 и p∑0[t]=1/5, соответственно, и т.д.The selection of the next test characters for the predominance of the characters of the information sequence is as follows. Suppose that before the t-th point selection verification symbol time computed probability zero symbols encoded information sequence pinf 0 [t-1] and probability characters encoded information unit sequence pinf 1 [t-1], and the calculated probability of all encoded symbols of zero p Σ0 [t-1] and the probability of all encoded unit characters p ∑1 [t-1]. If a relation of the form pinf 0 [t-1] ≥pinf 1 [t-1] holds, then the zero character of the information sequence prevails and the next check character is selected as having a zero value, otherwise the single character of the information sequence prevails and the next check character is selected as having a single value. For example, as shown in FIG. 21, at time t = 3, after encoding the first two information symbols, the first verification symbol is selected. At this point, the probability of encoded zero characters of the information sequence is pinf 0 [2] = 3/4 and the probability of encoded single characters of the information sequence is pinf 1 [2] = 1/4. Due to the predominance of zero characters in the information sequence, the next check character is selected as having a zero value. For symbols of the information sequence, the probability values do not change: pinf 0 [3] = pinf 0 [2] = 3/4 and pinf 1 [3] = pinf 1 [2] = 1/4, and the probability of all encoded zero characters and the probability of all encoded unit characters get the values p ∑1 [t] = 4/5 and p ∑0 [t] = 1/5 , respectively, etc.

Примерный вид выбранных проверочных символов для первых пяти очередных частей помехоустойчивой последовательности показан на фиг. 20(б), а сформированных с их использованием очередных частей помехоустойчивой последовательности - на фиг. 20(b). Примерный вид арифметического кодирования первых пяти очередных частей помехоустойчивой последовательности вида "000", "010", "010", "000" и "100" в соответствующие очередные части кодированной последовательности вида "00", "1", "011", "_" и "100001" показан на фиг. 20(г). Примерный вид первых пяти частей принятой последовательности (Пр. П) показан на фиг. 22(a). Принятая последовательность при передаче искажена во втором бите и имеет вид "01", "1", "011", "_" и "100001". Примерный вид декодирования искаженных во втором бите запомненных очередных частей принятой последовательности вида "011011100001" в очередные части декодированной последовательности показан на фиг. 23.An exemplary view of selected check symbols for the first five successive parts of the error-correcting sequence is shown in FIG. 20 (b), and the subsequent parts of the error-correcting sequence formed with their use are shown in FIG. 20 (b). An approximate form of arithmetic coding of the first five successive parts of an error-correcting sequence of the form "000", "010", "010", "000" and "100" into the corresponding subsequent parts of the encoded sequence of the form "00", "1", "011", " _ "and" 100001 "are shown in FIG. 20 (g). An exemplary view of the first five parts of the received sequence (Ex. P) is shown in FIG. 22 (a). The received sequence during transmission is distorted in the second bit and has the form "01", "1", "011", "_" and "100001". An example of decoding distorted in the second bit stored next parts of a received sequence of the form “011011100001” into next parts of a decoded sequence is shown in FIG. 23.

Идентично тому, как при кодировании подсчитывают значения числа закодированных символов информационной последовательности и их вероятности, числа всех закодированных символов и их вероятности, при декодировании подсчитывают значения числа декодированных нулевых и единичных символов информационной последовательности NN inf0 и NN inf1 и их вероятности рр inf0 и рр inf1, значения числа всех декодированных нулевых и единичных символов ΝΝ∑0 и ΝΝ∑1 и их вероятности pp∑0 и рр∑1. Полученные значения записывают, например, при декодировании каждого символа последовательно для символов восстановленной информационной последовательности (сверху) и для всех декодированных символов (снизу), как показано на фиг. 23. Разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа в соответствии с вероятностью всех декодируемых нулевых символов p∑0 и вероятность всех декодируемых единичных символов p∑1.It is identical to how, when encoding, the values of the number of encoded symbols of the information sequence and their probability, the number of all encoded symbols and their probabilities are calculated, when decoding, the values of the number of decoded zero and single symbols of the information sequence NN inf 0 and NN inf 1 and their probabilities pp inf 0 1 and pp inf values of all zeros and decoded symbols unit ΝΝ Σ0 and ΝΝ Σ1 and their probabilities pp Σ0 and pp Σ1. The obtained values are recorded, for example, when decoding each symbol sequentially for the symbols of the reconstructed information sequence (above) and for all decoded symbols (below), as shown in FIG. 23. Divide the current arithmetic decoding interval into the current null-symbol decoding sub-interval and the current single-symbol decoding sub-interval in accordance with the probability of all decoded zero characters p ∑ 0 and the probability of all decoded single characters p ∑ 1 .

Примерный вид декодирования искаженных во втором бите запомненных очередных частей принятой последовательности вида "011011100001" в первую часть декодированной последовательности вида "011" показан на фиг. 23.An exemplary type of decoding of the memorized successive parts of the received sequence of the type “011011100001” into the first part of the decoded sequence of the type “011” distorted in the second bit is shown in FIG. 23.

Выполняют проверку отсутствия ошибок передачи следующим образом: если декодированные проверочные символы являются нулевыми символами при условии, что определенная арифметическим декодированием текущая вероятность нулевых символов восстановленной информационной последовательности больше или равна текущей вероятности единичных символов этой последовательности, или декодированные проверочные символы являются единичными символами при условии, что определенная арифметическим декодированием текущая вероятность единичных символов восстановленной информационной последовательности больше текущей вероятности нулевых символов этой последовательности, то делают вывод об отсутствии ошибок передачи.Check for the absence of transmission errors as follows: if the decoded check symbols are zero characters, provided that the arithmetic decoding current probability of zero characters of the restored information sequence is greater than or equal to the current probability of single characters in this sequence, or the decoded check characters are single characters, provided that arithmetic decoding current probability of single characters the reconstructed information sequence is greater than the current probability of zero characters of this sequence, then conclude that there are no transmission errors.

Например, первый декодированный проверочный символ является единичным символом, как показано на фиг. 23 при t=3. Определенная арифметическим декодированием текущая вероятность единичных символов восстановленной информационной последовательности равна ppinf1[3]=2/4 и равна текущей вероятности нулевых символов этой последовательности равна ppinf0[3]=2/4. В соответствии с приведенным выше условием первый декодированный проверочный символ должен быть нулевым символом, следовательно, обнаружены ошибки передачи.For example, the first decoded check symbol is a single symbol, as shown in FIG. 23 at t = 3. The current probability of unit symbols of the restored information sequence determined by arithmetic decoding is equal to ppinf 1 [3] = 2/4 and equal to the current probability of zero symbols of this sequence is equal to ppinf 0 [3] = 2/4. According to the above condition, the first decoded check symbol must be a null symbol, therefore, transmission errors are detected.

Для исправления ошибки передачи поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности. Например, в запомненной принятой последовательности инвертируют первый бит (Ин1.Пр.П) и первые пять частей запомненной принятой последовательности приобретают вид "111011100001", показанный на фиг. 22(в). Порядок декодирования запомненной принятой последовательности с инвертированным первым битом показан на фиг. 24. В результате декодирования Ин1.Пр.П декодируют первые пять частей последовательности при инвертированном первом бите (ДП1), имеющие, например, вид "111", "111", "111", "111" и "100", как показано, например, на фиг. 22(г) и на фиг. 24. Ошибка выявлена в пятом декодированном проверочном символе, являющимся нулевым символом, как показано на фиг. 24 при t=15. Определенная арифметическим декодированием текущая вероятность единичных символов восстановленной информационной последовательности равна ppinf0[15]=3/13 и меньше текущей вероятности единичных символов этой последовательности, равной ppinf1[15]=10/15. В соответствии с приведенным выше условием пятый декодированный проверочный символ должен быть единичным символом, следовательно, обнаружены ошибки передачи.To correct transmission errors, one or more bits are inverted in turn in the remembered successive parts of the received sequence. For example, in the stored received sequence, the first bit is inverted (In1. Pr.P) and the first five parts of the stored received sequence take the form “111011100001” shown in FIG. 22 (c). The decoding order of the stored received sequence with the inverted first bit is shown in FIG. 24. As a result of decoding In1.Pr.P decode the first five parts of the sequence with the inverted first bit (DP1), having, for example, the form "111", "111", "111", "111" and "100", as shown for example in FIG. 22 (d) and in FIG. 24. An error is detected in the fifth decoded check symbol, which is a null symbol, as shown in FIG. 24 at t = 15. The current probability of unit symbols of the reconstructed information sequence determined by arithmetic decoding is ppinf 0 [15] = 3/13 and less than the current probability of unit symbols of this sequence equal to ppinf 1 [15] = 10/15. In accordance with the above condition, the fifth decoded check symbol must be a single symbol, therefore, transmission errors are detected.

Поэтому в запомненной принятой последовательности инвертируют второй по счету бит (Ин2.Пр.П) и первые пять частей запомненной принятой последовательности приобретают вид "001011100001", показанный на фиг. 22(д). Порядок декодирования запомненной принятой последовательности с инвертированным вторым битом показан на фиг. 25. В результате декодирования Ин2.Пр.П декодируют полностью первые две части последовательности при инвертированном втором бите (ДП2), имеющие, например, вид "000" и "010", как показано, например, на фиг. 22(e) и на фиг. 25. При проверке декодированных проверочных символов показанных, например, на фиг. 22(ж), выявлено, что они соответствуют преобладающим по текущей вероятности символам восстановленной информационной последовательности, следовательно, ошибки передачи отсутствуют. При отсутствии ошибок передачи передают получателю очередную часть восстановленной информационной последовательности, например, первую часть восстановленной информационной последовательности вида "00", показанную на фиг. 22(з).Therefore, in the stored received sequence, the second bit (In2. Pr.P) is inverted and the first five parts of the stored received sequence take the form “001011100001” shown in FIG. 22 (d). The decoding order of the stored received sequence with the inverted second bit is shown in FIG. 25. As a result of decoding, In2.P.P completely decodes the first two parts of the sequence with the inverted second bit (DP2) having, for example, the form “000” and “010”, as shown, for example, in FIG. 22 (e) and in FIG. 25. When checking decoded check symbols shown, for example, in FIG. 22 (g), it was revealed that they correspond to the prevailing in the current probability symbols of the restored information sequence, therefore, there are no transmission errors. If there are no transmission errors, the next part of the restored information sequence, for example, the first part of the restored information sequence of the form “00” shown in FIG. 22 (h).

Проверка теоретических предпосылок заявленных вариантов способа совместного арифметического и помехоустойчивого кодирования проверялась путем его аналитических исследований.Verification of the theoretical background of the claimed variants of the method of joint arithmetic and noise-correcting coding was verified by its analytical studies.

Было выполнено совместное арифметическое и помехоустойчивое кодирования нескольких очередных частей информационной последовательности с использованием способа-прототипа и вариантов предлагаемого способа, результаты показаны на фиг. 26. Выполнялось совместное арифметическое и помехоустойчивое кодирование N=1024 очередных частей информационной последовательности длиной 2 бита, при использовании проверочных символов длиной 1 бит. Кодированию подвергались очередные части двоичной информационной последовательности с вероятностью нулевых символов 0.3, 0.2, 0.1, 0.01, и 0.005, соответственно. Передаваемая по каналу передачи сжатая последовательность случайным образом искажалась одной ошибкой. На приемной стороне подсчитывалась вероятность обнаружения ошибки и средняя задержка обнаружения ошибок, определяемая в числе декодированных символов с момента ошибки канала передачи до момента ее обнаружения. Заявленные варианты способа совместного арифметического и помехоустойчивого кодирования обеспечивают существенное повышение коэффициента сжатия избыточных информационных последовательностей по сравнению со способом-прототипом при всех значениях вероятности нулевого символа. Для сравнения также получены результаты сжатия избыточных информационных последовательностей арифметическим кодированием без помехоустойчивого кодирования. На фиг. 26 показано, что третий вариант способа совместного арифметического и помехоустойчивого кодирования обеспечивает значения коэффициента сжатия, близкие к значениям коэффициента сжатия арифметического кодирования без помехоустойчивого кодирования.Joint arithmetic and error-correcting coding of several successive parts of the information sequence was performed using the prototype method and variants of the proposed method, the results are shown in FIG. 26. A joint arithmetic and error-correcting coding of N = 1024 consecutive parts of the information sequence of 2 bits in length was carried out using 1-bit verification characters. The subsequent parts of the binary information sequence were subjected to coding with the probability of zero characters being 0.3, 0.2, 0.1, 0.01, and 0.005, respectively. The compressed sequence transmitted over the transmission channel was randomly distorted by one error. At the receiving side, the probability of error detection and the average error detection delay, calculated as the number of decoded symbols from the moment of transmission channel error to the moment of its detection, were calculated. The claimed variants of the method of joint arithmetic and noise-resistant coding provide a significant increase in the compression ratio of redundant information sequences in comparison with the prototype method for all values of the probability of a zero symbol. For comparison, the results of compression of redundant information sequences by arithmetic coding without noise-resistant coding are also obtained. In FIG. 26 shows that the third variant of the method of joint arithmetic and noise-resistant coding provides compression values close to the values of the compression coefficient of arithmetic coding without noise-resistant coding.

Заявленный первый вариант способа совместного арифметического и помехоустойчивого кодирования обеспечивает более высокую вероятность обнаружения ошибок по сравнению со вторым и третьим вариантами, но уступает второму варианту по средней задержке обнаружения ошибок и третьему варианту по достигаемому коэффициенту сжатия. Второй вариант способа совместного арифметического и помехоустойчивого кодирования обеспечивает самую малую среднюю задержку обнаружения ошибок, а третий вариант способа совместного арифметического и помехоустойчивого кодирования обеспечивает самый большой коэффициент сжатия среди заявленных вариантов.The claimed first variant of the method of joint arithmetic and noise-resistant coding provides a higher probability of detecting errors in comparison with the second and third options, but is inferior to the second option in the average delay of error detection and the third option in the achieved compression ratio. The second variant of the method of joint arithmetic and noise-resistant coding provides the smallest average delay of error detection, and the third version of the method of joint arithmetic and noise-resistant coding provides the largest compression ratio among the claimed variants.

Проведенные исследования подтверждают, что при использовании предлагаемых вариантов способа совместного арифметического и помехоустойчивого кодирования избыточной двоичной информационной последовательности обеспечивается уменьшение скорости передачи по каналу передачи кодированной последовательности или уменьшение емкости устройств ее запоминания.The conducted studies confirm that when using the proposed variants of the method of joint arithmetic and noise-resistant coding of an excess binary information sequence, a reduction in the transmission rate of the encoded sequence over the transmission channel or a decrease in the capacity of its storage devices is provided.

Claims (3)

1. Способ совместного арифметического и помехоустойчивого кодирования, заключающийся в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, выбирают проверочные символы длиной r≥1 бит, формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, отличающийся тем, что на передающей стороне проверочные символы выбирают выделением для каждого проверочного символа среди текущего подинтервала кодирования нулевого символа и текущего подинтервала кодирования единичного символа текущий подинтервал, включающий середину начального интервала арифметического кодирования, и устанавливают проверочным символом такой символ, который соответствует выделенному текущему подинтервалу, передают очередную часть кодированной последовательности на приемную сторону, а на приемной стороне, если текущий подинтервал декодирования каждого из декодированных проверочных символов включает середину начального интервала арифметического кодирования, то делают вывод об отсутствии ошибок передачи.1. The method of joint arithmetic and noise-resistant coding, which consists in the fact that the initial arithmetic coding interval is set on the transmitting side and the initial arithmetic decoding interval corresponding to it is received on the receiving side, the next part of the information sequence of k≥1 bit length is received on the transmitting side divide the current arithmetic coding interval into the current null symbol coding sub-interval and the current the encoding interval of a single symbol, test characters of length r≥1 bits are selected, the next part of the error-correcting sequence is formed from the next part of the information sequence and the selected test symbols, arithmetic coding of the next part of the error-correcting sequence to the next part of the coded sequence is transmitted to the receiving side, perform the listed actions on the transmitting side until the next As part of the information sequence, on the receiving side, receive the next part of the received sequence, which is stored, divide the current arithmetic decoding interval into the current decoding sub-interval of a single character and the current decoding sub-interval of a single symbol, the remembered subsequent parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, of which separate the next parts of the restored information sequence and de encoded check characters, 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 memorized next parts of the received sequence and perform their arithmetic decoding until reaching the conclusion that there are no transmission errors, perform the above actions on the receiver side until the next part of the received sequence arrives, characterized in that on transmitting On the other side, the test characters are selected by highlighting for each test character among the current null character encoding sub-interval and the current character encoding sub-interval the current sub-interval including the middle of the initial arithmetic coding interval, and set the character that matches the selected current sub-interval with the test character, transmit the next part of the coded sequence on the receiving side, and on the receiving side, if the current sub-interval is decoded tions of each of the decoded middle parity includes initial interval arithmetic coding, it concluded the absence of transmission errors. 2. Способ совместного арифметического и помехоустойчивого кодирования, заключающийся в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, выбирают проверочные символы длиной r≥1 бит, формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, отличающийся тем, что на передающей стороне проверочные символы выбирают как нулевые или единичные символы, текущая вероятность которых наиболее близка к определенной арифметическим кодированием текущей вероятности символов информационной последовательности, передают очередную часть кодированной последовательности на приемную сторону, а на приемной стороне, если текущая вероятность декодированных проверочных символов как нулевых или единичных символов соответствует определенной арифметическим декодированием текущей вероятности символов восстановленной информационной последовательности, то делают вывод об отсутствии ошибок передачи.2. The method of joint arithmetic and noise-resistant coding, which consists in the fact that the initial arithmetic coding interval is set on the transmitting side and the initial arithmetic decoding interval corresponding to it is set on the receiving side, the next part of the information sequence of k≥1 bit length is received from the information source divide the current arithmetic coding interval into the current null symbol coding sub-interval and the current the encoding interval of a single symbol, test characters of length r≥1 bits are selected, the next part of the error-correcting sequence is formed from the next part of the information sequence and the selected test symbols, arithmetic coding of the next part of the error-correcting sequence to the next part of the coded sequence is transmitted to the receiving side, perform the listed actions on the transmitting side until the next As part of the information sequence, on the receiving side, receive the next part of the received sequence, which is stored, divide the current arithmetic decoding interval into the current decoding sub-interval of a single character and the current decoding sub-interval of a single symbol, the remembered subsequent parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, of which separate the next parts of the restored information sequence and de encoded check characters, 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 memorized next parts of the received sequence and perform their arithmetic decoding until reaching the conclusion that there are no transmission errors, perform the above actions on the receiver side until the next part of the received sequence arrives, characterized in that on transmitting On the other side, the verification symbols are selected as zero or single symbols, the current probability of which is closest to the current probability of the information sequence symbols determined by arithmetic coding, the next part of the encoded sequence is transmitted to the receiving side, and on the receiving side, if the current probability of the decoded verification symbols is zero or single symbols corresponds to a certain arithmetic decoding of the current probability of the symbols of the restored information sequence, then conclude that there are no transmission errors. 3. Способ совместного арифметического и помехоустойчивого кодирования, заключающийся в том, что предварительно на передающей стороне устанавливают начальный интервал арифметического кодирования и на приемной стороне соответствующий ему начальный интервал арифметического декодирования, на передающей стороне от источника информации принимают очередную часть информационной последовательности длиной k≥1 бит, разделяют текущий интервал арифметического кодирования на текущий подинтервал кодирования нулевого символа и на текущий подинтервал кодирования единичного символа, выбирают проверочные символы длиной r≥1 бит, формируют очередную часть помехоустойчивой последовательности из очередной части информационной последовательности и выбранных проверочных символов, выполняют арифметическое кодирование очередной части помехоустойчивой последовательности в очередную часть кодированной последовательности, передают очередную часть последовательности на приемную сторону, выполняют на передающей стороне перечисленные действия до тех пор, пока поступают очередные части информационной последовательности, на приемной стороне получают очередную часть принятой последовательности, которую запоминают, разделяют текущий интервал арифметического декодирования на текущий подинтервал декодирования нулевого символа и на текущий подинтервал декодирования единичного символа, запомненные очередные части принятой последовательности арифметически декодируют в очередные части декодированной последовательности, из которых выделяют очередные части восстановленной информационной последовательности и декодированные проверочные символы, делают вывод об отсутствии ошибок передачи и передают получателю очередную часть восстановленной информационной последовательности, иначе поочередно инвертируют один или несколько битов в запомненных очередных частях принятой последовательности и выполняют их арифметическое декодирование до достижения вывода об отсутствии ошибок передачи, выполняют перечисленные действия на приемной стороне до тех пор, пока поступают очередные части принятой последовательности, отличающийся тем, что на передающей стороне проверочные символы выбирают как нулевые символы, если определенная арифметическим кодированием текущая вероятность нулевых символов информационной последовательности больше или равна текущей вероятности единичных символов информационной последовательности, иначе выбирают проверочные символы как единичные символы, передают очередную часть кодированной последовательности на приемную сторону, а на приемной стороне, если декодированные проверочные символы являются нулевыми символами при условии, что определенная арифметическим декодированием текущая вероятность нулевых символов восстановленной информационной последовательности больше или равна текущей вероятности единичных символов этой последовательности, или декодированные проверочные символы являются единичными символами при условии, что определенная арифметическим декодированием текущая вероятность единичных символов восстановленной информационной последовательности больше текущей вероятности нулевых символов этой последовательности, то делают вывод об отсутствии ошибок передачи.3. The method of joint arithmetic and noise-resistant coding, which consists in the fact that the initial arithmetic coding interval is set on the transmitting side and the initial arithmetic decoding interval corresponding to it is received on the receiving side, the next part of the information sequence of k≥1 bit length is received on the transmitting side divide the current arithmetic coding interval into the current null symbol coding sub-interval and the current the encoding interval of a single symbol, test characters of length r≥1 bits are selected, the next part of the error-correcting sequence is formed from the next part of the information sequence and the selected test symbols, arithmetic coding of the next part of the error-correcting sequence to the next part of the coded sequence is transmitted to the receiving side, perform the listed actions on the transmitting side until the next As part of the information sequence, on the receiving side, receive the next part of the received sequence, which is stored, divide the current arithmetic decoding interval into the current decoding sub-interval of a single character and the current decoding sub-interval of a single symbol, the remembered subsequent parts of the received sequence are arithmetically decoded into the next parts of the decoded sequence, of which separate the next parts of the restored information sequence and de encoded check characters, 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 memorized next parts of the received sequence and perform their arithmetic decoding until reaching the conclusion that there are no transmission errors, perform the above actions on the receiver side until the next part of the received sequence arrives, characterized in that on transmitting on the other side, the verification characters are selected as zero characters, if the current probability of zero characters of the information sequence determined by arithmetic coding is greater than or equal to the current probability of the unit characters of the information sequence, otherwise the test characters are selected as unit characters, the next part of the coded sequence is transmitted to the receiving side, and on the receiving side if the decoded check characters are null characters, provided that a certain arithmetic By decoding the current probability of zero characters of the restored information sequence is greater than or equal to the current probability of the unit characters of this sequence, or the decoded check characters are unit characters, provided that the arithmetic decoding current probability of the unit characters of the restored information sequence is greater than the current probability of the zero characters of this sequence, then conclusion about the absence of transmission errors.
RU2016102915A 2016-01-28 2016-01-28 Method of joint arithmetic and protective coding (versions) RU2611022C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016102915A RU2611022C1 (en) 2016-01-28 2016-01-28 Method of joint arithmetic and protective coding (versions)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016102915A RU2611022C1 (en) 2016-01-28 2016-01-28 Method of joint arithmetic and protective coding (versions)

Publications (1)

Publication Number Publication Date
RU2611022C1 true RU2611022C1 (en) 2017-02-17

Family

ID=58458613

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016102915A RU2611022C1 (en) 2016-01-28 2016-01-28 Method of joint arithmetic and protective coding (versions)

Country Status (1)

Country Link
RU (1) RU2611022C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2702724C2 (en) * 2018-02-19 2019-10-09 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Method of combined arithmetic and noise-immune encoding and decoding
RU2712096C1 (en) * 2019-04-24 2020-01-24 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Method of combined arithmetic and noise-immune encoding and decoding
RU2752868C1 (en) * 2020-08-24 2021-08-11 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Method for arithmetic encoding and decoding
CN118246075A (en) * 2024-05-27 2024-06-25 淄博百时得能源环保科技有限公司 Monitoring data management system and method for water treatment device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737345A (en) * 1994-08-19 1998-04-07 Robert Bosch Gmbh Method for arithmetic decoding
US20040216028A1 (en) * 2003-04-25 2004-10-28 Hitoshi Kiya Picture encoding apparatus and method, picture decoding apparatus and method, error correction encoding apparatus and method and error correction decoding apparatus and method
USRE43231E1 (en) * 2000-03-27 2012-03-06 Board Of Regents Of The University Of Nebraska System and method for joint source-channel encoding, with symbol, decoding and error correction
RU2565501C2 (en) * 2009-10-09 2015-10-20 Томсон Лайсенсинг Method and apparatus for arithmetic encoding or arithmetic decoding
RU2568381C2 (en) * 2010-07-20 2015-11-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Audio encoder, audio decoder, method of encoding audio information, method of decoding audio information and computer programme using optimised hash table

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737345A (en) * 1994-08-19 1998-04-07 Robert Bosch Gmbh Method for arithmetic decoding
USRE43231E1 (en) * 2000-03-27 2012-03-06 Board Of Regents Of The University Of Nebraska System and method for joint source-channel encoding, with symbol, decoding and error correction
US20040216028A1 (en) * 2003-04-25 2004-10-28 Hitoshi Kiya Picture encoding apparatus and method, picture decoding apparatus and method, error correction encoding apparatus and method and error correction decoding apparatus and method
RU2565501C2 (en) * 2009-10-09 2015-10-20 Томсон Лайсенсинг Method and apparatus for arithmetic encoding or arithmetic decoding
RU2568381C2 (en) * 2010-07-20 2015-11-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Audio encoder, audio decoder, method of encoding audio information, method of decoding audio information and computer programme using optimised hash table

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2702724C2 (en) * 2018-02-19 2019-10-09 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Method of combined arithmetic and noise-immune encoding and decoding
RU2712096C1 (en) * 2019-04-24 2020-01-24 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Method of combined arithmetic and noise-immune encoding and decoding
RU2752868C1 (en) * 2020-08-24 2021-08-11 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Method for arithmetic encoding and decoding
CN118246075A (en) * 2024-05-27 2024-06-25 淄博百时得能源环保科技有限公司 Monitoring data management system and method for water treatment device

Similar Documents

Publication Publication Date Title
US10320414B2 (en) Methods and apparatus to parallelize data decompression
US10312947B2 (en) Concatenated and sliding-window polar coding
CN108702161B (en) Systems and methods for polarization encoding and decoding
US6411223B1 (en) Generating high weight encoding symbols using a basis
RU2611022C1 (en) Method of joint arithmetic and protective coding (versions)
EP3364542A1 (en) Error correction coding method based on cascading of polar codes and repetition codes or multi-bit parity check codes
RU2629455C2 (en) Method of joint arithmetic and noise-immune coding
KR102244117B1 (en) Method and apparatus for processing rate matching of polar codes
US8046236B2 (en) Apparatus and method for producing a data stream and apparatus and method for reading a data stream
RU2401512C1 (en) Method of code cyclic synchronisation
Song et al. On multiple-deletion multiple-substitution correcting codes
RU2620731C1 (en) Method of joint arithmetic and immune construction of coding and decoding
US3571795A (en) Random and burst error-correcting systems utilizing self-orthogonal convolution codes
US4055832A (en) One-error correction convolutional coding system
CN113507289A (en) A kind of encoder, decoder and codeword generation method
RU2702724C2 (en) Method of combined arithmetic and noise-immune encoding and decoding
RU2712096C1 (en) Method of combined arithmetic and noise-immune encoding and decoding
EP4142229A1 (en) System and method for transition encoding with flexible word-size
RU2718213C1 (en) Method of combined arithmetic and antinoise encoding and decoding
Tallini et al. Zero deletion/insertion codes and zero error capacity
RU2595955C1 (en) Method for combined compression and noiseless coding
US6573847B1 (en) Multi-table mapping for huffman code decoding
RU2734450C2 (en) Method for decoding of noise-immune codes
KR101670606B1 (en) Binary data compression and decompression method
US10447300B2 (en) Decoding device, decoding method, and signal transmission system

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180129