Abstract: A channel encoder for encoding a frame, comprising: a multi-mode redundancy encoder for redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes, wherein the coding modes are different from each other with respect to an amount of redundancy added to the frame, wherein the multi-mode redundancy encoder is configured to output a coded frame including at least one code word; and a colorator for applying a coloration sequence to the at least one code word; wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one of coloration sequence, wherein the specific coloration sequence is selected in accordance with the certain coding mode.
The present application is concerned with multi-mode channel coding.
In a digital communication, a channel coding (also referred to as error correction coding) is used for controlling errors in data over unreliable or noisy communication channels, and therefore, channel coding has become an essential part in digital communication. The aim of channel coding is to protect the information against disturbances during transmission. Thereby redundancy is added for error correction and for error detection, i.e., redundancy is added to a sequence of data packets, e.g., frames of an audio/video coder, that are sent over an error-prone channel to allow for a certain amount of transmission error correction at the receiver side. The error correction capability correlates with the redundancy rate, meaning that a higher error correction capability usually comes with a higher amount of redundancy.
In the context of audio data frames three effects have to be considered:
1. The same frame of audio data can usually be encoded with a flexible amount of bits, where the audio quality scales with the bitrate.
2. Lost frames can be concealed as the transmitted data exhibits a temporal structure, which comes with a certain amount of degradation that grows with the frame error rate (FER).
3. Packet Loss Concealment (PLC) methods usually give much better results than decoding of undetected bad frames.
Hence, channel coding is therefore very attractive for audio data as it may increase the audio quality by
- detecting bad frames (PLC instead of bad frame decoding),
- correcting bad frames (reducing the FER).
However, the positive effects are only observed in the presence of errors while the negative impact of the reduced data rate is present at all times. Furthermore, the signal strength of wireless networks such as the DECT (Digital Enhanced Cordless Telecommunication) system usually varies during the duration of a connection, i.e., for a phone call where the speaker moves around while speaking or due to external temporal disturbances. It is therefore suboptimal to apply a fixed forward error correction (FEC) scheme over the course of a connection. Instead, it is rather desirable to have a flexible channel coder providing a multitude of FEC modes varying from low protection and high data rate to high protection and low data rate (assuming the total rate, i.e., sum of data rate and redundancy rate, to be fixed).
From the audio codec perspective, such a switchable system does not impose a big challenge, as modern audio codecs usually support on the fly bitrate switching for speech and audio signals. But it imposes the technical problem of signaling the FEC mode on a frame basis. For easy integration into existing systems, the FEC mode should be signaled in-band. If this is done explicitly, this also reduces the data rate. Furthermore, the mode signaling will also be exposed to transmission errors and will not be protected by the error correcting codes as the channel decoder requires the knowledge of the mode before being able to decode the encoded data. It would therefore be necessary to protect the FEC mode separately in order to avoid having an Achilles’ heel to the FEC scheme, which again decreases the data rate for the audio frame.
A well-known channel coder for audio data is the EP (Error Protection) tool specified in MPEG-4 Part 3 (Information technology - Coding of audio-visual objects- Part 3: Audio Standard, International Organization for Standardization, Geneva, CH 2009). It features a multitude of protection classes ranging from error detection to the FEC schemes of different strengths. It also features flexible frame architectures and unequal error protection (UEP). The basic idea of UEP is to divide the frame into sub-frames according to the bit error sensitivities, and to protect these sub-frames with appropriate strength of FEC and/or cyclic redundancy check (CRC). In order to apply UEP to audio frames, information, at least a) number of classes, b) number of bits each class contains, c) the CRC code to be applied for each class, which can be presented as a number of CRC bits, and d) the FEC code to be applied for each class as frame configuration parameters is required. As explained above, UEP requires both out-of-bands signaling of the basic configuration as well as a significant amount of configuration parameters that are signaled in-band. The in-band configuration parameters are furthermore protected separately from the data as they are needed prior to data decoding.
It is thus the object of the present invention to provide a concept for efficient and error-resilient channel coding.
This object is achieved by the subject-matter of a channel encoder according to claim 1, a channel decoder according to claim 14, a method for encoding a frame according to claim 43, a method for channel decoding at least one transmitted code word according to claim 46, a computer program according to claim 52 and a data stream according to claim 53 of the present application.
According to the present invention, a channel encoder comprises a colorator for applying a coloration sequence to at least one code word, i.e. , the code word includes information/indication of the coding mode. Therefore, transmission bits used for indicating the coding mode to a channel decoder is not necessary, and hence, the transmission rate is improved and it is possible to transmit the code word efficiently. In addition, the information/indication of the coding mode is included in the code word by applying the coloration sequence which is selected in accordance with the coding mode, and hence, it is possible to provide error resilient mode signaling.
According to the present invention, a channel decoder receives at least one transmitted code word, i.e., the code word including the information/indication of the coding mode (decoding mode). That is, the information/indication of the coding mode is distributed in the code word by applying the coloration sequence, and therefore, the information/indication of the coding mode is received at the channel decoder in the error resilient way. In addition, the channel decoder comprises a decoding mode detector for generating a decoding mode indicator indicating the certain decoding mode to be used for redundancy decoding, and the decoding mode indicator is associated to the at least one coloration sequence as the specific coloration sequence used for the coloration of the transmitted code word. Therefore, it is possible to detect the decoding mode by determining the specific coloration sequence, i.e., the channel decoder is able to determine the decoding mode without separately receiving specific information of the decoding mode. Hence, data transmission ratio is improved.
In accordance with embodiments of the present application, a channel encoder for encoding a frame, comprising: a multi-mode redundancy encoder for redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes, wherein the coding modes are different from each other with respect to an amount of redundancy added to the frame, wherein the multi-mode redundancy encoder is configured to output a coded frame including at least one code word; and a colorator for applying a coloration sequence to the at least one code word; wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one of coloration sequence, wherein the specific coloration sequence is selected in accordance with the certain coding mode.
In accordance with embodiments of the present application, the channel coding may be changed each frame based on an indication of a mode selection. The indication includes mode selection and coloration sequence to be applied or indication of bypassing the coloration sequence.
In accordance with embodiments of the present application, the channel encoder further comprises a data splitter for splitting the frame into a plurality of data words, wherein the multi-mode redundancy encoder is configured to encode each of the plurality of data words according to the certain coding mode to obtain a plurality of code words, wherein the colorator Is configured to apply the specific coloration sequence to each code word in a predefined subset of the plurality of code words. That is, the redundancy rate can be different for different data words, i.e. , redundancy rate can be different for each data word. In addition, a length of the data word included in the code word is changed based on the calculated number of the code words and also based on the code word index.
In accordance with embodiments of the present application, a channel decoder for channel decoding at least one transmitted code word, comprising: a colorator for applying at least one coloration sequence to the at least one transmitted code word or to at least one error corrected transmitted code word to obtain at least one colored code word, wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, and wherein the at least one coloration sequence is associated to a certain decoding mode as a specific coloration sequence; a redundancy decoder for redundancy decoding the at least one colored code word to obtain a decoded output code word; and a decoding mode detector for generating a decoding mode indicator indicating the certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word, wherein the decoding mode indicator is associated to the at least one coloration sequence as the specific coloration sequence used for the coloration of the transmitted code word. That is, to a plurality of transmitted code words are applied different coloration sequences (de-coloration) and
(de)colored words are decoded by using different decoding modes and one of the used decoding modes is selected as a certain decoding mode based on the test result.
In accordance with embodiments of the present application, the redundancy decoder comprises a bit number reducer for reducing the bit number of the colored code word and an error corrector for correcting an error of the colored word, or the channel decoder further comprises an error corrector for correcting an error of the transmitted code word. That is, in case there is an error in the transmitted code words, the error correction process is operated in a part of the decoding process at the redundancy decoder, or error correction process is operated before applying the (de)coloration independently from the redundancy decoder.
In accordance with embodiments of the present application, the colorator is configured to use, in addition to the coloration sequence, at least a further coloration sequence, or wherein the channel decoder is configured to bypass the colorator in a further decoding mode without any coloration, e.g., the coloration sequence has only zero as values; wherein the redundancy decoder is configured to redundancy decode an additional at least one colored code word colored Using the further coloration sequence, to obtain a further decoded code word, the further colored code word which obtained from the transmitted code word using the further coloration sequence, or the transmission code word without coloration to obtain an even further decoded code word, and wherein the redundancy decoder is configured to output a reliability measure for the decoded code word, a further reliability measure for the further decoded code word or an even further reliability measure for the even further code word, e.g., the reliability measure is calculated for each decoded code word using a different coloration sequence and decoding mode, wherein the decoding mode detector is configured to determine, based on the reliability measures, the decoding mode indicator, and wherein the redundancy decoder is configured to receive the decoding mode indicator and to output as the decoded output code word, either the decoded code word, the further decoded code word, or the even further decoded code word. That is, in case there is an error in the transmitted code word, then, the reliability measure, e.g., risk value (reliability measure) is calculated and the decoded mode used for the decoded code word having the smallest risk value is selected as the certain decoding mode.
In accordance with embodiments of the present application, the decoding mode detector is configured to store a candidate list indicating a predetermined number of candidate
decoding modes, wherein one candidate decoding mode may be indicated without any coloration sequence or all candidate decoding modes are associated with a coloration sequence, and to select one candidate decoding mode as a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word to be used, wherein the decoding mode detector is configured to perform a first decoding mode operation and a second decoding mode operation, wherein the decoding mode detector for performing the first decoding mode operation is configured to estimate the certain decoding mode being the candidate decoding mode without coloration sequence, i.e., before the hash is evaluated whether the first code word is un-colored, to calculate syndromes of the code word, to check whether the calculated syndromes have value zero, and when the calculated syndromes have value zero, to calculate a hash value of the transmitted code word, to compare the calculated hash value and a hash value included in the transmitted code word, when the calculated hash value is equal to the included hash value, to generate the decoding mode indicator to indicate the candidate coding mode without coloration sequence as the certain decoding mode, or when the calculated hash value Is different from the included hash value, to exclude the candidate decoding mode without coloration sequence from the candidate list, and to proceed further with the second decoding mode operation. That is, the decoding mode detector performs two operations, e.g., the decoding mode detector comprises a first decoding mode detector for performing the first decoding mode operation and a second decoding mode detector for performing the second decoding mode operation, and in case the certain decoding mode is not selected in the first decoding mode operation, the selection process proceeds further with the second decoding mode operation. Therefore, if there is no error in the transmitted code words and the mode associated with no coloration sequence was used at the encoder, it is not necessary to proceed further, and hence, the certain decoding mode is efficiently selected.
In accordance with embodiments of the present application, in the second decoding mode operation, an error of the transmitted code word 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, in case the detected errors are not correctable, then the decoding mode associated with the coloration sequence applied to the transmitted word including the uncorrectable error is excluded from the candidate list. In addition, in case the error locator polynomial for the transmitted word having the correctable error is not able to be determined, then, the further decoding mode is excluded from the candidate list. That is, the listed candidate decoding modes are excluded step by step and the remaining
decoding mode on the list is selected as the certain decoding mode at the end. Hence, the certain decoding mode is reliably selected when considering the risk of error occurrence.
In preferred embodiments of the present application, the FEC mode is signaled by modifying well-known linear codes in such a way that the redundancy rate is efficient while the decoder is able to determine the FEC mode by partial trial decoding. This zero byte implicit signaling is deterministic if no transmission errors occur and otherwise finds the correct mode with high probability, i.e. , the frame loss due to signaling errors is negligible compared to the frame loss due to uncorrectable frames. More specifically, it is concerned with a (FEC) scheme that provides a multitude of Nmode modes for encoding data sequences into code sequences of a given length Ntarget. Here, for simplicity binary sequences are assumed, but a similar scheme would also apply to the general case where data symbols are elements in any field, for example, finite Galois field.
Advantageous aspects of the present application are the subject of dependent claims. Preferred embodiments of the present application are described below with respect to the figures, among which:
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;
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;
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;
Fig. 4 shows a block diagram illustrating an example of a further channel encoder shown in Fig. 3;
Figs. 5A, 5B show a block diagram illustrating examples of a channel decoder for channel decoding at least one transmitted code word according to embodiments of the present application;
Fig. 6 shows a flowchart for an example of a channel decoding operation implemented by the claimed channel decoder shown in Fig. 5A or Fig. 5B according to the embodiments of the present application;
Figs. 7A, 7B show a block diagram illustrating variations of a channel decoder for channel decoding at least one transmitted code word according to the present application as indicated by Figs. 5A and 5B;
Fig. 8 shows a block diagram illustrating further variation of a channel decoder for channel decoding at least one transmitted code word according to the present application as indicated by Fig. 7A or 7B;
Fig. 9 shows a block diagram illustrating another example of a channel encoder for encoding a frame to be transmitted according to the embodiments of the present application;
Fig. 10 shows a flowchart for an example of a channel encoding operation implemented by the channel encoder shown in Fig. 9 according to the embodiments of the present application;
Fig. 11 shows a block diagram illustrating a variation of a channel encoder for encoding a frame to be transmitted according to the embodiments of the present application shown in Fig. 9;
Fig. 12 shows a schematic illustration of an example for frame architecture in the channel encoding operation shown in Fig. 11 according to the embodiments of the present application;
Fig. 13 shows a schematic illustration of an example for frame architecture dependent on an encoding mode according to the embodiments of the present application;
Fig. 14 shows a block diagram illustrating a further example of a channel encoder for encoding a frame to be transmitted according to the embodiments of the present application;
Fig. 15 shows a block diagram illustrating a further example of the channel decoder for channel decoding at least one transmitted code word according to embodiments of the present application;
Fig. 16 shows a block diagram illustrating an example of a decoding mode detector of the channel decoder located in the channel decoder shown in Fig. 15 according to the embodiments of the present application;
Fig. 17 shows a flowchart for an example of 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 the embodiments of the present application;
Fig. 18 shows a block diagram illustrating an example of a second decoding mode operation of the decoding mode detector implemented by the decoding mode detector shown in Fig. 16 according to the embodiments of the present application;
Fig. 19 shows a flowchart for an example of a procedure of the second decoding mode operation implemented by the second decoding mode detector shown in Fig. 18 according to the embodiments of the present application;
Fig. 20 shows a block diagram illustrating a variation of the channel decoder for channel decoding at least one transmitted code word according to embodiments of the present application shown in Fig. 15;
Fig. 21 shows a block diagram illustrating a variation of a decoding mode detector of the channel decoder located in the channel decoder shown in Fig. 20 according to the embodiments of the present application;
Fig. 22 shows a schematic illustration of an operation of a first decoding mode operation implemented by the mode detector shown in Fig. 20;
Fig. 23 shows a schematic illustration of an operation of a second decoding mode operation implemented by the second decoding mode detector shown in Fig. 18; and
Fig. 24 shows an enlarged schematic illustration of the operation of the second decoding mode operation shown in Fig. 23.
Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by equal or equivalent reference numerals.
In the following description, a plurality of details is set forth to provide a more thorough explanation of embodiments of the present application. However, it will be apparent to one skilled in the art that embodiments of the present application may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring embodiments of the present application. In addition, features of the different embodiments described hereinafter may be combined with each other, unless specifically noted otherwise.
Fig. 1 illustrates an embodiment of channel encoder 2 for encoding a frame, comprising a multi-mode redundancy encoder 4 for redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes, and a colorator 6 for applying a coloration sequence to the at least one code word. Fig. 2 illustrates another example of channel encoder 2 further comprising a controller 8 for providing coding criteria, e.g., redundancy rate of the frame, required data protection (certain coding mode, data length, target size Ntarget, number of data words consisting the frame and so on. In case the channel encoder 2 does not include the controller 8 as indicated in Fig. 1, the coding criteria is provided associated with the frame to the multi-mode redundancy encoder 4. As an option, the channel encoder 2 also includes hash extension to calculate a hash value of the frame to be transmitted.
In a further embodiment, for example, a frame of an audio data is provided to the channel encoder 2. In case the controller 8 is not included in the channel encoder 2 (as shown in Fig. 1), the frame of the audio data is associated with an indication of the target size Ntarget and the certain coding mode mfec. Then, the provided frame is encoded at the multi-mode redundancy encoder 4, and a plurality of code words is outputted from the multi-mode redundancy encoder 4. The outputted code words are provided to the
colorator 6 and at least one code word of the outputted code words is colored by applying a specific coloration sequence sigm which is selected in accordance with the certain coding mode mfec. Regarding the coloration sequence, when the value of the coloration sequence is zero, then coloration is bypassed for the code words. That is, for example, a coding mode mfec = 1 is associated to the coloration sequence sig1 having the zero value, i.e., the coloration sequence sig1 is a zero sequence, and therefore, the coloration for the code words encoded by the coding mode mfec = 1 is bypassed.
Fig. 3 shows an example of an encoder including a channel encoder according to an embodiment of the present application. The encoder comprises an audio encoder 1, the channel encoder 2 and a switching unit 3. The audio encoder 1 is configured to encode input audio data and the channel encoder 2 is configured to encode the channel according to the indicated mode. The switching unit 3 provides the audio encoder 1 with payload size Np and the channel encoder 2 with FEC mode and slot size Ns. As shown in Fig. 3, the encoder outputs the encoded frame.
Fig. 4 shows a further example of the channel encoder shown in Fig. 3. The channel encoder 2 comprises a hash extension 10, a linear encoder 4 and a colorator 6’. The audio data encoded at the audio encoder 1 is input as input data ain, and the hash extension 10 generates an extension data aext by adding the hash data. The extension data aext is provided to the linear encoder 4’ and the linear encoder 4’ generates a code word aenc in linear code. The code word aenc is provided to the colorator 6’ and the colorator 6’ generates colored code word aout to be transmitted.
The channel encoder 2 in Fig. 4 performs an implicit mode signaling, i.e., transmitting an encoded frame to a decoder without explicitly indicating the coding mode. In particular, no metadata other than the target size Ntarget needs to be transmitted to the decoder (e.g., as shown, for example, in Figs. 5A and 5B). To each of the Nmode mode, a linear code word Cm of length Ntarget is assigned, meaning The first stage of
data encoding thus consists of mapping a given data word in to a code
word in Cm.
The implicit mode signaling is based on the fact that it can be tested efficiently whether a given word c ⊂ C0 lies in Ck. However, since the codes are linear, the intersections Cm ∩ Cn are not empty, in particular, many families of codes, such as primitive narrow-sense BCH codes or Reed-Solomon codes with the same base field, will even produce inclusions between the different codes when ordered according Hamming distance, i.e.,
It may therefore happen that a code word cm obtained by encoding a data word in mode m also lies in Cn for an n ≠ m, whence it is generally not possible to determine the mode based on such a test alone. This problem is solved by applying a mode dependent transformation
Tm: C0 → C0 (2)
after encoding. These transformations are designed such that Tm(Cm) ∩ Tn(Cn) = Ø for m ≠ n which resolves the aforementioned ambiguity. Since the transformations do not change the length of the code words, this method effectively signals the mode of the channel coder with zero bits.
In the present embodiment these transformations are given by calculating the bit-wise XOR of the encoded code word c and a signaling sequence sigm ∈ C0. So when encoding in mode m the channel encoder outputs the colored code word
Receiving and being ignorant of the representation in (3), the decoder can then test efficiently whether
Since is the zero sequence, the decoder will be able to verify that
lies in Cm. Furthermore, on the condition
the signaling sequences sigk can be chosen such that
for k ≠ l allowing for deterministic mode detection at the decoder if no transmission errors occur. Hence, it is not necessary to separately transmit the data to indicate the certain coding mode and the parameters to the channel decoder.
As shown in Fig. 5A, the channel decoder 20 comprises a col orator (de-colorator) 22, a redundancy decoder 24 and a mode detector 26. The redundancy decoder 24 comprises a bit-number reducer 24a and an error corrector 24b, however, it is not necessary that the bit-number reducer 24a and the error corrector 24b are provided in the redundancy decoder 24. That is, as shown in Fig. 5B, the error corrector 24b may be connected to the colorator 22, and the bit-number reducer 24b may be located between the colorator 22 and the mode detector 26. The mode detector 26 is connected to the redundancy decoder 24 (bit-number reducer 24a) and the colorator 22. At the channel decoder 20, more specific, at the decoding mode detector 26, a decoding mode indicator indicating the certain decoding mode to be used by the redundancy decoder 24 (the bit-number reducer 24a) to obtain the decoded output code word, and the specific coloration sequence used for the coloration of the transmitted code word at the colorator 22 is determined.
The channel decoder 20 receives transmitted code words transmitted from the channel encoder 2. Then, a predetermined number of transmitted code words are used/tested for generating the decoding mode indicator at the decoding mode detector 26 as explained below. The decoding mode detector 26 has information regarding decoding modes which could be used by the channel encoder 2, e.g., a list of candidate decoding modes.
Fig. 6 is a flowchart for an example of a channel decoding operation implemented by the claimed channel decoder shown in Fig. 5A or Fig. 5B. The predetermined number of the transmitted code words is de-colorated by applying a coloration sequence (S2), for example, the coloration sequence sig1 associates to a decoding mode mfec = 1 in the candidate list. Then, colored (de-colored) code words are decoded at the bit-number reducer 24a (S4) and the predetermined number of decoded output code words is obtained. In case no transmission errors have occurred (S6), the decoding mode indicator is generated at the decoding mode detector 26 based on the decoded output code words (S10). The generated decoding mode indicator is provided to the colorator 22 and the
redundancy decoder 24 (bit-number reducer 24a), i.e., in case the decoding mode indicator indicates the certain decoding mode, it is defined that the decoding mode is detected (S12). Then, the transmitted code words decoded by using the certain decoding mode are outputted as the decoding output code words (S16).
As indicated at S6, if errors are detected, a reliability measure (a risk value) is calculated at the decoding mode detector 26 (S7). That is, in case the transmitted errors are occurred, the errors are detected and attempted to be corrected by calculating and using syndromes at the error corrector 24b and the result of the error correction is provided to the decoding mode detector 26 from the error corrector 24b. In case the error corrector 24b is independent, as shown in Fig. 5B, the result of the error correction is associated with the transmitted code word. The detailed procedure of the error detection and the error correction will be explained later.
Then, in case all the candidate decoding modes on the list are tested (S8), it proceeds further to S10 as described above. If there is a remaining candidate decoding mode on the list (S8), S2 to S7 are repeated until the entire candidate decoding modes are tested. In case the certain decoding mode is not determined (S12), although all of the candidate decoding modes are tested, the frame, which consists of the transmitted code word used/tested for determining the certain decoding mode, is registers as a bad frame.
Figs. 7A and 7B show variations of the channel decoder 20 as shown in Fig. 5A and 5B. As shown in Fig. 7A, the channel decoder 20 further comprises the controller 28 which is connected to the colorator 22, the redundancy decoder 24 and the mode detector 26. Also, the channel decoder 20 in Fig. 7B corresponding to the channel decoder 20 described in Fig. 5B, further comprises the controller 28 which is connected to the error corrector 24b, the colorator 22, the bit-number reducer 24a and the mode detector 26.
At the channel decoder 20 in Fig. 7 A as well as in Fig. 7B, a plurality of mode tests may be processed in parallel. For example, if there are four candidate modes on the candidate list, the mode test is performed for each candidate mode, i.e., candidate 1: a coloration sequence sig1 and a decoding mode mfec = 1, candidate 2: a coloration sequence sig2 and a decoding mode mfec = 2, candidate 3: a coloration sequence sig3 and a decoding mode mfec = 3 , and candidate 4: a coloration sequence sig4 and a decoding mode mfec = 4 are performed in parallel as described below (S2 to S8 in Fig. 6 are performed for each candidate in parallel). The mode detector 26 then generates the decoding mode
indicator and the controller 28 instructs to the redundancy decoder 24 (the bit-number reducer 24a) to output the decoded code words decoded using the indicated decoding mode as the outputted decoded code words.
Fig. 8 shows a variation of the channel decoder comprising a plurality of colorators 221 to 224, a plurality of decoders (redundancy decoders) 241 to 244, mode selector (detector) 25 and a switch 27. As described in Fig. 8, transmitted code word, i.e., encoded data ain is input to the channel decoder and copied for providing to the plurality of the colorators 221 to 224. A coloration sequence sig1 is applied to the copied encoded data ain at the colorator 221 and a decoding mode mfec = 1 is applied to the colored code word ain( 1) at the decoder 241 to obtain a decoded code word adec (1). In this embodiment, the coloration sequence sig1 is zero sequence, i.e., the coloration operation is bypassed. A coloration sequence sig2 is applied to the copied encoded data ain at the colorator 222 and a decoding mode mfec = 2 is applied to the colored code word ain( 2) at the decoder 242 to obtain a decoded code word adec( 2). A coloration sequence sig3 is applied to the copied encoded data ain at the colorator 223 and a decoding mode mfec = 3 is applied to the colored code word ain(3) at the decoder 243 to obtain a decoded code word adec( 3). A coloration sequence sig4 is applied to the copied encoded data ain at the colorator 224 and a decoding mode mfec = 4 is applied to the colored code word ain( 4) at the decoder 244 to obtain a decoded code word adec(4).
Although it is not depicted in Fig. 8, the decoder includes an error corrector and decoding statistical information, e.g., the number of corrected bits or symbols, and number of corrected symbols in sub code words, if code is constructed from smaller codes, is provided from each decoder 241 to 244 to the mode selector 25 as indicated by a dotted line. Then, the mode selector 25 generates a decoding mode indicator indicating the certain decoding mode to be used by the decoder to obtain the decoded output code word. The mode selector 25 selects the decoding mode as the certain decoding mode based on the decoding statistic information, i.e., if a mode decodes without error correction, this mode is selected as the certain decoding mode. In this case, it should be noted that no miss-selection can happen if no errors have occurred. If errors occurred, a risk value (reliability measure) is computed for the decoding modes based on the likelihood to produce a code word with a similar number of errors by a random guess. The mode detector then decides for the decoding mode with the lowest risk value. In addition, the mode detector may also require the risk value of the selected mode to be smaller than a pre-determined threshold. Hence, if there is no decoding mode having the risk value less than the predetermined threshold, a bad frame indicator is generated instead of the decoding mode indicator. The bad frame indicator is provided to the encoder together with the data size/length Ndata.
The decoder determines/calculates/computes the risk value (reliability measure) of the decoding mode based on the number of the corrected symbols during a decoding operation of the colored code word. If a predetermined number of code words are colored, e.g., 6 code words are colored, then, the risk value (reliability measure) for decoding mode mfec = 2 is calculated based on the number of the corrected symbols during a decoding operation of the 6 colored code words. In the same manner, the risk value (further reliability measure) for decoding mode mfec = 3 is calculated based on the number of the corrected symbols during a decoding operation of the 6 colored code words, or the risk value (even further reliability measure) for decoding mode mfec = 1 is calculated based on the number of the corrected symbols during a decoding operation of the 6 code words without coloration.
When the certain decoding mode is selected, then, the decoding mode indicator is provided from the mode selector 25 to the switch 27. The switch 27 switches the connection to the decoder to obtain the decoded output code word based on the decoding mode indicator. That is, for example, if the decoding mode mfec = 3 is indicated as the certain decoding mode, then the switch 27 connects to the decoder 243 to obtain the decoded output code word.
In case transmission errors occurred, the decoder 20 receives
with an error sequence e. This can lead to ambiguities in the sense that
for different k, where denotes the sets of all sequences that can be corrected by the
FEC scheme (for example, at the error corrector 24b shown in Figs. 7a and 7b) to
produce a code word in Ck. If k ≠m is such a mode, then the decoding strategy is to regard the error term
as a random guess and estimate the mode from a list of candidate modes according to a risk value, i.e. , the reliability measure. This risk value is derived from decoding statistics such as the number of corrected symbols and reflects the likelihood that the decoder input is a random guess in C0 (i.e. a sequence of fair coin tosses).
This way, the risk of selecting the wrong mode is limited by the risk of erroneously decoding a code word that has been damaged beyond the error correction capability of the underlying code. In cases where this risk is considered too large, a hash value may be added as an option to the data before encoding and taken into account in the mode detection procedure. While this, similarly to an explicit signaling, reduces the data rate, it improves mode selection risk and wrong decoding risk alike. Therefore, the proposed FEC scheme is very well-suited for the application, where undetected corrupted frames usually lead to stronger degradations than detected and concealed corrupted frames.
Further details regarding the channel encoder 2 and the channel decoder 20 according to the present application are explained below.
Channel Encoder
The envisioned channel encoder operates on bytes and utilizes Reed-Solomon codes over GF(16) to construct a family of linear codes. It takes as input the target size in bytes denoted Ns, also referred to as slot size, a mode number mfec between 1 and 4 and an input sequence of data bytes a(k) , k = 0,1, ...,NP - 1 , which are interpreted in the following as integers between 0 and 255. The input size Np is derived from the parameters Ns and mfec as will be specified later. In the following, the target size is assumed to be at least 40 bytes.
Fig. 9 shows a block diagram illustrating another example of a channel encoder 2 for encoding a frame to be transmitted according to the embodiments of the present application. The channel encoder 2 comprises a controller 8, a pre-processor 10, data splitter 12, a multi-mode redundancy encoder 4, a colorator 6 and a multi-mixer 14.
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, hash value of the input data, i.e., input frame data, is calculated and added to the input data (S20). The frame including the input data and the added hash value is split by the data splitter 12 into a plurality of data words (S22). The number of the data words is calculated based on a target size of the frame. A plurality of the data words is encoded by the multi-mode redundancy encoder 4 (S24), and the encoded data words, i.e., code words are provided to the colorator 6 for applying a coloration sequence (S26). Then colored code words are interleaved at the multi-mixer 14 (S28).
Fig. 11 shows a block diagram illustrating a variation of the channel encoder depicted in Fig. 9. The channel encoder in Fig. 11 further comprises a frame configurator 11 for providing information to other devices. For example, the frame configurator 11 receives parameters, e.g., target size of the code word Ns and the coding mode mfec. In addition, a size of a hash value Nhash of the frame and the Flamming distance are calculated at the frame configurator 11. As depicted in Fig. 11, an input data ain and data length Np information, and the calculated hash size Nhash and the Flamming distance are provided to the pre-processor 10. In addition, the lengths of the code words Li, Flamming distances di and the number of code words Ncw are provided to the data splitter 12, the Read-Solomon (RS) encoder 4, the colorator 6 and the multiplexer (interleaver) 14. From the pre-processor 10, for example, the data a2 having the size N2 = Np + Nhash is provided to the data splitter 12. The data splitter 12 splits the frame into a plurality of code words D0, D1 to DNcw- 1 which are provided to the RS encoder 4. The RS encoder 4 encodes the data words to obtain code words C0, C1 to CNcw-1 which are provided to the colorator 6. The colorator 6 applies a coloration sequence to the code words to obtain colored code words and the colored code words are interleaved at the multiplexer and outputted as aout. Detail procedure is explained below.
Data Pre-Processing
In the pre-processing step, a hash value of Nhash bytes is calculated on the input data, e.g. a CRC (Cycle Redundancy Check) hash, where Nhash = Nhask(Ns,mfec ) is a number depending only on the slot size Ns and the FEC mode mfec. In the preferred embodiment, the number is given by
The hash value is used for data validation, as the error detection of the Reed-Solomon codes is not very strong.
Let the hash bytes be denoted h(k), k = 0,1, ...,Nhash - 1 and let rem(n, m) denote the remainder in the long division of n by m. Hash and data are concatenated and split into a sequence of numbers from 0 to 15 (in the following referred to as unit4 numbers), e. g. according to
a2(2k): = rem(h(k), 16) (12)
and
a2{2k + 1): = [h(k)/ 16] (13)
for k = 0,1, ...,Nhash - 1, and
a2(2k): = rem(a(k - Nhash), 16) (14)
and
a2(2k + 1): = [a(k — Nhash)/16], (15)
for k = Nhash, Nhash + 1, ... , Np + — 1.
The input data extended with the calculated hash, i.e., the frame including the hash value is split into a plurality of data words. The number of the data words is calculated, for example, based on a target size for the frame and code word index.
Fig. 12 shows a schematic illustration of an example for frame architecture in the channel encoding operation performed by the channel encoder shown in Fig. 11. The input data, i.e., input frame including the hash value is split into the calculated number of data words (also the number of code words), e.g., 6 data words D1 to D5.
Reed-Solomon Encoding
(Reference to “Error Correction Coding: Mathematical Methods and Algorithms’', Todd K. Moon, 2005.)
The linear codes are constructed from a multitude of Reed-Solomon codes over GF(16) with Hamming distances 1,3,5 and 7. The number of code words is calculated from the slot size as
and the length of code word i in data symbols is given by
where i ranges from 0 to Ncw - 1. The condition Ncw > 40 implies that Li ∈ {13,14,15}. The Hamming distances for the different code words are mode and code word dependent and are given by
The data array is split into Ncw data words according to
Di(k): = a2(Si + k), k = 0,1, ...Li - δ i(( mfec)), (19)
where the sequence of split points is inductively defined by S0: = 0 and Si+1: = Si + Li -δi( mfec ) + 1.
This constraints the input length to
which depends on Ns and mfec alone.
Subsequently, the data words Di are encoded into RS(Li,Li - δi( mfec) + 1) codes Ci. Reed-Solomon encoding depends on a generator for the base field and a generator for the unit group of that base field (see e.g. “Error Correction Coding: Mathematical Methods and Algorithms”, Todd K. Moon, 2005) as well as a data-to-symbol mapping. In the following, the field GF(16) is assumed to be generated by x4 + x + 1 and the unit group generator α is assumed to be the residual class of x in GF(16) = GF(2)/(x4 + x + 1) . Furthermore, the data-to-symbol mapping (mapping unit4 numbers to elements of GF(16)) is taken to be
n → [n]: = bit0(n ) + bit1(n)α + bit2(n)α2 + bitn(n)α3, (21)
where bitk(n) denotes the fc-th bit in the binary representation of n given by
The code word Ci is then the uniquely determined sequence satisfying
Ci(δi(mfec) - 1 + k) = Di(k ) (23)
for k = 0,1, ..., Li - δi( mfec) and also satisfying that the polynomial
is divisible by the RS generator polynomial
As explained above, the data words are encoded and the code words are output as also indicated in Fig. 12. The length of each code words is not necessarily the same, e.g., the length of code words C0 and is 14 nibbles and the length of code words C2 to C5 is 13 nibbles, and therefore, the length of the frame including code words C0 to C5 is 40 bytes. It should be noted that the redundancy rate can be different for different data words, since the length of the data words are not exactly the same.
Fig. 13 is a schematic illustration of an example for frame architecture dependent on an encoding mode. Fig. 13 shows a relationship between the data to be transmitted and redundancy arrangement when the target size is 40. For example, when the code words encoded using mfec = 1 , no error is expected, when the code words encoded using mfec = 2 , one symbol error per code word may occur, when the code words
encoded using mfec = 3, two symbol errors per code word may occur, and when the code words encoded using mfec = 4 , three symbol errors per code word may occur. The channel decoder 20 is informed about the data to be transmitted and the redundancy arrangement, since decoding requires knowledge of the mode in order to extent encoded data.
In the next step, mode signaling is performed by coloration of code words according to
for k = 0,1, ... Li, where sigk is one of the following sequences:
sig1(·) = (0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,0)
sig2(·) = (7,15,5,6,14,9,1,3,12,10,13,3,2,0,0)
sig3(·) = (7,11,14,1,2,3,12,11,6,15,7,6,12,0,0)
sig4(·) = (6,15,12,2,9,15,2,8,12,3,10,5,4,0,0)
In this embodiment, the number of code words (data words) is 6 if Ns = 40. If the number of code words is large, it is not necessary to color all code words in order to robustly signal the FEC mode. In this case, coloration can be limited to a pre-defined subset of code words, e.g., the first 6 code words as indicated above by i < 6. However, the number of code words may be changed dependent on parameters, i.e. , target size, code word index, length of the code word and so on. Furthermore, figures of the coloration sequence are not limited to the above-mentioned examples and may be different figures.
WE CLAIMS
1. Channel encoder for encoding a frame, comprising:
a multi-mode redundancy encoder for redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes,
wherein the coding modes are different from each other with respect to an amount of redundancy added to the frame, wherein the multi-mode redundancy encoder is configured to output a coded frame including at least one code word; and
a colorator for applying a coloration sequence to the at least one code word;
wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one of coloration sequence, wherein the specific coloration sequence is selected in accordance with the certain coding mode.
2. Channel encoder according to claim 1, wherein the multi-mode redundancy encoder is configured to apply the certain coding mode in a previous frame, the first coding mode having associated therewith the coloration sequence, wherein the multi-mode redundancy encoder is configured to receive, for a current frame, an indication to use a second encoding mode having associated therewith a further coloration sequence, and wherein the colorator is configured to apply the further coloration sequence in the current frame, or
wherein the further coloration being bypassed with a coloration sequence in the current frame.
3. Channel encoder according to claim 1 or 2, further comprising:
a controller for providing coding criteria, wherein the coding criteria defines a redundancy rate of the frame, wherein the multi-mode redundancy encoder is configured to add redundancy to the frame in accordance with the redundancy rate defined by the certain coding mode and a variable or fixed target size of the coded frame.
4. Channel encoder according to claim 3, wherein the multi-mode encoder is configured to determine the coding mode based on a required data protection strength,
wherein the controller is configured to determine the required data protection strength based on an estimated error occurrence of a transmitted channel.
5. Channel encoder according to claims 1 to 4, wherein the controller is configured to switch the certain coding mode used for encoding the frame, and to generate coding mode information indicating the certain coding mode,
wherein the multi-mode redundancy encoder is configured to receive the coding mode information and perform redundancy encoding to obtain the at least one code word in accordance with the certain coding mode indicated by the received coding mode information,
wherein the colorator is configured to receive an indication for indicating the specific coloration sequence and to apply the indicated specific coloration sequence to the at least one code word.
6. Channel encoder according to claim 5, wherein the colorator is configured to receive the indication for indicating the specific coloration sequence either from the controller or from the multi-mode redundancy encoder.
7. Channel encoder according to claims 1 to 6, wherein the colorator is configured to perform the coloration of the at least one code word by calculating a bit-wise XOR of the at least one code word and the specific coloration sequence.
8. Channel encoder according to claims 1 to 7, comprising:
a data splitter for splitting the frame into a plurality of data words, wherein the multi-mode redundancy encoder is configured to encode each of the plurality of data words according to the certain coding mode to obtain a plurality of code words,
wherein the colorator is configured to apply the specific coloration sequence to each code word in a predefined subset of the plurality of code words.
9. Channel encoder according to claim 8, wherein the data splitter is configured to calculate the number of code words based on a target size for the frame, wherein a length of the data word, which is included in the code word, is changed based on the calculated number of the code words.
10. Channel encoder according to any claims 1 to 9, comprising:
an audio/video encoder for encoding an audio/video frame data, wherein the audio/video encoder is configured to set a set of audio/video frame data based on the certain mode.
11. Channel encoder according to claims 1 to 9, comprising:
a pre-processor for calculating a hash value on the audio/video frame, wherein
the pre-processor is configured to concatenate the hash value and the audio/video frame.
12. Channel encoder according to claims 8 to 11, wherein the data splitter is configured to split the frame, wherein at least one data word consists of the at least a part of the hash value and a part of the audio/video frame.
13. Channel encoder for encoding a frame, comprising:
a multi-mode redundancy encoder for redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes, wherein the multi-mode redundancy encoder is configured to be capable of encoding the frame using each coding mode in the set,
wherein the coding modes are different from each other with respect to an amount of redundancy added to the frame, wherein the multi-mode redundancy encoder is configured to output a coded frame including at least one code word; and
a colorator for applying a coloration sequence to the at least one code word;
wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one of coloration sequence, wherein the colorator is configured to select the specific coloration sequence in accordance with the certain coding mode,
wherein the channel encoder further comprises:
a data splitter for splitting the frame into a plurality of data words, wherein the multi-mode redundancy encoder is configured to encode each of the plurality of data words according to the certain coding mode to obtain a plurality of code words,
wherein the colorator is configured to apply the specific coloration sequence to each code word in a predefined number of the code words or in a predefined subset of the plurality of code words.
14. Channel decoder for channel decoding at least one transmitted code word, comprising:
a colorator for applying at least one coloration sequence to the at least one transmitted code word or to an error corrected at least one transmitted code word to obtain at least one colored code word,
wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, and
wherein the at least one coloration sequence is associated to a certain decoding mode as a specific coloration sequence;
a redundancy decoder for redundancy decoding the at least one colored code word to obtain a decoded output code word; and
a decoding mode detector for generating a decoding mode indicator indicating the certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word,
wherein the decoding mode indicator is associated to the at least one coloration sequence as the specific coloration sequence used for the coloration of the transmitted code word.
15. Channel decoder according to claim 14, wherein the redundancy decoder comprises a bit number reducer for reducing the bit number of the at least one colored code word and an error corrector for correcting an error of the colored code word, or
the channel decoder further comprises an error corrector for correcting an error of the at least one transmitted code word.
16. Channel decoder according to claim 14 or 15, wherein the colorator is configured to use, in addition to the coloration sequence, at least a further coloration sequence, or wherein the channel decoder is configured to bypass the colorator in a further decoding mode without any coloration;
wherein the redundancy decoder is configured to redundancy decode an additional at least one colored code word colored using the further coloration sequence, to obtain a further decoded code word, the further colored code word which obtained from the transmitted code word using the further coloration sequence, or the transmission code word without coloration to obtain an even further decoded code word, and
wherein the redundancy decoder is configured to output a reliability measure for the decoded code word, a further reliability measure for the further decoded code word or an even further reliability measure for the even further code word,
wherein the decoding mode detector is configured to determine, based on the reliability measures, the decoding mode indicator, and
wherein the redundancy decoder is configured to receive the decoding mode indicator and to output as the decoded output code word, either the decoded code word, the further decoded code word, or the even further decoded code word.
17. Channel decoder according to claims 14 to 16, wherein the decoding mode detector is configured to calculate a hash value of the decoded frame, to compare the hash value of the decoded frame and a hash value associated with the transmitted code word, and to determine the decoding mode indicator based on a result of a hash comparison,
wherein the colorator is configured to bypass the coloration operation, and
wherein the redundancy decoder is configured to receive the transmitted code word using no coloration sequence and to perform the redundancy decoding operation in accordance with the decoding mode indicator.
18. Channel decoder according to claim 14 to 16, wherein the col orator is configured to perform a plurality of coloration operations, at least to obtain the colored code word and to obtain the further colored code word in parallel,
wherein the redundancy decoder is configured to perform a plurality of redundancy decoding operations, at least to obtain the decoded code word, to obtain the further decoded code word and even further code word in parallel,
the channel decoder further comprising:
a controller for controlling output of the redundancy decoder, wherein the controller is configured to instruct to the redundancy decoder to output either the decoded code word, the further decoded code word or even further decoded code word as the decoded output code word.
19. Channel decoder according to claim 16 to 18, wherein the redundancy decoder is configured to calculate the reliability measure based on the number of the corrected symbols during a decoding operation of the colored code word, the further reliability measure based on the number of the corrected symbols during a further decoding operation of the further code word, and the reliability measure based on the number of the corrected symbols during an even further decoding operation of the even further code word.
20. Channel decoder according to claims 16 to 19, wherein the colorator is configured to perform the coloration operation with the same coloration sequence to a predetermined number of the transmitted code words to obtain a predetermined number of the colored code words, and to perform the further coloration operation with the same further coloration sequence to a further predetermined number of the transmitted code words to obtain a predetermined number of the further colored code words,
wherein the redundancy decoder is configured to determine the reliability measure deriving the predetermined number of the decoded code word, the further reliability measure deriving the predetermined number of the further decoded code word, or the even further reliability measure deriving the predetermined number of the decoded code word.
21. Channel decoder according to claim 20, wherein the predetermined number of the transmitted code words is between 3 and 9.
22. Channel decoder according to claims 18 to 21, wherein the controller is configured
to indicate the redundancy decoder to select the certain decoding mode using the reliability measure, or
to indicate an output interface to output either the decoded code word as the decoded output code word.
23. Channel decoder according to claim 22, wherein the controller is configured to instruct the redundancy decoder to select the certain decoding mode having the highest reliability measure, or
to instruct the output interface to select, as the decoded output code word, a decoded code word from a group of decoded code words further using different decoding modes, wherein the selected code word associates therewith has the highest reliability measure.
24. Channel decoder for channel decoding at least one transmitted code word, comprising:
a colorator for applying at least one coloration sequence to the at least one transmitted code word or to an error corrected at least one transmitted code word to obtain at least one colored code word,
wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, and
wherein the at least one coloration sequence is associated to a certain decoding mode as a specific coloration sequence;
a redundancy decoder for redundancy decoding the at least one colored code word to obtain a decoded output code word; and
a decoding mode detector for generating a decoding mode indicator indicating the certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word,
wherein the decoding mode indicator is associated to the at least one coloration sequence as the specific coloration sequence used for the coloration of the transmitted code word,
wherein the colorator is configured to use, in addition to the coloration sequence, at least a further coloration sequence, or wherein the channel decoder is configured to bypass the colorator in a further decoding mode without any coloration;
wherein the redundancy decoder is configured to redundancy decode an additional at least one colored code word colored using the further coloration sequence, to obtain a further decoded code word, the further colored code word which obtained from the transmitted code word using the further coloration sequence, or the transmission code word without coloration to obtain an even further decoded code word, and
wherein the redundancy decoder is configured to output a reliability measure for the decoded code word, a further reliability measure for the further decoded code word or an even further reliability measure for the even further code word,
wherein the decoding mode detector is configured to determine, based on the reliability measures, the decoding mode indicator, and
wherein the redundancy decoder is configured to receive the decoding mode indicator and to output as the decoded output code word, either the decoded code word, the further decoded code word, or the even further decoded code word,
wherein the colorator is configured to perform the coloration operation with the same coloration sequence to a predetermined number of the transmitted code words to obtain a predetermined number of the colored code words, and to perform the further coloration operation with the same further coloration sequence to a further predetermined number of the transmitted code words to obtain a predetermined number of the further colored code words,
wherein the redundancy decoder is configured to determine the reliability measure deriving the predetermined number of the decoded code word, the further reliability measure deriving the predetermined number of the further decoded code word, or the even further reliability measure deriving the predetermined number of the decoded code word.
25. Channel decoder according to claim 14, wherein the decoding mode detector is configured to store a candidate list indicating a predetermined number of candidate decoding modes, wherein one candidate decoding mode is indicated without any coloration sequence and the other respective candidate decoding modes are indicated in association with a coloration sequence, and to select one candidate decoding mode as a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word to be used,
wherein the decoding mode detector is configured to perform a first decoding mode operation and a second decoding mode operation,
wherein the decoding mode detector for performing the first decoding mode operation is configured to estimate the certain decoding mode being the candidate decoding mode without coloration sequence, to calculate syndromes of the code word, to check whether the calculated syndromes have value zero,
when the calculated syndromes have value zero, to calculate a hash value of the transmitted code word, to compare the calculated hash value and a hash value included in the transmitted code word, and
when the calculated hash value is equal to the included hash value, to generate the decoding mode indicator to indicate the candidate coding mode without coloration sequence as the certain decoding mode, or
when the calculated hash value is different from the included hash value, to exclude the candidate decoding mode without coloration sequence from the candidate list, and to proceed further with the second decoding mode operation.
26. Channel decoder according to claim 25, wherein the decoding mode detector comprises, for performing the second decoding mode operation:
a syndrome calculator for calculating a syndrome for the at least transmitted code word,
a syndrome colorator for applying a coloration sequence in association with the candidate decoding modes on the candidate list to obtain colored syndromes,
wherein the syndrome colorator is configured to apply coloration sequences association with every candidate decoding mode on the candidate list to the syndrome, and
a syndrome checker for testing whether colored syndromes have value zero to obtain a result of the syndrome check,
wherein the decoding mode detector is configured to generate the decoding mode indicator based on the result of the syndrome check.
27. Channel decoder according to claim 26, wherein the decoding mode detector comprises, for performing the second decoding mode operation:
an error locator polynomial calculator for calculating an error locator polynomial based on the syndrome in every candidate decoding modes on the candidate list; and
a risk value calculator for calculating a risk value of the transmitted code word in every candidate decoding mode on the candidate list based on the syndrome and the error locator polynomial, wherein the decoding mode detector is configured to generate the decoding mode indicator based on the risk value.
28. Channel decoder according to claim 27, wherein the decoding mode detector is configured to evaluate the risk value of the transmitted code word in every candidate decoding mode on the candidate list to compare to a predetermined threshold, and to exclude the candidate decoding mode from the candidate list, when the candidate decoding mode corresponding risk value is larger than the threshold.
29. Channel decoder according to claims 26 to 28 wherein the decoding mode detector is configured to select the candidate decoding mode as the certain decoding mode, the candidate decoding mode corresponds to the risk value having the smallest value, and to generate the decoding mode indicator indicating the certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word.
30. Channel decoder according to claims 27 to 29, wherein the decoding mode detector comprises, for performing the second decoding mode operation:
an error position calculator for calculating an error position in the candidate decoding mode by factorizing the error location polynomial,
wherein the decoding mode detector is configured to receive a result of the error location polynomial factorization and to generate the decoding mode indicator based on the result of the error location polynomial factorization.
31. Channel decoder according to claim 30, wherein the decoding mode detector is configured to exclude the candidate decoding mode from the candidate list, when a result of the error location polynomial factorization in the candidate ecoding mode is not obtained.
32. Channel decoder according to claim 30 or 31, wherein the decoding mode detector is configured to generate the decoding mode indicator to instruct to select the candidate decoding mode in association with a result of the error location polynomial factorization.
33. Channel decoder according to claim 30 to 32, wherein the decoding mode detector comprises, for performing the second decoding mode operation:
an error symbol calculator for calculating an error symbol in the every candidate decoding mode based on the syndrome in the candidate decoding mode and the calculated error position in the same candidate decoding mode,
wherein the decoding mode detector is configured to receive the error symbol of the transmitted code word in the selected candidate decoding mode, and to generate the decoding mode indicator including the error symbol of the transmitted code word.
34. Channel decoder according to claim 33, comprising:
an error corrector for correcting an error of the transmitted code word,
wherein the error corrector is configured to correct the error symbol indicated by the error symbol calculator.
35. Channel decoder according to claim 33 or 34, wherein
the decoding mode detector is configured to generate the decoding mode indicator indicating to mark a frame as a bad frame,
when all the candidate decoding modes are excluded from the candidate list, or
when an error symbol in the transmitted code word is not correctable.
36. Channel decoder according to claims 14 to 35, comprising;
an input interface to receive a coded frame including a plurality number of the transmitted code words,
wherein the plurality number of the code words is at least two to eight.
37. Channel decoder according to claims 25 to 36, wherein the decoding mode detector is configured to provide the decoding mode indicator to the colorator and the redundancy decoder,
wherein the colorator is configured to select a coloration sequence indicated by the decoding mode indicator,
wherein the redundancy decoder is configured to select the certain decoding mode indicated by the decoding mode indicator.
38. Channel decoder according to claim 37, further comprising;
a de-multiplexer or de-interleaver for de-multiplexing or de-interleaving a received code word to obtain the at least one transmitted code word.
39. Channel decoder according to claim 37 or 38, further comprising;
a data combiner for combining a plurality of the decoded output code words to obtain an audio/video frame data.
40. Channel decoder according to claim 39, further comprising:
a post processer for determining a frame data to be outputted by re-calculating a hash value of the obtained audio/video frame to compare with a hash value included in the frame data.
41. The channel decoder according to claims 14 to 40, wherein the decoding mode detector is configured to use the coloration sequence for determining the decoding mode indicator.
42. Channel decoder for channel decoding at least one transmitted code word, comprising:
a colorator for applying at least one coloration sequence to the at least one transmitted code word or to an error corrected at least one transmitted code word to obtain at least one colored code word,
wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, and
wherein the at least one coloration sequence is associated to a certain decoding mode as a specific coloration sequence;
a redundancy decoder for redundancy decoding the at least one colored code word to obtain a decoded output code word; and
a decoding mode detector for generating a decoding mode indicator indicating the certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word,
wherein the decoding mode indicator is associated to the at least one coloration sequence as the specific coloration sequence used for the coloration of the transmitted code word, wherein the decoding mode detector is configured to store a candidate list indicating a predetermined number of candidate decoding modes, wherein one candidate decoding mode is indicated without any coloration sequence and the other respective candidate decoding modes are indicated in association with a coloration sequence, and to select one candidate decoding mode as a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word to be used,
wherein the decoding mode detector is configured to perform a first decoding mode operation and a second decoding mode operation,
wherein the decoding mode detector for performing the first decoding mode operation is configured to estimate the certain decoding mode being the candidate decoding mode without coloration sequence, to calculate syndromes of the code word, to check whether the calculated syndromes have value zero,
when the calculated syndromes have value zero, to calculate a hash value of the transmitted code word, to compare the calculated hash value and a hash value included in the transmitted code word, and
when the calculated hash value is equal to the included hash value, to generate the decoding mode indicator to indicate the candidate coding mode without coloration sequence as the certain decoding mode, or
when the calculated hash value is different from the included hash value, to exclude the candidate decoding mode without coloration sequence from the candidate list, and to proceed further with the second decoding mode operation.
43. Method for encoding a frame, comprising:
redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes, wherein the coding modes are different from each other with respect to an amount of redundancy added to the frame,
outputting at least one code word; and
applying a coloration sequence to the at least one code word; wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, wherein the specific coloration sequence is selected in accordance with the certain coding mode.
44. Method according to claim 43, comprising:
applying the certain coding mode in a previous frame, the first coding mode having associated therewith the coloration sequence,
receiving, for a current frame, an indication to use a second encoding mode having associated therewith a further coloration sequence, and
applying the further coloration sequence in the current frame, or bypassing to apply any coloration sequence in the current frame.
45. Method for encoding a frame, comprising:
multi-mode redundancy encoding the frame in accordance with a certain coding mode from a set of different coding modes, wherein the coding modes are different from each other with respect to an amount of redundancy added to the frame,
outputting at least one code word;
applying a coloration sequence to the at least one code word; wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, wherein a colorator is configured to select the specific coloration sequence in accordance with the certain coding mode, and
splitting the frame into a plurality of data words, wherein the multi-mode redundancy encoder is configured to encode each of the plurality of data words according to the certain coding mode to obtain a plurality of code words,
wherein the specific coloration sequence is applied to each code word in a predefined number of the code words or in a predefined subset of the plurality of code words.
46. Method for channel decoding at least one transmitted code word, comprising:
applying at least one coloration sequence to the at least one transmitted code word to obtain at least one colored code word, wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, wherein the at least one coloration sequence is associated to a certain decoding mode,
redundancy decoding the at least one colored code word to obtain a decoded output code word, and
generating a decoding mode indicator indicating a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word, wherein the decoding mode indicator is associated to the at least one coloration sequence used for the coloration of the colored code word.
47. Method according to claim 46, comprising:
using, in addition to the coloration sequence, at least a further coloration sequence, or wherein the channel decoder is configured to bypass the colorator in a further decoding mode without any coloration;
redundancy decoding an additional at least one colored code word colored using the further coloration sequence, to obtain a further decoded code word, the further colored code word which obtained from the transmitted code word using the further coloration sequence, or the transmission code word without coloration to obtain an even further decoded code word,
outputting a reliability measure for the decoded code word, a further reliability measure for the further decoded code word or an even further reliability measure for the even further code word,
determining the decoding mode indicator based on the reliability measures, and
outputting as the decoded output code word, either the decoded code word, the further decoded code word, or the even further decoded code word based on the reliability measure.
48. Method according to claim 46, comprising:
storing a candidate list indicating a predetermined number of candidate decoding modes, wherein one candidate decoding mode is indicated without any coloration sequence and the other respective candidate decoding modes are indicated in association with a coloration sequence, and to select one candidate decoding mode as a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word to be used,
wherein determining process comprises a first decoding mode operation and a second decoding mode operation, wherein
a first decoding mode operation comprises:
estimating the certain decoding mode being the candidate decoding mode without coloration sequence, calculating syndromes of the code word, checking whether the calculated syndromes have value zero, and when the calculated syndromes have value zero, calculating a hash value of the transmitted code word, comparing the calculated hash value and a hash value included in the transmitted code word,
wherein the determining process comprises:
receiving a result of the comparison between the calculated hash value and the included hash value,
when the calculated hash value is equal to the included hash value, generating the decoding mode indicator to indicate the candidate coding mode without coloration sequence as the certain decoding mode, or
when the calculated hash value is different from the included hash value, excluding the candidate decoding mode without coloration sequence from the candidate list, and to proceed further with the second decoding mode operation.
49. Method according to claim 48, wherein the second decoding mode operation comprises:
calculating a syndrome for the at least one transmitted code word,
applying a coloration sequence in association with the candidate decoding modes on the candidate list to obtain colored syndromes,
wherein the syndrome colorator is configured to apply colorator sequence association with every candidate decoding mode on the candidate list to the syndrome, and
testing whether colored syndromes have value zero to obtain a result of the syndrome check,
wherein the determining process comprises:
generating the decoding mode indicator based on the result of the syndrome check.
50. Method for channel decoding at least one transmitted code word, comprising:
applying at least one coloration sequence to the at least one transmitted code word to obtain at least one colored code word, wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, wherein the at least one coloration sequence is associated to a certain decoding mode,
redundancy decoding the at least one colored code word to obtain a decoded output code word,
generating a decoding mode indicator indicating a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word, wherein the decoding mode indicator is associated to the at least one coloration sequence used for the coloration of the colored code word,
using, in addition to the coloration sequence, at least a further coloration sequence, or wherein the channel decoder is configured to bypass the colorator in a further decoding mode without any coloration;
redundancy decoding an additional at least one colored code word colored using the further coloration sequence, to obtain a further decoded code word, the further colored code word which obtained from the transmitted code word using the further coloration sequence, or the transmission code word without coloration to obtain an even further decoded code word,
outputting a reliability measure for the decoded code word, a further reliability measure for the further decoded code word or an even further reliability measure for the even further code word,
determining the decoding mode indicator based on the reliability measures, and
outputting as the decoded output code word, either the decoded code word, the further decoded code word, or the even further decoded code word based on the reliability measure.
51. Method for channel decoding at least one transmitted code word, comprising:
applying at least one coloration sequence to the at least one transmitted code word to obtain at least one colored code word, wherein the coloration sequence is such that at least one bit of the code word is changed by the application of the at least one coloration sequence, wherein the at least one coloration sequence is associated to a certain decoding mode,
redundancy decoding the at least one colored code word to obtain a decoded output code word,
generating a decoding mode indicator indicating a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word, wherein the decoding mode indicator is associated to the at least one coloration sequence used for the coloration of the colored code word,
storing a candidate list indicating a predetermined number of candidate decoding modes, wherein one candidate decoding mode is indicated without any coloration sequence and the other respective candidate decoding modes are indicated in association with a coloration sequence, and to select one candidate decoding mode as a certain decoding mode to be used by the redundancy decoder to obtain the decoded output code word to be used,
wherein determining process comprises a first decoding mode operation and a second decoding mode operation, wherein
a first decoding mode operation comprises:
estimating the certain decoding mode being the candidate decoding mode without coloration sequence, calculating syndromes of the code word, checking whether the calculated syndromes have value zero, and when the calculated syndromes have value zero, calculating a hash value of the transmitted code word, comparing the calculated hash value and a hash value included in the transmitted code word,
wherein the determining process comprises:
receiving a result of the comparison between the calculated hash value and the included hash value,
when the calculated hash value is equal to the included hash value, generating the decoding mode indicator to indicate the candidate coding mode without coloration sequence as the certain decoding mode, or
when the calculated hash value is different from the included hash value, excluding the candidate decoding mode without coloration sequence from the candidate list, and to proceed further with the second decoding mode operation.
52. Computer program having a program code for performing, when running on computer, a method according to claims 43 to 51.
53. Data stream generated by a method according to claims 43 to 51.
| # | Name | Date |
|---|---|---|
| 1 | 202117036369-STATEMENT OF UNDERTAKING (FORM 3) [11-08-2021(online)].pdf | 2021-08-11 |
| 2 | 202117036369-REQUEST FOR EXAMINATION (FORM-18) [11-08-2021(online)].pdf | 2021-08-11 |
| 3 | 202117036369-NOTIFICATION OF INT. APPLN. NO. & FILING DATE (PCT-RO-105) [11-08-2021(online)].pdf | 2021-08-11 |
| 4 | 202117036369-FORM 18 [11-08-2021(online)].pdf | 2021-08-11 |
| 5 | 202117036369-FORM 1 [11-08-2021(online)].pdf | 2021-08-11 |
| 6 | 202117036369-DRAWINGS [11-08-2021(online)].pdf | 2021-08-11 |
| 7 | 202117036369-DECLARATION OF INVENTORSHIP (FORM 5) [11-08-2021(online)].pdf | 2021-08-11 |
| 8 | 202117036369-COMPLETE SPECIFICATION [11-08-2021(online)].pdf | 2021-08-11 |
| 9 | 202117036369-RELEVANT DOCUMENTS [08-09-2021(online)].pdf | 2021-09-08 |
| 10 | 202117036369-FORM 13 [08-09-2021(online)].pdf | 2021-09-08 |
| 11 | 202117036369-Proof of Right [01-10-2021(online)].pdf | 2021-10-01 |
| 12 | 202117036369-FORM-26 [01-10-2021(online)].pdf | 2021-10-01 |
| 13 | 202117036369.pdf | 2021-10-19 |
| 14 | 202117036369-FORM 3 [05-01-2022(online)].pdf | 2022-01-05 |
| 15 | 202117036369-FER.pdf | 2022-03-11 |
| 16 | 202117036369-GPA-240322.pdf | 2022-03-25 |
| 17 | 202117036369-Correspondence-240322.pdf | 2022-03-25 |
| 18 | 202117036369-Correspondence-240322-1.pdf | 2022-03-25 |
| 19 | 202117036369-Others-290322.pdf | 2022-03-31 |
| 20 | 202117036369-Information under section 8(2) [22-07-2022(online)].pdf | 2022-07-22 |
| 21 | 202117036369-FORM 3 [22-07-2022(online)].pdf | 2022-07-22 |
| 22 | 202117036369-OTHERS [09-09-2022(online)].pdf | 2022-09-09 |
| 23 | 202117036369-FER_SER_REPLY [09-09-2022(online)].pdf | 2022-09-09 |
| 24 | 202117036369-CLAIMS [09-09-2022(online)].pdf | 2022-09-09 |
| 25 | 202117036369-Information under section 8(2) [21-11-2022(online)].pdf | 2022-11-21 |
| 26 | 202117036369-Information under section 8(2) [09-12-2022(online)].pdf | 2022-12-09 |
| 27 | 202117036369-PETITION UNDER RULE 137 [17-01-2023(online)].pdf | 2023-01-17 |
| 28 | 202117036369-FORM 3 [17-01-2023(online)].pdf | 2023-01-17 |
| 29 | 202117036369-Information under section 8(2) [13-03-2023(online)].pdf | 2023-03-13 |
| 30 | 202117036369-Information under section 8(2) [02-05-2023(online)].pdf | 2023-05-02 |
| 31 | 202117036369-Information under section 8(2) [08-06-2023(online)].pdf | 2023-06-08 |
| 32 | 202117036369-FORM 3 [10-07-2023(online)].pdf | 2023-07-10 |
| 33 | 202117036369-Information under section 8(2) [25-09-2023(online)].pdf | 2023-09-25 |
| 34 | 202117036369-Information under section 8(2) [08-11-2023(online)].pdf | 2023-11-08 |
| 35 | 202117036369-PETITION UNDER RULE 137 [18-01-2024(online)].pdf | 2024-01-18 |
| 36 | 202117036369-FORM 3 [18-01-2024(online)].pdf | 2024-01-18 |
| 37 | 202117036369-Information under section 8(2) [13-02-2024(online)].pdf | 2024-02-13 |
| 38 | 202117036369-US(14)-HearingNotice-(HearingDate-01-04-2024).pdf | 2024-02-27 |
| 39 | 202117036369-Correspondence to notify the Controller [28-02-2024(online)].pdf | 2024-02-28 |
| 40 | 202117036369-Information under section 8(2) [05-03-2024(online)].pdf | 2024-03-05 |
| 41 | 202117036369-Correspondence to notify the Controller [01-04-2024(online)].pdf | 2024-04-01 |
| 42 | 202117036369-FORM-26 [18-04-2024(online)].pdf | 2024-04-18 |
| 43 | 202117036369-GPA-250424.pdf | 2024-05-03 |
| 44 | 202117036369-Correspondence-250424.pdf | 2024-05-03 |
| 45 | 202117036369-US(14)-ExtendedHearingNotice-(HearingDate-05-08-2024)-1530.pdf | 2024-07-30 |
| 46 | 202117036369-Correspondence to notify the Controller [31-07-2024(online)].pdf | 2024-07-31 |
| 47 | 202117036369-FORM-26 [02-08-2024(online)].pdf | 2024-08-02 |
| 48 | 202117036369-Correspondence to notify the Controller [02-08-2024(online)].pdf | 2024-08-02 |
| 49 | 202117036369-Written submissions and relevant documents [20-08-2024(online)].pdf | 2024-08-20 |
| 50 | 202117036369-PatentCertificate24-03-2025.pdf | 2025-03-24 |
| 51 | 202117036369-IntimationOfGrant24-03-2025.pdf | 2025-03-24 |
| 1 | searchE_10-03-2022.pdf |