RU2793198C2 - Multi-mode channel coding - Google Patents
Multi-mode channel coding Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 34
- 238000004040 coloring Methods 0.000 claims description 208
- 208000011580 syndromic disease Diseases 0.000 claims description 76
- 238000012937 correction Methods 0.000 claims description 70
- 238000000034 method Methods 0.000 claims description 57
- 238000004364 calculation method Methods 0.000 claims description 39
- 238000010186 staining Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 12
- 230000009467 reduction Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 101150060512 SPATA6 gene Proteins 0.000 description 60
- 238000001514 detection method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 230000011664 signaling Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 11
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 10
- 238000004061 bleaching Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 5
- 238000004042 decolorization Methods 0.000 description 5
- 238000012502 risk assessment Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000012067 mathematical method Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000002845 discoloration Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Abstract
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
В силу этого, задача настоящего изобретения состоит в создании концепции эффективного и устойчивого к ошибкам канального кодирования.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
Согласно настоящему изобретению, канальный кодер содержит модуль окрашивания для применения окрашивающей последовательности по меньшей мере к одному кодовому слову, т.е. кодовое слово включает в себя информацию/указатель режима кодирования. Следовательно, передаваемые биты, используемые для указания режима кодирования в канальный декодер, не требуются, и за счет этого скорость передачи повышается, и можно эффективно передавать кодовое слово. Помимо этого, информация/указатель режима кодирования включается в кодовое слово посредством применения окрашивающей последовательности, которая выбирается в соответствии с режимом кодирования, и за счет этого можно обеспечить устойчивую к ошибкам передачу в служебных сигналах информации режима.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
В дополнительном варианте осуществления, например, кадр аудиоданных передаётся в канальный кодер 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
Фиг. 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
Фиг. 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.
Канальный кодер 2 на фиг. 4 выполняет неявную передачу в служебных сигналах информации режима, т.е. передачу кодированного кадра в декодер без явного указания режима кодирования. В частности, метаданные, за исключением целевого размера Ntarget, не должны передаваться в декодер (например, как показано, например, на фиг. 5A и 5B). Для каждого режима Ntmode, линейное кодовое слово Cm длины Ntarget назначается, что означает . Первая стадия кодирования данных в силу этого состоит из преобразования определенного слова данных в кодовое слово в Cm.
Неявная передача в служебных сигналах информации режима основана на том факте, что может эффективно проверяться, находится ли данное слово в Ck. Тем не менее, поскольку коды являются линейными, пересечения не являются пустыми. В частности, многие семейства кодов, к примеру, примитивные BCH-коды в узком смысле или коды Рида-Соломона с одинаковым базовым полем, даже должны формировать включения между различными кодами при упорядочении согласно расстоянию Хэмминга, т.е.:The implicit signaling of mode information is based on the fact that it can be efficiently checked whether a given word is in C k . However, since the codes are linear, the intersections 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.:
(1) (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:
(2) (2)
после кодирования. Эти преобразования рассчитываются таким образом, что для m≠n, что разрешает вышеуказанную неоднозначность. Поскольку преобразования не изменяют длину кодовых слов, этот способ эффективно передает в служебных сигналах режим канального кодера с нулевыми битами.after coding. These transformations are calculated in such a way that 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 и последовательности служебных сигналов . Таким образом, при кодировании в режиме m канальный кодер выводит окрашенное кодовое слово:In the present embodiment, these transforms are specified by computing the bitwise XOR of the encoded codeword c and the signaling sequence . Thus, when encoding in mode m, the channel encoder outputs a colored codeword:
. (3) . (3)
При приеме и незнании представления в (3), декодер затем может эффективно проверить, верно ли следующее:When you receive and not knowing the representation in (3), the decoder can then effectively check if the following is true:
(4) (4)
Поскольку представляет собой нулевую последовательность, декодер должен иметь возможность верифицировать то, что:Because the is a zero sequence, the decoder must be able to verify that:
(5) (5)
находится в Cm. Кроме того, при условии:is in C m . In addition, provided:
(6) (6)
последовательности sigk служебных сигналов могут выбираться таким образом, что:overhead sequences sig k may be chosen such that:
(7) (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
Канальный декодер 20 принимает передаваемые кодовые слова, передаваемые из канального кодера 2. Затем заданное число передаваемых кодовых слов используются/проверяются для формирования указателя режима декодирования в детекторе 26 режима декодирования, как пояснено ниже. Детектор 26 режима декодирования имеет информацию относительно режимов декодирования, которые могут использоваться посредством канального кодера 2, например, список возможных вариантов режимов декодирования.The
Фиг. 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
Как указано в 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
Затем, в случае, если все возможные варианты режимов декодирования в списке проверены (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
В канальном декодере 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
Фиг. 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)
Хотя не проиллюстрировано на фиг. 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
Декодер определяет/вычисляет/вычисляет значение риска (показатель надежности) режима декодирования на основе числа скорректированных символов во время операции декодирования окрашенного кодового слова. Если заданное число кодовых слов окрашиваются, например, 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
В случае если ошибки при передаче возникают, декодер 20 принимает:In case transmission errors occur,
(8) (8)
с ошибочной последовательностью ε. Это может приводить к неоднозначностям в том смысле, что:with an erroneous sequence ε. This can lead to ambiguities in the sense that:
(9) (9)
для различного k, где обозначает наборы всех последовательностей, которые могут корректироваться посредством схемы FEC (например, в модуле 24b коррекции ошибок, показанном на фиг. 7a и 7b), чтобы формировать кодовое слово в Ck. Если k≠m представляет собой такой режим, то стратегия декодирования состоит в том, чтобы рассматривать член ошибок:for different k, where denotes the sets of all sequences that can be corrected by the FEC scheme (eg, in
(10) (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
Канальный кодер согласно изобретению работает с байтами и использует коды Рида-Соломона по 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
Фиг. 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
Фиг. 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
Предварительная обработка данных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:
(11) (eleven)
Хэш-значение используется для проверки достоверности данных, поскольку обнаружение ошибок кодов Рида-Соломона не является очень строгим.The hash value is used to validate the data, since the error detection of Reed-Solomon codes is not very rigorous.
Пусть хэш-байты обозначаются как h(k), , и пусть rem(n, m) обозначает остаток в делении в столбик n на m. Хэш и данные конкатенируются и разбиваются на последовательность чисел от 0 до 15 (далее называемую «номерами в единицах по 4»), например, согласно:Let hash bytes be denoted as h(k), , 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:
(12) (12)
и:And:
(13) (13)
для , и:For , And:
(14) (14)
и:And:
(15) (15)
для For
Входные данные, расширенные за счет вычисленного хэша, т.е. кадр, включающий в себя хэш-значение, разбиваются на множество слов данных. Число слов данных вычисляется, например, на основе целевого размера для кадра и индекса кодового слова.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:
, (16) , (16)
и длина кодового слова i в символах данных задается посредством:and the length of codeword i in data symbols is given by:
(17) (17)
где i изменяется от 0 до Ncw-1. Условие Ncw≥40 подразумевает то, что . Расстояния Хэмминга для различных кодовых слов являются зависимыми от режима и от кодового слова и задаются посредством:where i varies from 0 to N cw -1. The condition N cw ≥40 implies that . The Hamming distances for different codewords are mode and codeword dependent and are given by:
(18) (18)
Массив данных разбивается на Ncw слов данных согласно следующему:The data array is split into N cw data words according to the following:
(19) (19)
где последовательность точек разбиения индуктивно задается посредством и .where the sequence of partition points is inductively given by And .
Это ограничивает входную длину до:This limits the input length to:
(20) (20)
что зависит только от Ns и mfec.which depends only on N s and m fec .
Затем, слова Di данных кодируются в кодов Сi. Кодирование по Риду-Соломону зависит от генератора для базового поля и генератора для единичной группы этого базового поля (см., например, работу "Error Correction Coding: Mathematical Methods and Algorithms", Todd K. Moon, 2005 года), а также от преобразования данных в символы. Ниже по тексту, поле GF(16) предположительно должно формироваться посредством , и генератор α единичных групп предположительно представляет собой остаточный класс x в . Кроме того, преобразование данных в символы (преобразование номеров в единицах по 4 в элементы GF(16)) принимается следующим образом:Then, the data words Di are encoded into 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 , and the identity group generator α is presumably the residual class x in . In addition, the conversion of data to characters (conversion of numbers in units of 4 to GF(16)) is taken as follows:
(21) (21)
где bitk(n) обозначает k-ый бит в двоичном представлении n, заданный следующим образом:where bit k (n) denotes the kth bit in the binary representation of n, given as follows:
(22) (22)
Кодовое слово Ci затем в таком случае представляет собой уникально определенную последовательность, соответствующую:The codeword C i is then in this case a uniquely defined sequence corresponding to:
(23) (23)
для , а также соответствующую тому, что полином:For , and also corresponding to the fact that the polynomial:
(24) (24)
делится на порождающий полином RS:is divided by the generating polynomial RS:
(25) (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
На следующем этапе, передача в служебных сигналах информации режима выполняется посредством окрашивания кодовых слов согласно:In the next step, mode information signaling is performed by coloring the code words according to:
(26) (26)
для k=0, 1, ..., Li, где sigk представляет собой одну из следующих последовательностей:for k=0, 1, ..., L i , where sig k is one of the following sequences:
В этом варианте осуществления, число кодовых слов (слова данных) равно 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.:
(27) (27)
Таблица 1. Вероятность того, что является декодируемым с d символов в Cj(15), когда ci извлекается случайно равномерно из Ci(15).Table 1. Probability that is decodable with d symbols in C j (15) when c i is extracted randomly uniformly from C i (15).
где:Where:
(28) (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:
соответствующих векторов в GF(16)Li и задании , и , окрашивание кодовых слов соответствует векторному сложению в GF(16)Li. Для детерминированного обнаружения режима в отсутствие ошибок при передаче, условие для k≠l является достаточным, поскольку оно обеспечивает возможность уникального определения передаваемого в служебных сигналах режима. Последовательности служебных сигналов соответствуют следующим еще более строгим условиям, которые рассчитываются с возможностью ограничения риска неоднозначностей режима, когда возникают ошибки при передаче.corresponding vectors in GF(16) Li and the specification , And , coloring of code words corresponds to vector addition in GF(16) Li . For deterministic mode detection in the absence of transmission errors, the condition 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 и , слово не является декодируемым в Cl(Li), что означает то, что его расстояние Хэмминга до Cl(Li) превышает характеристики коррекции ошибок кода.- For k<l and , word 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 и , слово может быть декодируемым в Cl, но требует по меньшей мере коррекции двух символов.- For k<l and , word may be decodable in Cl, but requires at least two symbols correction.
Вероятности возможности декодирования в Cl(15) с предписанным числом коррекций символа, когда ck извлекается случайно равномерно из Ck(15), приводятся в таблице 1. Они обеспечивают верхнюю границу для соответствующих вероятностей для меньших значений Li.Decoding Capability Probabilities 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
Мультиплексирование кодовых словCodeword Multiplexing
Окрашенные кодовые слова перемежаются посредством мультиплексора 14. Таким образом, бит из окрашенного кодового слова размещается в другом кодовом слове в дополнительном бите по меньшей мере одного другого кодового слова, чтобы получать кадр.The colored codewords are interleaved by the
Таким образом, длины 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:
(29) (29)
для , которое преобразуется в выходную последовательность:For , which is converted to the output sequence:
(30) (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 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
Фиг. 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
Канальный декодер 20 принимает в качестве ввода последовательность ain байтов и размер Ns интервала в байтах. С другой стороны, байты интерпретируются в качестве чисел между 0 и 255.The
Демультиплексирование кодовых словDemultiplexing codewords
Демультиплексор 60 извлекает перемеженные кодовые слова в декодере 20, т.е. конфигуратор 61 кадров вычисляет число кодовых слов, Ncw, и длины кодовых слов, Li, из входного размера Ns, как указано в разделе «Кодирование по Риду-Соломону», и извлекает кодовые слова Ci согласно компоновкам, описанным в разделе «Мультиплексирование кодовых слов».The
Обнаружение режимаMode detection
Прямое обнаружение режима согласно канальному декодеру 20, показанному на фиг. 5A, и вышеприведенному ассоциированному описанию, может осуществляться посредством прохождения от Ci до:Direct mode detection according to the
(31) (31)
с использованием пробного декодирования для всех возможных режимов и, при успешности, проверки достоверности декодированных данных посредством повторного вычисления хэшей передаваемых кодовых слов (т.е. декодированного кадра), как пояснено выше (предварительной обработки данных). Если эта процедура успешно выполняется для нескольких режимов, то значение риска может присоединяться к классам режимов следующим образом: пусть обозначает число символов, которые скорректированы в кодовом слове 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 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:
(32) (32)
Следовательно, значение риска для режима m может приниматься как:Therefore, the risk value for mode m can be taken as:
, (33) , (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
Фиг. 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
Фиг. 18 показывает блок-схему, иллюстрирующую пример второго детектора 32 режима декодирования детектора режима декодирования, реализованного посредством детектора режима декодирования, показанного на фиг. 16. Второй детектор 32 режима декодирования содержит модуль 40 вычисления синдромов, модуль 42 окрашивания синдромов, модуль 44 проверки синдромов, модуль 46 вычисления полиномов локатора ошибок, модуль 48 вычисления значений риска, модуль 50 вычисления положений ошибки и модуль 52 вычисления ошибочных символов. В операции во втором режиме декодирования, модуль 42 окрашивания синдромов применяет окрашивающую последовательность для обесцвечивания вычисленного синдрома, поскольку выполнение окрашивания для кодовых слов или синдромов по существу является одинаковым.Fig. 18 shows a block diagram illustrating an example of the second
Фиг. 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
Затем, как проиллюстрировано на фиг. 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
Операция обнаружения первого режима (стадия 1)First Mode Detection Operation (Stage 1)
Фиг. 22 показывает схему выполнения стадии 1. Как показано на фиг. 22, обнаружение режима первой стадии выполняется для проверки, равен ли режим mfec FEC 1. Следующая система обозначений используется для обозначения i-го кодового полина в GF(16)[x], соответствующего i-ому кодовому слову:Fig. 22 shows a flowchart of
(34) (34)
Выбор режима FEC 1 зависит от двух условий. Во-первых, первые два синдрома должны исчезать, т.е.:The choice of
(35) (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
Таким образом, как показано на фиг. 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.
Операция обнаружения второго режима (стадия 2)Second mode detection operation (stage 2)
Фиг. 23 показывает схему стадии 2, выполняемой посредством второго детектора режима декодирования. Как показано на фиг. 23, когда определенный режим декодирования уже выбран на стадии 1, процесс на стадии 2 пропускается. Помимо этого, если определенный режим декодирования представляет собой режим 1, предполагается, что ошибки не возникают, и в силу этого коррекция ошибок не выполняется. На фиг. 23, проиллюстрированы три процесса, т.е. вычисляются синдромы 6 кодовых слов, проиллюстрированы операция обнаружения режима декодирования для режима 2, для режима 3 и для режима 4. Таким образом, синдромы для заданного числа кодовых слов вычисляются, например, для шести кодовых слов C0-C5, шесть синдромов для каждого кодового слова вычисляются, т.е. . Операция для режима 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
Фиг. 24 показывает увеличенную часть по фиг. 23, указывающую операцию для режима 2. При операции для режима n+1, т.е. для режима 2, модуль n обесцвечивания, т.е. модуль 1 обесцвечивания обесцвечивает вычисленный синдром согласно режиму 2: . Проверка синдрома 1 содержит проверку, верно ли для k=1, 2, 2*n. Результат теста отправляется в модуль выбора режима в качестве syndrome_check_1. Полином локатора ошибок (ELP) вычисляется в модуле n вычисления ELP, т.е. в модуле 1 вычисления ELP для режима 2. Режим 2 (режим n+1) исключается из списка возможных вариантов (помещается в черный список в списке возможных вариантов), если не существует для одного Модуль n оценки риска, т.е. модуль 1 оценки риска для режима 2, вычисляет значение риска из степеней согласно . Вычисленное значение риска отправляется в модуль выбора режима и модуль 1 вычисления положений ошибки в качестве risk_value_1. Модуль n вычисления положений ошибки, т.е. модуль 1 вычисления положений ошибки для режима 2, вычисляет положения ошибки в режиме n+1, т.е. режиме 2 посредством разложения на множители . Если разложение на множители завершается неудачно, или если положение ошибки выходит за границы, или если значение риска выше заданного порогового значения, режим 2 исключается из списка возможных вариантов(помещается в черный список). Модуль n вычисления ошибочных символов, т.е. модуль 1 вычисления ошибочных символов для режима 2, вычисляет символы ошибок в режиме 2 (n+1) из , и положения err_posi, n+1 ошибки.Fig. 24 shows an enlarged part of FIG. 23 indicating an operation for
Как показано на фиг. 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
1. Если указывается то, что "is_mode_1", то режим 1, если процедура завершается неудачно, то проверка "is_mode_n", n=2, 3, 4; выход,1. If it is indicated that "is_mode_1", then
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
На стадии 2 рассматриваются только кодовые слова С0-С5 для обнаружения режима. В этом варианте осуществления, число кодовых слов равно шести; тем не менее, это число может отличаться, например, в зависимости от обстоятельств канала передачи, окружения передачи, требуемой силы защиты и/или производительности кодека.In
Во-первых, синдромы:First, the syndromes:
(36) (36)
окрашенных кодовых слов вычисляются для , m=2, 3, 4 и , т.е. для первых по меньшей мере шести передаваемых кодовых слов. Следует заметить, что:colored code words are computed for , m=2, 3, 4 and , i.e. for the first at least six transmitted codewords. It should be noted that:
, (37) , (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 существует, так что для , то режим m выбирается. Следует отметить, что это всегда имеет место, если ошибки при передаче не возникают, и что посредством выбора sigk, такое m является обязательно уникальным.If m exists, so For , 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:
(38) (38)
где , и где коэффициенты являются уникальным решением для:Where , and where the coefficients are the unique solution for:
(39) (39)
для . Такой полином не обязательно существует, если кодовое слово i не является корректируемым в режиме m, и если встречается кодовое слово, для которого не может обнаруживаться такой , режим m исключается из списка возможных вариантов режимов.For . 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 , mode m is excluded from the list of possible modes.
В противном случае, т.е. такой обнаруживается, значение риска вычисляется для всех m оставшихся режимов согласно:Otherwise, i.e. such is detected, the risk value is calculated for all m remaining modes according to:
(40) (40)
Длина 14 кодового слова настоящим используется в качестве оценки для реального риска , поскольку Li изменяется от 13 до 15 для рассматриваемых размеров интервалов. Режимы, для которых ρm превышает данное пороговое значение, исключаются из последующей обработки. Следует отметить, что пороговое значение, например, составляет 6×10-8; тем не менее, это значение может изменяться в зависимости от требуемого качества передачи и других требуемых критериев.The
Для оставшихся режимов (на этой стадии обычно остается только один режим) полиномы локатора ошибки разлагаются на множители в 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:
(41) (41)
Если это имеет место, то является корректируемым в допустимое кодовое слово посредством модификации для . Все режимы, для которых по меньшей мере один полином локатора ошибок не разбивается согласно формуле (41), исключаются из списка возможных вариантов режимов. Если несколько режимов остаются в списке возможных вариантов, определенный режим mfec декодирования выбирается таким образом, что риск ρmfec при декодировании является минимальным.If this is the case, then is correctable into a valid code word through modification For . 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.
При успешном обнаружении режима, выполняется коррекция ошибок кодовых слов . Если коррекция завершается неудачно, кадр помечается в качестве плохого кадра, и декодирование завершается. В противном случае, данные декодируются после выполнения обесцвечивания согласно выбранному режиму в избыточном декодере 24 согласно компоновкам данных кодера в режиме mfec FEC.If the mode is successfully detected, codeword error correction is performed. . 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
Если 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
Когда режим декодирования выбирается, указатель режима декодирования, указывающий определенный режим декодирования, формируется и отправляется в модуль 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
В соответствии с вариантами осуществления настоящей заявки, канальный кодер указывает режим кодирования посредством применения окрашивающей последовательности к кодовому слову кадра. Следовательно, необязательно отдельно передавать данные, чтобы указывать определенный режим кодирования и требуемые параметры, и за счет этого скорость передачи данных повышается. Помимо этого, информация/указатель режима кодирования включается в кодовое слово посредством применения окрашивающей последовательности, которая выбирается в соответствии с режимом кодирования, и за счет этого можно обеспечить устойчивую к ошибкам передачу в служебных сигналах информации режима. Кроме того, информация/указатель режима кодирования распределяется в кодовом слове посредством применения окрашивающей последовательности, и в силу этого информация/указатель режима кодирования принимается в канальном декодере устойчивым к ошибкам способом. Помимо этого, канальный декодер имеет возможность определять режим декодирования без отдельного приема конкретной информации относительно режима и параметров декодирования, с тем чтобы определять режим декодирования. Следовательно, коэффициент передачи данных канала эффективно улучшается.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
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:
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:
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:
и для m>1, следующим образом:and for m>1, as follows:
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:
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:
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:
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:
1.4. Алгоритмическое описание канального кодера1.4. Algorithmic description of the channel encoder
1.4.1. Ввод-вывод1.4.1. Input Output
Канальный кодер принимает в качестве ввода размер Ns интервала, режим mfec FEC, запрос CMR на предмет режима кодирования, последовательность данных, например, из октетов и флаг jcc+flag объединенного канального кодирования и возвращает последовательность октетов . Октеты интерпретируются в качестве чисел от 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, of octets and the jcc+flag flag of the combined channel coding and returns a sequence of octets . Octets are interpreted as numbers from 0 to 255 according to the specified byte order.
1.4.2. Предварительная обработка данных1.4.2. Data preprocessing
Последовательность данных сначала разбивается на последовательность с обратным упорядочением, где an(2k) справедливо для верхней половины, и an(2k+1) справедливо для нижней половины. В формулах, это представляет собой:The data sequence is first split into sequence with reverse ordering, where a n (2k) is valid for the upper half, and a n (2k+1) is true for the bottom half. In formulas, this represents:
и:And:
Затем, CRC-хэш-значения вычисляются для битовых расширений последовательностей:Then, the CRC hash values are computed for the bit extensions of the sequences:
и:And:
Следует отметить, что 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:
причем 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:
и:And:
Вторая CRC-хэш-последовательность, вычисленная для an2', имеет длину 8NCRC2, и двоичный порождающий полином задается посредством:The second CRC hash sequence computed for an 2' has length 8N CRC2 , and the binary generator polynomial is given by:
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:
делится на p(x).is divisible by p(x).
Пусть bn1 обозначает битовое расширение an1, и пусть bn2 обозначает битовое расширение an2. Затем последовательность задается в качестве хэш-последовательности длины 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 is given as a hash sequence of length 8N CRC1 -2 computed for the concatenated sequence:
Кроме того, задается в качестве второй хэш-последовательности длины 8NCRC2, вычисленной для bn2. Следует отметить, что rn2 представляет собой пустую последовательность, если NCRC2=0.Besides, 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.
Первая предварительно обрабатываемая последовательность данных затем задается посредством:First preprocessing sequence data is then given by:
и:And:
Конечная предварительно обработанная последовательность данных задается посредством перестановки битов CMR в положениях 8NCRC1-2 и 8NCRC1-1 с битами в положениях и 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 and k+2, i.e.:
и:And:
для 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 преобразуется в последовательность полуоктетов посредством инвертирования битового расширения, т.е.:The bit sequence b pp is converted to the sequence semi-octets by inverting the bit extension, i.e.:
Следует отметить, что необязательно фактически выполнять битовые расширения, описанные в этом разделе, поскольку 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:
, ,
где i изменяется от 0 до Ncw-1, и где точки Si разбиения индуктивно задаются посредством S0=0 и .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 .
Коды RS конструируются по , причем остаточный класс x в выбирается в качестве генератора единичных групп, обозначаемого, как обычно, посредством a.RS codes are constructed according to , and the residual class x in 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:
Преобразование представляет собой «один к одному», и обратное преобразование обозначается как , так что The transformation is one-to-one and the inverse transformation is denoted as , So
При этой системе обозначений, порождающие полиномы Рида-Соломона для расстояний 3, 5 и 7 Хэмминга задаются посредством:Under this notation, the generating Reed-Solomon polynomials for 3, 5, and 7 Hamming distances are given by:
и:And:
Для i, изменяющегося от 0 до Ncw-1, избыточные последовательности RS для слов Di данных вычисляются. Они представляют собой (уникально определенные) последовательности полуоктетов, так что полином:For i ranging from 0 to N cw -1, the redundant RS sequences for data words D i are calculated. They are (uniquely defined) sequences of semi-octets, so the polynomial is:
делится на ; i-ое кодовое слово Ci затем задается таким образом, что оно представляет собой последовательность Li полуоктетов, заданную посредством:divided by ; The i-th codeword C i is then set such that it is a sequence Li of semi-octets given by:
и:And:
Следует отметить, что если 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.:
где 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:
Следует отметить, что окрашивание кодовых слов оставляет биты 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:
, ,
где 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:
где 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 интервала и последовательность октетов и флаг jcc_flag объединенного канального кодирования и возвращает размер Np рабочих данных, последовательность декодированных октетов , указатель 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 octets and the jcc_flag of the joint channel coding and returns the size N p of payload data, the sequence of decoded octets , a bad frame pointer bfi taking the
Значение Np и указываются только в том случае, если bfi≠1, и значение указателя fbcwbp положения бита указывается только в том случае, если bfi=2.The value of N p and 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:
и:And:
для 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.:
где 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.
На стадии 1 выполняется попытка определить, кодирован ли кадр в режиме FEC 1. Для этого первые два синдрома кодового слова 0 вычисляются, при этом k-ый синдром кодового слова XXi задается в качестве символа GF(16), заданного посредством:In
Режим 1 выбирается, если выполняются следующие два условия:
и And
Данные, извлеченные согласно компоновке кадров mfec=1, передают первый контроль циклическим избыточным кодом, как указано в разделе 1.5.7 с Data extracted according to framing m fec =1 pass first CRC as specified in section 1.5.7 with
Если эти условия выполнены, 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
1.5.3.2. Стадия 21.5.3.2.
На стадии 2 выполняется попытка определить, кодирован ли кадр в режимах FEC 2, 3 или 4. Для этого синдромы вычисляются для i=0...5 и k=1...6.In
Если для одного условия:If for one conditions:
выполняются для i=0...5 и k=1...di, m-1, т.е. все синдромы, окрашенные согласно режиму m, исчезают, то выбирается, и канальный кодер переходит к разделу 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 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 не может находиться, то обнаружение режима вычисляет полиномы локатора ошибок для i=0...5 и m=2...4. Это проводится согласно разделу 1.5.5.1.1 с и:If such m cannot be found, then mode detection computes the polynomials error locator for i=0...5 and m=2...4. This is done according to section 1.5.5.1.1 with And:
окрашенные синдромы согласно режиму m, для k=1...2t.colored syndromes according to mode m, for k=1...2t.
Все режимы m, для которых по меньшей мере для одного i от 0 до 5 исключаются из дальнейшего рассмотрения.All modes m for which for at least one i from 0 to 5 are excluded from further consideration.
Для оставшихся режимов, вычисляется значение риска. Значение rsk(m) риска для режима m основано на степенях полиномов локатора ошибок и вычисляется в качестве пары "мантисса-экспонента":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 error locator and is calculated as a mantissa-exponent pair:
где пары "мантисса-экспонента" указываются в таблице 2, и где умножение двух пар "мантисса-экспонента" задается следующим образом: С учетом двух пар и , где , произведение задается в качестве пары , заданной посредством:where are the couples "mantissa-exponent" are specified in Table 2, and where the multiplication of two pairs of "mantissa-exponent" is given as follows: Considering two pairs And , Where , work given as a pair , given by:
Такая пара "мантисса-экспонента" соответствует числу .Such a couple "mantissa-exponent" corresponds to a number .
Табл. 2Tab. 2
Все режимы 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:
Оставшиеся режимы со значением риска, меньшим или равным risk_thresh, перечисляются в качестве mj, j=1...n, так что для каждого j=1...n-1 либо , либо и является справедливым.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 , or And is fair.
Начиная с режима m1, положения nmj, i,k ошибок в кодовых словах XXi определяются согласно разделу 1.5.5.2 с для 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 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.
В случае если режим не обнаружен, т.е. задается равным -1, обнаружение CMR выполняется согласно разделу 1.5.4 с до того, как канальный декодер выходит с bfi=1.If the mode is not detected, i.e. is set to -1, CMR detection is performed according to section 1.5.4 with before the channel decoder exits with bfi=1.
1.5.4. Оценка CMR, когда кадр не является декодируемым1.5.4. CMR estimate when frame is not decodable
В случае если кадр не является декодируемым, CMR оценивается посредством анализа первого кодового слова XX0 и соответствующих полиномов локатора ошибок для всех режимов где M является данным набором возможных вариантов режимов.In case the frame is not decodable, the CMR is estimated by analyzing the first codeword XX 0 and the corresponding polynomials error locator for all modes where M is the given set of possible modes.
Сначала, все режимы удаляются из M, для которых либо:First, all modes are removed from M for which either:
полином локатора ошибок не является достоверным, либо:polynomial error locator is not valid, either:
экспонента значений риска, как указано в таблице 2, превышает -8.exhibitor 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:
здесь слагаемое 8 указывает то, что это значение не проходит проверку достоверности.here, the
Если M1 не является не пустым, то пусть m обозначает элемент M1, для которого экспонента значений риска является минимальной (следует отметить, что такой режим всегда существует, поскольку и не могут оба иметь значение -8 согласно расчетам последовательностей служебных сигналов). Затем коррекция ошибок выполняется для XX0 согласно разделу 1.5.5 с nfec=m, и оценка CMR извлекается из скорректированного кодового слова как либо:If M1 is not non-empty, then let m denote the element of M 1 for which the exponent risk values is minimal (it should be noted that such a regime always exists, since And 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 either way:
если , где слагаемое 4 указывает, что CMR проходит проверку достоверности со средним высоким доверием, либо:If , where the
если , что указывает, что значение CMR проходит проверку достоверности с высоким доверием.If , 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 корректируются посредством вычисления символов ошибок согласно разделу 1.5.5.3 при:Codewords XX i with i≤5 are corrected by calculating symbols errors according to section 1.5.5.3 when:
, заданным в разделе 1.5.3.2, и: specified in section 1.5.3.2, and:
Скорректированные кодовые слова затем задаются следующим образом:The adjusted codewords are then given as follows:
где является обратным преобразованием данных в символы, указываемым в разделе 1.4.3.Where 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:
для k=1...2t с .for k=1...2t with .
Если все синдромы являются нулевыми, кодовое слово предполагается безошибочным, и в силу этого скорректированное кодовое слово задается равным XXi.If all syndromes are zero, the codeword is assumed to be error-free, and therefore the corrected codeword is set to XX i .
В противном случае, полином локатора ошибок вычисляется согласно разделу 1.5.5.1.1.Otherwise, the polynomial error locator is calculated according to section 1.5.5.1.1.
При успешности (т.е. , положения ошибок vk, k=0...d-1 с вычисляются согласно разделу 1.5.5.2.If successful (i.e. , error positions v k , k=0...d-1 s calculated according to section 1.5.5.2.
При успешности, символы ошибок вычисляются согласно разделу 1.5.5.3, и коррекция ошибок выполняется согласно:If successful, symbols errors are calculated according to section 1.5.5.3 and error correction is performed according to:
Если коррекция ошибок сбоит для индекса 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
Для индексов i≥Ncw-Npcww, последовательность T(Ncw-Npcww...Ncw-1) задается следующим образом. Если коррекция ошибок сбоит для индекса i<Ncw-Npcww, либо если экспонента значений риска, как указано в таблице, превышает -16, значение T(i) задается равным 0, указывая то, что данные в кодовом слове XXi не являются надежными без дополнительной проверки достоверности. Если коррекция ошибок завершается неудачно, скорректированное кодовое слово , тем не менее, задается как 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 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 , however, is set to XX i , but the first bad frame pointer bfi 0 is set to 2.
Значение error_report задается следующим образом. Если коррекция ошибок сбоит для индекса i<Ncw-Npcww, то пусть i1 обозначает наименьший индекс, для которого она сбоит, и выполняется задание . Иначе, пусть 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 . Otherwise, let I denote the set of all
, ,
т.е. как общее число битов, скорректированное в кодовых словах XXi, с .those. as the total number of bits corrected in XX i codewords, s .
Если 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:
Если , то первый указатель bfi0 плохого кадра задается равным 0, и иначе он задается равным 1.If , 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
Полином локатора ошибок вычисляется из последовательности , символов в GF(16), где t является числом от 1 до 3.The error locator polynomial is computed from the sequence , characters in GF(16), where t is a number between 1 and 3.
Если для k=1...2t, полином локатора ошибок задается равным [1].If for k=1...2t, polynomial 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:
и:And:
Если все детерминанты равны [0] для l=1...t, полином локатора ошибок задается равным [0], который является недопустимым полиномом локатора ошибок в смысле 1.5.5.2.If all determinants are [0] for l=1...t, the polynomial Error Locator is set to [0], which is an invalid error locator polynomial in the sense of 1.5.5.2.
В противном случае, τ принимается в качестве наибольшего индекса от 1 до t таким образом, что . Затем коэффициенты полинома локатора ошибок вычисляются следующим образом:Otherwise, τ is taken as the largest index from 1 to t such that . The error locator polynomial coefficients are then computed as follows:
где обратные матрицы задаются следующим образом:where the inverse matrices are given as follows:
Если , полином локатора ошибок задается равны м[0].If , the error locator polynomial is given equal to m[0].
В противном случае, если τ=t, полином локатора ошибок задается равным:Otherwise, if τ=t, the error locator polynomial is set to:
и если τ<t, дополнительно проверяется, справедливо ли:and if τ<t, it is additionally checked whether:
для 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:
В противном случае, он задается равным [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:
Считается, что полином локатора ошибок является допустимым, если он допускает представление:An error locator polynomial is said to be valid if it can be represented:
причем в этом случае положения ошибки задаются посредством 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 могут определяться посредством проверки для n=0...Li-1. В качестве альтернативы, табулирование местоположений ошибок, индексированных посредством , является возможным и может быть значительно быстрее.The values of n k can be determined by checking for n=0...Li-1. Alternatively, tabulating error locations indexed by , is possible and can be significantly faster.
1.5.5.3. Вычисление ошибочных символов1.5.5.3. Calculation of erroneous characters
Символы ошибок вычисляются из синдромов и положений ошибок посредством решения линейной системы:Error symbols computed from syndromes and regulations errors by solving a linear system:
по GF(16), где представляют собой матрицы Вандермонда:according to GF(16), where are the Vandermonde matrices:
и:And:
Обратные матрицы задаются посредством:Inverse matrices are given by:
и:And:
где:Where:
и:And:
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:
Затем избыточное декодирование применяется согласно режиму nfec с формированием слов данных:Then redundant decoding is applied according to the n fec mode to form data words:
, ,
которые комбинируются в последовательность 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:
для i=0...Ncw-1, где точки Si разбиения являются такими, как задано в разделе 1.4.3. Это дает в результате последовательность длины . После избыточного декодирования 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 . 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 и и битов в положениях 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 and bits at positions 8N CRC1 -2 and k+2.
Последовательность ypp0 затем разбивается на последовательности in1, in2, yn1ext и yn2, соответствующие и bn2 из раздела 1.4.2, заданные посредством:The sequence y pp0 is then split into sequences i n1 , i n2 , y n1ext and y n2 corresponding to and b n2 from section 1.4.2, given by:
и:And:
Два контроля циклическим избыточным кодом (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 с В противном случае, оценка 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 Otherwise, the CMR score is set to:
Если первый 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:
Если 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:
для k=0...2Np-Npc-1for k=0...2N p -N pc -1
для k=0...Npc-1for k=0...N pc -1
и:And:
для For
Хотя некоторые аспекты описаны в контексте оборудования, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего оборудования. Некоторые или все этапы способа могут выполняться посредством (или с использованием) аппаратного оборудования, такого как, например, микропроцессор, программируемый компьютер либо электронная схема. В некоторых вариантах осуществления, один или более из самых важных этапов способа могут выполняться посредством этого оборудования.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)
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)
| 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)
| 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 |