[go: up one dir, main page]

RU2793198C2 - Multi-mode channel coding - Google Patents

Multi-mode channel coding Download PDF

Info

Publication number
RU2793198C2
RU2793198C2 RU2021126662A RU2021126662A RU2793198C2 RU 2793198 C2 RU2793198 C2 RU 2793198C2 RU 2021126662 A RU2021126662 A RU 2021126662A RU 2021126662 A RU2021126662 A RU 2021126662A RU 2793198 C2 RU2793198 C2 RU 2793198C2
Authority
RU
Russia
Prior art keywords
codeword
decoding mode
mode
coloring
decoding
Prior art date
Application number
RU2021126662A
Other languages
Russian (ru)
Other versions
RU2021126662A (en
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 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф.
Publication of RU2021126662A publication Critical patent/RU2021126662A/en
Application granted granted Critical
Publication of RU2793198C2 publication Critical patent/RU2793198C2/en

Links

Images

Abstract

FIELD: channel coding.
SUBSTANCE: technical result consists in increasing the data transfer rate and increasing the reliability of the transmission of the coding mode. The technical result is achieved due to the fact that the channel decoder determines the decoding mode without separately receiving information regarding the decoding mode and parameters, since the coding mode indicator is included in the code word by applying a colored sequence, which is selected in accordance with the coding mode.
EFFECT: increasing the data transfer rate and increasing the reliability of the transmission of the coding mode.
43 cl, 26 dwg, 1 tbl

Description

Настоящая заявка относится к многорежимному канальному кодированию.The present application relates to multi-mode channel coding.

В цифровой связи канальное кодирование (также называемое кодированием с коррекцией ошибок) используется для управления ошибками в данных по ненадежным или зашумленным каналам связи, и в силу этого канальное кодирование становится существенной частью в цифровой связи. Цель канального кодирования состоит в защите информации от возмущений во время передачи. В силу этого для коррекции ошибок и для обнаружения ошибок добавляется избыточность, т.е. избыточность добавляется в последовательность пакетов данных, например, в кадры аудио/видеокодера, которые отправляются по подверженному ошибкам каналу, чтобы обеспечить возможность определенной величины коррекции ошибок при передаче на стороне приёмника. Способность к коррекции ошибок коррелирует с коэффициентом избыточности, что означает, что улучшенные характеристики коррекции ошибок обычно сопровождаются более высокой величиной избыточности.In digital communications, channel coding (also referred to as error correction coding) is used to manage errors in data over unreliable or noisy communication channels, and thus channel coding has become an essential part in digital communications. The purpose of channel coding is to protect information from disturbances during transmission. Because of this, redundancy is added for error correction and error detection, i. redundancy is added to the sequence of data packets, such as frames of an audio/video encoder, that are sent over an error-prone channel to allow a certain amount of error correction in transmission at the receiver side. Error correction capability correlates with redundancy ratio, which means that improved error correction performance is usually accompanied by a higher amount of redundancy.

В контексте кадров аудиоданных, должны рассматриваться три эффекта:In the context of audio data frames, three effects must be considered:

1. Один и тот же кадр аудиоданных может обычно кодироваться с гибким числом битов, когда качество звучания масштабируется со скоростью передачи битов.1. The same frame of audio data can typically be encoded with a flexible number of bits when the audio quality is scaled with the bit rate.

2. Потерянные кадры могут маскироваться, поскольку передаваемые данные демонстрируют временную структуру, которая сопровождается определенной величиной ухудшения качества, которое растет с частотой ошибок по кадрам (FER).2. Lost frames can be masked because the transmitted data exhibits a temporal pattern that is accompanied by a certain amount of quality degradation that increases with the frame error rate (FER).

3. Способы на основе маскировки потерь пакетов (PLC) обычно обеспечивают гораздо лучшие результаты, чем декодирование необнаруженных плохих кадров.3. Packet loss concealment (PLC) methods generally provide much better results than undetected bad frame decoding.

Следовательно, канальное кодирование в силу этого является очень практически полезным для аудиоданных, поскольку оно позволяет может повышать качество звучания за счет:Therefore, channel coding is therefore very practical for audio data, since it can improve the sound quality by:

- обнаружения плохих кадров (PLC вместо декодирования плохих кадров),- bad frame detection (PLC instead of bad frame decoding),

- коррекции плохих кадров (уменьшения FER).- correction of bad frames (reduction of FER).

Тем не менее, положительные эффекты наблюдаются только в присутствии ошибок, в то время как отрицательное влияние меньшей скорости передачи данных присутствует в любой момент времени. Кроме того, интенсивность сигнала беспроводных сетей, к примеру, системы на основе DECT (усовершенствованного стандарта цифровой беспроводной связи), обычно изменяется в течение длительности соединения, т.е. для телефонного вызова, при котором динамик перемещается при разговоре или вследствие внешних временных возмущений. В силу этого субоптимально применять фиксированную схему прямой коррекции ошибок (FEC) в течение соединения. Вместо этого, очень желательно иметь гибкий канальный кодер, обеспечивающий множество режимов FEC, изменяющихся от низкой степени защиты и высокой скорости передачи данных до высокой степени защиты и низкой скорости передачи данных (при условии, что полная скорость, т.е. сумма скорости передачи данных и коэффициента избыточности является фиксированной).However, positive effects are observed only in the presence of errors, while the negative impact of a lower data rate is present at any time. In addition, the signal strength of wireless networks, such as a DECT (Advanced Digital Wireless Standard) based system, typically changes over the duration of the connection, i.e. for a phone call in which the speaker moves during a conversation or due to external temporary disturbances. Because of this, it is suboptimal to apply a fixed Forward Error Correction (FEC) scheme during the connection. Instead, it is highly desirable to have a flexible channel encoder providing multiple FEC modes ranging from low security and high data rate to high security and low data rate (assuming that the full rate, i.e. the sum of the data rate and the redundancy factor is fixed).

С точки зрения аудиокодека, такая переключаемая система не представляет собой сложную задачу, поскольку современные аудиокодеки обычно поддерживают переключение скорости передачи битов «в реальном времени» для речевых и аудиосигналов. Но это обуславливает техническую проблему передачи в служебных сигналах режима FEC на основе кадров. Для простой интеграции в существующие системы, режим FEC должен передаваться в служебных сигналах внутриполосно. Если это осуществляется явно, это также уменьшает скорость передачи данных. Кроме того, передача в служебных сигналах информации режима также должна быть подвержена ошибкам при передаче и не должна защищаться посредством кодов с коррекцией ошибок, поскольку канальный декодер требует знания режима до способности декодировать кодированные данные. В силу этого необходимо защищать режим FEC отдельно, чтобы не допустить наличия ахиллесовой пяты в схеме FEC, что снова снижает скорость передачи данных для аудиокадра.From an audio codec point of view, such a switchable system is not a difficult task, since modern audio codecs typically support "real-time" bit rate switching for speech and audio signals. But this causes a technical transmission problem in frame-based FEC mode signaling. For easy integration into existing systems, the FEC mode must be signaled in-band. If this is done explicitly, it also reduces the data transfer rate. In addition, the signaling of mode information must also be subject to transmission errors and must not be protected by error correction codes, since the channel decoder requires knowledge of the mode before being able to decode the encoded data. Because of this, it is necessary to protect the FEC mode separately to avoid having an Achilles' heel in the FEC scheme, which again reduces the data rate for the audio frame.

Известный канальный кодер для аудиоданных представляет собой инструментальное средство EP (защиты от ошибок), указываемое в стандарте MPEG-4 Part 3 ("Information technology - Coding of audio-visual objects - Part 3: Audio Standard, International Organization for Standardization, Geneva, CH, 2009 год). Он содержит множество классов защиты в диапазоне от обнаружения ошибок до схем FEC различных интенсивностей. Он также содержит гибкие архитектуры кадра и неравномерную защиту от ошибок (UEP). Базовая идея UEP состоит в том, чтобы разделять кадр на подкадры согласно чувствительностям к битовым ошибкам и защищать эти подкадры с соответствующей интенсивностью FEC и/или контроля циклическим избыточным кодом (CRC). Чтобы применять UEP к аудиокадрам, требуется информация по меньшей мере a) число классов, b) число битов, которое содержит каждый класс, c) код CRC, который должен применяться для каждого класса, которая может представляться в качестве числа битов CRC, и d) код FEC, который должен применяться для каждого класса в качестве конфигурационных параметров кадра. Как пояснено выше, UEP требует как внеполосной передачи служебных сигналов базовой конфигурации, так значительного количества конфигурационных параметров, которые передаются в служебных сигналах внутриполосно. Кроме того, внутриполосные конфигурационные параметры защищаются отдельно от данных, поскольку они необходимы до декодирования данных.A well-known channel encoder for audio data is an EP (error protection) tool specified in the MPEG-4 Part 3 standard ("Information technology - Coding of audio-visual objects - Part 3: Audio Standard, International Organization for Standardization, Geneva, CH , 2009. It contains many protection classes ranging from error detection to FEC schemes of various strengths. It also contains flexible frame architectures and non-uniform error protection (UEP). The basic idea of UEP is to divide the frame into subframes according to sensitivities to bit errors and protect these subframes with an appropriate FEC and/or cyclic redundancy check (CRC) rate In order to apply UEP to audio frames, information is required at least a) the number of classes, b) the number of bits that each class contains, c) the CRC code to be applied for each class, which may be represented as the number of CRC bits, and d) the FEC code to be applied for each class as frame configuration parameters. As explained above, UEP requires both out-of-band basic configuration signaling and a significant number of configuration parameters that are signaled in-band. Also, in-band configuration parameters are protected separately from the data, since they are needed before the data is decoded.

В силу этого, задача настоящего изобретения состоит в создании концепции эффективного и устойчивого к ошибкам канального кодирования.Therefore, it is an object of the present invention to provide an efficient and error-tolerant channel coding concept.

Данная задача решается объектами изобретения - канальным кодером по пункту 1 формулы, канальным декодером по пункту 14 формулы, способом кодирования кадра по пункту 43 формулы, способом канального декодирования по меньшей мере одного передаваемого кодового слова по пункту 46 формулы, компьютерной программой по пункту 52 формулы и потоком данных по пункту 53 формулы настоящей заявки.This problem is solved by the objects of the invention - a channel encoder according to paragraph 1 of the formula, a channel decoder according to paragraph 14 of the formula, a method for encoding a frame according to paragraph 43 of the formula, a method for channel decoding at least one transmitted code word according to paragraph 46 of the formula, a computer program according to paragraph 52 of the formula, and data flow according to paragraph 53 of the formulas of the present application.

Согласно настоящему изобретению, канальный кодер содержит модуль окрашивания для применения окрашивающей последовательности по меньшей мере к одному кодовому слову, т.е. кодовое слово включает в себя информацию/указатель режима кодирования. Следовательно, передаваемые биты, используемые для указания режима кодирования в канальный декодер, не требуются, и за счет этого скорость передачи повышается, и можно эффективно передавать кодовое слово. Помимо этого, информация/указатель режима кодирования включается в кодовое слово посредством применения окрашивающей последовательности, которая выбирается в соответствии с режимом кодирования, и за счет этого можно обеспечить устойчивую к ошибкам передачу в служебных сигналах информации режима.According to the present invention, the channel encoder comprises a coloring module for applying a coloring sequence to at least one codeword, i.e. the codeword includes coding mode information/indicator. Therefore, the transmission bits used to indicate the coding mode to the channel decoder are not required, and thereby the transmission rate is increased and the codeword can be efficiently transmitted. In addition, the coding mode information/indicator is included in the codeword by applying a coloring sequence which is selected according to the coding mode, and thereby error-resistant signaling of the mode information can be achieved.

Согласно настоящему изобретению, канальный декодер принимает по меньшей мере одно передаваемое кодовое слово, т.е. кодовое слово, включающее в себя информацию/указатель режима кодирования (режим декодирования). Таким образом, информация/указатель режима кодирования распределяется в кодовом слове посредством применения окрашивающей последовательности, и в силу этого информация/указатель режима кодирования принимается в канальном декодере устойчивым к ошибкам способом. Помимо этого, канальный декодер содержит детектор режима декодирования для формирования указателя режима декодирования, указывающего определенный режим декодирования, который должен использоваться для избыточного декодирования, и указатель режима декодирования ассоциирован по меньшей мере с одной окрашивающей последовательностью в качестве конкретной окрашивающей последовательности, используемой для окрашивания передаваемого кодового слова. Следовательно, можно обнаруживать режим декодирования посредством определения конкретной окрашивающей последовательности, т.е. канальный декодер имеет возможность определять режим декодирования без отдельного приема конкретной информации режима декодирования. Следовательно, коэффициент передачи данных улучшается.According to the present invention, the channel decoder receives at least one transmitted codeword, i.e. a codeword including coding mode information/indicator (decoding mode). Thus, the coding mode information/indicator is distributed in the codeword by applying a coloring sequence, and therefore the coding mode information/indicator is received in the channel decoder in an error-tolerant manner. In addition, the channel decoder includes a decoding mode detector for generating a decoding mode indicator indicating a certain decoding mode to be used for redundant decoding, and the decoding mode indicator is associated with at least one coloring sequence as a specific coloring sequence used for coloring the transmitted code. words. Therefore, it is possible to detect the decoding mode by determining a specific coloring sequence, i. e. the channel decoder is able to determine the decoding mode without separately receiving specific decoding mode information. Therefore, the data transfer rate is improved.

В соответствии с вариантами осуществления настоящей заявки, канальный кодер для кодирования кадра, содержащий: многорежимный избыточный кодер для избыточного кодирования кадра в соответствии с определенным режимом кодирования из набора различных режимов кодирования, при этом режимы кодирования отличаются друг от друга относительно величины избыточности, добавляемой в кадр, при этом многорежимный избыточный кодер выполнен с возможностью вывода кодированного кадра, включающего в себя по меньшей мере одно кодовое слово; и модуль окрашивания для применения окрашивающей последовательности по меньшей мере к одному кодовому слову; при этом окрашивающая последовательность является такой, что по меньшей мере один бит кодового слова изменяется посредством применения по меньшей мере одной из окрашивающей последовательности, при этом конкретная окрашивающая последовательность выбирается в соответствии с определенным режимом кодирования.According to embodiments of the present application, a channel encoder for encoding a frame, comprising: a multi-mode redundant encoder for redundantly encoding a frame in accordance with a certain coding mode from a set of different coding modes, wherein the coding modes differ from each other with respect to the amount of redundancy added to the frame wherein the multi-mode redundant encoder is configured to output an encoded frame including at least one codeword; and a coloring module for applying a coloring sequence to at least one codeword; wherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one of the coloring sequences, wherein a specific coloring sequence is selected in accordance with a certain coding mode.

В соответствии с вариантами осуществления настоящей заявки, канальное кодирование может изменяться каждый кадр на основе указателя выбора режима. Указатель включает в себя выбор режима и окрашивающую последовательность, которая должна применяться, или указатель обхода окрашивающей последовательности.According to embodiments of the present application, the channel coding may change every frame based on the mode selection indicator. The pointer includes the mode selection and the coloring sequence to be applied or the coloring sequence bypass pointer.

В соответствии с вариантами осуществления настоящей заявки, канальный кодер дополнительно содержит модуль разбиения данных для разбиения кадра на множество слов данных, при этом многорежимный избыточный кодер выполнен с возможностью кодирования каждого из множества слов данных согласно определенному режиму кодирования для получения множества кодовых слов, при этом модуль окрашивания выполнен с возможностью применения конкретной окрашивающей последовательности к каждому кодовому слову в предварительно заданном поднаборе множества кодовых слов. Таким образом, коэффициент избыточности может отличаться для различных слов данных, т.е. коэффициент избыточности может отличаться для каждого слова данных. Помимо этого, длина слова данных, включенного в кодовое слово, изменяется на основе вычисленного числа кодовых слов, а также на основе индекса кодового слова.According to embodiments of the present application, the channel encoder further comprises a data splitter for splitting a frame into a plurality of data words, wherein the multi-mode redundant encoder is configured to encode each of the plurality of data words according to a specific coding mode to obtain a plurality of codewords, wherein the module The coloring sequence is configured to apply a specific coloring sequence to each codeword in a predefined subset of the plurality of codewords. Thus, the redundancy factor may differ for different data words, i.e. the redundancy factor may be different for each data word. In addition, the length of the data word included in the codeword is changed based on the calculated number of codewords as well as based on the codeword index.

В соответствии с вариантами осуществления настоящей заявки, канальный декодер для канального декодирования по меньшей мере одного передаваемого кодового слова, содержащий: модуль окрашивания для применения по меньшей мере одной окрашивающей последовательности по меньшей мере к одному передаваемому кодовому слову или по меньшей мере к одному передаваемому кодовому слову с коррекцией ошибок, с тем чтобы получать по меньшей мере одно окрашенное кодовое слово, при этом окрашивающая последовательность является такой, что по меньшей мере один бит кодового слова изменяется посредством применения по меньшей мере одной окрашивающей последовательности, и при этом по меньшей мере одна окрашивающая последовательность ассоциирована с определенным режимом декодирования в качестве конкретной окрашивающей последовательности; избыточный декодер для избыточного декодирования по меньшей мере одного окрашенного кодового слова для получения декодированного выходного кодового слова; и детектор режима декодирования для формирования указателя режима декодирования, указывающего определенный режим декодирования, который должен использоваться посредством избыточного декодера для получения декодированного выходного кодового слова, при этом указатель режима декодирования ассоциирован по меньшей мере с одной окрашивающей последовательностью в качестве конкретной окрашивающей последовательности, используемой для окрашивания передаваемого кодового слова. Таким образом, ко множеству передаваемых кодовых слов применяются различные окрашивающие последовательности (обесцвечивание), и окрашенные (обесцвеченные) слова декодируются посредством использования различных режимов декодирования, и один из используемых режимов декодирования выбирается в качестве определенного режима декодирования на основе результата проверки.According to embodiments of the present application, a channel decoder for channel decoding at least one transmitted codeword, comprising: a coloring module for applying at least one coloring sequence to at least one transmitted codeword or to at least one transmitted codeword with error correction so as to obtain at least one colored codeword, wherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one coloring sequence, and wherein the at least one coloring sequence associated with a specific decoding mode as a specific coloring sequence; a redundant decoder for redundantly decoding at least one colored codeword to obtain a decoded output codeword; and a decoding mode detector for generating a decoding mode indicator indicating a specific decoding mode to be used by the redundant decoder to obtain a decoded output codeword, wherein the decoding mode indicator is associated with at least one coloring sequence as a specific coloring sequence used for coloring. transmitted code word. Thus, different coloring sequences (bleaching) are applied to the plurality of transmitted codewords, and the colored (decolorized) words are decoded by using different decoding modes, and one of the used decoding modes is selected as the specific decoding mode based on the test result.

В соответствии с вариантами осуществления настоящей заявки, избыточный декодер содержит модуль уменьшения числа битов для уменьшения числа битов окрашенного кодового слова и модуль коррекции ошибок для коррекции ошибки окрашенного слова, или канальный декодер дополнительно содержит модуль коррекции ошибок для коррекции ошибки передаваемого кодового слова.According to embodiments of the present application, the redundant decoder comprises a bit reduction module for reducing the number of bits of a colored codeword and an error correction module for correcting a colored word error, or the channel decoder further comprises an error correction module for correcting an error of the transmitted codeword.

Таким образом, в случае если существует ошибка в передаваемых кодовых словах, процесс коррекции ошибок работает в части процесса декодирования в избыточном декодере, или процесс коррекции ошибок работает до применения окрашивания (обесцвечивания) независимо от избыточного декодера.Thus, in case there is an error in the transmitted codewords, the error correction process operates in part of the decoding process in the redundant decoder, or the error correction process operates before the application of coloring (discoloration) independently of the redundant decoder.

В соответствии с вариантами осуществления настоящей заявки, модуль окрашивания выполнен с возможностью использования в дополнение к окрашивающей последовательности по меньшей мере дополнительной окрашивающей последовательности, или при этом канальный декодер выполнен с возможностью обхода модуля окрашивания в дополнительном режиме декодирования без окрашивания, например, окрашивающая последовательность имеет только нуль в качестве значений; при этом избыточный декодер выполнен с возможностью избыточного декодирования дополнительного по меньшей мере одного окрашенного кодового слова, окрашенного с использованием дополнительной окрашивающей последовательности, получения дополнительного декодированного кодового слова, дополнительного окрашенного кодового слова, которое получено из передаваемого кодового слова с использованием дополнительной окрашивающей последовательности или кодового слова передачи без окрашивания, для получения другого дополнительного декодированного кодового слова, и при этом избыточный декодер выполнен с возможностью вывода показателя надежности для декодированного кодового слова, дополнительного показателя надежности для дополнительного декодированного кодового слова или другого дополнительного показателя надежности для другого дополнительного кодового слова, например, показатель надежности вычисляется для каждого декодированного кодового слова с использованием различной окрашивающей последовательности и режима декодирования, при этом детектор режима декодирования выполнен с возможностью определения на основании показателей надежности указателя режима декодирования, и при этом избыточный декодер выполнен с возможностью приёма указателя режима декодирования и вывода, в качестве декодированного выходного кодового слова, либо декодированного кодового слова, либо дополнительного декодированного кодового слова, либо другого дополнительного декодированного кодового слова. Таким образом, в случае если существует ошибка в передаваемом кодовом слове, то показатель надежности, например, значение риска (показатель надежности) вычисляется, и декодированный режим, используемый для декодированного кодового слова, имеющего наименьшее значение риска, выбирается в качестве определенного режима декодирования.In accordance with embodiments of the present application, the coloring module is configured to use in addition to the coloring sequence at least an additional coloring sequence, or the channel decoder is configured to bypass the coloring module in an additional decoding mode without coloring, for example, the coloring sequence has only null as values; wherein the redundant decoder is configured to redundantly decode at least one additional colored codeword colored using the additional coloring sequence, obtaining an additional decoded codeword, an additional colored codeword that is obtained from the transmitted codeword using the additional coloring sequence or codeword transmission without coloring to obtain another additional decoded codeword, and wherein the redundant decoder is configured to output a reliability metric for the decoded codeword, an additional reliability metric for the additional decoded codeword, or another additional reliability metric for the other additional codeword, for example, reliability is computed for each decoded codeword using a different coloring sequence and decoding mode, wherein the decoding mode detector is configured to determine a decoding mode indicator based on the reliability metrics, and the redundant decoder is configured to receive the decoding mode indicator and output, as decoded output codeword, or decoded codeword, or additional decoded codeword, or other additional decoded codeword. Thus, in case there is an error in the transmitted codeword, a reliability index such as a risk value (reliability index) is calculated, and the decoded mode used for the decoded codeword having the smallest risk value is selected as the determined decoding mode.

В соответствии с вариантами осуществления настоящей заявки, детектор режима декодирования выполнен с возможностью сохранения списка возможных вариантов, указывающего заданное число возможных вариантов режимов декодирования, при этом один возможный вариант режима декодирования может указываться без окрашивающей последовательности, или все возможные варианты режимов декодирования ассоциированы с окрашивающей последовательностью, и выбора одного возможного варианта режима декодирования в качестве определенного режима декодирования, который должен использоваться посредством избыточного декодера для получения декодированное выходное кодовое слово, которое должно использоваться, при этом детектор режима декодирования выполнен с возможностью выполнения первой операции в режиме декодирования и второй операции в режиме декодирования, при этом детектор режима декодирования для выполнения операции в первом режиме декодирования выполнен с возможностью оценки определенного режима декодирования, представляющего собой возможный вариант режима декодирования без окрашивающей последовательности, т.е. до того, как хэш оценивается на предмет того, является ли первое кодовое слово неокрашенным, чтобы вычислить синдромы кодового слова, проверить, имеют ли вычисленные синдромы значение, равное нулю, и когда вычисленные синдромы имеют значение, равное нулю, вычислить хэш-значение передаваемого кодового слова, сравнивать вычисленное хэш-значение и хэш-значение, включенное в передаваемое кодовое слово, если вычисленное хэш-значение равно включенному хэш-значению, формирования указателя режима декодирования для указания возможного варианта режима кодирования без окрашивающей последовательности в качестве определенного режима декодирования, либо, если вычисленное хэш-значение отличается от включенного хэш-значения, исключения возможного варианта режима декодирования без окрашивающей последовательности из списка возможных вариантов и продолжения работы со операцией во втором режиме декодирования. Таким образом, детектор режима декодирования выполняет две операции, например, детектор режима декодирования содержит первый детектор режима декодирования для выполнения операции в первом режиме декодирования и второй детектор режима декодирования для выполнения операции во втором режиме декодирования, и в случае, если определенный режим декодирования не выбирается в операции в первом режиме декодирования, процесс выбора продолжается дальше со операцией во втором режиме декодирования. Следовательно, если отсутствуют ошибки в передаваемых кодовых словах, и режим, ассоциированный без окрашивающей последовательности, использован в кодере, не обязательно продолжать дальше, и в силу этого эффективно выбирается определенный режим декодирования.According to embodiments of the present application, a decoding mode detector is configured to store a list of possible decoding modes indicating a predetermined number of possible decoding modes, wherein one decoding mode candidate may be indicated without a coloring sequence, or all decoding mode candidates are associated with a coloring sequence. , and selecting one decoding mode candidate as the determined decoding mode to be used by the redundant decoder to obtain a decoded output codeword to be used, wherein the decoding mode detector is configured to perform a first operation in the decoding mode and a second operation in the decoding mode, wherein the decoding mode detector for performing an operation in the first decoding mode is configured to evaluate the determined decoding mode, which is a possible variant of the decoding mode without a coloring sequence, i.e. before the hash is evaluated to see if the first codeword is uncolored, to calculate the syndromes of the codeword, check if the computed syndromes have a value of zero, and when the computed syndromes have a value of zero, calculate the hash value of the transmitted codeword words, compare the computed hash value and the hash value included in the transmitted codeword, if the computed hash value is equal to the included hash value, generate a decoding mode indicator to indicate a candidate coding mode without a coloring sequence as the determined decoding mode, or, if the computed hash value differs from the included hash value, excluding the decoding mode candidate without the coloring sequence from the candidate list and continuing with the operation in the second decoding mode. Thus, the decoding mode detector performs two operations, for example, the decoding mode detector comprises a first decoding mode detector for performing an operation in the first decoding mode and a second decoding mode detector for performing an operation in the second decoding mode, and in case a specific decoding mode is not selected in operation in the first decoding mode, the selection process continues with the operation in the second decoding mode. Therefore, if there are no errors in the transmitted codewords, and the mode associated with no coloring sequence is used in the encoder, it is not necessary to continue further, and thus a specific decoding mode is effectively selected.

В соответствии с вариантами осуществления настоящей заявки, во операции во втором режиме декодирования, ошибка передаваемого кодового слова обнаруживается посредством использования синдрома, ошибочный символ вычисляется с использованием полинома локатора ошибок, и ошибочный символ корректируется. Во время процедуры, в случае если обнаруженные ошибки не являются корректируемыми, то режим декодирования, ассоциированный с окрашивающей последовательностью, применяемой к передаваемому слову, включающему в себя некорректируемую ошибку, исключается из списка возможных вариантов. Помимо этого, в случае, если полином локатора ошибок для передаваемого слова, имеющего корректируемую ошибку, не может быть определен, то дополнительный режим декодирования исключается из списка возможных вариантов. Таким образом, перечисленные возможные варианты режимов декодирования исключаются пошагово, и оставшийся режим декодирования в списке выбирается в качестве определенного режима декодирования в завершение. Следовательно, определенный режим декодирования надежно выбирается с учетом риска возникновения ошибки.According to embodiments of the present application, in operation in the second decoding mode, a transmitted codeword error is detected by using a syndrome, an error symbol is calculated using an error locator polynomial, and the error symbol is corrected. During the procedure, if the detected errors are not correctable, then the decoding mode associated with the coloring sequence applied to the transmitted word, which includes an uncorrectable error, is excluded from the list of possible options. In addition, if the error locator polynomial for a transmitted word having a correctable error cannot be determined, then the additional decoding mode is excluded from the list of possible options. Thus, the listed decoding mode options are eliminated step by step, and the remaining decoding mode in the list is selected as the determined decoding mode at the end. Therefore, a certain decoding mode is reliably selected in view of the risk of an error occurring.

В предпочтительных вариантах осуществления настоящей заявки, режим FEC передается в служебных сигналах посредством модификации известных линейных кодов таким образом, что коэффициент избыточности является эффективным, в то время как декодер имеет возможность определять режим FEC посредством частичного пробного декодирования. Эта неявная передача в сигналах нулевых байтов является детерминированной, если ошибки при передаче не возникают, и иначе находит корректный режим с высокой вероятностью, т.е. потери кадров вследствие ошибок при передаче служебных сигналов являются пренебрежимо малыми по сравнению с потерями кадров вследствие некорректируемых кадров. Более конкретно, она относится к схеме (FEC), которая обеспечивает множество Nmode режимов для последовательностей данных кодирования в кодовые последовательности данной длины Ntarget. Здесь, для простоты предполагаются двоичные последовательности, но аналогичная схема также должна применяться к общему случаю, в котором символы данных представляют собой элементы в любом поле, например, в конечном поле Галуа.In the preferred embodiments of the present application, the FEC mode is signaled by modifying known line codes such that the redundancy factor is effective, while the decoder is able to determine the FEC mode through partial probe decoding. This implicit transmission in null-byte signals is deterministic if no transmission errors occur, and otherwise finds the correct mode with high probability, i.e. frame loss due to signaling errors is negligible compared to frame loss due to uncorrected frames. More specifically, it refers to a scheme (FEC) that provides a plurality of N modes for encoding data sequences into code sequences of a given length N target . Here, for simplicity, binary sequences are assumed, but a similar scheme should also apply to the general case in which the data characters represent elements in any field, such as a finite Galois field.

Предпочтительные аспекты настоящей представляют собой предмет зависимых пунктов формулы изобретения. Предпочтительные варианты осуществления настоящей заявки описаны ниже с обращением к чертежам, на которых:Preferred aspects of the present are the subject of the dependent claims. Preferred embodiments of the present application are described below with reference to the drawings, in which:

Фиг. 1 показывает блок-схему, иллюстрирующую пример канального кодера для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки;Fig. 1 shows a block diagram illustrating an example of a channel encoder for encoding a frame to be transmitted according to embodiments of the present application;

Фиг. 2 показывает блок-схему, иллюстрирующую пример другого канального кодера для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки;Fig. 2 shows a block diagram illustrating an example of another channel encoder for encoding a frame to be transmitted according to embodiments of the present application;

Фиг. 3 показывает блок-схему, иллюстрирующую пример кодера, включающего в себя канальный кодер для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки;Fig. 3 shows a block diagram illustrating an example of an encoder including a channel encoder for encoding a frame to be transmitted according to embodiments of the present application;

Фиг. 4 показывает блок-схему, иллюстрирующую пример дополнительного канального кодера, показанного на фиг. 3;Fig. 4 shows a block diagram illustrating an example of the additional channel encoder shown in FIG. 3;

Фиг. 5A, 5B показывают блок-схему, иллюстрирующую примеры канального декодера для канального декодирования по меньшей мере одного передаваемого кодового слова согласно вариантам осуществления настоящей заявки;Fig. 5A, 5B show a block diagram illustrating examples of a channel decoder for channel decoding at least one transmitted codeword according to embodiments of the present application;

Фиг. 6 показывает блок-схему для примера операции канального декодирования, реализованной посредством заявленного канального декодера, показанного на фиг. 5A или фиг. 5B, согласно вариантам осуществления настоящей заявки;Fig. 6 shows a flowchart for an example of a channel decoding operation implemented by the inventive channel decoder shown in FIG. 5A or FIG. 5B according to embodiments of the present application;

Фиг. 7A, 7B показывают блок-схему, иллюстрирующую изменения канального декодера для канального декодирования по меньшей мере одного передаваемого кодового слова согласно настоящей заявке, как указано посредством фиг. 5A и 5B;Fig. 7A, 7B show a block diagram illustrating changes to a channel decoder for channel decoding of at least one transmitted codeword according to the present application, as indicated by FIG. 5A and 5B;

Фиг. 8 показывает блок-схему, иллюстрирующую дополнительное изменение канального декодера для канального декодирования по меньшей мере одного передаваемого кодового слова согласно настоящей заявке, как указано посредством фиг. 7A или 7B;Fig. 8 shows a block diagram illustrating further modification of a channel decoder for channel decoding of at least one transmitted codeword according to the present application, as indicated by FIG. 7A or 7B;

Фиг. 9 показывает блок-схему, иллюстрирующую другой пример канального кодера для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки;Fig. 9 shows a block diagram illustrating another example of a channel encoder for encoding a frame to be transmitted according to embodiments of the present application;

Фиг. 10 показывает блок-схему для примера операции канального кодирования, реализованной посредством канального кодера, показанного на фиг. 9, согласно вариантам осуществления настоящей заявки;Fig. 10 shows a flowchart for an example of a channel encoding operation implemented by the channel encoder shown in FIG. 9 according to embodiments of the present application;

Фиг. 11 показывает блок-схему, иллюстрирующую изменение канального кодера для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки, показанным на фиг. 9;Fig. 11 shows a block diagram illustrating a change in a channel encoder for encoding a frame to be transmitted according to the embodiments of the present application shown in FIG. 9;

Фиг. 12 показывает схематичную иллюстрацию примера для архитектуры кадра в операции канального кодирования, показанной на фиг. 11, согласно вариантам осуществления настоящей заявки;Fig. 12 shows a schematic illustration of an example for a frame architecture in the channel coding operation shown in FIG. 11 according to embodiments of the present application;

Фиг. 13 показывает схематичную иллюстрацию примера для архитектуры кадра в зависимости от режима кодирования согласно вариантам осуществления настоящей заявки;Fig. 13 shows a schematic illustration of an example for frame architecture versus coding mode according to embodiments of the present application;

Фиг. 14 показывает блок-схему, иллюстрирующую дополнительный пример канального кодера для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки;Fig. 14 shows a block diagram illustrating a further example of a channel encoder for encoding a frame to be transmitted according to embodiments of the present application;

Фиг. 15 показывает блок-схему, иллюстрирующую дополнительный пример канального декодера для канального декодирования по меньшей мере одного передаваемого кодового слова согласно вариантам осуществления настоящей заявки;Fig. 15 shows a block diagram illustrating a further example of a channel decoder for channel decoding at least one transmitted codeword according to embodiments of the present application;

Фиг. 16 показывает блок-схему, иллюстрирующую пример детектора режима декодирования канального декодера, расположенного в канальном декодере, показанном на фиг. 15, согласно вариантам осуществления настоящей заявки;Fig. 16 shows a block diagram illustrating an example of a decoding mode detector of a channel decoder located in the channel decoder shown in FIG. 15 according to embodiments of the present application;

Фиг. 17 показывает блок-схему для примера операций обнаружения режима декодирования детектора режима декодирования, реализованного посредством детектора режима декодирования, показанного на фиг. 16, и примера операции декодирования канального декодера, реализованного посредством канального декодера, показанного на фиг. 15, согласно вариантам осуществления настоящей заявки;Fig. 17 shows a flowchart for an example of the decoding mode detection operations of the decoding mode detector implemented by the decoding mode detector shown in FIG. 16 and an example of the decoding operation of the channel decoder implemented by the channel decoder shown in FIG. 15 according to embodiments of the present application;

Фиг. 18 показывает блок-схему, иллюстрирующую пример операции во втором режиме декодирования детектора режима декодирования, реализованного посредством детектора режима декодирования, показанного на фиг. 16, согласно вариантам осуществления настоящей заявки;Fig. 18 shows a flowchart illustrating an operation example in the second decoding mode of the decoding mode detector implemented by the decoding mode detector shown in FIG. 16 according to embodiments of the present application;

Фиг. 19 показывает блок-схему для примера процедуры операции во втором режиме декодирования, реализованной посредством второго детектора режима декодирования, показанного на фиг. 18, согласно вариантам осуществления настоящей заявки;Fig. 19 shows a flowchart for an example of a second decoding mode operation procedure implemented by the second decoding mode detector shown in FIG. 18 according to embodiments of the present application;

Фиг. 20 показывает блок-схему, иллюстрирующую изменение канального декодера для канального декодирования по меньшей мере одного передаваемого кодового слова согласно вариантам осуществления настоящей заявки, показанным на фиг. 15;Fig. 20 shows a block diagram illustrating the modification of a channel decoder for channel decoding at least one transmitted codeword according to the embodiments of the present application shown in FIG. 15;

Фиг. 21 показывает блок-схему, иллюстрирующую изменение детектора режима декодирования канального декодера, расположенного в канальном декодере, показанном на фиг. 20, согласно вариантам осуществления настоящей заявки;Fig. 21 shows a block diagram illustrating the change of the decoding mode detector of the channel decoder located in the channel decoder shown in FIG. 20 according to embodiments of the present application;

Фиг. 22 показывает схематичную иллюстрацию операции для операции в первом режиме декодирования, реализованной посредством детектора режима, показанного на фиг. 20;Fig. 22 shows a schematic illustration of an operation for an operation in the first decoding mode implemented by the mode detector shown in FIG. 20;

Фиг. 23 показывает схематичную иллюстрацию операции для операции во втором режиме декодирования, реализованной посредством второго детектора режима декодирования, показанного на фиг. 18; иFig. 23 shows a schematic illustration of an operation for operation in the second decoding mode implemented by the second decoding mode detector shown in FIG. 18; And

Фиг. 24 показывает увеличенную схематичную иллюстрацию операции для операции во втором режиме декодирования, показанной на фиг. 23.Fig. 24 shows an enlarged schematic illustration of an operation for the operation in the second decoding mode shown in FIG. 23.

Одинаковые или эквивалентные элементы либо элементы с одинаковой или эквивалентной функциональностью обозначаются в нижеприведенном описании одинаковыми или эквивалентными ссылочными позициями.The same or equivalent elements, or elements with the same or equivalent functionality, are referred to in the following description by the same or equivalent reference numerals.

В нижеприведенном описании приведено множество подробностей для обеспечения более полного пояснения вариантов осуществления настоящей заявки. Тем не менее, специалистам в данной области техники должно быть очевидным, что варианты осуществления настоящей заявки могут использоваться на практике без этих конкретных деталей. В других случаях, известные структуры и устройства показаны в форме блок-схемы, а не подробно, чтобы не затруднять понимание вариантов осуществления настоящей заявки. Помимо этого, признаки различных вариантов осуществления, описанных далее, могут объединяться между собой, если прямо не указано иное.In the following description, many details are provided to provide a more complete explanation of the embodiments of the present application. However, those skilled in the art will appreciate that embodiments of the present application may be practiced without these specific details. In other cases, known structures and devices are shown in block diagram form rather than in detail so as not to obscure the embodiments of the present application. In addition, the features of the various embodiments described below may be combined with each other unless expressly stated otherwise.

Фиг. 1 иллюстрирует вариант осуществления канального кодера 2 для кодирования кадра, содержащего многорежимный избыточный кодер 4 для избыточного кодирования кадра в соответствии с определенным режимом кодирования из набора различных режимов кодирования и модуль 6 окрашивания для применения окрашивающей последовательности по меньшей мере к одному кодовому слову. Фиг. 2 иллюстрирует другой пример канального кодера 2, дополнительно содержащего контроллер 8 для обеспечения критериев кодирования, например, коэффициента избыточности кадра, требуемой защиты данных (определенного режима кодирования, длина данных, целевого размера Ntarget, числа слов данных, составляющих кадр, и т.д. В случае если канальный кодер 2 не включает в себя контроллер 8, как указано на фиг. 1, критерии кодирования передаются в ассоциации с кадром в многорежимный избыточный кодер 4. В качестве варианта, канальный кодер 2 также включает в себя хэш-расширение, чтобы вычислять хэш-значение кадра, который должен передаваться.Fig. 1 illustrates an embodiment of a channel encoder 2 for encoding a frame, comprising a multi-mode redundant encoder 4 for redundantly encoding a frame according to a certain coding mode from a set of different coding modes, and a coloring module 6 for applying a coloring sequence to at least one codeword. Fig. 2 illustrates another example of a channel encoder 2 further comprising a controller 8 for providing coding criteria such as frame redundancy ratio, required data protection (determined coding mode, data length, target size N target , number of data words constituting a frame, etc. In case the channel encoder 2 does not include the controller 8 as indicated in Fig. 1, the coding criteria are passed in association with the frame to the multi-mode redundant encoder 4. Alternatively, the channel encoder 2 also includes a hash extension to calculate the hash value of the frame to be transmitted.

В дополнительном варианте осуществления, например, кадр аудиоданных передаётся в канальный кодер 2. В случае если контроллер 8 не включается в канальный кодер 2 (как показано на фиг. 1), кадр аудиоданных ассоциирован с указателем целевого размера Ntarget и определенного режима mfec кодирования. Затем переданный кадр кодируется в многорежимном избыточном кодере 4, и множество кодовых слов выводятся из многорежимного избыточного кодера 4. Выводимые кодовые слова передаются в модуль 6 окрашивания, и по меньшей мере одно кодовое слово выводимых кодовых слов окрашивается посредством применения конкретной окрашивающей последовательности sigm, которая выбирается в соответствии с определенным режимом mfec кодирования. Относительно окрашивающей последовательности, когда значение окрашивающей последовательности равно нулю, затем окрашивание обходится для кодовых слов. Таким образом, например, режим mfec кодирования=1 ассоциирован с окрашивающей последовательностью sig1, имеющей нулевое значение, т.е. окрашивающая последовательность sig1 представляет собой нулевую последовательность, и в силу этого окрашивание для кодовых слов, кодированных посредством режима mfec кодирования=1, обходится.In a further embodiment, for example, an audio data frame is transmitted to channel encoder 2. In case controller 8 is not included in channel encoder 2 (as shown in FIG. 1), the audio data frame is associated with an indicator of target size N target and specific coding mode m fec . Then, the transmitted frame is encoded in the multi-mode redundant encoder 4, and a plurality of codewords are output from the multi-mode redundant encoder 4. The output codewords are sent to the coloring module 6, and at least one codeword of the output codewords is colored by applying a specific coloring sequence sig m that is selected according to the specific coding mode m fec . Regarding the coloring sequence, when the value of the coloring sequence is zero, then the coloring is bypassed for the codewords. Thus, for example, encoding mode m fec =1 is associated with a coloring sequence sig 1 having a value of zero, i. the coloring sequence sig 1 is the null sequence, and therefore coloring for codewords encoded by coding mode m fec =1 is bypassed.

Фиг. 3 показывает пример кодера, включающего в себя канальный кодер согласно варианту осуществления настоящей заявки. Кодер содержит аудиокодер 1, канальный кодер 2 и модуль 3 переключения. Аудиокодер 1 выполнен с возможностью кодирования входных аудиоданных, и канальный кодер 2 выполнен с возможностью кодирования канала согласно указываемому режиму. Модуль 3 переключения вводит в аудиокодер 1 размер Np рабочих данных и в канальный кодер 2 режим FEC и размер Ns интервала. Как показано на фиг. 3, кодер выводит кодированный кадр.Fig. 3 shows an example of an encoder including a channel encoder according to an embodiment of the present application. The encoder contains an audio encoder 1, a channel encoder 2 and a switching module 3. The audio encoder 1 is configured to encode the input audio data, and the channel encoder 2 is configured to encode the channel according to the specified mode. The switching unit 3 inputs into the audio encoder 1 the payload size N p and into the channel encoder 2 the FEC mode and the slot size N s . As shown in FIG. 3, the encoder outputs the encoded frame.

Фиг. 4 показывает дополнительный пример канального кодера, показанного на фиг. 3. Канальный кодер 2 содержит хэш-расширение 10, линейный кодер 4' и модуль 6' окрашивания. Аудиоданные, кодированные в аудиокодере 1, вводятся в качестве входных данных ain, и хэш-расширение 10 формирует расширенные данные aext посредством добавления хэш-данных. Расширенные данные aext вводятся в линейный кодер 4', и линейный кодер 4' формирует кодовое слово aenc в линейном коде. Кодовое слово aenc вводится в модуль 6' окрашивания, и модуль 6' окрашивания формирует окрашенное кодовое слово aout, которое должно передаваться.Fig. 4 shows a further example of the channel encoder shown in FIG. 3. Channel encoder 2 contains a hash extension 10, a line encoder 4' and a coloring module 6'. The audio data encoded in the audio encoder 1 is input as input a in , and the hash extension 10 generates the extended data a ext by adding the hash data. The spread data a ext is input to a line encoder 4' and the line encoder 4' generates a code word a enc in a line code. The code word a enc is input to the coloring module 6', and the coloring module 6' generates the colored code word a out to be transmitted.

Канальный кодер 2 на фиг. 4 выполняет неявную передачу в служебных сигналах информации режима, т.е. передачу кодированного кадра в декодер без явного указания режима кодирования. В частности, метаданные, за исключением целевого размера Ntarget, не должны передаваться в декодер (например, как показано, например, на фиг. 5A и 5B). Для каждого режима Ntmode, линейное кодовое слово Cm длины Ntarget назначается, что означает

Figure 00000001
. Первая стадия кодирования данных в силу этого состоит из преобразования определенного слова данных
Figure 00000002
в кодовое слово в Cm.Channel encoder 2 in FIG. 4 performs implicit signaling of the mode information, i. e. transmission of the encoded frame to the decoder without explicitly specifying the coding mode. In particular, metadata other than the target size N target need not be transmitted to the decoder (eg, as shown, for example, in FIGS. 5A and 5B). For each mode N tmode , a linear codeword C m of length N target is assigned, which means
Figure 00000001
. The first stage of data encoding therefore consists of converting a particular data word
Figure 00000002
into a codeword in C m .

Неявная передача в служебных сигналах информации режима основана на том факте, что может эффективно проверяться, находится ли данное слово

Figure 00000003
в Ck. Тем не менее, поскольку коды являются линейными, пересечения
Figure 00000004
не являются пустыми. В частности, многие семейства кодов, к примеру, примитивные BCH-коды в узком смысле или коды Рида-Соломона с одинаковым базовым полем, даже должны формировать включения между различными кодами при упорядочении согласно расстоянию Хэмминга, т.е.:The implicit signaling of mode information is based on the fact that it can be efficiently checked whether a given word is
Figure 00000003
in C k . However, since the codes are linear, the intersections
Figure 00000004
are not empty. In particular, many families of codes, such as primitive BCH codes in the narrow sense or Reed-Solomon codes with the same base field, even have to form inclusions between different codes when ordered according to the Hamming distance, i.e.:

Figure 00000005
(1)
Figure 00000005
(1)

В силу этого может возникать такая ситуация, что кодовое слово Cm, полученное посредством слова кодирования данных в режиме m, также находится в Cn для n≠m, в силу чего, в общем, невозможно определять режим только на основе такого теста. Эта проблема разрешается посредством применения зависимого от режима преобразования:Because of this, it may happen that the codeword C m obtained by the data encoding word in mode m is also in C n for n≠m, so that it is generally not possible to determine the mode based on such a test alone. This problem is resolved by applying a mode-dependent transformation:

Figure 00000006
(2)
Figure 00000006
(2)

после кодирования. Эти преобразования рассчитываются таким образом, что

Figure 00000007
для m≠n, что разрешает вышеуказанную неоднозначность. Поскольку преобразования не изменяют длину кодовых слов, этот способ эффективно передает в служебных сигналах режим канального кодера с нулевыми битами.after coding. These transformations are calculated in such a way that
Figure 00000007
for m≠n, which resolves the above ambiguity. Because the transforms do not change the length of the codewords, this method effectively signalizes the zero-bit channel encoder mode.

В настоящем варианте осуществления, эти преобразования задаются посредством вычисления побитового XOR кодированного кодового слова c и последовательности служебных сигналов

Figure 00000008
. Таким образом, при кодировании в режиме m канальный кодер выводит окрашенное кодовое слово:In the present embodiment, these transforms are specified by computing the bitwise XOR of the encoded codeword c and the signaling sequence
Figure 00000008
. Thus, when encoding in mode m, the channel encoder outputs a colored codeword:

Figure 00000009
. (3)
Figure 00000009
. (3)

При приеме

Figure 00000010
и незнании представления в (3), декодер затем может эффективно проверить, верно ли следующее:When you receive
Figure 00000010
and not knowing the representation in (3), the decoder can then effectively check if the following is true:

Figure 00000011
(4)
Figure 00000011
(4)

Поскольку

Figure 00000012
представляет собой нулевую последовательность, декодер должен иметь возможность верифицировать то, что:Because the
Figure 00000012
is a zero sequence, the decoder must be able to verify that:

Figure 00000013
(5)
Figure 00000013
(5)

находится в Cm. Кроме того, при условии:is in C m . In addition, provided:

Figure 00000014
(6)
Figure 00000014
(6)

последовательности sigk служебных сигналов могут выбираться таким образом, что:overhead sequences sig k may be chosen such that:

Figure 00000015
(7)
Figure 00000015
(7)

для k≠l, обеспечивая возможность детерминированного обнаружения режима в декодере, если не возникают ошибки при передаче. Следовательно, необязательно отдельно передавать данные, чтобы указывать определенный режим кодирования и параметры для канального декодера.for k≠l, enabling deterministic mode detection at the decoder if no transmission errors occur. Therefore, it is not necessary to separately transmit data to indicate a specific coding mode and parameters for a channel decoder.

Как показано на фиг. 5A канальный декодер 20 содержит модуль 22 окрашивания (модуль обесцвечивания), избыточный декодер 24 и детектор 26 режима. Избыточный декодер 24 содержит модуль 24a уменьшения числа битов и модуль 24b коррекции ошибок; тем не менее, не обязательно, чтобы модуль 24a уменьшения числа битов и модуль 24b коррекции ошибок были предусмотрены в избыточном декодере 24. Таким образом, как показано на фиг. 5B, модуль 24b коррекции ошибок может соединяться с модулем 22 окрашивания, и модуль 24b уменьшения числа битов может быть расположен между модулем 22 окрашивания и детектором 26 режима. Детектор 26 режима соединяется с избыточным декодером 24 (модулем 24a уменьшения числа битов) и модулем 22 окрашивания. В канальном декодере 20, более конкретно, в детекторе 26 режима декодирования, определяется указатель режима декодирования, указывающий определенный режим декодирования, который должен использоваться посредством избыточного декодера 24 (модуля 24a уменьшения числа битов), чтобы получать декодированное выходное кодовое слово и конкретную окрашивающую последовательность, используемую для окрашивания передаваемого кодового слова в модуле 22 окрашивания.As shown in FIG. 5A, the channel decoder 20 includes a coloration (bleaching unit) 22 , a redundant decoder 24 , and a mode detector 26 . The redundant decoder 24 includes a bit reduction unit 24a and an error correction unit 24b; however, it is not necessary that the bit reduction unit 24a and the error correction unit 24b be provided in the redundant decoder 24. Thus, as shown in FIG. 5B, the error correction module 24b may be connected to the coloring module 22, and the bit reduction module 24b may be located between the coloring module 22 and the mode detector 26. The mode detector 26 is connected to the redundant decoder 24 (bit reduction unit 24a) and the colorization unit 22. In the channel decoder 20, more specifically, in the decoding mode detector 26, a decoding mode indicator is determined indicating a specific decoding mode to be used by the redundant decoder 24 (bit reduction unit 24a) to obtain a decoded output codeword and a specific coloring sequence, used for coloring the transmitted code word in the coloring module 22 .

Канальный декодер 20 принимает передаваемые кодовые слова, передаваемые из канального кодера 2. Затем заданное число передаваемых кодовых слов используются/проверяются для формирования указателя режима декодирования в детекторе 26 режима декодирования, как пояснено ниже. Детектор 26 режима декодирования имеет информацию относительно режимов декодирования, которые могут использоваться посредством канального кодера 2, например, список возможных вариантов режимов декодирования.The channel decoder 20 receives the transmitted codewords transmitted from the channel encoder 2. The predetermined number of transmitted codewords is then used/checked to generate a decoding mode indicator in the decoding mode detector 26, as explained below. The decoding mode detector 26 has information regarding the decoding modes that can be used by the channel encoder 2, such as a list of possible decoding mode options.

Фиг. 6 является блок-схемой для примера операции канального декодирования, реализованной посредством заявленного канального декодера, показанного на фиг. 5A или фиг. 5B. Заданное число передаваемых кодовых слов обесцвечивается посредством применения окрашивающей последовательности (S2), например, окрашивающей последовательности sig1, ассоциированной с режимом mfec декодирования=1 в списке возможных вариантов. Затем окрашенные (обесцвеченные) кодовые слова декодируются в модуле 24a уменьшения числа битов (S4), и заданное число декодированных выходных кодовых слов получается. В случае если ошибки при передаче не возникают (S6), указатель режима декодирования формируется в детекторе 26 режима декодирования на основе декодированных выходных кодовых слов (S10). Сформированный указатель режима декодирования передаётся в модуль 22 окрашивания и избыточный декодер 24 (модуль 24a уменьшения числа битов), т.е. в случае, если указатель режима декодирования указывает определенный режим декодирования, задается то, что режим декодирования обнаруживается (S12). Затем передаваемые кодовые слова, декодированные посредством использования определенного режима декодирования, выводятся в качестве декодируемых выходных кодовых слов (S16).Fig. 6 is a flowchart for an example of a channel decoding operation implemented by the inventive channel decoder shown in FIG. 5A or FIG. 5b. The given number of transmitted codewords is decolorized by applying a coloring sequence (S2), for example, a coloring sequence sig 1 associated with decoding mode m fec =1 in the candidate list. Then, the colored (decolorized) codewords are decoded in the bit reduction unit 24a (S4), and a predetermined number of decoded output codewords is obtained. In case no transmission errors occur (S6), a decoding mode indicator is generated in the decoding mode detector 26 based on the decoded output codewords (S10). The generated decoding mode pointer is passed to the coloring unit 22 and the redundant decoder 24 (bit reduction unit 24a), i. in case the decoding mode indicator indicates a certain decoding mode, it is set that the decoding mode is detected (S12). Then, transmission codewords decoded by using the determined decoding mode are output as decodable output codewords (S16).

Как указано в S6, если обнаружены ошибки, в детекторе 26 режима декодирования (S7) вычисляется показатель надежности (значение риска). Таким образом, в случае если возникают ошибки передачи , ошибки обнаруживаются, и предпринимается попытка их коррекции посредством вычисления и использования синдромов в модуле 24b коррекции ошибок, и результат коррекции ошибок передаётся в детектор 26 режима декодирования из модуля 24b коррекции ошибок. В случае если модуль 24b коррекции ошибок является независимым, как показано на фиг. 5B, результат коррекции ошибок ассоциирован с передаваемым кодовым словом. Далее подробно поясняется процедура обнаружения ошибок и коррекции ошибок.As indicated in S6, if errors are detected, a reliability index (risk value) is calculated in the decoding mode detector 26 (S7). Thus, in case transmission errors occur, errors are detected and an attempt is made to correct them by calculating and using syndromes in the error correction module 24b, and the error correction result is transmitted to the decoding mode detector 26 from the error correction module 24b. In the case where the error correction unit 24b is independent, as shown in FIG. 5B, the error correction result is associated with the transmitted codeword. Next, the error detection and error correction procedure will be explained in detail.

Затем, в случае, если все возможные варианты режимов декодирования в списке проверены (S8), способ переходит дальше к S10, как описано выше. Если имеется оставшийся возможный вариант режима декодирования в списке (S8), S2-S7, повторяются до тех пор, пока все возможные варианты режимов декодирования не будут проверены. В случае, если определенный режим декодирования не определён (S12), хотя все возможные варианты режимов декодирования проверены, кадр, который состоит из передаваемого кодового слова, используемого/проверяемого для определения определенного режима декодирования, регистрируется в качестве плохого кадра.Then, in case all possible decoding mode options in the list are checked (S8), the method proceeds to S10 as described above. If there is a remaining decoding mode candidate in the list (S8), S2-S7 are repeated until all decoding mode candidates have been checked. In the case where a specific decoding mode is not determined (S12) although all possible decoding modes are checked, a frame that consists of a transmitted codeword used/checked to determine the specific decoding mode is registered as a bad frame.

Фиг. 7A и 7B показывают варианты канального декодера 20, как показано на фиг. 5A и 5B. Как показано на фиг. 7A канальный декодер 20 дополнительно содержит контроллер 28, который соединяется с модулем 22 окрашивания, избыточным декодером 24 и детектором 26 режима. Кроме того, канальный декодер 20 на фиг. 7B, соответствующий канальному декодеру 20, описанному на фиг. 5B, дополнительно содержит контроллер 28, который соединяется с модулем 24b коррекции ошибок, модулем 22 окрашивания, модулем 24a уменьшения числа битов и детектором 26 режима.Fig. 7A and 7B show variants of channel decoder 20 as shown in FIG. 5A and 5B. As shown in FIG. 7A, the channel decoder 20 further comprises a controller 28 that is connected to the coloring module 22, the redundant decoder 24, and the mode detector 26. In addition, the channel decoder 20 in FIG. 7B corresponding to the channel decoder 20 described in FIG. 5B further comprises a controller 28 that is connected to an error correction module 24b, a coloration module 22, a bit reduction module 24a, and a mode detector 26.

В канальном декодере 20 на фиг. 7A, а также на фиг. 7B, множество тестов режима могут обрабатываться параллельно. Например, если имеется четыре возможных варианта режимов в списке возможных вариантов, тест режима выполняется для каждого возможного варианта режима, т.е. для возможного варианта 1: окрашивающая последовательность sig1 и режим mfec декодирования=1, для возможного варианта 2: окрашивающая последовательность sig2 и режим mfec декодирования=2, для возможного варианта 3: окрашивающая последовательность sig3 и режим mfec декодирования=3, и для возможного варианта 4: окрашивающая последовательность sig3 и режим mfec декодирования=4, выполняются параллельно, как описано ниже (S2-S8 на фиг. 6 выполняются для каждого возможного варианта параллельно). Детектор 26 режима затем формирует указатель режима декодирования, и контроллер 28 предписывает избыточному декодеру 24 (модулю 24a уменьшения числа битов) вывести декодированные кодовые слова, декодированные с использованием указываемого режима декодирования, в качестве выводимых декодированных кодовых слов.In the channel decoder 20 in FIG. 7A and also in FIG. 7B, a plurality of mode tests may be processed in parallel. For example, if there are four possible modes in the candidate list, a mode test is performed for each mode candidate, i.e. for option 1: coloring sequence sig 1 and decoding mode m fec =1, for option 2: coloring sequence sig 2 and decoding mode m fec =2, for option 3: coloring sequence sig 3 and decoding mode m fec =3 , and for option 4: coloring sequence sig 3 and decoding mode m fec =4, are executed in parallel as described below (S2-S8 in FIG. 6 are executed for each option in parallel). Mode detector 26 then generates a decoding mode indicator, and controller 28 causes redundant decoder 24 (bit reducer 24a) to output decoded codewords decoded using the indicated decoding mode as output decoded codewords.

Фиг. 8 показывает изменение канального декодера, содержащего множество модулей 221-224 окрашивания, множество декодеров 241-244 (избыточных декодеров), модуль 25 выбора (детектор) режима и переключатель 27. Как описано на фиг. 8, передаваемое кодовое слово, т.е. кодированные данные ain вводятся в канальный декодер и копируются для передачи во множество модулей 221-224 окрашивания. Окрашивающая последовательность sig1 применяется к скопированным кодированным данным ain в модуле 221 окрашивания, и режим mfec декодирования=1 применяется к окрашенному кодовому слову ain(1) в декодере 241, чтобы получать декодированное кодовое слово adec(1). В этом варианте осуществления, окрашивающая последовательность sig1 представляет собой нулевую последовательность, т.е. операция окрашивания обходится. Окрашивающая последовательность sig2 применяется к скопированным кодированным данным ain в модуле 222 окрашивания, и режим mfec декодирования=2 применяется к окрашенному кодовому слову ain(2) в декодере 242, чтобы получать декодированное кодовое слово adec(2). Окрашивающая последовательность sig3 применяется к скопированным кодированным данным ain в модуле 223 окрашивания, и режим mfec декодирования=3 применяется к окрашенному кодовому слову ain(3) в декодере 243, чтобы получать декодированное кодовое слово adec(3). Окрашивающая последовательность sig3 применяется к скопированным кодированным данным ain в модуле 224 окрашивания, и режим mfec декодирования=4 применяется к окрашенному кодовому слову ain(4) в декодере 244, чтобы получать декодированное кодовое слово adec(4).Fig. 8 shows a modification of a channel decoder including a plurality of coloring modules 221-224, a plurality of decoders 241-244 (redundant decoders), a mode selector (detector) module 25, and a switch 27. As described in FIG. 8, the transmitted code word, ie. encoded data a in is input to a channel decoder and copied for transmission to a plurality of coloring modules 221-224. The coloring sequence sig 1 is applied to the copied coded data a in in coloring module 221, and decoding mode m fec =1 is applied to colored codeword a in (1) in decoder 241 to obtain decoded codeword a dec (1). In this embodiment, the coloring sequence sig 1 is the null sequence, i. the staining operation is bypassed. The coloring sequence sig 2 is applied to the copied coded data a in in coloring module 222, and decoding mode m fec =2 is applied to colored codeword a in (2) in decoder 242 to obtain decoded codeword a dec (2). The coloring sequence sig 3 is applied to the copied coded data a in in coloring module 223, and the decoding mode m fec =3 is applied to colored codeword a in (3) in decoder 243 to obtain decoded codeword a dec (3). The coloring sequence sig 3 is applied to the copied coded data a in in coloring module 224, and decoding mode m fec =4 is applied to colored codeword a in (4) in decoder 244 to obtain decoded codeword a dec (4).

Хотя не проиллюстрировано на фиг. 8, декодер включает в себя модуль коррекции ошибок, и декодирование статистической информации, например, числа скорректированных битов или символов и числа скорректированных символов в кодовых субсловах, если код конструируется из меньших кодов, передаётся из каждого декодера 241-244 в модуль 25 выбора режима, как указано посредством пунктирной линии. Затем модуль 25 выбора режима формирует указатель режима декодирования, указывающий определенный режим декодирования, который должен использоваться декодером для получения декодированного выходного кодового слова. Модуль 25 выбора режима выбирает режим декодирования в качестве определенного режима декодирования на основе декодирования статистической информации, т.е. если режим декодирует без коррекции ошибок, этот режим выбирается в качестве определенного режима декодирования. В этом случае, следует отметить, что неправильный выбор не может происходить, если ошибки не возникают. Если ошибки возникают, значение риска (показатель надежности) вычисляется для режимов декодирования на основе вероятности, чтобы формировать кодовое слово с аналогичным числом ошибок посредством случайной догадки. Детектор режима затем определяет для режима декодирования с наименьшим значением риска. Помимо этого, детектор режима также может требовать от значения риска выбранного режима быть меньше заданного порогового значения. Следовательно, если отсутствует режим декодирования, имеющий значение риска меньше заданного порогового значения, указатель плохого кадра формируется вместо указателя режима декодирования. Указатель плохого кадра передаётся в кодер вместе с размером/длиной Ndata данных.Although not illustrated in FIG. 8, the decoder includes an error correction module, and the decoding of statistical information such as the number of corrected bits or symbols and the number of corrected symbols in code subwords, if the code is constructed from smaller codes, is transmitted from each decoder 241-244 to the mode selection module 25, as indicated by the dotted line. Next, the mode selector 25 generates a decoding mode indicator indicating a specific decoding mode to be used by the decoder to obtain a decoded output codeword. The mode selection unit 25 selects the decoding mode as the determined decoding mode based on the decoding of the historical information, i.e. if the mode decodes without error correction, this mode is selected as the determined decoding mode. In this case, it should be noted that an incorrect selection cannot occur if errors do not occur. If errors occur, a risk value (reliability index) is calculated for probability-based decoding modes to generate a codeword with a similar number of errors by random guessing. The mode detector then determines for the decoding mode with the smallest risk value. In addition, the mode detector may also require the risk value of the selected mode to be less than a predetermined threshold. Therefore, if there is no decoding mode having a risk value less than a predetermined threshold, a bad frame indicator is generated instead of a decoding mode indicator. The bad frame indicator is passed to the encoder along with the size/length N data of the data.

Декодер определяет/вычисляет/вычисляет значение риска (показатель надежности) режима декодирования на основе числа скорректированных символов во время операции декодирования окрашенного кодового слова. Если заданное число кодовых слов окрашиваются, например, 6 кодовых слов окрашиваются, то значение риска (показатель надежности) для режима mfec декодирования=2 вычисляется на основе числа скорректированных символов во время операции декодирования 6 окрашенных кодовых слов. Таким же способом, значение риска (дополнительный показатель надежности) для режима mfec декодирования=3 вычисляется на основе числа скорректированных символов во время операции декодирования 6 окрашенных кодовых слов, или значение риска (другой дополнительный показатель надежности) для режима mfec декодирования=1 вычисляется на основе числа скорректированных символов во время операции декодирования 6 кодовых слов без окрашивания.The decoder determines/calculates/calculates a risk value (reliability index) of a decoding mode based on the number of corrected symbols during a colored codeword decoding operation. If a predetermined number of codewords are colored, for example, 6 codewords are colored, then the risk value (reliability index) for the decoding mode m fec =2 is calculated based on the number of corrected symbols during the decoding operation of the 6 colored codewords. In the same way, a risk value (an additional reliability metric) for a decoding mode m fec =3 is calculated based on the number of corrected symbols during a decoding operation of 6 colored codewords, or a risk value (another additional reliability metric) for a decoding mode m fec =1 is calculated based on the number of corrected symbols during the decoding operation of 6 codewords without coloring.

Когда определенный режим декодирования выбирается, затем указатель режима декодирования передаётся из модуля 25 выбора режима в переключатель 27. Переключатель 27 переключает соединение с декодером, чтобы получать декодированное выходное кодовое слово на основе указателя режима декодирования. Таким образом, например, если режим mfec декодирования=3 указывается в качестве определенного режима декодирования, то переключатель 27 соединяется с декодером 243, чтобы получать декодированное выходное кодовое слово.When a certain decoding mode is selected, then the decoding mode indicator is transmitted from the mode selection unit 25 to the switch 27. The switch 27 switches the connection with the decoder to obtain a decoded output codeword based on the decoding mode indicator. Thus, for example, if the decoding mode m fec =3 is indicated as the determined decoding mode, then the switch 27 is connected to the decoder 243 to obtain a decoded output codeword.

В случае если ошибки при передаче возникают, декодер 20 принимает:In case transmission errors occur, decoder 20 receives:

Figure 00000016
(8)
Figure 00000016
(8)

с ошибочной последовательностью ε. Это может приводить к неоднозначностям в том смысле, что:with an erroneous sequence ε. This can lead to ambiguities in the sense that:

Figure 00000017
(9)
Figure 00000017
(9)

для различного k, где

Figure 00000018
Figure 00000019
обозначает наборы всех последовательностей, которые могут корректироваться посредством схемы FEC (например, в модуле 24b коррекции ошибок, показанном на фиг. 7a и 7b), чтобы формировать кодовое слово в Ck. Если k≠m представляет собой такой режим, то стратегия декодирования состоит в том, чтобы рассматривать член ошибок:for different k, where
Figure 00000018
Figure 00000019
denotes the sets of all sequences that can be corrected by the FEC scheme (eg, in error correction module 24b shown in FIGS. 7a and 7b) to form a codeword in C k . If k≠m is such a mode, then the decoding strategy is to consider the error term:

Figure 00000020
(10)
Figure 00000020
(10)

в качестве случайной догадки и оценивать режим из списка возможных вариантов режимов согласно значению риска, т.е. показателю надежности. Это значение риска извлекается из статистики декодирования, к примеру, числа скорректированных символов, и отражает вероятность того, что ввод декодера представляет собой случайную догадку в C0 (т.е. последовательность бросаний правильной монеты).as a random guess and evaluate the regimen from the list of possible regimens according to the risk value, i.e. indicator of reliability. This risk value is derived from decoding statistics, such as the number of corrected symbols, and reflects the probability that the decoder's input is a random guess in C 0 (ie, a sequence of tossing the correct coin).

Таким образом, риск выбора неправильного режима ограничен посредством риска ошибочного декодирования кодового слова, которое повреждено за пределами характеристик коррекции ошибок базового кода. В случаях, если этот риск считается слишком большим, хэш-значение может добавляться в качестве варианта в данные до кодирования и учитываться в процедуре обнаружения режима. Хотя это, аналогично явной передаче служебных сигналов, уменьшает скорость передачи данных, это в равной мере повышает риск выбора режима и риск неправильного декодирования. Следовательно, предложенная схема FEC является очень подходящей для варианта применения, в котором необнаруженные поврежденные кадры обычно приводят к более сильным ухудшениям, чем обнаруженные и замаскированные поврежденные кадры.Thus, the risk of selecting the wrong mode is limited by the risk of erroneously decoding a codeword that is corrupted beyond the error correction characteristics of the base code. In cases where this risk is considered too great, the hash value may be added as an option to the data prior to encoding and taken into account in the mode detection procedure. While this, like explicit signaling, reduces the data rate, it equally increases the risk of mode selection and the risk of incorrect decoding. Therefore, the proposed FEC scheme is very suitable for an application in which undetected corrupted frames typically result in greater degradations than detected and concealed corrupted frames.

Ниже поясняются дополнительные сведения относительно канального кодера 2 и канального декодера 20 согласно настоящей заявке.Further details regarding the channel encoder 2 and the channel decoder 20 according to the present application are explained below.

Канальный кодерChannel encoder

Канальный кодер согласно изобретению работает с байтами и использует коды Рида-Соломона по GF(16) таким образом, чтобы конструировать семейство линейных кодов. Он принимает в качестве ввода целевой размер в байтах, обозначаемый Ns, также называемый «размером интервала», номер mfec режима между 1 и 4 и входную последовательность a(k) байтов данных, k=0, 1, ..., Np-1, которые интерпретируются в дальнейшем в качестве целых чисел между 0 и 255. Входной размер Np извлекается из параметров Ns и mfec, как указано ниже. Ниже по тексту, целевой размер предположительно составляет по меньшей мере 40 байтов.The channel encoder of the invention operates on bytes and uses GF(16) Reed-Solomon codes in such a way as to construct a family of line codes. It takes as input a target size in bytes, denoted N s , also called "interval size", a mode number m fec between 1 and 4, and an input sequence a(k) of data bytes, k=0, 1, ..., N p -1, which are interpreted as integers between 0 and 255. The input size N p is extracted from the parameters N s and m fec as follows. Below, the target size is assumed to be at least 40 bytes.

Фиг. 9 показывает блок-схему, иллюстрирующую другой пример канального кодера 2 для кодирования кадра, который должен передаваться согласно вариантам осуществления настоящей заявки. Канальный кодер 2 содержит контроллер 8, препроцессор 10, модуль 12 разбиения данных, многорежимный избыточный кодер 4, модуль 6 окрашивания и универсальный смеситель 14.Fig. 9 shows a block diagram illustrating another example of a channel encoder 2 for encoding a frame to be transmitted according to embodiments of the present application. Channel encoder 2 contains controller 8, preprocessor 10, data partitioning module 12, multi-mode redundant encoder 4, coloring module 6 and universal mixer 14.

Фиг. 10 показывает блок-схему для примера операции канального кодирования, реализованной посредством канального кодера, показанного на фиг. 9. Как показано на фиг. 10, хэш-значение входных данных, т.е. данных входных кадров, вычисляется и добавляется во входные данные (S20). Кадр, включающий в себя входные данные и добавленное хэш-значение, разбивается посредством модуля 12 разбиения данных на множество слов данных (S22). Число слов данных вычисляется на основе целевого размера кадра. Множество слов данных кодируют посредством многорежимного избыточного кодера 4 (S24) и кодированные слова данных, т.е. кодовые слова, передаются в модуль 6 окрашивания для применения окрашивающей последовательности (S26). Затем окрашенные кодовые слова перемежаются в универсальном смесителе 14 (S28).Fig. 10 shows a flowchart for an example of a channel encoding operation implemented by the channel encoder shown in FIG. 9. As shown in FIG. 10, the hash value of the input, i.e. input frame data is calculated and added to the input data (S20). The frame including the input data and the added hash value is split by the data splitter 12 into a plurality of data words (S22). The number of data words is calculated based on the target frame size. A plurality of data words are encoded by the multi-mode redundant encoder 4 (S24) and the encoded data words, i. e. the code words are transmitted to the staining unit 6 for applying the staining sequence (S26). The colored code words are then interleaved in the universal mixer 14 (S28).

Фиг. 11 показывает блок-схему, иллюстрирующую изменение канального кодера, проиллюстрированного на фиг. 9. Канальный кодер на фиг. 11 дополнительно содержит конфигуратор 11 кадров для передачи информации в другие устройства. Например, конфигуратор 11 кадров принимает параметры, например, целевой размер Ns кодового слова и режим mfec кодирования. Помимо этого, размер Nhash хэш-значения кадра и расстояние Хэмминга вычисляются в конфигураторе 11 кадров. Как проиллюстрировано на фиг. 11, входные данные ain и информация длины Np данных и вычисленный размер Nhash хэша и расстояние Хэмминга передаются в препроцессор 10. Помимо этого, длины Li кодовых слов, расстояния di Хэмминга и число Ncw кодовых слов передаются в модуль 12 разбиения данных, кодер 4 Рида-Соломона (RS), модуль 6 окрашивания и мультиплексор 14 (модуль перемежения). Из препроцессора 10, например, данные a2, имеющие размер N2=Np+Nhash, передаются в модуль 12 разбиения данных. Модуль 12 разбиения данных разбивает кадр на множество кодовых слов D0, D1-DNcw-1, которые передаются в кодер 4 RS. Кодер 4 RS кодирует слова данных, чтобы получать кодовые слова C0, C1-CNcw-1, которые передаются в модуль 6 окрашивания. Модуль 6 окрашивания применяет окрашивающую последовательность к кодовым словам, чтобы получать окрашенные кодовые слова, и окрашенные кодовые слова перемежаются в мультиплексоре и выводятся в качестве aout. Ниже поясняется подробная процедура.Fig. 11 shows a block diagram illustrating the change of the channel encoder illustrated in FIG. 9. The channel encoder of FIG. 11 additionally contains a frame configurator 11 for transmitting information to other devices. For example, the frame configurator 11 receives parameters such as target codeword size N s and coding mode m fec . In addition, the hash size N of the frame hash value and the Hamming distance are calculated in the frame configurator 11 . As illustrated in FIG. 11, the input data a in and data length information N p and the computed hash size N hash and the Hamming distance are transmitted to the preprocessor 10. In addition, codeword lengths Li, Hamming distances d i and number N cw of code words are transmitted to the data partitioning module 12 , a Reed-Solomon (RS) encoder 4, a coloring module 6, and a multiplexer 14 (interleaving module). From the preprocessor 10, for example, data a 2 having a size of N 2 =N p +N hash is transferred to the data splitter 12 . The data splitter 12 splits the frame into a plurality of codewords D 0 , D 1 -D Ncw-1 , which are transmitted to the encoder 4 RS. RS encoder 4 encodes data words to obtain code words C 0 , C 1 -C Ncw-1 , which are transmitted to coloring module 6 . The coloring unit 6 applies a coloring sequence to the codewords to obtain colored codewords, and the colored codewords are interleaved in the multiplexer and output as a out . The detailed procedure is explained below.

Предварительная обработка данныхData preprocessing

На этапе предварительной обработки, хэш-значение Nhash байтов вычисляется для входных данных, например, для хэша CRC (контроля циклическим избыточным кодом), где Nhash= Nhash(Ns, mfec) является числом в зависимости только от размера Ns интервала и режима mfec FEC. В предпочтительном варианте осуществления, число задается посредством:In the preprocessing step, a hash value of N hash bytes is computed for the input, e.g. for a CRC (cyclic redundancy check) hash, where N hash = N hash (N s , m fec ) is a number depending only on the size of N s interval and mode m fec FEC. In a preferred embodiment, the number is given by:

Figure 00000021
(11)
Figure 00000021
(eleven)

Хэш-значение используется для проверки достоверности данных, поскольку обнаружение ошибок кодов Рида-Соломона не является очень строгим.The hash value is used to validate the data, since the error detection of Reed-Solomon codes is not very rigorous.

Пусть хэш-байты обозначаются как h(k),

Figure 00000022
, и пусть rem(n, m) обозначает остаток в делении в столбик n на m. Хэш и данные конкатенируются и разбиваются на последовательность чисел от 0 до 15 (далее называемую «номерами в единицах по 4»), например, согласно:Let hash bytes be denoted as h(k),
Figure 00000022
, and let rem(n, m) denote the remainder after n divided by m. The hash and data are concatenated and split into a sequence of numbers from 0 to 15 (hereinafter referred to as "numbers in units of 4"), for example, according to:

Figure 00000023
(12)
Figure 00000023
(12)

и:And:

Figure 00000024
(13)
Figure 00000024
(13)

для

Figure 00000022
, и:For
Figure 00000022
, And:

Figure 00000025
(14)
Figure 00000025
(14)

и:And:

Figure 00000026
(15)
Figure 00000026
(15)

для

Figure 00000027
For
Figure 00000027

Входные данные, расширенные за счет вычисленного хэша, т.е. кадр, включающий в себя хэш-значение, разбиваются на множество слов данных. Число слов данных вычисляется, например, на основе целевого размера для кадра и индекса кодового слова.The input data extended by the computed hash, i.e. a frame including a hash value is split into a plurality of data words. The number of data words is calculated, for example, based on the target size for the frame and the codeword index.

Фиг. 12 показывает схематичную иллюстрацию примера для архитектуры кадра в операции канального кодирования, выполняемой посредством канального кодера, показанного на фиг. 11. Входные данные, т.е. входной кадр, включающий в себя хэш-значение разбиваются на вычисленное число слов данных (также число кодовых слов), например, 6 слов D1-D5 данных.Fig. 12 shows a schematic illustration of an example for a frame architecture in a channel encoding operation performed by the channel encoder shown in FIG. 11. Input data, i.e. the input frame including the hash value is split into the computed number of data words (also the number of codewords), eg 6 data words D 1 -D 5 .

Кодирование по Риду-СоломонуReed-Solomon coding

(Ссылка на источник "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005 год).(Source reference "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005).

Линейные коды конструируются из множества кодов Рида-Соломона по GF(16) с расстояниями 1, 3, 5 и 7 Хэмминга. Число кодовых слов вычисляется из размера интервала следующим образом:Line codes are constructed from a set of GF(16) Reed-Solomon codes with 1, 3, 5, and 7 Hamming distances. The number of codewords is calculated from the interval size as follows:

Figure 00000028
, (16)
Figure 00000028
, (16)

и длина кодового слова i в символах данных задается посредством:and the length of codeword i in data symbols is given by:

Figure 00000029
(17)
Figure 00000029
(17)

где i изменяется от 0 до Ncw-1. Условие Ncw≥40 подразумевает то, что

Figure 00000030
. Расстояния Хэмминга для различных кодовых слов являются зависимыми от режима и от кодового слова и задаются посредством:where i varies from 0 to N cw -1. The condition N cw ≥40 implies that
Figure 00000030
. The Hamming distances for different codewords are mode and codeword dependent and are given by:

Figure 00000031
(18)
Figure 00000031
(18)

Массив данных разбивается на Ncw слов данных согласно следующему:The data array is split into N cw data words according to the following:

Figure 00000032
(19)
Figure 00000032
(19)

где последовательность точек разбиения индуктивно задается посредством

Figure 00000033
и
Figure 00000034
.where the sequence of partition points is inductively given by
Figure 00000033
And
Figure 00000034
.

Это ограничивает входную длину до:This limits the input length to:

Figure 00000035
(20)
Figure 00000035
(20)

что зависит только от Ns и mfec.which depends only on N s and m fec .

Затем, слова Di данных кодируются в

Figure 00000036
кодов Сi. Кодирование по Риду-Соломону зависит от генератора для базового поля и генератора для единичной группы этого базового поля (см., например, работу "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005 года), а также от преобразования данных в символы. Ниже по тексту, поле GF(16) предположительно должно формироваться посредством
Figure 00000037
, и генератор α единичных групп предположительно представляет собой остаточный класс x в
Figure 00000038
. Кроме того, преобразование данных в символы (преобразование номеров в единицах по 4 в элементы GF(16)) принимается следующим образом:Then, the data words Di are encoded into
Figure 00000036
codes С i . Reed-Solomon coding depends on the generator for the base field and the generator for the identity group of this base field (see, for example, "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005), as well as on the transformation data to characters. Below, the field GF(16) is supposed to be formed by
Figure 00000037
, and the identity group generator α is presumably the residual class x in
Figure 00000038
. In addition, the conversion of data to characters (conversion of numbers in units of 4 to GF(16)) is taken as follows:

Figure 00000039
(21)
Figure 00000039
(21)

где bitk(n) обозначает k-ый бит в двоичном представлении n, заданный следующим образом:where bit k (n) denotes the kth bit in the binary representation of n, given as follows:

Figure 00000040
(22)
Figure 00000040
(22)

Кодовое слово Ci затем в таком случае представляет собой уникально определенную последовательность, соответствующую:The codeword C i is then in this case a uniquely defined sequence corresponding to:

Figure 00000041
(23)
Figure 00000041
(23)

для

Figure 00000042
, а также соответствующую тому, что полином:For
Figure 00000042
, and also corresponding to the fact that the polynomial:

Figure 00000043
(24)
Figure 00000043
(24)

делится на порождающий полином RS:is divided by the generating polynomial RS:

Figure 00000044
(25)
Figure 00000044
(25)

Как пояснено выше, слова данных кодируются, и кодовые слова выводятся, как также указано на фиг. 12. Длина каждого кодового слова не обязательно является одинаковой, например, длина кодовых слов C0 и C1 составляет 14 полубайтов, и длина кодовых слов C2-C5 составляет 13 полубайтов, и в силу этого длина кадра, включающего в себя кодовые слова C0-C5, составляет 40 байтов. Следует отметить, что коэффициент избыточности может отличаться для различных слов данных, поскольку длина слов данных не является полностью одинаковой.As explained above, data words are encoded and code words are output as also indicated in FIG. 12. The length of each codeword is not necessarily the same, for example, the length of codewords C 0 and C 1 is 14 nibbles, and the length of codewords C2-C 5 is 13 nibbles, and therefore the length of a frame including codewords C 0 -C 5 is 40 bytes. It should be noted that the redundancy factor may differ for different data words because the length of the data words is not exactly the same.

Фиг. 13 является схематичной иллюстрацией примера для архитектуры кадра в зависимости от режима кодирования. Фиг. 13 показывает взаимосвязь между данными, которые должны передаваться, и избыточной компоновкой, когда целевой размер равен 40. Например, когда кодовые слова кодированы с использованием mfec=1, ошибки не ожидаются, когда кодовые слова кодированы с использованием mfec=2, одна ошибка в символе в расчете на кодовое слово может возникать, когда кодовые слова кодированы с использованием mfec=3, две ошибки в символах в расчете на кодовое слово могут возникать, и когда кодовые слова кодированы с использованием mfec=4, три ошибки в символах в расчете на кодовое слово могут возникать. Канальный декодер 20 информируется относительно данных, которые должны передаваться, и избыточной компоновки, поскольку декодирование требует знаний режима, чтобы расширять кодированные данные.Fig. 13 is a schematic illustration of an example for a frame architecture depending on the coding mode. Fig. 13 shows the relationship between the data to be transmitted and the redundant layout when the target size is 40. For example, when the codewords are encoded using m fec =1, no errors are expected, when the codewords are encoded using m fec =2, one error in symbol per codeword may occur when codewords are encoded using m fec =3, two symbol errors per codeword may occur, and when codewords are encoded using m fec =4, three symbol errors per calculation per code word may occur. The channel decoder 20 is informed of the data to be transmitted and the redundant arrangement since decoding requires mode knowledge in order to spread the encoded data.

На следующем этапе, передача в служебных сигналах информации режима выполняется посредством окрашивания кодовых слов согласно:In the next step, mode information signaling is performed by coloring the code words according to:

Figure 00000045
(26)
Figure 00000045
(26)

для k=0, 1, ..., Li, где sigk представляет собой одну из следующих последовательностей:for k=0, 1, ..., L i , where sig k is one of the following sequences:

Figure 00000046
Figure 00000046

Figure 00000047
Figure 00000047

Figure 00000048
Figure 00000048

Figure 00000049
Figure 00000049

В этом варианте осуществления, число кодовых слов (слова данных) равно 6, если Ns=40. Если число кодовых слов является большим, необязательно окрашивать все кодовые слова, чтобы надежно передавать в служебных сигналах режим FEC. В этом случае, окрашивание может быть ограничено предварительно заданным поднабором кодовых слов, например, первыми 6 кодовыми словами, как указано выше посредством i<6. Тем не менее, число кодовых слов может изменяться в зависимости от параметров, т.е. целевого размера, индекса кодового слова, длины кодового слова и т.д. Кроме того, цифры окрашивающей последовательности не ограничены вышеуказанными примерами и могут быть другими цифрами.In this embodiment, the number of code words (data words) is 6 if N s =40. If the number of codewords is large, it is not necessary to color all the codewords in order to reliably signal the FEC mode. In this case, the coloring may be limited to a predefined subset of codewords, eg, the first 6 codewords, as indicated by i<6 above. However, the number of codewords may vary depending on the parameters, i.e. target size, codeword index, codeword length, etc. In addition, the numbers of the coloring sequence are not limited to the above examples and may be other numbers.

Функция bitxor(n, m) задается для натуральных чисел и обозначает результат побитового XOR для двоичных представлений n и m, т.е.:The function bitxor(n, m) is defined for natural numbers and denotes the result of a bitwise XOR for binary representations of n and m, i.e.:

Figure 00000050
(27)
Figure 00000050
(27)

Таблица 1. Вероятность того, что

Figure 00000051
является декодируемым с d символов в Cj(15), когда ci извлекается случайно равномерно из Ci(15).Table 1. Probability that
Figure 00000051
is decodable with d symbols in C j (15) when c i is extracted randomly uniformly from C i (15).

d:d: 00 1 1 22 33 не декодируемый not decodable

Figure 00000052
Figure 00000052
00 00 -- -- 11
Figure 00000053
Figure 00000053
00 00
Figure 00000054
Figure 00000054
--
Figure 00000055
Figure 00000055
Figure 00000056
Figure 00000056
00 00
Figure 00000057
Figure 00000057
Figure 00000058
Figure 00000058
Figure 00000059
Figure 00000059
Figure 00000060
Figure 00000060
00 00
Figure 00000054
Figure 00000054
--
Figure 00000055
Figure 00000055
Figure 00000061
Figure 00000061
00 00
Figure 00000057
Figure 00000057
Figure 00000058
Figure 00000058
Figure 00000059
Figure 00000059
Figure 00000062
Figure 00000062
00 00 00 00 11

где:Where:

Figure 00000063
(28)
Figure 00000063
(28)

Последовательности выбираются таким образом, чтобы максимизировать разделение различных кодов относительно расстояния Хэмминга. При обозначении посредством:The sequences are chosen in such a way as to maximize the separation of the different codes with respect to the Hamming distance. When denoted by:

Figure 00000064
Figure 00000064

соответствующих векторов в GF(16)Li и задании

Figure 00000065
,
Figure 00000066
и
Figure 00000067
, окрашивание кодовых слов соответствует векторному сложению
Figure 00000068
в GF(16)Li. Для детерминированного обнаружения режима в отсутствие ошибок при передаче, условие
Figure 00000069
для k≠l является достаточным, поскольку оно обеспечивает возможность уникального определения передаваемого в служебных сигналах режима. Последовательности служебных сигналов соответствуют следующим еще более строгим условиям, которые рассчитываются с возможностью ограничения риска неоднозначностей режима, когда возникают ошибки при передаче.corresponding vectors in GF(16) Li and the specification
Figure 00000065
,
Figure 00000066
And
Figure 00000067
, coloring of code words corresponds to vector addition
Figure 00000068
in GF(16) Li . For deterministic mode detection in the absence of transmission errors, the condition
Figure 00000069
for k≠l is sufficient since it allows unique determination of the signaling mode. The overhead sequences comply with the following even more stringent conditions, which are calculated to limit the risk of mode ambiguities when transmission errors occur.

- Для k<l и

Figure 00000070
, слово
Figure 00000071
не является декодируемым в Cl(Li), что означает то, что его расстояние Хэмминга до Cl(Li) превышает характеристики коррекции ошибок кода.- For k<l and
Figure 00000070
, word
Figure 00000071
is not decodable in Cl(Li), which means that its Hamming distance to Cl(Li) exceeds the error correction performance of the code.

- Для k<l и

Figure 00000070
, слово
Figure 00000071
может быть декодируемым в Cl, но требует по меньшей мере коррекции двух символов.- For k<l and
Figure 00000070
, word
Figure 00000071
may be decodable in Cl, but requires at least two symbols correction.

Вероятности возможности декодирования

Figure 00000071
в Cl(15) с предписанным числом коррекций символа, когда ck извлекается случайно равномерно из Ck(15), приводятся в таблице 1. Они обеспечивают верхнюю границу для соответствующих вероятностей для меньших значений Li.Decoding Capability Probabilities
Figure 00000071
in C l (15) with a prescribed number of symbol corrections when c k is extracted randomly uniformly from C k (15) are given in Table 1. They provide an upper bound on the corresponding probabilities for smaller values of Li.

Окрашенные кодовые слова показаны на фиг. 12. К кодовым словам, кодированным посредством использования режима mfec кодирования=1, применяется окрашивающая последовательность sig1, т.е. окрашивание обходится, поскольку окрашивающая последовательность представляет собой нулевую последовательность. К кодовым словам, кодированным посредством использования режима mfec кодирования=2, применяется окрашивающая последовательность sig2, к кодовым словам, кодированным посредством использования режима mfec кодирования=3, применяется окрашивающая последовательность sig3, и к кодовым словам, кодированным посредством использования режима mfec кодирования=4, применяется окрашивающая последовательность sig3. Следует отметить, что не все кодовые слова должны окрашиваться, т.е. окрашивающая последовательность может применяться только к заданному поднабору кодовых слов в кадре.Colored codewords are shown in FIG. 12. To codewords encoded by using coding mode m fec =1, a coloring sequence sig 1 is applied, i. e. staining is bypassed because the staining sequence is the null sequence. The coloring sequence sig 2 is applied to codewords encoded by using coding mode m fec =2 , the coloring sequence sig 3 is applied to codewords encoded by using coding mode m fec = 3 , and to codewords encoded by using mode m encoding fec =4, coloring sequence sig 3 is applied. It should be noted that not all codewords need to be colored, i. a coloring sequence can only be applied to a given subset of codewords in a frame.

Мультиплексирование кодовых словCodeword Multiplexing

Окрашенные кодовые слова перемежаются посредством мультиплексора 14. Таким образом, бит из окрашенного кодового слова размещается в другом кодовом слове в дополнительном бите по меньшей мере одного другого кодового слова, чтобы получать кадр.The colored codewords are interleaved by the multiplexer 14. Thus, a bit from the colored codeword is placed in another codeword in an additional bit of at least one other codeword to obtain a frame.

Таким образом, длины Li кодовых слов выбираются таким образом, что элементы окрашенных кодовых слов Ci могут полностью перемежаться, с заданием мультиплексированного кодового слова:Thus, the lengths Li of the codewords are chosen such that the elements of the colored codewords C i can be completely interleaved, with the multiplexed codeword given:

Figure 00000072
(29)
Figure 00000072
(29)

для

Figure 00000073
, которое преобразуется в выходную последовательность:For
Figure 00000073
, which is converted to the output sequence:

Figure 00000074
(30)
Figure 00000074
(thirty)

для k=0, 1, ..., Ns-1. Перемежение увеличивает силу защиты, если битовые ошибки не распределяются равномерно по кадру, например, когда возникают пакеты ошибок. Следует отметить, что окрашивание кодовых слов также может описываться на этой стадии посредством вычисления побитового XOR конечного вывода и соответствующих последовательностей, извлекаемых из sigm.for k=0, 1, ..., N s -1. Interleaving increases the strength of protection if bit errors are not evenly distributed over the frame, such as when bursts of errors occur. It should be noted that the coloring of codewords can also be described at this stage by calculating the bitwise XOR of the final output and the corresponding sequences extracted from sig m .

Фиг. 14 показывает блок-схему, иллюстрирующую дополнительный пример канального кодера для кодирования кадра, который должен передаваться. Канальный кодер 2, показанный на фиг. 14, содержит контроллер 8, ядро 2' канального кодирования и аудиокодер 16, т.е. этот канальный кодер используется для кодирования аудиокадра, который должен передаваться. В случае кодирования видеокадра, который должен передаваться, канальный кодер 2 содержит видеокодер вместо аудиокодера 16.Fig. 14 shows a block diagram illustrating a further example of a channel encoder for encoding a frame to be transmitted. The channel encoder 2 shown in FIG. 14 contains a controller 8, a channel encoding core 2' and an audio encoder 16, i. e. this channel encoder is used to encode the audio frame to be transmitted. In the case of encoding a video frame to be transmitted, channel encoder 2 contains a video encoder instead of an audio encoder 16.

Канальный декодерChannel decoder

Фиг. 15 показывает дополнительный пример канального декодера 20. Канальный декодер 20 содержит демультиплексор 60, детектор 26 режима декодирования, модуль 62 коррекции ошибок, модуль 22 окрашивания, избыточный декодер 24, модуль 64 объединения данных и постпроцессор 68. Модуль 62 коррекции ошибок соединяется с детектором 26 режима декодирования на фиг. 15. Тем не менее, модуль 62 коррекции ошибок может включаться в избыточный декодер 24, например, как показано на фиг. 5A, или располагаться между детектором 26 режима декодирования и модулем 22 окрашивания или модулем 22 окрашивания и избыточным декодером 24. Тем не менее, помимо этого, на фиг. 15 показывается то, что канальный декодер 20 дополнительно может содержать контроллер и/или запоминающее устройство/устройство хранения данных для сохранения списка возможных вариантов режимов декодирования.Fig. 15 shows a further example of a channel decoder 20. Channel decoder 20 includes a demultiplexer 60, a decoding mode detector 26, an error correction module 62, a coloring module 22, a redundant decoder 24, a data combining module 64, and a post-processor 68. An error correction module 62 is coupled to a mode detector 26. decoding in Fig. 15. However, error correction module 62 may be included in redundant decoder 24, for example, as shown in FIG. 5A, or be located between the decode mode detector 26 and the staining unit 22, or the staining unit 22 and the redundant decoder 24. However, in addition to this, in FIG. 15 shows that channel decoder 20 may further comprise a controller and/or a memory/storage device for storing a list of possible decoding mode options.

Фиг. 20 показывает изменение канального декодера 20, показанного на фиг. 15. Фиг. 20 иллюстрирует канальный декодер 20 в соответствии с его операцией аналогично фиг. 11. Канальный декодер 20 дополнительно включает в себя конфигуратор 61 кадров, который передаёт число кодовых слов, Ncw, и длины кодовых слов, Li, в демультиплексор 60, детектор 26 режима, который включает в себя модуль коррекции ошибок, модуль 22 обесцвечивания (модуль окрашивания), декодер 24 RS и модуль 64 объединения данных. Кроме того, конфигуратор 61 кадров передаёт целевой размер кадра, т.е. размер Ns интервала в постпроцессор 68. Демультиплексор 60 извлекает перемеженные кодовые слова. Детектор 26 режима обнаруживает определенный режим декодирования и формирует указатель режима декодирования. Указатель режима декодирования включает в себя по меньшей мере информацию, чтобы указывать определенный режим декодирования, и может включать в себя дополнительную информацию, например, число скорректированных символов. Указатель режима декодирования передаётся из детектора 26 режима в модуль 22 обесцвечивания, декодер 24 RS и постпроцессор 68. Модуль 22 обесцвечивания обесцвечивает согласно определенному режиму декодирования посредством применения XOR к заданному числу первых кодируемых слов, например, к первым 6 кодовым словам с окрашивающей последовательностью, ассоциированной с определенным режимом декодирования. Декодер 24 RS извлекает только части данных кодовых слов, т.е. коррекция ошибок выполняется раньше для окрашенных кодовых слов. Величина избыточности указывается посредством указателя режима декодирования. Модуль 64 объединения данных конкатенирует ввод, т.е. комбинирует слова данных, чтобы получать выходные данные. Постпроцессор 68 проверяет достоверность выходных данных с использованием хэш-значения, если определенный режим декодирования не представляет собой режим 1. Ниже поясняется подробная работа.Fig. 20 shows the change of the channel decoder 20 shown in FIG. 15. FIG. 20 illustrates channel decoder 20 in accordance with its operation similar to FIG. 11. The channel decoder 20 further includes a frame configurator 61 that transmits the number of code words, N cw , and the length of the code words, L i , to the demultiplexer 60, the mode detector 26, which includes an error correction module, a bleaching module 22 ( coloring module), an RS decoder 24 and a data combining module 64 . In addition, the frame configurator 61 transmits the target frame size, i. e. slot size N s to post processor 68. Demultiplexer 60 extracts the interleaved codewords. The mode detector 26 detects the determined decoding mode and generates a decoding mode indicator. The decoding mode indicator includes at least information to indicate a specific decoding mode, and may include additional information such as the number of corrected symbols. The decoding mode indicator is passed from mode detector 26 to decolorization module 22, RS decoder 24, and postprocessor 68. Decolorization module 22 decolorizes according to the determined decoding mode by XORing a given number of first encoded words, e.g., the first 6 codewords with a coloring sequence associated with a certain decoding mode. The RS decoder 24 extracts only parts of the codeword data, i.e. error correction is performed earlier for colored codewords. The amount of redundancy is indicated by the decoding mode indicator. The data fusion module 64 concatenates the input, i. e. combines data words to produce output data. The post processor 68 validates the output using the hash value if the determined decoding mode is not mode 1. Detailed operation is explained below.

Канальный декодер 20 принимает в качестве ввода последовательность ain байтов и размер Ns интервала в байтах. С другой стороны, байты интерпретируются в качестве чисел между 0 и 255.The channel decoder 20 receives as input a byte sequence a in and a slot size N s in bytes. On the other hand, bytes are interpreted as numbers between 0 and 255.

Демультиплексирование кодовых словDemultiplexing codewords

Демультиплексор 60 извлекает перемеженные кодовые слова в декодере 20, т.е. конфигуратор 61 кадров вычисляет число кодовых слов, Ncw, и длины кодовых слов, Li, из входного размера Ns, как указано в разделе «Кодирование по Риду-Соломону», и извлекает кодовые слова Ci согласно компоновкам, описанным в разделе «Мультиплексирование кодовых слов».The demultiplexer 60 extracts the interleaved codewords in the decoder 20, i. e. the frame configurator 61 calculates the number of codewords, N cw , and the lengths of codewords, L i , from the input size N s as specified in the Reed-Solomon Coding section, and extracts the code words C i according to the arrangements described in the section " Code word multiplexing.

Обнаружение режимаMode detection

Прямое обнаружение режима согласно канальному декодеру 20, показанному на фиг. 5A, и вышеприведенному ассоциированному описанию, может осуществляться посредством прохождения от Ci до:Direct mode detection according to the channel decoder 20 shown in FIG. 5A and the above associated description can be done by going from C i to:

Figure 00000075
(31)
Figure 00000075
(31)

с использованием пробного декодирования для всех возможных режимов и, при успешности, проверки достоверности декодированных данных посредством повторного вычисления хэшей передаваемых кодовых слов (т.е. декодированного кадра), как пояснено выше (предварительной обработки данных). Если эта процедура успешно выполняется для нескольких режимов, то значение риска может присоединяться к классам режимов следующим образом: пусть

Figure 00000076
обозначает число символов, которые скорректированы в кодовом слове Ci, m во время декодирования RS. Для рассматриваемых кодов RS(Li, Li-2t) Рида-Соломона (расстояние Хэмминга составляет 2t+1, и в силу этого число корректируемых символов составляет t), вероятность выбора случайного слова w из n символов в GF(16)n, которое может корректироваться в кодовое слово RS(n, n-2t) посредством модификации τ≤t символов, задается посредством:using trial decoding for all possible modes and, if successful, validating the decoded data by recomputing the hashes of the transmitted codewords (ie, the decoded frame) as explained above (data pre-processing). If this procedure is successfully performed for several modes, then the risk value can be attached to the mode classes as follows: let
Figure 00000076
denotes the number of symbols that are corrected in codeword C i, m during RS decoding. For the considered RS(Li, Li-2t) Reed-Solomon codes (the Hamming distance is 2t+1, and therefore the number of corrected symbols is t), the probability of choosing a random word w out of n symbols in GF(16) n , which can corrected into the RS(n, n-2t) codeword by modifying τ≤t symbols, is given by:

Figure 00000077
(32)
Figure 00000077
(32)

Следовательно, значение риска для режима m может приниматься как:Therefore, the risk value for mode m can be taken as:

Figure 00000078
, (33)
Figure 00000078
, (33)

и mfec должен выбираться таким образом, что ρmfec является минимальным.and m fec must be chosen such that ρ mfec is minimal.

Предложенное решение по выбору режима принимается по немного другому тракту. Вместо стремления к полному декодированию для всех возможных режимов, детектор режима осуществляет параллельный подход, сужая список возможных вариантов режимов пошагово и достигая окончательного решения после обработки первых 6 кодовых слов. Этот подход имеет преимущество меньшей вычислительной сложности в среднем.The proposed decision on the choice of mode is made along a slightly different path. Instead of aiming for complete decoding for all possible modes, the mode detector takes a parallel approach, narrowing down the list of possible modes in steps and reaching a final decision after processing the first 6 codewords. This approach has the advantage of less computational complexity on average.

Фиг. 16 показывает блок-схему, иллюстрирующую пример детектора 26 режима декодирования канального декодера, расположенного в канальном декодере 20, показанном на фиг. 15. Детектор 26 режима декодирования содержит первый детектор 30 режима декодирования, второй детектор 32 режима декодирования и контроллер 34. Детектор 26 режима декодирования выполнен с возможностью выполнения первой операции в режиме декодирования в первом детекторе 30 режима декодирования и второй операции в режиме декодирования во втором детекторе 32 режима декодирования. Контроллер 34 может включать в себя запоминающее устройство/устройство хранения данных для сохранения списка возможных вариантов режима декодирования.Fig. 16 shows a block diagram illustrating an example of the decode mode detector 26 of the channel decoder located in the channel decoder 20 shown in FIG. 15. The decode mode detector 26 comprises a first decode mode detector 30, a second decode mode detector 32, and a controller 34. The decode mode detector 26 is configured to perform a first decode mode operation in the first decode mode detector 30 and a second decode mode operation in the second detector. 32 decoding modes. The controller 34 may include a memory/data storage device for storing a list of possible decoding mode options.

Фиг. 17 показывает блок-схему для примера операций обнаружения режима декодирования детектора режима декодирования, реализованного посредством детектора режима декодирования, показанного на фиг. 16, и примера операции декодирования канального декодера, реализованного посредством канального декодера, показанного на фиг. 15.Fig. 17 shows a flowchart for an example of the decoding mode detection operations of the decoding mode detector implemented by the decoding mode detector shown in FIG. 16 and an example of the decoding operation of the channel decoder implemented by the channel decoder shown in FIG. 15.

Первая операция в режиме декодирования выполняется посредством проверки, представляет ли определенный режим декодирования собой режим 1. Сначала вычисляются синдромы кодового слова, и когда вычисленные синдромы исчезают, т.е. вычисленный синдром без значения (S30), вычисляется и оценивается хэш-значение (S31). Таким образом, если режим декодирования представляет собой режим 1, не должно возникать ошибки, и в силу этого синдром имеет значение, равное нулю. Когда вычисленный синдром имеет значение, первая операция в режиме декодирования завершается и переходит ко второй операции (S38) в режиме кодирования. Когда вычисленное хэш-значение не равно включенному хэш-значению (принимаемое хэш-значение) в кодовом слове (S34), первая операция в режиме декодирования завершается и переходит к операции во втором режиме декодирования (S38). Когда хэш-значения являются одинаковыми (S34), первый детектор 30 режима декодирования формирует указатель режима декодирования (S36), и контроллер 34 выполняет предыдущие дополнительные этапы, чтобы выводить данные для декодирования (S82).The first operation in the decoding mode is performed by checking whether the determined decoding mode is mode 1. First, the syndromes of the code word are calculated, and when the calculated syndromes disappear, i.e. calculated syndrome without value (S30), the hash value is calculated and evaluated (S31). Thus, if the decoding mode is mode 1, no error should occur, and therefore the syndrome has a value of zero. When the calculated syndrome has a value, the first operation in the decoding mode ends and proceeds to the second operation (S38) in the encoding mode. When the calculated hash value is not equal to the included hash value (received hash value) in the codeword (S34), the first decode mode operation ends and proceeds to the second decode mode operation (S38). When the hash values are the same (S34), the first decoding mode detector 30 generates a decoding mode indicator (S36), and the controller 34 performs the previous additional steps to output decoding data (S82).

Фиг. 18 показывает блок-схему, иллюстрирующую пример второго детектора 32 режима декодирования детектора режима декодирования, реализованного посредством детектора режима декодирования, показанного на фиг. 16. Второй детектор 32 режима декодирования содержит модуль 40 вычисления синдромов, модуль 42 окрашивания синдромов, модуль 44 проверки синдромов, модуль 46 вычисления полиномов локатора ошибок, модуль 48 вычисления значений риска, модуль 50 вычисления положений ошибки и модуль 52 вычисления ошибочных символов. В операции во втором режиме декодирования, модуль 42 окрашивания синдромов применяет окрашивающую последовательность для обесцвечивания вычисленного синдрома, поскольку выполнение окрашивания для кодовых слов или синдромов по существу является одинаковым.Fig. 18 shows a block diagram illustrating an example of the second decoding mode detector 32 of the decoding mode detector implemented by the decoding mode detector shown in FIG. 16. The second decoding mode detector 32 comprises a syndrome calculation module 40, a syndrome coloration module 42, a syndrome check module 44, an error locator polynomial calculation module 46, a risk value calculation module 48, an error position calculation module 50, and an error symbol calculation module 52. In operation in the second decoding mode, the syndrome staining module 42 applies a staining sequence to decolorize the calculated syndrome, since the staining execution for codewords or syndromes is essentially the same.

Фиг. 19 показывает блок-схему для примера процедуры операции во втором режиме декодирования, реализованной посредством второго детектора 32 режима декодирования, показанного на фиг. 18. Как показано фиг. 19, синдром вычисляется в модуле 40 вычисления синдромов (S40), и синдром окрашивается в модуле 42 окрашивания синдромов (S42). Например, синдромы окрашиваются с синдромами окрашивающей последовательности, ассоциированной со следующим возможным вариантом режима в списке возможных вариантов, например, окрашивающей последовательности sig2, ассоциированной с режимом 2. Окрашивание синдромов кодового слова с синдромами окрашивающей последовательности формирует такой же вывод, что и вывод окрашивания кодового слова до вычисления его синдромов, но оно является вычислительно меньше сложным. Обесцвеченный синдром проверяется, т.е. значение синдрома проверяется в модуле 44 проверки синдромов (S44). Если все синдромы исчезают для одного режима, то этот режим выбирается непосредственно, без проверки дополнительных режимов. Когда обесцвеченный синдром имеет значение, ошибка возникает (S46), и в силу этого полиномы локатора ошибок (ELP) вычисляются в модуле 46 вычисления полиномов локатора ошибок (S48). В случае если ELP не существует (S50), т.е. ELP не может быть вычислен, режим декодирования исключается из списка возможных вариантов (S52), и если имеется какой-либо режим, который еще не проверен (S58), выполняется возврат к этапу S40. Например, ELP для обесцвеченного синдрома, применяемого к окрашивающей последовательности sig2, не существует, и затем режим 2 декодирования исключается из списка возможных вариантов. Когда ELP существует (S50), значение риска вычисляется в модуле 48 вычисления значений риска (S54). Когда вычисленное значение риска превышает заданное пороговое значение (S56), режим исключается из списка возможных вариантов (S52). Когда значение риска меньше заданного порогового значения (S56), проверяется, имеются ли режимы, которые еще не проверены, в списке возможных вариантов (S58). Если в списке возможных вариантов (S58) имеются режимы, которые еще не проверены, затем процесс возвращается к этапу S40. Если все режимы в списке возможных вариантов проверены (S58), положение ошибки вычисляется посредством модуля 50 вычисления положений ошибки (S60). Когда ошибка не является корректируемой на основе вычисленного положения ошибки (S62), режим декодирования исключается из списка возможных вариантов (S52). Если ошибка является корректируемой (S62), ошибочный символ вычисляется посредством модуля 52 вычисления ошибочных символов ошибочных символов (S64), и формируется указатель режима декодирования (S66).Fig. 19 shows a flowchart for an example of a second decoding mode operation procedure implemented by the second decoding mode detector 32 shown in FIG. 18. As shown in FIG. 19, the syndrome is calculated in the syndrome calculation unit 40 (S40), and the syndrome is stained in the syndrome staining unit 42 (S42). For example, the syndromes are stained with the syndromes of the coloring sequence associated with the next candidate mode in the list of possible variants, for example, the coloring sequence sig 2 associated with mode 2. word before computing its syndromes, but it is computationally less complex. The discolored syndrome is checked, i.e. the syndrome value is checked in the syndrome checking unit 44 (S44). If all syndromes disappear for one mode, then that mode is selected directly, without checking additional modes. When the discolored syndrome is significant, an error occurs (S46), and therefore, error locator polynomials (ELP) are calculated in error locator polynomial calculation unit 46 (S48). In case ELP does not exist (S50), i.e. ELP cannot be calculated, the decoding mode is excluded from the candidate list (S52), and if there is any mode not yet checked (S58), return to step S40 is performed. For example, there is no ELP for the discoloration syndrome applied to the sig 2 coloring sequence, and then decoding mode 2 is excluded from the list of options. When the ELP exists (S50), the risk value is calculated in the risk value calculation unit 48 (S54). When the calculated risk value exceeds the predetermined threshold value (S56), the mode is excluded from the candidate list (S52). When the risk value is less than the predetermined threshold value (S56), it is checked whether there are modes that have not yet been tested in the candidate list (S58). If there are modes in the candidate list (S58) that have not yet been checked, then the process returns to step S40. If all modes in the candidate list are checked (S58), the error position is calculated by the error position calculation unit 50 (S60). When the error is not correctable based on the calculated error position (S62), the decoding mode is excluded from the candidate list (S52). If the error is correctable (S62), an error symbol is calculated by the error symbol calculation unit 52 of error symbols (S64), and a decoding mode indicator is generated (S66).

Затем, как проиллюстрировано на фиг. 17, ошибка корректируется посредством модуля 62 коррекции ошибок (S68). Когда коррекция ошибок не является успешной, кадр, включающий в себя кодовое слово, имеющее некорректируемую ошибку, регистрируется в качестве плохого кадра (S70). Когда коррекция ошибок успешно выполняется, кодовые слова окрашиваются на основе указателя режима декодирования посредством модуля 22 окрашивания (S72). Затем цветные (обесцвеченные) кодовые слова декодируются на основе указателя режима декодирования посредством избыточного декодера 24 (S74), и слова данных конкатенируются посредством модуля 64 данных (S76). Хэш-значение конкатенированных данных вычисляется и сравнивается с включенным хэш-значением для оценки хэш-значения (S78). Когда хэш-значения совпадают (S80), декодированные данные выводятся. Когда хэш-значения не совпадают (S80), декодированный кадр регистрируется в качестве плохого кадра (S70).Then, as illustrated in FIG. 17, the error is corrected by the error correction unit 62 (S68). When error correction is not successful, a frame including a codeword having an uncorrectable error is registered as a bad frame (S70). When error correction is successfully performed, the codewords are colored based on the decoding mode indicator by the coloring unit 22 (S72). Then, the colored (bleached) codewords are decoded based on the decoding mode indicator by the redundant decoder 24 (S74), and the data words are concatenated by the data unit 64 (S76). The hash value of the concatenated data is calculated and compared with the included hash value to evaluate the hash value (S78). When the hash values match (S80), the decoded data is output. When the hash values do not match (S80), the decoded frame is registered as a bad frame (S70).

Фиг. 21 показывает блок-схему, иллюстрирующую изменения детектора режима декодирования канального декодера, расположенного в канальном декодере, показанном на фиг. 20. Фиг. 21 показывает принципиальную блок-схему, которая иллюстрирует операцию, выполняемую посредством детектора 26 режима на фиг. 20. Таким образом, детектор 26 режима на фиг. 20 содержит первый детектор режима декодирования, выполняющий стадию 1 (первую операцию в режиме декодирования), второй детектор режима декодирования, выполняющий этап 2 (вторую операцию в режиме декодирования), модуль выбора режима и модуль коррекции ошибок.Fig. 21 shows a block diagram illustrating changes of the decoding mode detector of the channel decoder located in the channel decoder shown in FIG. 20. FIG. 21 shows a circuit diagram that illustrates the operation performed by the mode detector 26 in FIG. 20. Thus, mode detector 26 in FIG. 20 includes a first decoding mode detector performing step 1 (first operation in decoding mode), a second decoding mode detector performing step 2 (second operation in decoding mode), a mode selection unit, and an error correction unit.

Операция обнаружения первого режима (стадия 1)First Mode Detection Operation (Stage 1)

Фиг. 22 показывает схему выполнения стадии 1. Как показано на фиг. 22, обнаружение режима первой стадии выполняется для проверки, равен ли режим mfec FEC 1. Следующая система обозначений используется для обозначения i-го кодового полина в GF(16)[x], соответствующего i-ому кодовому слову:Fig. 22 shows a flowchart of step 1. As shown in FIG. 22, the first stage mode detection is performed to check if the mode m fec FEC is equal to 1. The following notation is used to denote the i-th code polyline in GF(16)[x] corresponding to the i-th codeword:

Figure 00000079
(34)
Figure 00000079
(34)

Выбор режима FEC 1 зависит от двух условий. Во-первых, первые два синдрома должны исчезать, т.е.:The choice of FEC 1 mode depends on two conditions. First, the first two syndromes must disappear, i.e.:

Figure 00000080
(35)
Figure 00000080
(35)

и во-вторых, повторно вычисленное хэш-значение должно совпадать с принимаемым хэш-значением. Если оба условия выполнены, формируется указатель декодирования для указания, что режим 1 представляет собой определенный режим декодирования, и данные декодируются согласно конфигурациям данных в кодере. Если по меньшей мере одно из этих условий нарушается, режим 1 исключается из списка возможных вариантов режимов, и обнаружение режима переходит к стадии 2.and second, the recomputed hash value must match the received hash value. If both conditions are met, a decoding indicator is generated to indicate that mode 1 is the determined decoding mode, and data is decoded according to the data configurations in the encoder. If at least one of these conditions is violated, mode 1 is excluded from the list of possible mode options, and mode detection proceeds to stage 2.

Таким образом, как показано на фиг. 22, если оба условия выполнены, первый детектор режима декодирования замечает то, что определенный режим декодирования представляет собой режим 1 (как указано "is_mode_1" на фиг. 21). В этом случае, дополнительные процедуры, т.е. стадия 2 и коррекция ошибок, пропущены.Thus, as shown in FIG. 22, if both conditions are met, the first decoding mode detector notices that the determined decoding mode is mode 1 (as indicated by "is_mode_1" in FIG. 21). In this case, additional procedures, i.e. stage 2 and error correction are omitted.

Операция обнаружения второго режима (стадия 2)Second mode detection operation (stage 2)

Фиг. 23 показывает схему стадии 2, выполняемой посредством второго детектора режима декодирования. Как показано на фиг. 23, когда определенный режим декодирования уже выбран на стадии 1, процесс на стадии 2 пропускается. Помимо этого, если определенный режим декодирования представляет собой режим 1, предполагается, что ошибки не возникают, и в силу этого коррекция ошибок не выполняется. На фиг. 23, проиллюстрированы три процесса, т.е. вычисляются синдромы 6 кодовых слов, проиллюстрированы операция обнаружения режима декодирования для режима 2, для режима 3 и для режима 4. Таким образом, синдромы для заданного числа кодовых слов вычисляются, например, для шести кодовых слов C0-C5, шесть синдромов для каждого кодового слова вычисляются, т.е.

Figure 00000081
. Операция для режима 2 выполняется посредством модуля 1 обесцвечивания, модуля 1 проверки синдромов, модуля 1 вычисления полиномов локатора ошибок, модуля 1 оценки риска, модуля 1 вычисления положений ошибки и модуля 1 вычисления ошибочных символов. Операция для режима 3 выполняется посредством модуля 2 обесцвечивания, модуля 2 проверки синдромов, модуля 2 вычисления полиномов локатора ошибок, модуля 2 оценки риска, модуля 2 вычисления положений ошибки и модуля 2 вычисления ошибочных символов. Операция для режима 4 выполняется посредством модуля 3 обесцвечивания, модуля 3 проверки синдромов, модуля 3 вычисления полиномов локатора ошибок, модуля 3 оценки риска, модуля 3 вычисления положений ошибки и модуля 3 вычисления ошибочных символов.Fig. 23 shows a diagram of step 2 performed by the second decoding mode detector. As shown in FIG. 23, when a certain decoding mode is already selected in step 1, the process in step 2 is skipped. In addition, if the determined decoding mode is mode 1, it is assumed that no errors occur, and therefore no error correction is performed. In FIG. 23, three processes are illustrated, i.e. the syndromes of 6 codewords are calculated, the decoding mode detection operation for mode 2, for mode 3 and for mode 4 is illustrated. Thus, the syndromes for a given number of codewords are calculated, for example, for six codewords C 0 -C 5 , six syndromes for each codeword are calculated, i.e.
Figure 00000081
. The operation for mode 2 is performed by the bleaching unit 1, the syndrome checking unit 1, the error locator polynomial calculation unit 1, the risk assessment unit 1, the error position calculation unit 1, and the error symbol calculation unit 1. The operation for mode 3 is performed by the bleaching module 2, the syndrome checking module 2, the error locator polynomial calculation module 2, the risk assessment module 2, the error position calculation module 2, and the error symbol calculation module 2. The operation for mode 4 is performed by the bleaching module 3, the syndrome checking module 3, the error locator polynomial calculation module 3, the risk assessment module 3, the error position calculation module 3, and the error symbol calculation module 3.

Фиг. 24 показывает увеличенную часть по фиг. 23, указывающую операцию для режима 2. При операции для режима n+1, т.е. для режима 2, модуль n обесцвечивания, т.е. модуль 1 обесцвечивания обесцвечивает вычисленный синдром согласно режиму 2:

Figure 00000082
. Проверка синдрома 1 содержит проверку, верно ли
Figure 00000083
для k=1, 2, 2*n. Результат теста отправляется в модуль выбора режима в качестве syndrome_check_1. Полином
Figure 00000084
локатора ошибок (ELP) вычисляется в модуле n вычисления ELP, т.е. в модуле 1 вычисления ELP для режима 2. Режим 2 (режим n+1) исключается из списка возможных вариантов (помещается в черный список в списке возможных вариантов), если
Figure 00000085
не существует для одного
Figure 00000086
Модуль n оценки риска, т.е. модуль 1 оценки риска для режима 2, вычисляет значение риска из степеней
Figure 00000085
согласно
Figure 00000087
. Вычисленное значение риска отправляется в модуль выбора режима и модуль 1 вычисления положений ошибки в качестве risk_value_1. Модуль n вычисления положений ошибки, т.е. модуль 1 вычисления положений ошибки для режима 2, вычисляет положения ошибки в режиме n+1, т.е. режиме 2 посредством разложения на множители
Figure 00000088
. Если разложение на множители завершается неудачно, или если положение ошибки выходит за границы, или если значение риска выше заданного порогового значения, режим 2 исключается из списка возможных вариантов(помещается в черный список). Модуль n вычисления ошибочных символов, т.е. модуль 1 вычисления ошибочных символов для режима 2, вычисляет символы ошибок в режиме 2 (n+1) из
Figure 00000089
, и положения err_posi, n+1 ошибки.Fig. 24 shows an enlarged part of FIG. 23 indicating an operation for mode 2. In an operation for mode n+1, that is, for mode 2, the bleaching modulus n, i. e. decolorization module 1 decolorizes the computed syndrome according to mode 2:
Figure 00000082
. Syndrome check 1 contains a check to see if the
Figure 00000083
for k=1, 2, 2*n. The result of the test is sent to the mode selection module as syndrome_check_1. Polynomial
Figure 00000084
error locator (ELP) is computed in module n of the ELP computation, i.e. in ELP calculation module 1 for mode 2. Mode 2 (mode n+1) is excluded from the list of possible options (placed in the black list in the list of possible options) if
Figure 00000085
does not exist for one
Figure 00000086
Risk assessment module n, i.e. risk assessment module 1 for mode 2, calculates the risk value from the degrees
Figure 00000085
according to
Figure 00000087
. The calculated risk value is sent to the mode selection module and the error position calculation module 1 as risk_value_1. Module n of calculating error positions, i.e. the error position calculation module 1 for mode 2 calculates the error positions in mode n+1, i.e. mode 2 by factoring
Figure 00000088
. If the factorization fails, or if the error position is out of bounds, or if the risk value is above a predetermined threshold, mode 2 is excluded from the list of options (blacklisted). Module n for calculating error symbols, i.e. error symbol calculation module 1 for mode 2, calculates error symbols in mode 2 (n+1) from
Figure 00000089
, and err_pos i, n+1 error positions.

Как показано на фиг. 23, такая же операция, что и выполненная для режима 2, также выполняется для режима 3 и режима 4. Затем данные, указывающие положение ошибки, err_posi,2, и указатель данных символа err_symbi,2 ошибки, отправляются из модуля 1 вычисления ошибочных символов в переключатель. Кроме того, err_posi,3 и err_symbi,3 отправляются из модуля 2 вычисления ошибочных символов в переключатель, и err_posi,4 и err_symbi,4 отправляются из модуля 2 вычисления ошибочных символов в переключатель. Модуль выбора режима выбирает определенный режим декодирования согласно следующим этапам:As shown in FIG. 23, the same operation as that performed for mode 2 is also performed for mode 3 and mode 4. Then, data indicating the position of the error, err_pos i,2 , and the error symbol data pointer err_symb i,2 , are sent from the error calculation unit 1. characters in the switch. In addition, err_pos i,3 and err_symb i,3 are sent from the error symbol calculation module 2 to the switch, and err_pos i,4 and err_symb i,4 are sent from the error symbol calculation module 2 to the switch. The mode selection module selects a specific decoding mode according to the following steps:

1. Если указывается то, что "is_mode_1", то режим 1, если процедура завершается неудачно, то проверка "is_mode_n", n=2, 3, 4; выход,1. If it is indicated that "is_mode_1", then mode 1, if the procedure fails, then check "is_mode_n", n=2, 3, 4; exit,

2. Если syndrome_check=истина для n, то mfec=n+1 (без ошибок) выбирается,2. If syndrome_check=true for n, then m fec =n+1 (no error) is chosen,

3. Если все режимы помещаются в черный список, режим не выбирается, т.е. is_mode_n<0, и3. If all modes are blacklisted, no mode is selected, i.e. is_mode_n<0, and

4. Из режимов, которые остаются в списке возможных вариантов (не помещаются в черный список), выбор mfec, для которого risk_val_(mfec-1) является минимальным.4. Of the modes that remain on the list of options (not blacklisted), choose m fec for which risk_val_(m fec -1) is minimal.

Затем переключатель переключается между вводами согласно mfec (вывод является нерелевантным, если режим не выбирается). В модуле коррекции ошибок, если is_mode_1, т.е. mfec=1, то вывод=ввод, поскольку ошибка не возникает. Иначе, модуль коррекции ошибок корректирует символы, указываемые посредством err_posi, mfec, посредством подвергания операции XOR с err_symbi, mfec. Подробные процессы поясняются ниже.The switch then switches between inputs according to m fec (the output is irrelevant if no mode is selected). In the error correction module, if is_mode_1, i.e. m fec =1, then output=input because no error occurs. Otherwise, the error correction module corrects the symbols indicated by err_pos i, mfec by XORing with err_symb i, mfec . The detailed processes are explained below.

На стадии 2 список возможных вариантов режимов дополнительно уменьшается в несколько этапов. Процедура выбора определенного режима декодирования завершается, как только допустимый режим обнаружен, либо если допустимый режим не остается в списке возможных вариантов. Во втором случае, декодирование прекращается, и кадр помечается в качестве плохого кадра.At stage 2, the list of possible options for modes is further reduced in several stages. The procedure for selecting a specific decoding mode ends as soon as a valid mode is found, or if a valid mode does not remain in the list of possible options. In the second case, decoding is stopped and the frame is marked as a bad frame.

На стадии 2 рассматриваются только кодовые слова С05 для обнаружения режима. В этом варианте осуществления, число кодовых слов равно шести; тем не менее, это число может отличаться, например, в зависимости от обстоятельств канала передачи, окружения передачи, требуемой силы защиты и/или производительности кодека.In step 2, only codewords C 0 -C 5 are considered for mode detection. In this embodiment, the number of codewords is six; however, this number may differ, for example, depending on the circumstances of the transmission channel, transmission environment, required security strength, and/or codec performance.

Во-первых, синдромы:First, the syndromes:

Figure 00000090
(36)
Figure 00000090
(36)

окрашенных кодовых слов вычисляются для

Figure 00000091
, m=2, 3, 4 и
Figure 00000092
, т.е. для первых по меньшей мере шести передаваемых кодовых слов. Следует заметить, что:colored code words are computed for
Figure 00000091
, m=2, 3, 4 and
Figure 00000092
, i.e. for the first at least six transmitted codewords. It should be noted that:

Figure 00000093
, (37)
Figure 00000093
, (37)

где sigk(ak)) может сводиться в таблицу. Таким образом, синдромы окрашенных кодовых слов Ci,m могут вычисляться эффективно посредством окрашивания синдромов кодовых слов Ci. Такое рассмотрение всех режимов не увеличивает сложность по принципу наихудшего случая вычисления синдромов.where sig k (a k )) can be tabulated. Thus, the syndromes of colored codewords C i,m can be computed efficiently by coloring the syndromes of codewords C i . This consideration of all modes does not increase the complexity of the worst-case calculation of syndromes.

Если m существует, так что

Figure 00000094
для
Figure 00000092
, то режим m выбирается. Следует отметить, что это всегда имеет место, если ошибки при передаче не возникают, и что посредством выбора sigk, такое m является обязательно уникальным.If m exists, so
Figure 00000094
For
Figure 00000092
, then the mode m is chosen. It should be noted that this is always the case if no transmission errors occur, and that by choosing sig k , such m is necessarily unique.

В противном случае, ошибки при передаче возникают, и обнаружение режима переходит к вычислению полиномов локатора ошибок для оставшихся режимов. На этой стадии предусмотрены полиномы:Otherwise, transmission errors occur and mode detection proceeds to compute error locator polynomials for the remaining modes. At this stage, polynomials are provided:

Figure 00000095
(38)
Figure 00000095
(38)

где

Figure 00000096
, и где коэффициенты являются уникальным решением для:Where
Figure 00000096
, and where the coefficients are the unique solution for:

Figure 00000097
(39)
Figure 00000097
(39)

для

Figure 00000098
. Такой полином не обязательно существует, если кодовое слово i не является корректируемым в режиме m, и если встречается кодовое слово, для которого не может обнаруживаться такой
Figure 00000099
, режим m исключается из списка возможных вариантов режимов.For
Figure 00000098
. Such a polynomial does not necessarily exist if codeword i is not modifiable in mode m, and if a codeword is encountered for which no such
Figure 00000099
, mode m is excluded from the list of possible modes.

В противном случае, т.е. такой

Figure 00000099
обнаруживается, значение риска вычисляется для всех m оставшихся режимов согласно:Otherwise, i.e. such
Figure 00000099
is detected, the risk value is calculated for all m remaining modes according to:

Figure 00000100
(40)
Figure 00000100
(40)

Длина 14 кодового слова настоящим используется в качестве оценки для реального риска

Figure 00000101
, поскольку Li изменяется от 13 до 15 для рассматриваемых размеров интервалов. Режимы, для которых ρm превышает данное пороговое значение, исключаются из последующей обработки. Следует отметить, что пороговое значение, например, составляет 6×10-8; тем не менее, это значение может изменяться в зависимости от требуемого качества передачи и других требуемых критериев.The length 14 of the code word is hereby used as an estimate for the real risk
Figure 00000101
, since L i varies from 13 to 15 for the considered interval sizes. Modes for which ρ m exceeds this threshold value are excluded from further processing. It should be noted that the threshold value is, for example, 6×10 -8 ; however, this value may vary depending on the desired transmission quality and other required criteria.

Для оставшихся режимов (на этой стадии обычно остается только один режим) полиномы локатора ошибки разлагаются на множители в GF(16)[x]. Говорят, что разложение на множители завершается удачно, если полином разбивается на различные линейные коэффициенты следующего вида:For the remaining modes (usually only one mode remains at this stage), the error locator polynomials are factorized in GF(16)[x]. Factoring is said to succeed if the polynomial is decomposed into various linear coefficients of the following form:

Figure 00000102
(41)
Figure 00000102
(41)

Если это имеет место, то

Figure 00000103
является корректируемым в допустимое кодовое слово
Figure 00000104
посредством модификации
Figure 00000105
для
Figure 00000106
. Все режимы, для которых по меньшей мере один полином локатора ошибок не разбивается согласно формуле (41), исключаются из списка возможных вариантов режимов. Если несколько режимов остаются в списке возможных вариантов, определенный режим mfec декодирования выбирается таким образом, что риск ρmfec при декодировании является минимальным.If this is the case, then
Figure 00000103
is correctable into a valid code word
Figure 00000104
through modification
Figure 00000105
For
Figure 00000106
. All modes for which at least one error locator polynomial is not partitioned according to formula (41) are excluded from the list of possible modes. If several modes remain in the list of possible options, a particular decoding mode m fec is chosen such that the decoding risk ρ mfec is minimal.

При успешном обнаружении режима, выполняется коррекция ошибок кодовых слов

Figure 00000107
. Если коррекция завершается неудачно, кадр помечается в качестве плохого кадра, и декодирование завершается. В противном случае, данные декодируются после выполнения обесцвечивания согласно выбранному режиму в избыточном декодере 24 согласно компоновкам данных кодера в режиме mfec FEC.If the mode is successfully detected, codeword error correction is performed.
Figure 00000107
. If the correction fails, the frame is marked as a bad frame and decoding ends. Otherwise, the data is decoded after performing bleaching according to the selected mode in the redundant decoder 24 according to the encoder data arrangements in the m fec FEC mode.

Если mfec>1, декодированные данные проходят проверку достоверности посредством повторного вычисления хэш-значения и сравниваются с хэш-значением, включенным в передаваемые кодовые слова, в постпроцессоре 68. Если проверка достоверности завершается удачно, декодированные данные выводятся согласно компоновке данных в кодере. В противном случае, плохой кадр передается в служебных сигналах в канальный кодер 2.If m fec >1, the decoded data is validated by recalculating the hash value and compared with the hash value included in the transmitted codewords in the post processor 68. If the validation succeeds, the decoded data is output according to the data layout in the encoder. Otherwise, the bad frame is signaled to channel encoder 2.

Когда режим декодирования выбирается, указатель режима декодирования, указывающий определенный режим декодирования, формируется и отправляется в модуль 22 обесцвечивания, Декодер 24 RS и постпроцессор 68, как показано на фиг. 20. Кроме того, как показано на фиг. 20, модуль 22 обесцвечивания обесцвечивает согласно режиму mfec посредством подвергания операции XOR первых 6 кодовых слов с sigmfec(k). Декодер 24 RS извлекает только части данных кодовых слов, т.е. коррекция ошибок выполняется раньше для окрашенных кодовых слов. Указатель режима декодирования также отправляется в декодер 24 RS, поскольку необходимо знать определенный режим декодирования для идентификации величины избыточности. Процесс декодирования для декодирования согласно определенному режиму декодирования способом, раскрытым в источнике "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005 г. Модуль 64 объединения данных конкатенирует ввод, чтобы получать вывод, и постпроцессор 68 проверяет достоверность данных, если mfec>1, и удаляет хэш-данные.When a decoding mode is selected, a decoding mode indicator indicating the determined decoding mode is generated and sent to the decolorization unit 22, the RS decoder 24, and the post processor 68, as shown in FIG. 20. In addition, as shown in FIG. 20, the decolorizer 22 decolorizes according to the m fec mode by XORing the first 6 codewords with sig mfec(k) . The RS decoder 24 extracts only parts of the codeword data, i.e. error correction is performed earlier for colored codewords. The decoding mode indicator is also sent to the RS decoder 24 because it is necessary to know the specific decoding mode to identify the amount of redundancy. A decoding process for decoding according to a certain decoding mode in the manner disclosed in "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005. The data fusing module 64 concatenates the input to obtain an output, and the post processor 68 validates the data, if m fec >1, and deletes the hash data.

В соответствии с вариантами осуществления настоящей заявки, канальный кодер указывает режим кодирования посредством применения окрашивающей последовательности к кодовому слову кадра. Следовательно, необязательно отдельно передавать данные, чтобы указывать определенный режим кодирования и требуемые параметры, и за счет этого скорость передачи данных повышается. Помимо этого, информация/указатель режима кодирования включается в кодовое слово посредством применения окрашивающей последовательности, которая выбирается в соответствии с режимом кодирования, и за счет этого можно обеспечить устойчивую к ошибкам передачу в служебных сигналах информации режима. Кроме того, информация/указатель режима кодирования распределяется в кодовом слове посредством применения окрашивающей последовательности, и в силу этого информация/указатель режима кодирования принимается в канальном декодере устойчивым к ошибкам способом. Помимо этого, канальный декодер имеет возможность определять режим декодирования без отдельного приема конкретной информации относительно режима и параметров декодирования, с тем чтобы определять режим декодирования. Следовательно, коэффициент передачи данных канала эффективно улучшается.According to embodiments of the present application, a channel encoder indicates an encoding mode by applying a coloring sequence to a frame codeword. Therefore, it is not necessary to separately transmit data to indicate a certain coding mode and required parameters, and thereby the data transmission rate is improved. In addition, the coding mode information/indicator is included in the codeword by applying a coloring sequence which is selected according to the coding mode, and thereby error-resistant signaling of the mode information can be achieved. In addition, the coding mode information/indicator is distributed in the codeword by applying a coloring sequence, and therefore the coding mode information/indicator is received in the channel decoder in an error-tolerant manner. In addition, the channel decoder is able to determine the decoding mode without separately receiving specific information regarding the decoding mode and parameters so as to determine the decoding mode. Therefore, the transmission ratio of the channel is effectively improved.

В соответствии с вариантами осуществления настоящей заявки, канальный декодер выполняет тестовое декодирование для анализа того, возникает ли ошибка, для обнаружения режима декодирования. Следовательно, в случае если ошибка при передаче не возникает, надежный режим декодирования определяется при простом вычислении.According to embodiments of the present application, a channel decoder performs test decoding to analyze whether an error occurs to detect a decoding mode. Therefore, in the case where a transmission error does not occur, a reliable decoding mode is determined by a simple calculation.

В соответствии с вариантами осуществления настоящей заявки, в случае если ошибка при передаче возникает, канальный декодер выполняет коррекцию ошибок для заданного числа кодовых слов в качестве теста и вычисляет значение риска ошибок (показатель надежности). Следовательно, без приема конкретной информации и параметров из канального кодера, можно определять соответствующий режим декодирования посредством проверки заданного числа кодовых слов и рассмотрения показателя надежности.According to embodiments of the present application, if a transmission error occurs, the channel decoder performs error correction for a given number of codewords as a test, and calculates an error risk value (reliability index). Therefore, without receiving specific information and parameters from the channel encoder, it is possible to determine the appropriate decoding mode by checking the predetermined number of codewords and considering the reliability index.

В соответствии с вариантами осуществления настоящей заявки, указатель режима декодирования содержит детектор режима декодирования для обнаружения режима декодирования посредством проверки заданного числа кодовых слов, чтобы выводить возможный вариант режима декодирования в списке возможных вариантов режимов декодирования. Возможные варианты в списке возможных вариантов исключаются или помещаются в черный список на основе возникающих ошибок, и определенный режим декодирования в завершение выбирается из оставшихся возможных вариантов режимов декодирования в списке возможных вариантов, с учетом показателя надежности (значения риска). В таком случае, указатель режима декодирования включает в себя значение риска выбранного режима декодирования, и в случае, если риск ошибки превышает заданное пороговое значение, кадр регистрируется в качестве плохого кадра. Следовательно, можно выбирать надежный и надлежащий режим декодирования посредством проверки только заданного числа кодовых слов.According to embodiments of the present application, the decoding mode indicator comprises a decoding mode detector for detecting a decoding mode by checking a predetermined number of codewords to output a decoding mode candidate in a decoding mode candidate list. The candidates in the candidate list are excluded or blacklisted based on the occurring errors, and the determined decoding mode is finally selected from the remaining decoding mode candidates in the candidate list, taking into account the reliability score (risk value). In such a case, the decoding mode indicator includes a risk value of the selected decoding mode, and if the error risk exceeds a predetermined threshold, the frame is registered as a bad frame. Therefore, it is possible to select a reliable and proper decoding mode by checking only a predetermined number of codewords.

Далее описываются дополнительные варианты осуществления.Further embodiments are described below.

Прямая коррекция ошибок на уровне приложенийForward error correction at the application layer

1. Канальный кодер1. Channel encoder

1.1. Функции и определения1.1. Functions and definitions

1.2. Общие параметры канального кодера1.2. General parameters of the channel encoder

1.2.1. Режим FEC1.2.1. FEC mode

Режим m FEC является числом от 1 до 4, где m=1 обеспечивает только базовую защиту от ошибок, и m=2, 3, 4 обеспечивает улучшение характеристик коррекции ошибок. В канальном кодере, режим FEC обозначается посредством mfec, а в канальном декодере он обозначается nfec.The FEC mode m is a number from 1 to 4, where m=1 provides only basic error protection, and m=2, 3, 4 provides enhanced error correction performance. In a channel encoder, the FEC mode is denoted by m fec , and in a channel decoder it is denoted by n fec .

1.2.2. Размер интервала1.2.2. Interval size

Размер Ns интервала указывает размер канально кодированного кадра в октетах (байтах). Ns может принимать все целочисленные значения от 40 до 300, охватывающие номинальные скорости передачи битов от 32 до 240 Кбит/с на частоте кадров в 100 Гц.The slot size N s indicates the size of the channel-encoded frame in octets (bytes). N s can take on all integer values from 40 to 300 covering nominal bit rates from 32 to 240 kbps at a frame rate of 100 Hz.

1.2.3. CMR1.2.3. CMR

Запрос CMR на предмет режима кодирования представляет собой двухбитовый символ, представленный посредством чисел 0-3.The coding mode request CMR is a two-bit character represented by the numbers 0-3.

1.2.4. Флаг объединенного канального кодирования1.2.4. Combined channel coding flag

Флаг jcc_flag объединенного канального кодирования принимает значения 0 и 1 и указывает то, что входные данные содержат данные из нескольких аудиоканалов.The jcc_flag of the combined channel coding takes the values 0 and 1 and indicates that the input data contains data from multiple audio channels.

1.3. Извлеченные параметры канального кодера1.3. Extracted channel encoder parameters

1.3.1. Число кодовых слов1.3.1. Number of code words

Параметр Ncw указывает число кодовых слов, которые используются для кодирования кадра данных. Он извлекается из размера интервала посредством:The N cw parameter specifies the number of codewords that are used to encode the data frame. It is extracted from the interval size by:

Figure 00000108
Figure 00000108

1.3.2. Длины кодовых слов1.3.2. Codeword lengths

Параметр Li задается для i=0...Ncw-1 и указывает длину i-ого кодового слова в полуоктетах. Он извлекается из размера Ns интервала следующим образом:Parameter L i is set for i=0...N cw -1 and indicates the length of the i-th code word in semi-octets. It is extracted from the size N s of the interval as follows:

Figure 00000109
Figure 00000109

1.3.3. Расстояния Хэмминга1.3.3. Hamming distances

Параметр di,m указывает расстояние Хемминга кодового слова i в режиме m FEC. Он задается следующим образом:Parameter d i , m indicates the Hamming distance of codeword i in FEC mode m. It is set as follows:

Figure 00000110
Figure 00000110

и для m>1, следующим образом:and for m>1, as follows:

Figure 00000111
Figure 00000111

1.3.4. Число кодовых слов частичной маскировки1.3.4. Number of partial masking codewords

Параметр Npcww указывает число кодовых слов частичной маскировки и извлекается из размера Ns интервала и режима m FEC следующим образом:The parameter N pcww indicates the number of partial concealment codewords and is derived from the interval size N s and the FEC mode m as follows:

Figure 00000112
Figure 00000112

1.3.5. Размер блока частичной маскировки1.3.5. Partial mask block size

Параметр Npc указывает размер блока частичной маскировки в полуоктетах и извлекается из размера Ns интервала и режима m FEC следующим образом:The parameter N pc specifies the size of the partial concealment block in semi-octets and is derived from the interval size N s and the FEC mode m as follows:

Figure 00000113
Figure 00000113

1.3.6. Размеры CRC-хэша1.3.6. CRC hash sizes

Числа NCRC1 и NCRC2, которые соответствуют размерам CRC-хэш-значений, извлекаются из размера интервала и режима m FEC посредством:The numbers N CRC1 and N CRC2 , which correspond to the sizes of the CRC hash values, are extracted from the interval size and mode m FEC by:

Figure 00000114
Figure 00000114

1.3.7. Размер рабочих данных1.3.7. Working data size

Размер Np рабочих данных указывает размер данных в канально кодированном кадре размера Ns, кодированном в режиме m FEC в октетах, который задается следующим образом:The payload data size N p indicates the data size in a channel-coded frame of size N s encoded in m FEC mode in octets, which is given by:

Figure 00000115
Figure 00000115

1.4. Алгоритмическое описание канального кодера1.4. Algorithmic description of the channel encoder

1.4.1. Ввод-вывод1.4.1. Input Output

Канальный кодер принимает в качестве ввода размер Ns интервала, режим mfec FEC, запрос CMR на предмет режима кодирования, последовательность данных, например,

Figure 00000116
из октетов и флаг jcc+flag объединенного канального кодирования и возвращает последовательность октетов
Figure 00000117
. Октеты интерпретируются в качестве чисел от 0 до 255 согласно указанному порядку байтов.The channel encoder takes as input the slot size N s , the FEC mode m fec , the CMR request for the coding mode, the data sequence, for example,
Figure 00000116
of octets and the jcc+flag flag of the combined channel coding and returns a sequence of octets
Figure 00000117
. Octets are interpreted as numbers from 0 to 255 according to the specified byte order.

1.4.2. Предварительная обработка данных1.4.2. Data preprocessing

Последовательность данных сначала разбивается на последовательность

Figure 00000118
с обратным упорядочением, где an(2k) справедливо для верхней половины,
Figure 00000119
и an(2k+1) справедливо для нижней половины. В формулах, это представляет собой:The data sequence is first split into sequence
Figure 00000118
with reverse ordering, where a n (2k) is valid for the upper half,
Figure 00000119
and a n (2k+1) is true for the bottom half. In formulas, this represents:

Figure 00000120
Figure 00000120

и:And:

Figure 00000121
Figure 00000121

Затем, CRC-хэш-значения вычисляются для битовых расширений последовательностей:Then, the CRC hash values are computed for the bit extensions of the sequences:

Figure 00000122
Figure 00000122

и:And:

Figure 00000123
Figure 00000123

Следует отметить, что Npc может быть нулевым, причем в этом случае an2 представляет собой пустую последовательность. Битовое расширение последовательности (0...n-1) полуоктетов задается посредством последовательности b (0...4N-1), где:Note that N pc may be zero, in which case an 2 is the empty sequence. The bit extension of a sequence of (0...n-1) semi-octets is given by the sequence b (0...4N-1), where:

Figure 00000124
Figure 00000124

причем k изменяется от 0 до N-1, и j изменяется от 0 до 3, и bitj является функцией, возвращающей j-ый бит согласно указанному порядку байтов.where k changes from 0 to N-1, and j changes from 0 to 3, and bit j is a function that returns the j-th bit according to the specified byte order.

Первая CRC-хэш-последовательность, вычисленная для расширения an1, имеет длину 8NCRC1-2, и двоичные порождающие полиномы задаются посредством:The first CRC hash sequence computed for the extension a n1 has length 8N CRC1 -2 and the binary generator polynomials are given by:

Figure 00000125
Figure 00000125

и:And:

Figure 00000126
Figure 00000126

Вторая CRC-хэш-последовательность, вычисленная для an2', имеет длину 8NCRC2, и двоичный порождающий полином задается посредством:The second CRC hash sequence computed for an 2' has length 8N CRC2 , and the binary generator polynomial is given by:

Figure 00000127
Figure 00000127

CRC-хэш-последовательность длины k для последовательности b двоичных данных (0...n-1), поскольку данный двоичный порождающий полином p(x) степени k задается как обычно таким образом, что она представляет собой двоичную последовательность b (0...k-1), так что двоичный полином:A CRC hash sequence of length k for a sequence b of binary data (0...n-1), since the given binary generator polynomial p(x) of degree k is given as usual such that it is the binary sequence b (0.. .k-1), so the binary polynomial is:

Figure 00000128
Figure 00000128

делится на p(x).is divisible by p(x).

Пусть bn1 обозначает битовое расширение an1, и пусть bn2 обозначает битовое расширение an2. Затем последовательность

Figure 00000129
задается в качестве хэш-последовательности длины 8NCRC1-2, вычисленной для конкатенированной последовательности:Let b n1 denote the bit extension of a n1 , and let b n2 denote the bit extension of a n2 . Then the sequence
Figure 00000129
is given as a hash sequence of length 8N CRC1 -2 computed for the concatenated sequence:

Figure 00000130
Figure 00000130

Кроме того,

Figure 00000131
задается в качестве второй хэш-последовательности длины 8NCRC2, вычисленной для bn2. Следует отметить, что rn2 представляет собой пустую последовательность, если NCRC2=0.Besides,
Figure 00000131
is given as the second hash sequence of length 8N CRC2 computed for b n2 . It should be noted that r n2 is an empty sequence if N CRC2 =0.

Первая предварительно обрабатываемая последовательность

Figure 00000132
данных затем задается посредством:First preprocessing sequence
Figure 00000132
data is then given by:

Figure 00000133
Figure 00000133

Figure 00000134
Figure 00000134

Figure 00000135
Figure 00000135

Figure 00000136
Figure 00000136

Figure 00000137
Figure 00000137

и:And:

Figure 00000138
Figure 00000138

Конечная предварительно обработанная последовательность данных задается посредством перестановки битов CMR в положениях 8NCRC1-2 и 8NCRC1-1 с битами в положениях

Figure 00000139
и k+2, т.е.:The final preprocessed data sequence is specified by swapping the CMR bits at positions 8N CRC1 -2 and 8N CRC1 -1 with bits at positions
Figure 00000139
and k+2, i.e.:

Figure 00000140
Figure 00000140

Figure 00000141
Figure 00000141

Figure 00000142
Figure 00000142

Figure 00000143
Figure 00000143

и:And:

Figure 00000144
Figure 00000144

для n, отличающегося от 8NCRC1-2, 8NCRC1-1, k и k+2. Перестановка этих битов обеспечивает то, что биты CMR сохраняются в независимых от режима EC положениях битов, расположенных в середине канально кодированного потока битов.for n other than 8N CRC1 -2, 8N CRC1 -1, k and k+2. Swapping these bits ensures that the CMR bits are stored in EC mode-independent bit positions located in the middle of the channel-coded bitstream.

Битовая последовательность bpp преобразуется в последовательность

Figure 00000145
полуоктетов посредством инвертирования битового расширения, т.е.:The bit sequence b pp is converted to the sequence
Figure 00000145
semi-octets by inverting the bit extension, i.e.:

Figure 00000146
Figure 00000146

Следует отметить, что необязательно фактически выполнять битовые расширения, описанные в этом разделе, поскольку CRC-хэш могут вычисляться эффективно для блоков данных.It should be noted that it is not necessary to actually perform the bit extensions described in this section, since the CRC hash can be computed efficiently for blocks of data.

1.4.3. Кодирование по Риду-Соломону1.4.3. Reed-Solomon coding

Для кодирования по Риду-Соломону (RS), предварительно обработанная последовательность app данных из раздела 1.4.2 разбивается на Ncw последовательностей Di, также называемых «словами данных», согласно:For Reed-Solomon (RS) encoding, the pre-processed data sequence a pp from section 1.4.2 is split into N cw D i sequences, also called "data words", according to:

Figure 00000147
,
Figure 00000147
,

где i изменяется от 0 до Ncw-1, и где точки Si разбиения индуктивно задаются посредством S0=0 и

Figure 00000148
.where i varies from 0 to N cw -1, and where the points Si of the partition are inductively given by S 0 =0 and
Figure 00000148
.

Коды RS конструируются по

Figure 00000149
, причем остаточный класс x в
Figure 00000150
выбирается в качестве генератора единичных групп, обозначаемого, как обычно, посредством a.RS codes are constructed according to
Figure 00000149
, and the residual class x in
Figure 00000150
is chosen as the identity group generator, denoted as usual by a.

Полуоктеты преобразуются в элементы GF(16) с использованием преобразования данных в символы:Semi-octets are converted to GF(16) elements using data-to-character conversion:

Figure 00000151
Figure 00000151

Преобразование представляет собой «один к одному», и обратное преобразование обозначается как

Figure 00000152
, так что
Figure 00000153
The transformation is one-to-one and the inverse transformation is denoted as
Figure 00000152
, So
Figure 00000153

При этой системе обозначений, порождающие полиномы Рида-Соломона для расстояний 3, 5 и 7 Хэмминга задаются посредством:Under this notation, the generating Reed-Solomon polynomials for 3, 5, and 7 Hamming distances are given by:

Figure 00000154
Figure 00000154

Figure 00000155
Figure 00000155

и:And:

Figure 00000156
Figure 00000156

Для i, изменяющегося от 0 до Ncw-1, избыточные последовательности RS

Figure 00000157
для слов Di данных вычисляются. Они представляют собой (уникально определенные) последовательности полуоктетов, так что полином:For i ranging from 0 to N cw -1, the redundant RS sequences
Figure 00000157
for data words D i are calculated. They are (uniquely defined) sequences of semi-octets, so the polynomial is:

Figure 00000158
Figure 00000158

делится на

Figure 00000159
; i-ое кодовое слово Ci затем задается таким образом, что оно представляет собой последовательность Li полуоктетов, заданную посредством:divided by
Figure 00000159
; The i-th codeword C i is then set such that it is a sequence Li of semi-octets given by:

Figure 00000160
Figure 00000160

и:And:

Figure 00000161
Figure 00000161

Следует отметить, что если di, mfec=1, избыточная последовательность RS является пустой, и Ci просто равен Di Note that if d i, mfec =1, the redundant RS sequence is empty and C i is simply equal to D i

1.4.4. Передача в служебных сигналах информации режима1.4.4. Mode information signaling

Режим mfec FEC передается в неявном виде, а вместо этого передается в служебных сигналах неявно посредством окрашивания первых 6 кодовых слов посредством зависимых от режима окрашивающих последовательностей, т.е.:The m fec FEC mode is transmitted implicitly, and is instead signaled implicitly by coloring the first 6 codewords with mode dependent coloring sequences, i.e.:

Figure 00000162
Figure 00000162

где bitxor(a, b) обозначает операцию побитового XOR для двух полуоктетов. Последовательности служебных сигналов sigm задаются следующим образом:where bitxor(a, b) denotes the bitwise XOR operation for two semi-octets. Signal sequences sig m are defined as follows:

Figure 00000163
Figure 00000163

Figure 00000164
Figure 00000164

Figure 00000165
Figure 00000165

Figure 00000166
Figure 00000166

Следует отметить, что окрашивание кодовых слов оставляет биты CMR в положениях 30 и 32 битов C0 неизменными.It should be noted that codeword coloring leaves the CMR bits at bit positions 30 and 32 of C 0 unchanged.

1.4.5. Мультиплексирование кодовых слов1.4.5. Codeword Multiplexing

Последовательности CCi мультиплексируются в последовательность октетов сначала посредством перемежения полуоктетов согласно:The CC i sequences are multiplexed into a sequence of octets first by semi-octet interleaving according to:

Figure 00000167
,
Figure 00000167
,

где i изменяется от 0 до Ncw-1, и k изменяется от 0 до Li-1, и затем посредством спаривания последовательных полуоктетов согласно:where i changes from 0 to N cw -1 and k changes from 0 to Li-1, and then by pairing successive half-octets according to:

Figure 00000168
Figure 00000168

где k изменяется от 0 до Ns-1.where k varies from 0 to N s -1.

1.5. Алгоритмическое описание канального декодера1.5. Algorithmic description of the channel decoder

1.5.1. Ввод-вывод1.5.1. Input Output

Канальный декодер принимает в качестве ввода размер Ns интервала и последовательность

Figure 00000169
октетов и флаг jcc_flag объединенного канального кодирования и возвращает размер Np рабочих данных, последовательность декодированных октетов
Figure 00000170
, указатель bfi плохого кадра, принимающий значения 0, 1 и 2, оценку CMR XNI, принимающую значения из 0-11, число error_report, принимающее значения от-1 до 480 (указывающее число скорректированных битов, если bfi=0), и указатель fbcwbp положения бита для частичной маскировки.The channel decoder takes as input the slot size N s and the sequence
Figure 00000169
octets and the jcc_flag of the joint channel coding and returns the size N p of payload data, the sequence of decoded octets
Figure 00000170
, a bad frame pointer bfi taking the values 0, 1 and 2, an XNI CMR score taking values from 0-11, an error_report number taking values from -1 to 480 (indicating the number of corrected bits if bfi=0), and a pointer fbcwbp bit positions for partial masking.

Значение Np и

Figure 00000170
указываются только в том случае, если bfi≠1, и значение указателя fbcwbp положения бита указывается только в том случае, если bfi=2.The value of N p and
Figure 00000170
are indicated only if bfi≠1, and the value of the bit position indicator fbcwbp is indicated only if bfi=2.

1.5.2. Демультиплексирование кодовых слов1.5.2. Demultiplexing codewords

Из размера Ns интервала, извлеченные параметры Ncw и Li вычисляются согласно разделам 1.3.1 и 1.3.2. Входная последовательность zcc(0...Ns-1) затем разбивается на последовательность zij(0...2Ns-1) полуоктетов согласно:From the interval size N s , the extracted parameters N cw and L i are calculated according to sections 1.3.1 and 1.3.2. The input sequence z cc (0...N s -1) is then split into a sequence z ij (0...2N s -1) of semi-octets according to:

Figure 00000171
Figure 00000171

и:And:

Figure 00000172
Figure 00000172

для k=0... Ns-1, и кодовые слова XXi извлекаются согласно компоновкам данных раздела 1.4.5, т.е.:for k=0...N s -1, and codewords XX i are extracted according to the data arrangements of section 1.4.5, i.e.:

Figure 00000173
Figure 00000173

где i изменяется от 0 до Ncw-1, и k изменяется от 0 до Li-1.where i changes from 0 to N cw -1 and k changes from 0 to Li-1.

1.5.3. Обнаружение режима1.5.3. Mode detection

Обнаружение режима направлено на восстановление режима mfec FEC посредством анализа кодовых слов XXi, где i изменяется от 0 до 5. Обнаруженный режим обозначается nfec и принимает значения от 0 до 4, где 0 указывает то, что режим не обнаружен. После того как режим обнаружен, все извлеченные параметры кодека, такие как размер рабочих данных, число кодовых слов частичной маскировки и т.д., задаются согласно этому режиму. Режим выбирается из списка возможных вариантов режимов, первоначально содержащего режимы FEC 1-4, который затем сужается пошагово.Mode detection aims to recover the m fec FEC mode by parsing codewords XX i , where i ranges from 0 to 5. The detected mode is denoted n fec and takes values from 0 to 4, where 0 indicates that the mode is not detected. Once a mode is detected, all retrieved codec parameters such as payload data size, number of partial masking codewords, etc. are set according to that mode. The mode is selected from a list of possible mode options, initially containing FEC modes 1-4, which is then narrowed down step by step.

1.5.3.1. Стадия 11.5.3.1. Stage 1

На стадии 1 выполняется попытка определить, кодирован ли кадр в режиме FEC 1. Для этого первые два синдрома кодового слова 0 вычисляются, при этом k-ый синдром кодового слова XXi задается в качестве символа GF(16), заданного посредством:In step 1, an attempt is made to determine if the frame is encoded in FEC mode 1. To do this, the first two syndromes of codeword 0 are calculated, with the k-th syndrome of codeword XX i set as the symbol GF(16) given by:

Figure 00000174
Figure 00000174

Режим 1 выбирается, если выполняются следующие два условия:Mode 1 is selected if the following two conditions are met:

Figure 00000175
и
Figure 00000176
Figure 00000175
And
Figure 00000176

Данные, извлеченные согласно компоновке кадров mfec=1, передают первый контроль циклическим избыточным кодом, как указано в разделе 1.5.7 с

Figure 00000177
Data extracted according to framing m fec =1 pass first CRC as specified in section 1.5.7 with
Figure 00000177

Если эти условия выполнены, error_report и bfi задаются равными 0, и канальный декодер выводит данные zdat(0...Np-1), сформированные в разделе 1.5.7. В противном случае, обнаружение режима переходит к стадии 2, и режим 1 удаляется из списка возможных вариантов.If these conditions are met, error_report and bfi are set to 0 and the channel decoder outputs data z dat (0...N p -1) generated in section 1.5.7. Otherwise, mode detection proceeds to stage 2 and mode 1 is removed from the list of options.

1.5.3.2. Стадия 21.5.3.2. Stage 2

На стадии 2 выполняется попытка определить, кодирован ли кадр в режимах FEC 2, 3 или 4. Для этого синдромы

Figure 00000178
вычисляются для i=0...5 и k=1...6.In step 2, an attempt is made to determine if the frame is encoded in FEC modes 2, 3, or 4. To do this, the syndromes
Figure 00000178
calculated for i=0...5 and k=1...6.

Если для одного

Figure 00000179
условия:If for one
Figure 00000179
conditions:

Figure 00000180
Figure 00000180

выполняются для i=0...5 и k=1...di, m-1, т.е. все синдромы, окрашенные согласно режиму m, исчезают, то

Figure 00000181
выбирается, и канальный кодер переходит к разделу 1.5.6. Следует отметить, что такой m обязательно является уникальным, так что режимы могут проверяться в любом порядке.are performed for i=0...5 and k=1...d i, m -1, i.e. all syndromes colored according to mode m disappear, then
Figure 00000181
is selected and the channel encoder proceeds to section 1.5.6. Note that such an m is necessarily unique, so the modes can be tested in any order.

Если такой m не может находиться, то обнаружение режима вычисляет полиномы

Figure 00000182
локатора ошибок для i=0...5 и m=2...4. Это проводится согласно разделу 1.5.5.1.1 с
Figure 00000183
и:If such m cannot be found, then mode detection computes the polynomials
Figure 00000182
error locator for i=0...5 and m=2...4. This is done according to section 1.5.5.1.1 with
Figure 00000183
And:

Figure 00000184
Figure 00000184

окрашенные синдромы согласно режиму m, для k=1...2t.colored syndromes according to mode m, for k=1...2t.

Все режимы m, для которых

Figure 00000185
по меньшей мере для одного i от 0 до 5 исключаются из дальнейшего рассмотрения.All modes m for which
Figure 00000185
for at least one i from 0 to 5 are excluded from further consideration.

Для оставшихся режимов, вычисляется значение риска. Значение rsk(m) риска для режима m основано на степенях полиномов

Figure 00000186
локатора ошибок и вычисляется в качестве пары "мантисса-экспонента":For the remaining modes, the risk value is calculated. The risk value rsk(m) for mode m is based on the powers of the polynomials
Figure 00000186
error locator and is calculated as a mantissa-exponent pair:

Figure 00000187
Figure 00000187

где пары

Figure 00000188
"мантисса-экспонента" указываются в таблице 2, и где умножение двух пар "мантисса-экспонента" задается следующим образом: С учетом двух пар
Figure 00000189
и
Figure 00000190
, где
Figure 00000191
, произведение
Figure 00000192
задается в качестве пары
Figure 00000193
, заданной посредством:where are the couples
Figure 00000188
"mantissa-exponent" are specified in Table 2, and where the multiplication of two pairs of "mantissa-exponent" is given as follows: Considering two pairs
Figure 00000189
And
Figure 00000190
, Where
Figure 00000191
, work
Figure 00000192
given as a pair
Figure 00000193
, given by:

Figure 00000194
Figure 00000194

Такая пара

Figure 00000189
"мантисса-экспонента" соответствует числу
Figure 00000195
.Such a couple
Figure 00000189
"mantissa-exponent" corresponds to a number
Figure 00000195
.

Табл. 2Tab. 2

Figure 00000196
\
Figure 00000197
Figure 00000196
\
Figure 00000197
00 11 22 33 1 (только для i=0)1 (only for i=0) (16384, -8)(16384, -8) (26880, -1)(26880, -1) Н/дN/A Н/дN/A 22 (16384, -8)(16384, -8) (26880, -1)(26880, -1) Н/дN/A Н/дN/A 33 (16384, -16)(16384, -16) (26880, -9)(26880, -9) (20475, -2)(20475, -2) Н/дN/A 44 (16384, -24)(16384, -24) (26880, -17)(26880, -17) (20475, -10)(20475, -10) (19195, -4)(19195, -4)

Все режимы m, для которых соответствующее значение rsk(m) риска находится выше зависимого от размера интервала порогового значения risk_thresh, удаляются из списка возможных вариантов режимов. Пороговое значение риска задается в качестве:All modes m for which the corresponding risk value rsk(m) is above the interval-dependent threshold value risk_thresh are removed from the list of possible mode options. The risk threshold is given as:

Figure 00000198
Figure 00000198

Оставшиеся режимы со значением риска, меньшим или равным risk_thresh, перечисляются в качестве mj, j=1...n, так что для каждого j=1...n-1 либо

Figure 00000199
, либо
Figure 00000200
и
Figure 00000201
является справедливым.The remaining modes with a risk value less than or equal to risk_thresh are listed as m j , j=1...n, so for each j=1...n-1 either
Figure 00000199
, or
Figure 00000200
And
Figure 00000201
is fair.

Начиная с режима m1, положения nmj, i,k ошибок в кодовых словах XXi определяются согласно разделу 1.5.5.2 с

Figure 00000202
для i=0...5. Если вычисление положения ошибки завершается удачно для всех кодовых слов, то nfec=mj выбирается, и канальный декодер переходит к разделу 1.5.5. В противном случае, если положения ошибки не могут определяться для одного индекса, такая же процедура выполняется для режима mj+1 при J<n. В противном случае, nfec задается равным 0, что указывает то, что режим не обнаружен.Starting from mode m 1 , the error positions nm j, i, k in codewords XX i are determined according to Section 1.5.5.2 with
Figure 00000202
for i=0...5. If the error position calculation succeeds for all codewords, then n fec =m j is chosen and the channel decoder proceeds to section 1.5.5. Otherwise, if the error positions cannot be determined for one index, the same procedure is performed for mode m j +1 with J<n. Otherwise, n fec is set to 0, which indicates that the mode is not detected.

В случае если режим не обнаружен, т.е.

Figure 00000203
Figure 00000204
задается равным -1, обнаружение CMR выполняется согласно разделу 1.5.4 с
Figure 00000205
до того, как канальный декодер выходит с bfi=1.If the mode is not detected, i.e.
Figure 00000203
Figure 00000204
is set to -1, CMR detection is performed according to section 1.5.4 with
Figure 00000205
before the channel decoder exits with bfi=1.

1.5.4. Оценка CMR, когда кадр не является декодируемым1.5.4. CMR estimate when frame is not decodable

В случае если кадр не является декодируемым, CMR оценивается посредством анализа первого кодового слова XX0 и соответствующих полиномов

Figure 00000206
локатора ошибок для всех режимов
Figure 00000207
где M является данным набором возможных вариантов режимов.In case the frame is not decodable, the CMR is estimated by analyzing the first codeword XX 0 and the corresponding polynomials
Figure 00000206
error locator for all modes
Figure 00000207
where M is the given set of possible modes.

Сначала, все режимы удаляются из M, для которых либо:First, all modes are removed from M for which either:

полином

Figure 00000208
локатора ошибок не является достоверным, либо:polynomial
Figure 00000208
error locator is not valid, either:

экспонента

Figure 00000209
значений риска, как указано в таблице 2, превышает -8.exhibitor
Figure 00000209
risk values, as indicated in table 2, exceeds -8.

Набор оставшихся режимов обозначается как M1.The set of remaining modes is denoted as M 1 .

Если M1 является пустым, оценка CMR XNI задается как:If M1 is empty, the CMR XNI score is given by:

Figure 00000210
Figure 00000210

здесь слагаемое 8 указывает то, что это значение не проходит проверку достоверности.here, the term 8 indicates that this value fails the validation check.

Если M1 не является не пустым, то пусть m обозначает элемент M1, для которого экспонента

Figure 00000211
значений риска является минимальной (следует отметить, что такой режим всегда существует, поскольку
Figure 00000212
и
Figure 00000213
не могут оба иметь значение -8 согласно расчетам последовательностей служебных сигналов). Затем коррекция ошибок выполняется для XX0 согласно разделу 1.5.5 с nfec=m, и оценка CMR извлекается из скорректированного кодового слова
Figure 00000214
как либо:If M1 is not non-empty, then let m denote the element of M 1 for which the exponent
Figure 00000211
risk values is minimal (it should be noted that such a regime always exists, since
Figure 00000212
And
Figure 00000213
cannot both be -8 according to signaling sequence calculations). Error correction is then performed for XX 0 according to section 1.5.5 with n fec =m and the CMR estimate is extracted from the corrected codeword
Figure 00000214
either way:

Figure 00000215
Figure 00000215

если

Figure 00000216
, где слагаемое 4 указывает, что CMR проходит проверку достоверности со средним высоким доверием, либо:If
Figure 00000216
, where the term 4 indicates that the CMR passes validation with medium high confidence, or:

Figure 00000217
Figure 00000217

если

Figure 00000218
, что указывает, что значение CMR проходит проверку достоверности с высоким доверием.If
Figure 00000218
, indicating that the CMR value passes a high-confidence validation check.

1.5.5. Коррекция ошибок1.5.5. Error Correction

Полная коррекция ошибок выполняется только при успешном обнаружении режима. В этом случае, положения ошибки для nnfec, i,k для первых 6 кодовых слов уже вычислены в разделе 1.5.3.2. Коррекция ошибок также может выполняться только для первого кодового слова для восстановления CMR. В этом случае, следующие этапы выполняются только для i=0.Full error correction is performed only when the mode is successfully detected. In this case, the error positions for n nfec, i,k for the first 6 codewords have already been calculated in section 1.5.3.2. Error correction may also be performed on only the first codeword for CMR recovery. In this case, the following steps are only performed for i=0.

Кодовые слова XXi с i≤5 корректируются посредством вычисления символов

Figure 00000219
ошибок согласно разделу 1.5.5.3 при:Codewords XX i with i≤5 are corrected by calculating symbols
Figure 00000219
errors according to section 1.5.5.3 when:

Figure 00000220
Figure 00000220

Figure 00000221
Figure 00000221

Figure 00000178
, заданным в разделе 1.5.3.2, и:
Figure 00000178
specified in section 1.5.3.2, and:

Figure 00000222
Figure 00000222

Скорректированные кодовые слова затем задаются следующим образом:The adjusted codewords are then given as follows:

Figure 00000223
Figure 00000223

где

Figure 00000224
является обратным преобразованием данных в символы, указываемым в разделе 1.4.3.Where
Figure 00000224
is the inverse data-to-character conversion specified in section 1.4.3.

Для оставшихся кодовых слов с индексом i>5, коррекция ошибок выполняется посредством выполнения обычных этапов:For the remaining codewords with index i>5, error correction is performed by performing the usual steps:

Синдромы вычисляются согласно:Syndromes are calculated according to:

Figure 00000225
Figure 00000225

для k=1...2t с

Figure 00000226
.for k=1...2t with
Figure 00000226
.

Если все синдромы являются нулевыми, кодовое слово предполагается безошибочным, и в силу этого скорректированное кодовое слово

Figure 00000227
задается равным XXi.If all syndromes are zero, the codeword is assumed to be error-free, and therefore the corrected codeword
Figure 00000227
is set to XX i .

В противном случае, полином

Figure 00000228
локатора ошибок вычисляется согласно разделу 1.5.5.1.1.Otherwise, the polynomial
Figure 00000228
error locator is calculated according to section 1.5.5.1.1.

При успешности (т.е.

Figure 00000229
, положения ошибок vk, k=0...d-1 с
Figure 00000230
вычисляются согласно разделу 1.5.5.2.If successful (i.e.
Figure 00000229
, error positions v k , k=0...d-1 s
Figure 00000230
calculated according to section 1.5.5.2.

При успешности, символы

Figure 00000231
Figure 00000232
ошибок вычисляются согласно разделу 1.5.5.3, и коррекция ошибок выполняется согласно:If successful, symbols
Figure 00000231
Figure 00000232
errors are calculated according to section 1.5.5.3 and error correction is performed according to:

Figure 00000233
Figure 00000233

Если коррекция ошибок сбоит для индекса i<Ncw-Npcww, т.е. один из этапов 3, 4 или 5 сбоит, то указатель bfi плохого кадра задается равным 1, error_report вычисляется так, как указано ниже, и канальное декодирование завершается.If error correction fails for index i<N cw -N pcww , i.e. one of steps 3, 4, or 5 fails, then the bad frame pointer bfi is set to 1, error_report is calculated as follows, and channel decoding is terminated.

Для индексов i≥Ncw-Npcww, последовательность T(Ncw-Npcww...Ncw-1) задается следующим образом. Если коррекция ошибок сбоит для индекса i<Ncw-Npcww, либо если экспонента

Figure 00000234
значений риска, как указано в таблице, превышает -16, значение T(i) задается равным 0, указывая то, что данные в кодовом слове XXi не являются надежными без дополнительной проверки достоверности. Если коррекция ошибок завершается неудачно, скорректированное кодовое слово
Figure 00000235
, тем не менее, задается как XXi, но первый указатель bfi0 плохого кадра задается равным 2.For indices i≥N cw -N pcww , the sequence T(N cw -N pcww ...N cw -1) is given as follows. If error correction fails for index i<N cw -N pcww , or if the exponent
Figure 00000234
risk values as indicated in the table is greater than -16, the value of T(i) is set to 0, indicating that the data in codeword XXi is not reliable without further validation. If error correction fails, the corrected codeword
Figure 00000235
, however, is set to XX i , but the first bad frame pointer bfi 0 is set to 2.

Значение error_report задается следующим образом. Если коррекция ошибок сбоит для индекса i<Ncw-Npcww, то пусть i1 обозначает наименьший индекс, для которого она сбоит, и выполняется задание

Figure 00000236
. Иначе, пусть I обозначает набор всех индексов 0<i<Ncw, для которых коррекция ошибок выполнена успешно. Значение error_report затем вычисляется следующим образом:The error_report value is set as follows. If error correction fails for index i<N cw -N pcww, then let i 1 be the smallest index for which it fails, and run
Figure 00000236
. Otherwise, let I denote the set of all indices 0<i<N cw for which error correction is successful. The error_report value is then calculated as follows:

Figure 00000237
,
Figure 00000237
,

т.е. как общее число битов, скорректированное в кодовых словах XXi, с

Figure 00000238
.those. as the total number of bits corrected in XX i codewords, s
Figure 00000238
.

Если Ns=40, число битовых коррекций искусственно уменьшается, чтобы увеличивать обнаружение ошибок. Если все кодовые слова скорректированы успешно, первый указатель плохого кадра задается в зависимости от зависимого от режима порогового значения emaxm ошибки, заданного следующим образом:If N s =40, the number of bit corrections is artificially reduced to increase error detection. If all codewords are corrected successfully, the first bad frame indicator is set depending on the mode dependent error threshold emax m given as follows:

Figure 00000239
Figure 00000239

Если

Figure 00000240
, то первый указатель bfi0 плохого кадра задается равным 0, и иначе он задается равным 1.If
Figure 00000240
, then the first bad frame pointer bfi 0 is set to 0, and otherwise it is set to 1.

Если Ns>40, и все кодовые слова скорректированы успешно, то первый указатель bfi0 плохого кадра задается равным 0.If N s >40 and all codewords are corrected successfully, then the first bad frame indicator bfi 0 is set to 0.

1.5.5.1.1. Вычисление полиномов локатора ошибок1.5.5.1.1. Calculation of error locator polynomials

Полином локатора ошибок вычисляется из последовательности

Figure 00000241
Figure 00000242
, символов в GF(16), где t является числом от 1 до 3.The error locator polynomial is computed from the sequence
Figure 00000241
Figure 00000242
, characters in GF(16), where t is a number between 1 and 3.

Если

Figure 00000243
для k=1...2t, полином
Figure 00000244
локатора ошибок задается равным [1].If
Figure 00000243
for k=1...2t, polynomial
Figure 00000244
error locator is set to [1].

В противном случае, детерминанты матриц Ml вычисляются для l=1...t, где:Otherwise, the determinants of the matrices M l are calculated for l=1...t, where:

Figure 00000245
Figure 00000245

Figure 00000246
Figure 00000246

Figure 00000247
Figure 00000247

и:And:

Figure 00000248
Figure 00000248

Figure 00000249
Figure 00000249

Figure 00000250
Figure 00000250

Если все детерминанты равны [0] для l=1...t, полином

Figure 00000251
локатора ошибок задается равным [0], который является недопустимым полиномом локатора ошибок в смысле 1.5.5.2.If all determinants are [0] for l=1...t, the polynomial
Figure 00000251
Error Locator is set to [0], which is an invalid error locator polynomial in the sense of 1.5.5.2.

В противном случае, τ принимается в качестве наибольшего индекса от 1 до t таким образом, что

Figure 00000252
. Затем коэффициенты полинома локатора ошибок вычисляются следующим образом:Otherwise, τ is taken as the largest index from 1 to t such that
Figure 00000252
. The error locator polynomial coefficients are then computed as follows:

Figure 00000253
Figure 00000253

где обратные матрицы задаются следующим образом:where the inverse matrices are given as follows:

Figure 00000254
Figure 00000254

Figure 00000255
Figure 00000255

Figure 00000256
Figure 00000256

Если

Figure 00000257
, полином локатора ошибок задается равны м[0].If
Figure 00000257
, the error locator polynomial is given equal to m[0].

В противном случае, если τ=t, полином локатора ошибок задается равным:Otherwise, if τ=t, the error locator polynomial is set to:

Figure 00000258
Figure 00000258

и если τ<t, дополнительно проверяется, справедливо ли:and if τ<t, it is additionally checked whether:

Figure 00000259
Figure 00000259

для n=0...2 (t-τ)-1. Если все эти равенства являются справедливыми, то полином локатора ошибок задается равным:for n=0...2 (t-τ)-1. If all these equalities are true, then the error locator polynomial is given by:

Figure 00000260
Figure 00000260

В противном случае, он задается равным [0].Otherwise, it is set to [0].

1.5.5.2. Вычисление положений ошибки1.5.5.2. Calculating Error Positions

Положения ошибки вычисляются из полинома локатора ошибок:The error positions are computed from the error locator polynomial:

Figure 00000261
Figure 00000261

Считается, что полином локатора ошибок является допустимым, если он допускает представление:An error locator polynomial is said to be valid if it can be represented:

Figure 00000262
Figure 00000262

причем в этом случае положения ошибки задаются посредством nk для k=0...d-1. В противном случае, список положений ошибки является пустым.wherein in this case the error positions are given by n k for k=0...d-1. Otherwise, the list of error positions is empty.

Значения nk могут определяться посредством проверки

Figure 00000263
для n=0...Li-1. В качестве альтернативы, табулирование местоположений ошибок, индексированных посредством
Figure 00000264
, является возможным и может быть значительно быстрее.The values of n k can be determined by checking
Figure 00000263
for n=0...Li-1. Alternatively, tabulating error locations indexed by
Figure 00000264
, is possible and can be significantly faster.

1.5.5.3. Вычисление ошибочных символов1.5.5.3. Calculation of erroneous characters

Символы ошибок вычисляются из синдромов

Figure 00000265
и положений
Figure 00000266
ошибок посредством решения линейной системы:Error symbols computed from syndromes
Figure 00000265
and regulations
Figure 00000266
errors by solving a linear system:

Figure 00000267
Figure 00000267

по GF(16), где

Figure 00000268
представляют собой матрицы Вандермонда:according to GF(16), where
Figure 00000268
are the Vandermonde matrices:

Figure 00000269
Figure 00000269

Figure 00000270
Figure 00000270

и:And:

Figure 00000271
Figure 00000271

Обратные матрицы задаются посредством:Inverse matrices are given by:

Figure 00000272
Figure 00000272

Figure 00000273
Figure 00000273

и:And:

Figure 00000274
Figure 00000274

где:Where:

Figure 00000275
Figure 00000275

и:And:

Figure 00000276
Figure 00000276

1.5.6. Обесцвечивание и декодирование RS1.5.6. Decolorization and RS decoding

Обесцвечивание согласно обнаруженному режиму nfec FEC выполняется посредством применения соответствующей последовательности служебных сигналов из раздела 1.4.4, обуславливающей обесцвеченные кодовые слова:The bleaching according to the detected n fec FEC mode is performed by applying the appropriate signaling sequence from section 1.4.4, causing the bleached codewords:

Figure 00000277
Figure 00000277

Затем избыточное декодирование применяется согласно режиму nfec с формированием слов данных:Then redundant decoding is applied according to the n fec mode to form data words:

Figure 00000278
,
Figure 00000278
,

которые комбинируются в последовательность zpp(0...Np-1) данных, с Np, как указано в разделе 1.3.7 с m=nfec, согласно:which are combined into a sequence of z pp (0...N p -1) data, with N p as specified in section 1.3.7 with m=n fec , according to:

Figure 00000279
Figure 00000279

для i=0...Ncw-1, где точки Si разбиения являются такими, как задано в разделе 1.4.3. Это дает в результате последовательность длины

Figure 00000280
. После избыточного декодирования RS, декодер FEC переходит к постобработке данных раздела 1.5.7.for i=0...N cw -1, where the split points Si are as specified in section 1.4.3. This results in a sequence of length
Figure 00000280
. After the redundant decoding of the RS, the FEC decoder proceeds to the post-processing of the data in Section 1.5.7.

1.5.7. Постобработка данных1.5.7. Data post-processing

Постобработка данных заключается в удалении и проверке достоверности хэша и извлечения CMR. Последовательность zpp из раздела 1.5.6 расширяется до соответствующей битовой последовательности ypp, из которой последовательность ypp0 извлекается посредством инвертирования перестановки битов из раздела 1.4.2, т.е. перестановки битов в положениях 8NCRC1-2 и

Figure 00000281
и битов в положениях 8NCRC1-2 и k+2.Data post-processing is to remove and validate the hash and extract the CMR. The sequence z pp from section 1.5.6 is expanded to the corresponding bit sequence y pp , from which the sequence y pp0 is extracted by inverting the bit permutation from section 1.4.2, i.e. bit swaps in positions 8N CRC1 -2 and
Figure 00000281
and bits at positions 8N CRC1 -2 and k+2.

Последовательность ypp0 затем разбивается на последовательности in1, in2, yn1ext и yn2, соответствующие

Figure 00000282
и bn2 из раздела 1.4.2, заданные посредством:The sequence y pp0 is then split into sequences i n1 , i n2 , y n1ext and y n2 corresponding to
Figure 00000282
and b n2 from section 1.4.2, given by:

Figure 00000283
Figure 00000283

Figure 00000284
Figure 00000284

Figure 00000285
Figure 00000285

Figure 00000286
Figure 00000286

и:And:

Figure 00000287
Figure 00000287

Два контроля циклическим избыточным кодом (CRC) выполняются для yn1ext и yn2, выполняются посредством повторного вычисления хэш-последовательностей, указываемых в разделе 1.4.2.Two cyclic redundancy checks (CRCs) are performed for y n1ext and y n2 , performed by recomputing the hash sequences specified in section 1.4.2.

Если вычисленная избыточная битовая последовательность 8NCRC1-2 для yn1ext, указываемая в разделе 1.4.2, не совпадает с in,1, указатель bfi плохого кадра задается равным единице, и CMR оценивается согласно разделу 1.5.4 с

Figure 00000288
В противном случае, оценка CMR задается равной:If the computed 8N CRC1 -2 excess bit sequence for y n1ext specified in section 1.4.2 does not match i n,1 , the bad frame indicator bfi is set to one and the CMR is evaluated according to section 1.5.4 with
Figure 00000288
Otherwise, the CMR score is set to:

Figure 00000289
Figure 00000289

Если первый CRC передается, и если bfi0≠2, второй CRC выполняется с вычислением хэш-последовательности 8NCRC2 для yn2, как указано в разделе 1.4.2. Если результат не совпадает с последовательностью в in,2, указатель bfi плохого кадра задается равным 2, указывая потери данных частичной маскировки. Если первый CRC передается, и bfi0=2, то bfi задается равным 2 без выполнения второго CRC.If the first CRC is transmitted, and if bfi 0 ≠2, the second CRC is performed to calculate the 8N CRC2 hash sequence for y n2 as specified in section 1.4.2. If the result does not match the sequence in i n,2 , the bad frame indicator bfi is set to 2, indicating partial concealment data loss. If the first CRC is transmitted and bfi 0 =2, then bfi is set to 2 without performing the second CRC.

Если оба CRC передаются, указатель bfi плохого кадра задается равным 0, указывая то, что декодированные данные являются допустимыми.If both CRCs are transmitted, the bad frame indicator bfi is set to 0, indicating that the decoded data is valid.

Если bfi=2, положение fbcwbp первого потенциально поврежденного бита в блоке частичной маскировки определяется из последовательности T(Ncw-Nccw...Ncw-1) из раздела 1.5.5 следующим образом.If bfi=2, the position fbcwbp of the first potentially corrupted bit in the partial concealment block is determined from the sequence T(N cw -N ccw ...N cw -1) of section 1.5.5 as follows.

Если индекс i не существует, так что Ncw-Nccw≤i<Ncw, и так что T(i)=1, либо если T(Ncw-1)=0, то fbcwbp задается равным 0. В противном случае, пусть i0 обозначает наибольший индекс, так что T(i)=1 для i0≤i<Ncw. Затем fbcwbp вычисляется следующим образом:If index i does not exist, so that N cw -N ccw ≤i<N cw , and so T(i)=1, or if T(N cw -1)=0, then fbcwbp is set to 0. Otherwise , let i 0 denote the largest index, so T(i)=1 for i0≤i<N cw . Then fbcwbp is calculated as follows:

Figure 00000290
Figure 00000290

Если bfi0≠1, выходные данные zdat формируются посредством инвертирования этапов предварительной обработки из раздела 1.4.2 посредством задания:If bfi 0 ≠1, the output zda t is generated by inverting the pre-processing steps from section 1.4.2 by specifying:

Figure 00000291
Figure 00000291

Figure 00000292
Figure 00000292

для k=0...2Np-Npc-1for k=0...2N p -N pc -1

Figure 00000293
Figure 00000293

для k=0...Npc-1for k=0...N pc -1

Figure 00000294
Figure 00000294

Figure 00000295
Figure 00000295

и:And:

Figure 00000296
Figure 00000296

для

Figure 00000297
For
Figure 00000297

Хотя некоторые аспекты описаны в контексте оборудования, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего оборудования. Некоторые или все этапы способа могут выполняться посредством (или с использованием) аппаратного оборудования, такого как, например, микропроцессор, программируемый компьютер либо электронная схема. В некоторых вариантах осуществления, один или более из самых важных этапов способа могут выполняться посредством этого оборудования.Although some aspects are described in the context of equipment, it is obvious that these aspects also represent a description of the corresponding method, with the block or device corresponding to a method step or a feature of a method step. Likewise, aspects described in the context of a method step also provide a description of the associated block or element, or feature of the associated equipment. Some or all of the steps of the method may be performed by (or using) hardware such as, for example, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important steps of the method may be performed by this equipment.

Поток согласно изобретению данных может сохраняться на цифровом носителе хранения данных либо может передаваться по среде передачи, такой как беспроводная среда передачи или проводная среда передачи, к примеру, Интернет.The data stream according to the invention may be stored on a digital storage medium or may be transmitted over a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.

В зависимости от определенных требований к реализации, варианты осуществления заявки могут реализовываться в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя хранения данных, например, гибкого диска, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные электронно считываемые управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ. Следовательно, цифровой носитель хранения данных может быть машиночитаемым.Depending on certain implementation requirements, embodiments of the application may be implemented in hardware or in software. The implementation may be performed using a digital storage medium, such as a floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM, or flash memory, having electronically readable control signals stored that interact (or are capable of interacting) with programmable computer system in such a way that the corresponding method is carried out. Therefore, the digital storage medium can be machine readable.

Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронно считываемые управляющие сигналы, которые допускают взаимодействие с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.Some embodiments of the invention comprise a storage medium having electronically readable control signals that are capable of interacting with a programmable computer system such that one of the methods described herein is implemented.

В общем, варианты осуществления настоящей заявки могут реализовываться как компьютерный программный продукт с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт выполняется компьютером. Программный код, например, может сохраняться на машиночитаемом носителе.In general, embodiments of the present application may be implemented as a computer program product with program code, wherein the program code is configured to perform one of the methods when the computer program product is executed by a computer. The program code may, for example, be stored on a computer-readable medium.

Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, сохраненную на машиночитаемом носителе.Other embodiments comprise a computer program for carrying out one of the methods described herein, stored on a computer-readable medium.

Другими словами, вариант осуществления способа согласно изобретению в силу этого представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа работает на компьютере.In other words, an embodiment of the method according to the invention is therefore a computer program having program code for carrying out one of the methods described herein when the computer program is running on a computer.

Следовательно, дополнительный вариант осуществления способов согласно изобретению представляет собой носитель хранения данных (цифровой носитель хранения данных или машиночитаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе. Носитель данных, цифровой носитель хранения данных или носитель с записанными данными обычно является физическим и/или постоянным.Therefore, a further embodiment of the methods of the invention is a storage medium (digital storage medium or computer-readable medium) containing a recorded computer program for carrying out one of the methods described herein. The storage medium, digital storage medium or recorded data medium is usually physical and/or permanent.

Следовательно, дополнительный вариант осуществления способа согласно изобретению представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.Therefore, a further embodiment of the method according to the invention is a data stream or sequence of signals representing a computer program for implementing one of the methods described herein. The data stream or signal sequence, for example, may be configured to be transmitted over a data connection, such as the Internet.

Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью осуществления одного из способов, описанных в данном документе.An additional embodiment includes processing means, such as a computer or programmable logic device, configured to perform one of the methods described herein.

Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.An additional embodiment comprises a computer having a computer program installed to implement one of the methods described herein.

Дополнительный вариант осуществления согласно изобретению содержит оборудование или систему, выполненную с возможностью передачи (например, электронно или оптически) компьютерной программы для осуществления одного из способов, описанных в данном документе, в приемное устройство. Приемное устройство, например, может представлять собой компьютер, мобильное устройство, запоминающее устройство и т.п. Оборудование или система, например, может содержать файловый сервер для передачи компьютерной программы в приемное устройство.An additional embodiment according to the invention comprises equipment or a system capable of transmitting (eg, electronically or optically) a computer program for performing one of the methods described herein to a receiving device. The receiving device may, for example, be a computer, mobile device, storage device, or the like. The equipment or system, for example, may include a file server for transmitting a computer program to a receiving device.

В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнять части или всех из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого аппаратного оборудования.In some embodiments, a programmable logic device (eg, a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, a user-programmable gate array may interface with a microprocessor to perform one of the methods described herein. In general, the methods are preferably carried out by any hardware.

Устройство, описанное в данном документе, может быть реализовано с использованием аппаратного оборудования либо с использованием компьютера, либо с использованием сочетания аппаратного устройства и компьютера.The apparatus described herein may be implemented using hardware, either using a computer, or using a combination of a hardware device and a computer.

Устройство, описанное в данном документе, или любые компоненты устройства, описанного в данном документе, могут быть реализованы по меньшей мере частично в аппаратном обеспечении и/или в программном обеспечении.The device described herein, or any components of the device described herein, may be implemented at least in part in hardware and/or software.

Claims (146)

1. Канальный кодер для кодирования кадра, содержащий:1. Channel encoder for encoding a frame, containing: - многорежимный избыточный кодер для избыточного кодирования кадра в соответствии с определенным режимом кодирования из набора различных режимов кодирования, при этом многорежимный избыточный кодер выполнен с обеспечением возможности кодирования кадра с использованием каждого режима кодирования в наборе,- a multi-mode redundant encoder for redundantly encoding a frame in accordance with a certain coding mode from a set of different coding modes, wherein the multi-mode redundant encoder is configured to encode a frame using each coding mode in the set, - при этом режимы кодирования отличаются друг от друга относительно величины избыточности, добавляемой в кадр, при этом многорежимный избыточный кодер выполнен с возможностью вывода кодированного кадра, включающего в себя по меньшей мере одно кодовое слово; иwherein the coding modes differ from each other with respect to the amount of redundancy added to the frame, wherein the multi-mode redundant encoder is configured to output an encoded frame including at least one codeword; And - модуль окрашивания для применения окрашивающей последовательности по меньшей мере к одному кодовому слову;a coloring module for applying a coloring sequence to at least one codeword; - при этом окрашивающая последовательность является такой, что по меньшей мере один бит кодового слова изменяется посредством применения по меньшей мере одной из окрашивающей последовательности, при этом модуль окрашивания выполнен с возможностью выбора конкретной окрашивающей последовательности в соответствии с определенным режимом кодирования,wherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one of the coloring sequences, wherein the coloring module is configured to select a specific coloring sequence in accordance with a certain coding mode, - при этом канальный кодер дополнительно содержит:- while the channel encoder additionally contains: - модуль разбиения данных для разбиения кадра на множество слов данных, при этом многорежимный избыточный кодер выполнен с возможностью кодирования каждого из множества слов данных согласно определенному режиму кодирования для получения множества кодовых слов,- a data splitter for splitting a frame into a plurality of data words, wherein the multi-mode redundant encoder is configured to encode each of the plurality of data words according to a certain coding mode to obtain a plurality of code words, - при этом модуль окрашивания выполнен с возможностью применения конкретной окрашивающей последовательности к каждому кодовому слову в заданном числе кодовых слов или в заданном поднаборе множества кодовых слов.wherein the coloring module is configured to apply a specific coloring sequence to each codeword in a given number of codewords or in a given subset of a plurality of codewords. 2. Канальный кодер по п. 1, в котором многорежимный избыточный кодер выполнен с возможностью применения определенного режима кодирования в предыдущем кадре, при этом первый режим кодирования имеет ассоциированную окрашивающую последовательность, при этом многорежимный избыточный кодер выполнен с возможностью приёма для текущего кадра указателя на использование второго режима кодирования, имеющего ассоциированную дополнительную окрашивающую последовательность, и при этом модуль окрашивания выполнен с возможностью применения дополнительной окрашивающей последовательности в текущем кадре, или при этом выполняется обход дополнительного окрашивания с окрашивающей последовательностью в текущем кадре.2. The channel encoder according to claim 1, in which the multi-mode redundant encoder is configured to apply a certain coding mode in the previous frame, while the first coding mode has an associated coloring sequence, while the multi-mode redundant encoder is configured to receive a use indicator for the current frame a second coding mode having an associated additional coloring sequence, and wherein the coloring module is configured to apply the additional coloring sequence in the current frame, or bypassing the additional coloring with the coloring sequence in the current frame. 3. Канальный кодер по п. 1, дополнительно содержащий:3. The channel encoder according to claim 1, further comprising: - контроллер для обеспечения критериев кодирования, при этом критерии кодирования задают коэффициент избыточности кадра, при этом многорежимный избыточный кодер выполнен с возможностью добавления избыточности в кадр в соответствии с коэффициентом избыточности, заданным посредством определенного режима кодирования, и переменным или фиксированным целевым размером кодированного кадра.- a controller for providing coding criteria, wherein the coding criteria specifies a frame redundancy factor, wherein the multi-mode redundant encoder is configured to add redundancy to the frame in accordance with the redundancy factor specified by a certain coding mode and a variable or fixed target size of the encoded frame. 4. Канальный кодер по п. 3, в котором многорежимный кодер выполнен с возможностью определения режима кодирования на основе требуемой силы защиты данных,4. The channel encoder of claim 3, wherein the multi-mode encoder is configured to determine an encoding mode based on a desired data security strength, - при этом контроллер выполнен с возможностью определения требуемой силы защиты данных на основе оцененного уровня ошибок передаваемого канала.wherein the controller is configured to determine the required data protection strength based on the estimated error rate of the transmitted channel. 5. Канальный кодер по п. 1, в котором контроллер выполнен с возможностью переключения определенного режима кодирования, используемого для кодирования кадра, и формирования информации режима кодирования, указывающей определенный режим кодирования,5. The channel encoder of claim 1, wherein the controller is configured to switch the specific coding mode used to encode the frame and generate coding mode information indicating the specific coding mode, - при этом многорежимный избыточный кодер выполнен с возможностью приёма информации режима кодирования и выполнения избыточного кодирования для получения по меньшей мере одного кодового слова в соответствии с определенным режимом кодирования, указываемым посредством принимаемой информации режима кодирования,wherein the multi-mode redundant encoder is configured to receive coding mode information and perform redundant coding to obtain at least one codeword in accordance with a certain coding mode indicated by the received coding mode information, - при этом модуль окрашивания выполнен с возможностью приёма указателя для указания конкретной окрашивающей последовательности и применения указанной конкретной окрашивающей последовательности к упомянутому по меньшей мере одному кодовому слову.wherein the coloring module is configured to receive a pointer to indicate a specific coloring sequence and apply said specific coloring sequence to said at least one code word. 6. Канальный кодер по п. 5, в котором модуль окрашивания выполнен с возможностью приёма указателя для указания конкретной окрашивающей последовательности либо из контроллера, либо из многорежимного избыточного кодера.6. The channel encoder of claim 5, wherein the coloring module is configured to receive a pointer to indicate a specific coloring sequence, either from a controller or from a multi-mode redundant encoder. 7. Канальный кодер по п. 1, в котором модуль окрашивания выполнен с возможностью выполнения окрашивания по меньшей мере одного кодового слова посредством вычисления побитового XOR для по меньшей мере одного кодового слова и конкретной окрашивающей последовательности.7. The channel encoder of claim 1, wherein the coloring module is configured to perform coloring on at least one codeword by computing a bitwise XOR for at least one codeword and a specific coloring sequence. 8. Канальный кодер по п. 1, в котором модуль разбиения данных выполнен с возможностью вычисления числа кодовых слов на основе целевого размера для кадра, при этом длина слова данных, которое включается в кодовое слово, изменяется на основе вычисленного числа кодовых слов.8. The channel encoder of claim 1, wherein the data splitter is configured to calculate the number of codewords based on the target size for the frame, wherein the length of the data word that is included in the codeword is changed based on the calculated number of codewords. 9. Канальный кодер по п. 1, содержащий:9. Channel encoder according to claim 1, containing: - аудио/видеокодер для кодирования данных аудио/видеокадров, при этом аудио/видеокодер выполнен с возможностью задания набора данных аудио/видеокадров на основе определенного режима.- an audio/video encoder for encoding audio/video frame data, wherein the audio/video encoder is configured to specify a set of audio/video frame data based on a specific mode. 10. Канальный кодер по п. 1, содержащий:10. Channel encoder according to claim 1, containing: - препроцессор для вычисления хэш-значения в аудио/видеокадре, при этом:- a preprocessor for computing a hash value in an audio/video frame, while: - препроцессор выполнен с возможностью конкатенации хэш-значения и аудио/видеокадра.- the preprocessor is configured to concatenate the hash value and the audio/video frame. 11. Канальный кодер по п. 1, в котором модуль разбиения данных выполнен с возможностью разбиения кадра, при этом по меньшей мере одно слово данных состоит по меньшей мере из части хэш-значения и части аудио/видеокадра.11. The channel encoder of claim 1, wherein the data splitter is configured to split a frame, wherein at least one data word consists of at least part of a hash value and part of an audio/video frame. 12. Канальный декодер для канального декодирования по меньшей мере одного передаваемого кодового слова, содержащий:12. Channel decoder for channel decoding of at least one transmitted code word, containing: - модуль окрашивания для применения по меньшей мере одной окрашивающей последовательности по меньшей мере к одному передаваемому кодовому слову либо по меньшей мере к одному передаваемому кодовому слову с коррекцией ошибок таким образом, чтобы получить по меньшей мере одно окрашенное кодовое слово,- a coloring module for applying at least one coloring sequence to at least one transmitted codeword or to at least one transmitted error correction codeword so as to obtain at least one colored codeword, - при этом окрашивающая последовательность является такой, что по меньшей мере один бит кодового слова изменяется посредством применения по меньшей мере одной окрашивающей последовательности, иwherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one coloring sequence, and - при этом по меньшей мере одна окрашивающая последовательность ассоциирована с определенным режимом декодирования в качестве конкретной окрашивающей последовательности;wherein at least one coloring sequence is associated with a certain decoding mode as a specific coloring sequence; - избыточный декодер для избыточного декодирования по меньшей мере одного окрашенного кодового слова для получения декодированного выходного кодового слова; иa redundant decoder for redundantly decoding at least one colored codeword to obtain a decoded output codeword; And - детектор режима декодирования для формирования указателя режима декодирования, указывающего определенный режим декодирования, который должен использоваться избыточным декодером для получения декодированного выходного кодового слова,a decoding mode detector for generating a decoding mode indicator indicating a specific decoding mode to be used by the redundant decoder to obtain a decoded output codeword, - при этом указатель режима декодирования ассоциирован по меньшей мере с одной окрашивающей последовательностью в качестве конкретной окрашивающей последовательности, используемой для окрашивания передаваемого кодового слова,wherein the decoding mode indicator is associated with at least one coloring sequence as the particular coloring sequence used to color the transmitted codeword, - при этом модуль окрашивания выполнен с возможностью использования в дополнение к окрашивающей последовательности по меньшей мере дополнительной окрашивающей последовательности или при этом канальный декодер выполнен с возможностью обхода модуля окрашивания в дополнительном режиме декодирования без окрашивания;wherein the coloring module is configured to use, in addition to the coloring sequence, at least an additional coloring sequence, or the channel decoder is configured to bypass the coloring module in the additional decoding mode without coloring; - при этом избыточный декодер выполнен с возможностью избыточного декодирования дополнительного по меньшей мере одного окрашенного кодового слова, окрашенного с использованием дополнительной окрашивающей последовательности, получения дополнительного декодированного кодового слова, дополнительного окрашенного кодового слова, получаемого из передаваемого кодового слова с использованием дополнительной окрашивающей последовательности, или кодового слова передачи без окрашивания для получения другого дополнительного декодированного кодового слова, иwherein the redundant decoder is configured to redundantly decode at least one additional colored codeword colored using the additional coloring sequence, obtaining an additional decoded codeword, an additional colored codeword obtained from the transmitted codeword using the additional coloring sequence, or a codeword transmission words without coloring to obtain another additional decoded codeword, and - при этом избыточный декодер выполнен с возможностью вывода показателя надежности для декодированного кодового слова, дополнительного показателя надежности для дополнительного декодированного кодового слова или другого дополнительного показателя надежности для другого дополнительного кодового слова,wherein the redundant decoder is configured to output a reliability metric for a decoded codeword, an additional reliability metric for an additional decoded codeword, or another additional reliability metric for another additional codeword, - при этом детектор режима декодирования выполнен с возможностью определения указателя режима декодирования на основании показателей надежности, иwherein the decoding mode detector is configured to determine the decoding mode indicator based on the reliability metrics, and - при этом избыточный декодер выполнен с возможностью приёма указателя режима декодирования и вывода в качестве декодированного выходного кодового слова либо декодированного кодового слова, либо дополнительного декодированного кодового слова, либо другого дополнительного декодированного кодового слова,- at the same time, the redundant decoder is configured to receive the decoding mode indicator and output either a decoded code word, or an additional decoded code word, or another additional decoded code word as a decoded output code word, - при этом модуль окрашивания выполнен с возможностью выполнения операции окрашивания с одинаковой окрашивающей последовательностью для заданного числа передаваемых кодовых слов для получения заданного числа окрашенных кодовых слов и выполнения дополнительной операции окрашивания с одинаковой дополнительной окрашивающей последовательностью для дополнительного заданного числа передаваемых кодовых слов для получения заданного числа дополнительных окрашенных кодовых слов,- at the same time, the coloring module is configured to perform a coloring operation with the same coloring sequence for a given number of transmitted code words to obtain a predetermined number of colored code words and perform an additional coloring operation with the same additional coloring sequence for an additional specified number of transmitted code words to obtain a predetermined number of additional colored code words, - при этом избыточный декодер выполнен с возможностью определения показателя надежности, извлекающего заданное число декодированных кодовых слов, дополнительного показателя надежности, извлекающего заданное число дополнительных декодированных кодовых слов, или другого дополнительного показателя надежности, извлекающего заданное число декодированных кодовых слов.wherein the redundant decoder is configured to determine a reliability metric extracting a predetermined number of decoded codewords, an additional reliability metric extracting a predetermined number of additional decoded codewords, or another additional reliability metric extracting a predetermined number of decoded codewords. 13. Канальный декодер по п. 12, в котором избыточный декодер содержит модуль уменьшения числа битов для уменьшения числа битов по меньшей мере одного окрашенного кодового слова и модуль коррекции ошибок для коррекции ошибки окрашенного кодового слова, или13. The channel decoder of claim 12, wherein the redundant decoder comprises a bit reduction module for reducing the number of bits of at least one colored codeword and an error correction module for correcting an error in the colored codeword, or - канальный декодер дополнительно содержит модуль коррекции ошибок для коррекции ошибки по меньшей мере одного передаваемого кодового слова.- the channel decoder further comprises an error correction module for correcting an error of at least one transmitted code word. 14. Канальный декодер по п. 12, в котором детектор режима декодирования выполнен с возможностью вычисления хэш-значения декодированного кадра, сравнения хэш-значения декодированного кадра и хэш-значения, ассоциированного с передаваемым кодовым словом, и определения указателя режима декодирования на основе результата сравнения хэшей,14. The channel decoder of claim 12, wherein the decoding mode detector is configured to compute a hash value of the decoded frame, compare the hash value of the decoded frame and the hash value associated with the transmitted codeword, and determine a decoding mode indicator based on the result of the comparison. hashes, - при этом модуль окрашивания выполнен с возможностью обхода операции окрашивания, иwherein the staining module is configured to bypass the staining operation, and - при этом избыточный декодер выполнен с возможностью приёма передаваемого кодового слова с использованием окрашивающей последовательности и выполнения операции избыточного декодирования в соответствии с указателем режима декодирования.- at the same time, the redundant decoder is configured to receive the transmitted code word using the coloring sequence and perform the redundant decoding operation in accordance with the decoding mode indicator. 15. Канальный декодер по п. 12, в котором модуль окрашивания выполнен с возможностью параллельного выполнения множества операций окрашивания по меньшей мере для получения окрашенного кодового слова и получения дополнительного окрашенного кодового слова,15. The channel decoder of claim 12, wherein the coloring module is configured to perform a plurality of coloring operations in parallel to at least obtain a colored codeword and obtain an additional colored codeword, - при этом избыточный декодер выполнен с возможностью параллельного выполнения множества операций избыточного декодирования по меньшей мере для получения декодированного кодового слова, получения дополнительного декодированного кодового слова и другого дополнительного кодового слова,wherein the redundant decoder is configured to perform in parallel a plurality of redundant decoding operations to at least obtain a decoded codeword, obtain an additional decoded codeword, and another additional codeword, - причем канальный декодер дополнительно содержит:- moreover, the channel decoder further comprises: - контроллер для управления выводом избыточного декодера, при этом контроллер выполнен с возможностью предписания избыточному декодеру вывести декодированное кодовое слово, дополнительное декодированное кодовое слово или другое дополнительное декодированное кодовое слово в качестве декодированного выходного кодового слова.- a controller for controlling the output of the redundant decoder, wherein the controller is configured to direct the redundant decoder to output a decoded codeword, an additional decoded codeword, or another additional decoded codeword as a decoded output codeword. 16. Канальный декодер по п. 12, в котором избыточный декодер выполнен с возможностью вычисления показателя надежности на основе числа скорректированных символов во время операции декодирования окрашенного кодового слова, дополнительного показателя надежности на основе числа скорректированных символов во время дополнительной операции декодирования дополнительного кодового слова и показателя надежности на основе числа скорректированных символов во время другой дополнительной операции декодирования другого дополнительного кодового слова.16. The channel decoder of claim 12, wherein the redundant decoder is configured to calculate a reliability metric based on the number of corrected symbols during a colored codeword decoding operation, an additional reliability metric based on the number of symbols adjusted during an additional decoding operation of the additional codeword, and a metric reliability based on the number of corrected symbols during another additional decoding operation of another additional codeword. 17. Канальный декодер по п. 12, в котором заданное число передаваемых кодовых слов составляет от 3 до 9.17. The channel decoder of claim 12, wherein the predetermined number of transmitted codewords is between 3 and 9. 18. Канальный декодер по п. 15, в котором контроллер выполнен с возможностью:18. The channel decoder of claim 15, wherein the controller is configured to: - указания избыточному декодеру выбрать определенный режим декодирования с использованием показателя надежности, или- directing the redundant decoder to select a specific decoding mode using a reliability metric, or - указания выходному интерфейсу вывести декодированное кодовое слово в качестве декодированного выходного кодового слова.- instructing the output interface to output the decoded codeword as the decoded output codeword. 19. Канальный декодер по п. 18, в котором контроллер выполнен с возможностью предписания избыточному декодеру выбрать определенный режим декодирования, имеющий наибольший показатель надежности, или предписания выходному интерфейсу выбрать в качестве декодированного выходного кодового слова декодированное кодовое слово из группы декодированных кодовых слов дополнительно с использованием различных режимов декодирования, при этом выбранное кодовое слово имеет наибольший ассоциированный показатель надежности.19. The channel decoder of claim 18, wherein the controller is configured to cause the redundant decoder to select a specific decoding mode having the highest reliability score, or to cause the output interface to select, as the decoded output codeword, a decoded codeword from a group of decoded codewords further using different decoding modes, with the selected codeword having the highest associated reliability score. 20. Канальный декодер для канального декодирования по меньшей мере одного передаваемого кодового слова, содержащий:20. Channel decoder for channel decoding of at least one transmitted codeword, comprising: - модуль окрашивания для применения по меньшей мере одной окрашивающей последовательности по меньшей мере к одному передаваемому кодовому слову либо по меньшей мере к одному передаваемому кодовому слову с коррекцией ошибок таким образом, чтобы получить по меньшей мере одно окрашенное кодовое слово,- a coloring module for applying at least one coloring sequence to at least one transmitted codeword or to at least one transmitted error correction codeword so as to obtain at least one colored codeword, - при этом окрашивающая последовательность является такой, что посредством применения по меньшей мере одной окрашивающей последовательности изменяется по меньшей мере один бит кодового слова, иwherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one coloring sequence, and - при этом по меньшей мере одна окрашивающая последовательность ассоциирована с определенным режимом декодирования в качестве конкретной окрашивающей последовательности;wherein at least one coloring sequence is associated with a certain decoding mode as a specific coloring sequence; - избыточный декодер для избыточного декодирования по меньшей мере одного окрашенного кодового слова для получения декодированного выходного кодового слова; иa redundant decoder for redundantly decoding at least one colored codeword to obtain a decoded output codeword; And - детектор режима декодирования для формирования указателя режима декодирования, указывающего определенный режим декодирования, который должен использоваться избыточным декодером для получения декодированного выходного кодового слова,a decoding mode detector for generating a decoding mode indicator indicating a specific decoding mode to be used by the redundant decoder to obtain a decoded output codeword, - при этом указатель режима декодирования ассоциирован по меньшей мере с одной окрашивающей последовательностью в качестве конкретной окрашивающей последовательности, используемой для окрашивания передаваемого кодового слова,wherein the decoding mode indicator is associated with at least one coloring sequence as the particular coloring sequence used to color the transmitted codeword, - при этом детектор режима декодирования выполнен с возможностью сохранения списка возможных вариантов, указывающего заданное число возможных вариантов режимов декодирования, при этом один возможный вариант режима декодирования указан без окрашивающей последовательности и другие соответствующие возможные варианты режимов декодирования указаны в ассоциации с окрашивающей последовательностью, и выбора одного возможного варианта режима декодирования в качестве определенного режима декодирования, который должен использоваться избыточным декодером для получения декодированного выходного кодового слова, подлежащего использованию,wherein the decoding mode detector is configured to store a list of possible decoding modes indicating a predetermined number of possible decoding modes, wherein one decoding mode candidate is indicated without a coloring sequence and other corresponding decoding mode candidates are indicated in association with a coloring sequence, and selecting one possible decoding mode option as the specific decoding mode to be used by the redundant decoder to obtain the decoded output codeword to be used, - при этом детектор режима декодирования выполнен с возможностью выполнения операции в первом режиме декодирования и операции во втором режиме декодирования,wherein the decoding mode detector is configured to perform an operation in the first decoding mode and an operation in the second decoding mode, - при этом детектор режима декодирования для выполнения операции в первом режиме декодирования выполнен с возможностью оценки определенного режима декодирования, представляющего собой возможный вариант режима декодирования без окрашивающей последовательности, для вычисления синдромов кодового слова таким образом, чтобы проверить, имеют ли вычисленные синдромы значение, равное нулю,wherein the decoding mode detector for performing an operation in the first decoding mode is configured to evaluate a certain decoding mode, which is a possible variant of the decoding mode without a coloring sequence, to calculate codeword syndromes in such a way as to check whether the calculated syndromes have a value equal to zero , - если вычисленные синдромы имеют значение, равное нулю, вычисления хэш-значения передаваемого кодового слова для сравнения вычисленного хэш-значения и хэш-значения, включенного в передаваемое кодовое слово, и- if the calculated syndromes have a value equal to zero, computing the hash value of the transmitted codeword to compare the calculated hash value and the hash value included in the transmitted codeword, and - если вычисленное хэш-значение равно включенному хэш-значению, формирования указателя режима декодирования для указания возможного варианта режима кодирования без окрашивающей последовательности в качестве определенного режима декодирования, или- if the computed hash value is equal to the included hash value, generating a decoding mode indicator to indicate a candidate coding mode without a coloring sequence as the determined decoding mode, or - если вычисленное хэш-значение отличается от включенного хэш-значения, исключения возможного варианта режима декодирования без окрашивающей последовательности из списка возможных вариантов и продолжения работы с операцией во втором режиме декодирования.- if the computed hash value differs from the included hash value, excluding the decoding mode candidate without a coloring sequence from the candidate list and continuing with the operation in the second decoding mode. 21. Канальный декодер по п. 20, в котором детектор режима декодирования содержит для выполнения операции во втором режиме декодирования:21. The channel decoder of claim 20, wherein the decoding mode detector comprises, for performing an operation in the second decoding mode: - модуль вычисления синдромов для вычисления синдрома для упомянутого по меньшей мере передаваемого кодового слова,- a syndrome calculation module for calculating a syndrome for said at least transmitted code word, - модуль окрашивания синдромов для применения окрашивающей последовательности в ассоциации с возможными вариантами режимов декодирования в списке возможных вариантов для получения окрашенных синдромов,- a syndrome staining module for applying a staining sequence in association with the decoding mode options in the candidate list to obtain stained syndromes, - при этом модуль окрашивания синдромов выполнен с возможностью применения к синдрому окрашивающих последовательностей, ассоциированных с каждым возможным вариантом режима декодирования, в списке возможных вариантов, иwherein the syndrome staining module is configured to apply to the syndrome the staining sequences associated with each possible decoding mode option in the list of possible options, and - модуль проверки синдромов для проверки, имеют ли окрашенные синдромы значение, равное нулю, для получения результата проверки синдрома,- a syndrome checking module to check if the colored syndromes have a value equal to zero to get the result of the syndrome checking, - при этом детектор режима декодирования выполнен с возможностью формирования указателя режима декодирования на основе результата проверки синдрома.wherein the decoding mode detector is configured to generate a decoding mode indicator based on the result of the syndrome check. 22. Канальный декодер по п. 21, в котором детектор режима декодирования содержит для выполнения операции во втором режиме декодирования:22. The channel decoder of claim 21, wherein the decoding mode detector comprises, for performing an operation in the second decoding mode: - модуль вычисления полиномов локатора ошибок для вычисления полинома локатора ошибок на основе синдрома в каждом возможном варианте режима декодирования в списке возможных вариантов; иan error locator polynomial calculation module for calculating an error locator polynomial based on the syndrome in each decoding mode option in the list of options; And - модуль вычисления значений риска для вычисления значения риска передаваемого кодового слова в каждом возможном варианте режима декодирования в списке возможных вариантов на основе синдрома и полинома локатора ошибок, при этом детектор режима декодирования выполнен с возможностью формирования указателя режима декодирования на основе значения риска.- a risk value calculation module for calculating the risk value of the transmitted codeword in each possible decoding mode option in the list of possible options based on the error locator syndrome and polynomial, wherein the decoding mode detector is configured to generate a decoding mode indicator based on the risk value. 23. Канальный декодер по п. 22, в котором детектор режима декодирования выполнен с возможностью оценки значения риска для передаваемого кодового слова в каждом возможном варианте режима декодирования в списке возможных вариантов для его сравнения с заданным пороговым значением и исключения возможного варианта режима декодирования из списка возможных вариантов, если соответствующее значение риска возможного варианта режима декодирования превышает пороговое значение.23. The channel decoder of claim 22, wherein the decoding mode detector is configured to evaluate a risk value for the transmitted codeword in each decoding mode candidate in the candidate list to compare it with a predetermined threshold value and exclude the decoding mode candidate from the candidate list. options if the corresponding decoding mode option risk value exceeds a threshold value. 24. Канальный декодер по п. 21, в котором детектор режима декодирования выполнен с возможностью выбора возможного варианта режима декодирования в качестве определенного режима декодирования, причём возможный вариант режима декодирования соответствует значению риска, имеющему наименьшее значение, и формирования указателя режима декодирования, указывающего определенный режим декодирования, который должен использоваться избыточным декодером для получения декодированного выходного кодового слова.24. The channel decoder of claim 21, wherein the decoding mode detector is configured to select the decoding mode candidate as the determined decoding mode, the decoding mode candidate corresponding to the risk value having the smallest value, and generating a decoding mode indicator indicating the determined mode. decoder to be used by the redundant decoder to obtain the decoded output codeword. 25. Канальный декодер по п. 22, в котором детектор режима декодирования содержит для выполнения операции во втором режиме декодирования:25. The channel decoder of claim 22, wherein the decoding mode detector comprises, for performing an operation in the second decoding mode: - модуль вычисления положений ошибки для вычисления положения ошибки в возможном варианте режима декодирования посредством разложения на множители полинома локатора ошибок,- an error position calculation module for calculating the error position in a possible variant of the decoding mode by factoring the error locator polynomial, - при этом детектор режима декодирования выполнен с возможностью приёма результата разложения на множители полинома локатора ошибок и формирования указателя режима декодирования на основе результата разложения на множители полинома локатора ошибок.- at the same time, the decoding mode detector is configured to receive the result of factorization of the error locator polynomial and generate a decoding mode indicator based on the result of factorization of the error locator polynomial. 26. Канальный декодер по п. 25, в котором детектор режима декодирования выполнен с возможностью исключения возможного варианта режима декодирования из списка возможных вариантов, если не получен результат разложения на множители полинома локатора ошибок в возможном варианте режима декодирования.26. The channel decoder of claim 25, wherein the decoding mode detector is configured to exclude the decoding mode candidate from the candidate list if no factorization result of the error locator polynomial in the decoding mode candidate is obtained. 27. Канальный декодер по п. 25, в котором детектор режима декодирования выполнен с возможностью формирования указателя режима декодирования для предписания выбора возможного варианта режима декодирования в ассоциации с результатом разложения на множители полинома локатора ошибок.27. The channel decoder of claim 25, wherein the decoding mode detector is configured to generate a decoding mode indicator for instructing the selection of a decoding mode candidate in association with a factorization result of the error locator polynomial. 28. Канальный декодер по п. 25, в котором детектор режима декодирования содержит для выполнения операции во втором режиме декодирования:28. The channel decoder of claim 25, wherein the decoding mode detector comprises, for performing an operation in the second decoding mode: - модуль вычисления ошибочных символов для вычисления ошибочного символа в каждом возможном варианте режима декодирования на основе синдрома в возможном варианте режима декодирования и вычисленного положения ошибки в том же возможном варианте режима декодирования,an error symbol calculation module for calculating an error symbol in each decoding mode candidate based on the syndrome in the decoding mode candidate and the computed error position in the same decoding mode candidate, - при этом детектор режима декодирования выполнен с возможностью приёма ошибочного символа передаваемого кодового слова в выбранном возможном варианте режима декодирования и формирования указателя режима декодирования, включающего в себя ошибочный символ передаваемого кодового слова.- at the same time, the decoding mode detector is configured to receive an erroneous symbol of the transmitted code word in the selected possible variant of the decoding mode and generate a decoding mode indicator that includes an erroneous symbol of the transmitted code word. 29. Канальный декодер по п. 28, содержащий:29. The channel decoder according to claim 28, comprising: - модуль коррекции ошибок для коррекции ошибки передаваемого кодового слова,- an error correction module for correcting the error of the transmitted code word, - при этом модуль коррекции ошибок выполнен с возможностью коррекции ошибочного символа, указанного модулем вычисления ошибочных символов.wherein the error correction module is configured to correct the erroneous symbol indicated by the error symbol calculation module. 30. Канальный декодер по п. 28, в котором:30. The channel decoder of claim 28, wherein: - детектор режима декодирования выполнен с возможностью формирования указателя режима декодирования, предписывающего отметить кадр в качестве плохого кадра:- the decoding mode detector is configured to generate a decoding mode indicator instructing to mark the frame as a bad frame: - если все возможные варианты режимов декодирования исключены из списка возможных вариантов, или- if all possible decoding mode options are excluded from the list of possible options, or - если ошибочный символ в передаваемом кодовом слове не является корректируемым.- if the erroneous symbol in the transmitted code word is not correctable. 31. Канальный декодер по п. 12 и 20, содержащий:31. The channel decoder according to claims 12 and 20, comprising: - входной интерфейс для приёма кодированного кадра, включающего в себя множество передаваемых кодовых слов,- an input interface for receiving an encoded frame, which includes a plurality of transmitted code words, - при этом множество кодовых слов составляет по меньшей мере от двух до восьми.- while the set of code words is at least from two to eight. 32. Канальный декодер по п. 20, в котором детектор режима декодирования выполнен с возможностью передачи указателя режима декодирования в модуль окрашивания и избыточный декодер,32. The channel decoder of claim 20, wherein the decoding mode detector is configured to send a decoding mode indicator to the coloring module and the redundant decoder, - при этом модуль окрашивания выполнен с возможностью выбора окрашивающей последовательности, указываемой посредством указателя режима декодирования,wherein the coloring module is configured to select a coloring sequence indicated by the decoding mode indicator, - при этом избыточный декодер выполнен с возможностью выбора определенного режима декодирования, указываемого посредством указателя режима декодирования.wherein the redundant decoder is configured to select a specific decoding mode indicated by the decoding mode indicator. 33. Канальный декодер по п. 32, дополнительно содержащий:33. The channel decoder of claim 32, further comprising: - демультиплексор или модуль обратного перемежения для демультиплексирования или обратного перемежения принимаемого кодового слова для получения по меньшей мере одного передаваемого кодового слова.- a demultiplexer or deinterleaving module for demultiplexing or deinterleaving the received codeword to obtain at least one transmitted codeword. 34. Канальный декодер по п. 32, дополнительно содержащий:34. The channel decoder of claim 32, further comprising: - модуль объединения данных для объединения множества декодированных выходных кодовых слов, чтобы получать данные аудио/видеокадров.a data combining module for combining a plurality of decoded output codewords to obtain audio/video frame data. 35. Канальный декодер по п. 34, дополнительно содержащий:35. The channel decoder of claim 34, further comprising: - постпроцессор для определения данных кадров, подлежащих выводу, посредством повторного вычисления хэш-значения полученного аудио/видеокадра, подлежащего сравнению с хэш-значением, включенным в данные кадров.- a post-processor for determining the frame data to be output by recalculating the hash value of the received audio/video frame to be compared with the hash value included in the frame data. 36. Канальный декодер по п. 12 и 20, в котором детектор режима декодирования выполнен с возможностью использования окрашивающей последовательности для определения указателя режима декодирования.36. The channel decoder of claims 12 and 20, wherein the decoding mode detector is configured to use a coloring sequence to determine a decoding mode indicator. 37. Способ кодирования кадра, содержащий этапы, на которых:37. A method for encoding a frame, comprising the steps of: - выполняют многорежимное избыточное кодирование кадра в соответствии с определенным режимом кодирования из набора различных режимов кодирования, при этом режимы кодирования отличаются друг от друга относительно величины избыточности, добавляемой в кадр,- perform multi-mode redundant coding of the frame in accordance with a certain coding mode from a set of different coding modes, while the coding modes differ from each other with respect to the amount of redundancy added to the frame, - выводят по меньшей мере одно кодовое слово;- display at least one code word; - применяют окрашивающую последовательность по меньшей мере к одному кодовому слову; при этом окрашивающая последовательность является такой, что посредством применения по меньшей мере одной окрашивающей последовательности изменяется по меньшей мере один бит кодового слова, при этом модуль окрашивания выполнен с возможностью выбора конкретной окрашивающей последовательности в соответствии с определенным режимом кодирования, и- apply the coloring sequence to at least one code word; wherein the coloring sequence is such that by applying at least one coloring sequence, at least one bit of the codeword is changed, wherein the coloring module is configured to select a specific coloring sequence in accordance with a certain coding mode, and - разбивают кадр на множество слов данных, при этом многорежимный избыточный кодер выполнен с возможностью кодирования каждого из множества слов данных согласно определенному режиму кодирования для получения множества кодовых слов,- the frame is divided into a plurality of data words, while the multi-mode redundant encoder is configured to encode each of the plurality of data words according to a certain coding mode to obtain a plurality of code words, - при этом конкретная окрашивающая последовательность применяется к каждому кодовому слову в заданном числе кодовых слов или в заданном поднаборе множества кодовых слов.wherein a particular coloring sequence is applied to each codeword in a given number of codewords or in a given subset of a plurality of codewords. 38. Способ по п. 37, содержащий этапы, на которых:38. The method of claim 37, comprising the steps of: - применяют определенный режим кодирования в предыдущем кадре, при этом первый режим кодирования имеет ассоциированную окрашивающую последовательность,- apply a certain coding mode in the previous frame, while the first coding mode has an associated coloring sequence, - принимают для текущего кадра указатель использования второго режима кодирования, имеющего ассоциированную дополнительную окрашивающую последовательность, иreceiving for the current frame a use indicator of the second coding mode having an associated additional coloring sequence, and - применяют дополнительную окрашивающую последовательность в текущем кадре или обходят применение окрашивающей последовательности в текущем кадре.- apply an additional coloring sequence in the current frame or bypass the application of the coloring sequence in the current frame. 39. Способ канального декодирования по меньшей мере одного передаваемого кодового слова, содержащий этапы, на которых:39. A method for channel decoding at least one transmitted codeword, comprising the steps of: - применяют по меньшей мере одну окрашивающую последовательность по меньшей мере к одному передаваемому кодовому слову для получения по меньшей мере одного окрашенного кодового слова, при этом окрашивающая последовательность является такой, что посредством применения по меньшей мере одной окрашивающей последовательности изменяется по меньшей мере один бит кодового слова, при этом по меньшей мере одна окрашивающая последовательность ассоциирована с определенным режимом декодирования,- applying at least one coloring sequence to at least one transmitted codeword to obtain at least one colored codeword, wherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one coloring sequence , wherein at least one coloring sequence is associated with a certain decoding mode, - выполняют избыточное декодирование по меньшей мере одного окрашенного кодового слова для получения декодированного выходного кодового слова,- perform redundant decoding of at least one colored code word to obtain a decoded output code word, - формируют указатель режима декодирования, указывающий определенный режим декодирования, который должен использоваться избыточным декодером для получения декодированного выходного кодового слова, при этом указатель режима декодирования ассоциирован по меньшей мере с одной окрашивающей последовательностью, используемой для окрашивания окрашенного кодового слова,- generating a decoding mode indicator indicating a specific decoding mode to be used by the redundant decoder to obtain a decoded output codeword, wherein the decoding mode indicator is associated with at least one coloring sequence used to color the colored codeword, - используют в дополнение к окрашивающей последовательности по меньшей мере дополнительную окрашивающую последовательность или при этом канальный декодер выполнен с возможностью обхода модуля окрашивания в дополнительном режиме декодирования без окрашивания;- at least an additional coloring sequence is used in addition to the coloring sequence, or the channel decoder is configured to bypass the coloring module in the additional decoding mode without coloring; - выполняют избыточное декодирование дополнительного по меньшей мере одного окрашенного кодового слова, окрашенного с использованием дополнительной окрашивающей последовательности, для получения дополнительного декодированного кодового слова, дополнительного окрашенного кодового слова, которое получено из передаваемого кодового слова с использованием дополнительной окрашивающей последовательности или кодового слова передачи без окрашивания, для получения другого дополнительного декодированного кодового слова,- perform redundant decoding of at least one additional colored codeword colored using the additional coloring sequence to obtain an additional decoded codeword, an additional colored codeword, which is obtained from the transmitted codeword using the additional coloring sequence or the transmission codeword without coloring, to get another additional decoded codeword, - выводят показатель надежности для декодированного кодового слова, дополнительный показатель надежности для дополнительного декодированного кодового слова или другой дополнительный показатель надежности для другого дополнительного кодового слова,outputting a reliability metric for a decoded codeword, an additional reliability metric for an additional decoded codeword, or another additional reliability metric for another additional codeword, - определяют указатель режима декодирования на основе упомянутых показателей надежности, иdetermining a decoding mode indicator based on said reliability metrics, and - выводят в качестве декодированного выходного кодового слова либо декодированное кодовое слово, либо дополнительное декодированное кодовое слово, либо другое дополнительное декодированное кодовое слово на основе упомянутого показателя надежности.- either a decoded code word, or an additional decoded code word, or another additional decoded code word is output as a decoded output code word based on said reliability index. 40. Способ канального декодирования по меньшей мере одного передаваемого кодового слова, содержащий этапы, на которых:40. A method for channel decoding at least one transmitted codeword, comprising the steps of: - применяют по меньшей мере одну окрашивающую последовательность по меньшей мере к одному передаваемому кодовому слову для получения по меньшей мере одного окрашенного кодового слова, при этом окрашивающая последовательность является такой, что посредством применения по меньшей мере одной окрашивающей последовательности изменяется по меньшей мере один бит кодового слова, при этом по меньшей мере одна окрашивающая последовательность ассоциирована с определенным режимом декодирования,- applying at least one coloring sequence to at least one transmitted codeword to obtain at least one colored codeword, wherein the coloring sequence is such that at least one bit of the codeword is changed by applying at least one coloring sequence , wherein at least one coloring sequence is associated with a certain decoding mode, - выполняют избыточное декодирование по меньшей мере одного окрашенного кодового слова для получения декодированного выходного кодового слова,- perform redundant decoding of at least one colored code word to obtain a decoded output code word, - формируют указатель режима декодирования, указывающий определенный режим декодирования, который должен использоваться посредством избыточного декодера для получения декодированного выходного кодового слова, при этом указатель режима декодирования ассоциирован по меньшей мере с одной окрашивающей последовательностью, используемой для окрашивания окрашенного кодового слова,- generating a decoding mode indicator indicating a specific decoding mode to be used by the redundant decoder to obtain a decoded output codeword, wherein the decoding mode indicator is associated with at least one coloring sequence used to color the colored codeword, - сохраняют список возможных вариантов, указывающий заданное число возможных вариантов режимов декодирования, при этом один возможный вариант режима декодирования указан без окрашивающей последовательности и другие соответствующие возможные варианты режимов декодирования указаны в ассоциации с окрашивающей последовательностью, и выбирают один возможный вариант режима декодирования в качестве определенного режима декодирования, подлежащего использованию избыточным декодером для получения декодированного выходного кодового слова, подлежащего использованию,storing a candidate list indicating a predetermined number of decoding mode candidates, wherein one decoding mode candidate is indicated without a coloring sequence and other corresponding decoding mode candidates are indicated in association with a coloring sequence, and one decoding mode candidate is selected as the determined mode decoding to be used by the redundant decoder to obtain the decoded output codeword to be used, - при этом процесс определения содержит операцию в первом режиме декодирования и операцию во втором режиме декодирования, при этом:- wherein the determination process comprises an operation in the first decoding mode and an operation in the second decoding mode, wherein: - операция в первом режиме декодирования содержит этапы, на которых:- the operation in the first decoding mode comprises the steps of: - оценивают определенный режим декодирования, представляющий собой возможный вариант режима без окрашивающей последовательности, вычисляют синдромы кодового слова, проверяют, имеют ли вычисленные синдромы значение, равное нулю, и, если вычисленные синдромы имеют значение, равное нулю, вычисляют хэш-значение передаваемого кодового слова, сравнивают вычисленное хэш-значение и хэш-значение, включенное в передаваемое кодовое слово,- evaluate a certain decoding mode, which is a possible variant of the mode without a coloring sequence, calculate the syndromes of the code word, check whether the calculated syndromes have a value equal to zero, and if the calculated syndromes have a value equal to zero, calculate the hash value of the transmitted code word, comparing the calculated hash value and the hash value included in the transmitted code word, - при этом процесс определения содержит этапы, на которых:- while the determination process contains the steps at which: - принимают результат сравнения между вычисленным хэш-значением и включенным хэш-значением,- receive the result of a comparison between the computed hash value and the included hash value, - если вычисленное хэш-значение равно включенному хэш-значению, формируют указатель режима декодирования для указания в качестве определенного режима декодирования возможного варианта режима кодирования без окрашивающей последовательности, или- if the calculated hash value is equal to the included hash value, a decoding mode indicator is generated to indicate as a certain decoding mode a possible variant of the coding mode without a coloring sequence, or - если вычисленное хэш-значение отличается от включенного хэш-значения, исключают возможный вариант режима декодирования без окрашивающей последовательности из списка возможных вариантов и продолжают работу с операцией во втором режиме декодирования- if the calculated hash value differs from the included hash value, exclude the decoding mode option without coloring sequence from the list of possible options and continue with the operation in the second decoding mode 41. Способ по п. 40, в котором операция во втором режиме декодирования содержит этапы, на которых:41. The method of claim 40, wherein the operation in the second decoding mode comprises: - вычисляют синдром по меньшей мере для одного передаваемого кодового слова,- calculate the syndrome for at least one transmitted code word, - применяют окрашивающую последовательность в ассоциации с возможными вариантами режимов декодирования в списке возможных вариантов для получения окрашенных синдромов,- apply the coloring sequence in association with the decoding mode options in the list of possible options to obtain stained syndromes, - при этом модуль окрашивания синдромов выполнен с возможностью применения ассоциирования последовательности модуля окрашивания с каждым возможным вариантом режима декодирования в списке возможных вариантов к синдрому, иwherein the syndrome staining module is configured to apply an association of the staining module sequence with each decoding mode candidate in the candidate list to the syndrome, and - проверяют, имеют ли окрашенные синдромы значение, равное нулю, для получения результата проверки синдрома,- checking if the colored syndromes have a value equal to zero to obtain the result of the syndrome check, - при этом процесс определения содержит этап, на котором:wherein the determination process comprises the step of: - формируют указатель режима декодирования на основе результата проверки синдрома.generating a decoding mode indicator based on the result of the syndrome check. 42. Машиночитаемый носитель, содержащий инструкции, которые при выполнении на компьютере побуждают компьютер осуществлять способ по п. 37.42. A computer-readable medium containing instructions that, when executed on a computer, cause the computer to carry out the method of claim 37. 43. Машиночитаемый носитель, содержащий инструкции, которые при выполнении на компьютере побуждают компьютер осуществлять способ по п. 39 или 40.43. A computer-readable medium containing instructions that, when executed on a computer, cause the computer to carry out the method of claim 39 or 40.
RU2021126662A 2019-02-13 2020-02-12 Multi-mode channel coding RU2793198C2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
EP19157047.2 2019-02-13
EP19157042.3 2019-02-13
EP19157036.5 2019-02-13
EP19156997.9 2019-02-13
EPPCT/EP2019/065209 2019-06-11
EPPCT/EP2019/065172 2019-06-11
EPPCT/EP2019/065205 2019-06-11

Publications (2)

Publication Number Publication Date
RU2021126662A RU2021126662A (en) 2023-03-13
RU2793198C2 true RU2793198C2 (en) 2023-03-29

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2253123A (en) * 1991-02-08 1992-08-26 Ericsson Ge Mobile Communicat Distinguishing and decoding signals encoded in different convolutional codes
WO1997011535A1 (en) * 1995-09-22 1997-03-27 Pacific Communication Sciences, Inc. Cellular communication system with multiple code rates
US20020080725A1 (en) * 2000-12-08 2002-06-27 Bradley Wayne H. Blind rate determination
RU2239950C2 (en) * 1998-09-01 2004-11-10 Телефонактиеболагет Лм Эрикссон (Пабл) Method for encoding modes of codec operation with use of a priori knowledge
US7058132B1 (en) * 1999-06-21 2006-06-06 Nokia Mobile Phones, Ltd. Method and arrangement for using a selected signal processing scheme to carry information
US20110075753A1 (en) * 2009-09-28 2011-03-31 Samsung Electronics Co., Ltd. Transmission/reception apparatus and method for improving throughput in a multi-input multi-output communication system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2253123A (en) * 1991-02-08 1992-08-26 Ericsson Ge Mobile Communicat Distinguishing and decoding signals encoded in different convolutional codes
WO1997011535A1 (en) * 1995-09-22 1997-03-27 Pacific Communication Sciences, Inc. Cellular communication system with multiple code rates
RU2239950C2 (en) * 1998-09-01 2004-11-10 Телефонактиеболагет Лм Эрикссон (Пабл) Method for encoding modes of codec operation with use of a priori knowledge
US7058132B1 (en) * 1999-06-21 2006-06-06 Nokia Mobile Phones, Ltd. Method and arrangement for using a selected signal processing scheme to carry information
US20020080725A1 (en) * 2000-12-08 2002-06-27 Bradley Wayne H. Blind rate determination
US20110075753A1 (en) * 2009-09-28 2011-03-31 Samsung Electronics Co., Ltd. Transmission/reception apparatus and method for improving throughput in a multi-input multi-output communication system

Similar Documents

Publication Publication Date Title
KR102640740B1 (en) Multi-mode channel coding with mode-specific coloration sequences
US11463111B2 (en) Encoding/decoding method, device, and system
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US6044482A (en) Digital transmission system for encoding and decoding attribute data into error checking symbols of main data
WO2020165260A1 (en) Multi-mode channel coding with mode specific coloration sequences
US20080155372A1 (en) Methods and apparatus for improving error indication performance in systems with low-density parity check codes
SE469051B (en) METHOD OF DETECTING THE CHANNEL ACCESS TO A NUMBER OF CHANNELS IN A MOBILE RADIO SYSTEM
WO2002035708A2 (en) Method for detecting errors on parallel links
KR100734307B1 (en) Post Viterbi Error Correction Method and Appropriate Device
US8046670B1 (en) Method and apparatus for detecting viterbi decoder errors due to quasi-catastrophic sequences
RU2793198C2 (en) Multi-mode channel coding
EP3697005A1 (en) Multi-mode channel coding with mode specific coloration sequences
WO1995001008A1 (en) Bit error counting method and counter
WO2001010040A2 (en) Method and apparatus for correction of errors in fire codes used in gsm control channels
JP6552776B1 (en) Error correction decoding apparatus and error correction decoding method
KR0149298B1 (en) Reed-solomon decoder
JPH07183874A (en) Error correction decoding circuit and selective call receiver
JPH0685693A (en) Error control method