Abstract:
A digital multimedia broadcasting (DMB) reception apparatus receives DMB service in a mobile communication system. In the DMB reception apparatus, a Reed-Solomon (R-S) decoder receives a coded broadcast signal and outputs an error symbol with a transport error indicator bit, if all data bits in the symbol are ‘0’. A moving picture experts group (MPEG) decoder discards the error symbol.

Description:
PRIORITY  
       [0001]     This application claims the benefit under 35 U.S.C. § 119(a) of Korean Patent Application entitled “RS Decoder for Correcting Error and Method thereof” filed in the Korean Intellectual Property Office on Dec. 22, 2004 and assigned Serial No. 2004-110733, the entire disclosure of which is hereby incorporated by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates generally to an apparatus and method for decoding coded symbols. More particularly, the present invention relates to an apparatus and method for decoding symbols coded by Reed-Solomon (R-S) coding.  
         [0004]     2. Description of the Related Art  
         [0005]     In a process of storing or transmitting data, various coding methods are used to secure data stability. Generally, a mobile communication system uses a typical coding method such as a convolutional coding method, turbo coding method, or R-S coding method used to safely transmit data. The mobile communication system uses either one of the coding methods separately, or two or more of the coding methods together. If symbols stored in a recording medium after being coded by the coding methods are read and transmitted, a receiver must decode the coded data in order to acquire the original data or information. Therefore, a communication system or a data reading apparatus requires decoding apparatuses.  
         [0006]     In the following description of a decoding process, it will be assumed for convenience purposes that when a communication system transmits data, a receiver acquires the original data or information, from received coded symbols.  
         [0007]     When an error exists in received symbols, a decoding apparatus detects the error and performs an iterative decoding process on the received symbols, thereby acquiring correct data. The iterative decoding process is performed in a convolutional decoder or a turbo decoder in a receiver when coding is performed using a convolutional encoder or a turbo encoder in a transmitter. When data is coded by the R-S coding method, an R-S decoder in a receiver performs the iterative decoding process only for a particular case. A brief description of the R-S decoder will now be described.  
         [0008]     The R-S decoder, which is a block code decoder, performs error correction on a block-by-block basis. In particular, the R-S decoder is usefully used in a satellite Digital Multimedia Broadcasting (DMB) receiver for mobile reception. An R-S encoder uses R-S codes as outer codes of concatenated codes together with convolutional codes in a satellite DMB system.  
         [0009]     In the satellite DMB system, if a transmitter transmits over a broadcast channel, data of a total of 204 bytes, the sum of actual broadcast data (hereinafter referred to as “effective data”) of 188 bytes and a parity of 16 bytes generated using an R-S encoder, a receiver detects the number of errors and positions of the errors using a 16-byte parity and corrects the errors.  
         [0010]     Also, if the transmitter transmits over a pilot channel, data of a total of 96 bytes, the sum of 80-byte effective data and a 16-byte parity generated using the R-S encoder, the receiver detects the number of errors and positions using the 16-byte parity and corrects the errors.  
         [0011]     A brief description will now be made of a process of receiving satellite DMB service.  
         [0012]      FIG. 1  is a block diagram illustrating a structure of a conventional satellite DMB reception apparatus. With reference to  FIG. 1 , a brief description will now be made of a conventional method for receiving satellite DMB service.  
         [0013]     Referring to  FIG. 1 , a satellite broadcast signal received from a DMB satellite or a gap filler, which is a terrestrial repeater, is input to a bit deinterleaver  110 . The bit deinterleaver  110  deinterleaves the received satellite broadcast signal bit by bit in order to convert a burst error into scattered errors, and outputs the deinterleaved satellite broadcast signal to a Viterbi decoder  120 .  
         [0014]     The Viterbi decoder  120  error-corrects the deinterleaved satellite broadcast signal, and outputs the error-corrected satellite broadcast signal to a byte deinterleaver  130 . The byte deinterleaver  130  deinterleaves the satellite broadcast signal output from the Viterbi decoder  120  on a byte-by-byte basis. The byte deinterleaver  130  converts a burst error into scattered errors on a byte-by-byte basis in order to correct a possible burst error occurring when the Viterbi decoder  120  fails in the error correction. The byte deinterleaver  130  outputs the deinterleaved satellite broadcast signal to an R-S decoder  140 .  
         [0015]     The R-S decoder  140  error-corrects the deinterleaved satellite broadcast signal using parity data, and outputs the error-corrected satellite broadcast signal to a conditional access system (CAS)  150 . The CAS  150  performs a predetermined reception authentication process on a CAS channel signal received from the R-S decoder  140 . If the satellite broadcast signal passes the reception authentication in the CAS  150 , the satellite broadcast signal is provided to a demultiplexer  170  via a dual port read access memory (DPRAM)  160 . The demultiplexer  170  demultiplexes the error-corrected satellite broadcast signal received from the R-S decoder  140  into audio data and video data, and outputs the audio data and video data to an audio buffer  180  and video buffer  190 , respectively. The audio data buffered in the audio buffer  180  is played back through an audio decoder (not shown), and the video data buffered in the video buffer  190  is played back through a video decoder (not shown).  
         [0016]     The demultiplexer  170 , audio buffer  180 , video buffer  190 , audio decoder, and video decoder constitute a Moving Picture Experts Group (MPEG) decoder.  
         [0017]     When an error of 8 bytes or greater exists in input data, the R-S decoder  140  cannot correct the error. If the R-S decoder  140  fails in the error correction due to the oversized error, it discards the input data. In addition, the R-S decoder  140  sets a transport error indicator  200  in a header defined in an MPEG-2 transport stream (TS) shown in  FIG. 2 , to ‘1’, and delivers the MPEG-2 TS to the CAS  150  of  FIG. 1 . Then the CAS  150  performs the reception authentication process on a CAS channel signal received from the R-S decoder  140 . If the satellite broadcast signal passes the reception authentication in the CAS  150 , the satellite broadcast signal is provided to the demultiplexer  170  via the DPRAM  160 . Then the demultiplexer  170  discards the error correction-failed data.  
         [0018]     A process of generating parity bytes in an R-S encoder will now be described with reference to  FIG. 3 .  
         [0019]     Referring to  FIG. 3 , effective data input to an nth adder  325  is provided to multipliers  311  through  315  where the effective data is multiplied by their own unique constants g 0  through g n-k-1 . Specifically, a first multiplier  311  multiplies the input effective data by a constant g 0 , and provides output to a first shift register  301 . The first shift register  301  shifts the output of the first multiplier  311  and provides output to a first adder  321 . A second multiplier  313  multiplies the input effective data by a constant g 1 , and provides output to the first adder  321 . The first adder  321  adds the output of the second multiplier  313  to the output of the first shift register  301 , and provides output to a second shift register  303 . Similarly, an (n−k−1)th multiplier  315  multiplies the input effective data by a constant g n-k-1 , and provides output to an (n−1)th adder  323 . The (n−1)th adder  323  adds the output of the (n−k−1)th multiplier  315  to the output of an (n−k)th shift register (not shown), and provides output to an nth shift register  305 . The nth shift register  305  shifts the output of the (n−1)th adder  323 , and provides output to the nth adder  325 . The nth adder  325  adds the output of the nth shift register  305  to an input x n-k m(x), thereby generating parity.  
         [0020]     That is, upon receiving the effective data, the R-S encoder multiplies the input effective data by constants g 0  through g n-k-1  in multipliers while shifting the multiplied values using shift registers, thereby generating parity.  
         [0021]     If all of the effective data bits are ‘0’, the R-S encoder generates and transmits all-zero parity along with the effective data.  
         [0022]     In addition, if a receiver is located in a blanket area such as a tunnel, the R-S decoder may receive all-zero input data. In this instance, if the R-S decoder in the receiver performs decoding using the parity information, a determination is made that an error does not exist. As a result, an application chip (AP), that is, the demultiplexer  170 , regards the received all-zero data as an error-free packet, even though the received all-zero data is a meaningless error packet. Therefore, the AP parses the received data, determining that the received data is a packet association table (PAT) with a packet identifier (PID)  210  of  FIG. 2  being set to ‘0’ (PID=0). Such an error indication failure, that is, a failure to distinguish between an error packet and an error-free packet, may cause mis-operation of a satellite DMB reception apparatus.  
         [0023]     Accordingly, there is a need for an improved apparatus and method for detecting and correcting an error in an R-S decoder.  
       SUMMARY OF THE INVENTION  
       [0024]     An aspect of embodiments of the present invention is to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of embodiments of the present invention is to provide an apparatus and method for detecting and correcting an error in an R-S decoder.  
         [0025]     It is another object of the present invention to provide an apparatus and method for correctly detecting an error occurred in the data received in a blanket area.  
         [0026]     According to one aspect of an exemplary embodiment of the present invention, there is provided a digital multimedia broadcasting (DMB) reception apparatus for receiving DMB service in a mobile communication system. The apparatus includes a Reed-Solomon (R-S) decoder for receiving a coded broadcast signal, and outputting an error symbol with a transport error indicator bit, if all data bits in the symbol are ‘0’; and a moving picture experts group (MPEG) decoder for discarding the error symbol.  
         [0027]     According to another aspect of an exemplary embodiment the present invention, there is provided a decoding apparatus for decoding a coded symbol in a mobile communication system. The apparatus includes an input buffer for storing input data on a symbol-by-symbol basis. A zero detector outputs an error generated signal if all data bits in a symbol output from the input buffer are ‘0’. A transport error indicator bit generator generates a transport error indicator bit, according to the error generated signal output from the zero detector. An output symbol generator generates an output symbol including the generated transport error indicator bit.  
         [0028]     According to a further aspect of an exemplary embodiment of the present invention, there is provided a method for receiving digital multimedia broadcasting (DMB) service in a mobile communication system. The method includes receiving a broadcast signal, and outputting an error symbol including a transport error indicator bit if all data bits in the symbol are ‘0’; and discarding the error symbol.  
         [0029]     According to still another aspect of an exemplary embodiment of the present invention, there is provided a method for decoding a coded symbol in a mobile communication system. The method includes storing input data on a symbol-by-symbol basis An error generated signal is output, if all data bits in an input symbol are ‘0’. A transport error indicator bit is generated according to the error generated signal. An output symbol including the generated transport error indicator bit is generated.  
         [0030]     Other objects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description, which taken in conjunction with the annexed drawings, discloses exemplary embodiments of the invention. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0031]     The above and other objects, features and advantages of certain exemplary embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings in which:  
         [0032]      FIG. 1  is a block diagram illustrating a structure of a conventional satellite DMB reception apparatus;  
         [0033]      FIG. 2  is a diagram illustrating a format of a MPEG-2 TS;  
         [0034]      FIG. 3  is a diagram illustrating a structure of a R-S encoder;  
         [0035]      FIG. 4  is a block diagram illustrating an internal structure of a R-S decoder according to an exemplary embodiment of the present invention;  
         [0036]      FIG. 5  is a diagram illustrating an exemplary internal structure of the input buffer and the zero detector shown in  FIG. 4  according to an exemplary embodiment of the present invention; and  
         [0037]      FIG. 6  is a flowchart illustrating an error detection and correction process in an R-S decoder according to an exemplary embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0038]     The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of the embodiments of the invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.  
         [0039]     The present invention provides an apparatus and method for analyzing all signals input to an R-S decoder. If a determination is made that all data bits in one 204-byte symbol are zero, the symbol is detected as an error symbol.  
         [0040]     With reference to  FIG. 4 , a description will now be made of an internal structure of the R-S decoder according to an exemplary embodiment of the present invention.  
         [0041]     Referring to  FIG. 4 , an input buffer  410  buffers input data on a symbol-by-symbol basis, and provides output to a zero detector  420 . The zero detector  420  determines whether all data bits in the symbol output from the input buffer  420  are ‘0’, and provides the input data to either an error detector  430  or a transport error indicator bit generator  450  according to the determination result. If all the data bits are ‘0’, indicating that the corresponding symbol is error data, the zero detector  420  outputs the input data to the transport error indicator bit generator  450 . However, if all the data bits are not ‘0’, the input data bypasses the error detector  430 . The error detector  430  detects errors and positions in the symbol output from the zero detector  420 . The error detector  430  then provides output to either an error corrector  440  or the transport error indicator bit generator  450 , depending on whether a size of the detected error exceeds a threshold size (or error-correctable size). That is, if a size of the detected error exceeds the threshold size, the error detector  430  provides output to the transport error indicator bit generator  450 . Herein, the threshold size indicates 8 bytes, as described above. However, if a size of the detected error is smaller than or equal to the threshold size, the error detector  430  outputs the input symbol to the error corrector  440 . The error detector  440  corrects the detected error in the symbol output from the error detector  430 .  
         [0042]     The transport error indicator bit generator  450  generates a transport error indicator bit according to one control signal received when the zero detector  420  determines that all data bits in the symbol are ‘0’, and another control signal received when the error detector  430  detects an error, which is a size that exceeds the threshold size. Generating the transport error indicator bit by the transport error indicator bit generator  450  is equivalent to setting the transport error indicator  200  in the MPEG-2 TS header shown in  FIG. 2  to ‘1’. An output symbol generator  460  outputs the error-corrected symbol received from the error corrector  440 . Alternatively, the output symbol generator  460  inserts the transport error indicator bit output from the transport error indicator bit generator  450  into an output symbol, and provides the output symbol to an MPEG decoder  470 . The MPEG decoder  470  includes the demultiplexer  170  shown in  FIG. 1  and the demultiplexer  170  succeeding stages. The CAS  150  and the DPRAM  160  shown in  FIG. 1  are omitted from  FIG. 4 , for clarity and conciseness.  
         [0043]     If an error-corrected symbol is received from the output symbol generator  460 , the MPEG decoder  470  decodes the received error-corrected symbol, determining that the received symbol is a normal symbol. However, if a symbol with a transport error indicator bit being set to ‘1’ is received from the output symbol generator  460 , the MPEG decoder  470  discards the received symbol, determining that the received symbols is an error symbol.  
         [0044]      FIG. 5  is a diagram illustrating an exemplary internal structure of the input buffer and the zero detector shown in  FIG. 4 , according to an exemplary embodiment of the present invention.  
         [0045]     Referring to  FIG. 5 , symbols stored in the input buffer  410  are sequentially input to one input end of an OR gate  501  in a zero detector  420  on a first-in first-out (FIFO) basis. Another input end of the OR gate  501  is connected to an output of a D flip-flop  502 . An output of the OR gate  501  is input to the D flip-flop  502 . The D flip-flop  502  maintains an output value of the OR gate  501 . The output of the D flip-flop  502 , as described above, is fed back to the OR gate  501 . If a final output value obtained by passing one symbol through the zero detector  420  is ‘0’, all data bits in one symbol are ‘0’, so performing error detection and correcting the one symbol is not possible. Therefore, the error detector  430  is disabled and the transport error indicator bit generator  450  sets the transport error indicator  200  in the MPEG-2 TS header to ‘1’. The output symbol generator  460  inserts the transport error indicator bit into an output symbol, and transmits the output symbol to the MPEG decoder  470 . If a final output value obtained by passing all data bits in the symbol through the zero detector  420  is ‘1’, the R-S decoder operates in a normal error detection mode, in which the R-S decoder detects positions of errors and corrects the detected errors without exceeding error correction capability.  
         [0046]      FIG. 6  is a flowchart illustrating an error detection and correction process in the R-S decoder according to an exemplary embodiment of the present invention.  
         [0047]     Referring to  FIG. 6 , a zero detector  420  in the R-S decoder determines in step  610  whether all data bits in one input symbol are ‘0’. The zero detector  420  can determine whether all data bits in one input symbol are ‘0’, by determining if a final output value of the D flip-flop  502  is ‘0’. If a determination is made in step  610  that all data bits in one input symbol are ‘0’, indicating that a receiver moves to a blanket area such as a tunnel in, for example, a satellite DMB system, the receiver receives an all-zero signal. In this instance, a transport error indicator bit generator  450  in the R-S decoder sets the transport error indicator  200  in the MPEG-2 TS header to ‘1’ in step  640 , determining that all data bits in the received symbol are ‘0’. In step  660 , the output symbol generator  460  generates an output symbol with the transport error indicator bit being set to ‘1’. Then a demultiplexer  170  shown in  FIG. 1  discards a received packet, determining that the received packet is an error packet.  
         [0048]     However, if a determination is made in step  610  that all data bits in the symbol are not ‘0’, the error detector  430  in the R-S decoder detects an error and its position in the symbol in step  620 . The error detector  430  determines in step  630  whether a size of the detected error exceeds a threshold size (or error-correctable size). Herein, the threshold size indicates 8 bytes.  
         [0049]     If it is determined in step  630  that the size of the error exceeds the threshold size, the transport error indicator bit generator  450  sets the transport error indicator  200  in the MPEG-2 TS header to ‘1’ in step  640 , and then proceeds to step  660 . Then an MPEG decoder  470  discards the received symbol, determining that the received symbol is an error symbol.  
         [0050]     However, if it is determined in step  630  that the size of the error is smaller than or equal to the threshold size, the error corrector  440  corrects the error in step  650 , and the output symbol generator  460  generates a normal output symbol in step  660 . Then the MPEG decoder  470  uses the received symbol in decoding the corresponding packet, determining that the received symbol is a normal symbol.  
         [0051]     From the foregoing description, the R-S decoder according to an exemplary embodiment of the present invention can detect an error when all data bits in a symbol received in a blanket area are ‘0’, making it possible to correctly detect an error.  
         [0052]     While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.