KR20090014230A - Digital broadcasting system and method of processing data in digital broadcasting system - Google Patents
Digital broadcasting system and method of processing data in digital broadcasting system Download PDFInfo
- Publication number
- KR20090014230A KR20090014230A KR1020090002362A KR20090002362A KR20090014230A KR 20090014230 A KR20090014230 A KR 20090014230A KR 1020090002362 A KR1020090002362 A KR 1020090002362A KR 20090002362 A KR20090002362 A KR 20090002362A KR 20090014230 A KR20090014230 A KR 20090014230A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame
- bytes
- mobile service
- service data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
- H04B1/10—Means associated with receiver for limiting or suppressing noise or interference
- H04B1/109—Means associated with receiver for limiting or suppressing noise or interference by improving strong signal performance of the receiver when strong unwanted signals are present at the receiver input
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
- H03M13/096—Checksums
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/02—Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
Abstract
Description
본 발명은 디지털 방송을 송신하고 수신하기 위한 디지털 방송 시스템 및 데이터 처리 방법에 관한 것이다.The present invention relates to a digital broadcasting system and a data processing method for transmitting and receiving digital broadcasting.
디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히 휴대용이나 이동형 방송 수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다.In the digital broadcasting, VSB (Vestigial Sideband) transmission method adopted as a digital broadcasting standard in North America and Korea is a single carrier method, so the reception performance of the receiving system may be degraded in a poor channel environment. In particular, in the case of a portable or mobile broadcast receiver, since the robustness against channel change and noise is further required, when the mobile service data is transmitted through the VSB transmission method, the reception performance is further deteriorated.
따라서 본 발명은 채널 변화 및 노이즈에 강한 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.Accordingly, an aspect of the present invention is to provide a digital broadcasting system and a data processing method that are resistant to channel variation and noise.
본 발명의 송신측에서는 모바일 서비스 데이터에 대해 추가의 부호화를 수행 하고, 수신측에서 역 과정으로 복호를 수행함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.The present invention provides a digital broadcasting system and a data processing method for improving the reception performance of a reception system by performing additional encoding on mobile service data and performing decoding in a reverse process at a reception side.
본 발명은 송/수신측의 약속에 의해 알고 있는 기지 데이터를 데이터 영역의 소정 영역에 삽입하여 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.The present invention provides a digital broadcasting system and a data processing method for improving the reception performance of a reception system by inserting and transmitting known data known by a promise of a transmission / reception side into a predetermined area of a data area.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전송 시스템은 서비스 다중화기와 송신기를 포함할 수 있다. 상기 서비스 다중화기는 모바일 서비스 데이터와 메인 서비스 데이터를 기 설정된 데이터 율로 다중화하여 송신기로 전송할 수 있다. 상기 송신기는 서비스 다중화기에서 전송되는 모바일 서비스 데이터에 대해 추가의 부호화를 수행하고, 부호화가 수행된 다수개의 모바일 서비스 데이터 패킷을 모아 데이터 그룹을 형성할 수 있다. 상기 송신기는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷과 메인 서비스 데이터를 포함하는 메인 서비스 데이터 패킷을 패킷 단위로 다중화하여 수신 시스템으로 전송할 수 있다. 이때 상기 송신기는 데이터 그룹과 메인 서비스 데이터 패킷을 버스트 구조로 다중화할 수 있으며, 상기 버스트는 데이터 그룹이 포함되는 버스트 온 구간과 데이터 그룹이 포함되지 않는 버스트 오프 구간으로 구분할 수 있다.In order to achieve the above object, a transmission system according to an embodiment of the present invention may include a service multiplexer and a transmitter. The service multiplexer may multiplex the mobile service data and the main service data at a preset data rate and transmit them to the transmitter. The transmitter may perform additional encoding on mobile service data transmitted from the service multiplexer, and collect a plurality of mobile service data packets on which encoding is performed to form a data group. The transmitter may multiplex a mobile service data packet including mobile service data and a main service data packet including main service data in packet units and transmit the packet to a receiving system. In this case, the transmitter may multiplex the data group and the main service data packet into a burst structure, and the burst may be divided into a burst on period including a data group and a burst off period without a data group.
상기 데이터 그룹은 메인 서비스 데이터의 간섭 정도에 따라 다수개의 영역으로 구분할 수 있다. 상기 메인 서비스 데이터의 간섭이 없는 영역에는 주기적으로 긴 기지 데이터 열을 삽입할 수 있다. The data group may be divided into a plurality of areas according to the degree of interference of the main service data. Long known data streams may be inserted periodically in an area free of interference of the main service data.
본 발명의 일 실시예에 따른 수신 시스템은 상기 기지 데이터 열을 복조 및 채널 등화에 이용할 수 있다. A receiving system according to an embodiment of the present invention may use the known data stream for demodulation and channel equalization.
상기 수신 시스템은 모바일 서비스 데이터만을 수신하는 경우, 버스트 온 구간에서만 전원을 온하여 모바일 서비스 데이터를 처리할 수 있다.When the reception system receives only mobile service data, the reception system may power on only in the burst on period to process mobile service data.
이러한 본 발명의 일 실시예에 따른 전송 시스템의 데이터 처리 방법은, 입력되는 모바일 서비스 데이터 바이트를 복수개 모아 RS 프레임을 형성하고, 형성된 RS 프레임 단위로 에러 정정 부호화를 수행하는 단계; 상기 에러 정정 부호화된 RS 프레임을 복수개 모아 수퍼 프레임을 형성하고, 형성된 수퍼 프레임 단위로 로우 섞음을 수행한 후 다시 RS 프레임으로 구분하는 단계; 및 상기 RS 프레임을 복수개의 데이터 그룹으로 구분하는 단계를 포함할 수 있다.Such a data processing method of a transmission system according to an embodiment of the present invention comprises the steps of: collecting a plurality of input mobile service data bytes to form an RS frame, and performing error correction encoding on the basis of the formed RS frame; Collecting a plurality of the RS frames encoded with error correction to form a super frame, performing row mixing on the basis of the formed super frame, and dividing the RS frame into RS frames; And dividing the RS frame into a plurality of data groups.
본 발명의 일 실시예에 따른 전송 시스템은 제1 부호기, 제2 부호기, 및 그룹 포맷터를 포함할 수 있다. 상기 제1 부호기는 입력되는 모바일 서비스 데이터 바이트를 복수개 모아 RS 프레임을 형성하여 에러 정정 부호화를 수행하고, 상기 에러 정정 부호화된 RS 프레임을 복수개 모아 수퍼 프레임을 형성하여 로우 섞음을 수행한 후 다시 RS 프레임으로 구분할 수 있다. 제2 부호기는 상기 RS 프레임의 데이터에 대해 1/E(E는 2 이상) 부호율로 부호화를 수행할 수 있다. 상기 그룹 포맷터는 상기 제2 부호기에서 부호화된 RS 프레임을 복수개의 데이터 그룹으로 구분하고, 각 데이터 그룹의 해당 영역에 할당할 수 있다. A transmission system according to an embodiment of the present invention may include a first encoder, a second encoder, and a group formatter. The first encoder collects a plurality of input mobile service data bytes to form an RS frame, performs error correction encoding, collects the plurality of error corrected encoded RS frames, forms a super frame, performs row mixing, and then executes an RS frame again. It can be divided into The second encoder may perform encoding at 1 / E (E is 2 or more) code rate on the data of the RS frame. The group formatter may divide the RS frame encoded by the second encoder into a plurality of data groups, and allocate the RS frame to a corresponding region of each data group.
본 발명의 일 실시예에 따른 수신 시스템의 데이터 처리 방법은, 복수개의 데이터 그룹을 모아 RS 프레임을 구성하는 단계; 상기 RS 프레임 내 각 모바일 서 비스 데이터 바이트의 신용 정보를 표시하는 신용 맵을 생성하는 단계; 및 상기 신용 맵의 신용 정보를 참조하여 상기 RS 프레임에 대한 에러 정정을 수행하는 단계를 포함할 수 있다.A data processing method of a reception system according to an exemplary embodiment of the present invention includes: constructing an RS frame by collecting a plurality of data groups; Generating a credit map representing credit information of each mobile service data byte in the RS frame; And performing error correction on the RS frame with reference to the credit information of the credit map.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
본 발명에 따른 디지털 방송 시스템, 및 데이터 처리 방법은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성이 가능한 이점이 있다. The digital broadcasting system and the data processing method according to the present invention are advantageous in that they are resistant to errors and compatible with existing receivers when transmitting mobile service data through a channel.
본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러없이 수신할 수 있는 이점이 있다. The present invention has the advantage that the mobile service data can be received without error even in a ghost and noisy channel.
본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다. The present invention can improve the reception performance of the reception system in an environment with a high channel change by inserting and transmitting known data in a specific position of the data area.
본 발명은 모바일 서비스 데이터를 메인 서비스 데이터와 다중화할 때 버스트 구조로 다중화함으로써, 수신 시스템의 전력을 절감할 수 있다.The present invention can reduce the power of the reception system by multiplexing the mobile service data into a burst structure when multiplexing the mobile service data with the main service data.
본 발명의 수신 시스템에서는 기지 데이터 정보를 이용하여 채널 등화를 수행함으로써, 채널 등화를 안정적으로 수행할 수 있다.In the reception system of the present invention, channel equalization is performed by using known data information, so that channel equalization can be stably performed.
또한 본 발명은 모바일 서비스 데이터에 대해 에러 정정 부호화, 에러 검출 부호화, 수퍼 프레임 단위의 로우 섞음 중 적어도 하나를 수행함으로써, 상기 모바일 서비스 데이터에 대해 강건성을 부여하면서, 빠른 채널 변화에 강력하게 대응할 수 있다.In addition, the present invention can robustly cope with fast channel changes while providing robustness to the mobile service data by performing at least one of error correction encoding, error detection encoding, and row mixing on a super frame basis with respect to the mobile service data. .
이러한 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다. The present invention is more effective when applied to portable and mobile receivers in which channel variation is severe and robustness to noise is required.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention that can specifically realize the above object will be described. At this time, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, by which the technical spirit of the present invention and its core configuration and operation is not limited.
본 발명에서 사용되는 용어의 정의Definition of terms used in the present invention
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다. The terms used in the present invention were selected as widely used general terms as possible in consideration of the functions in the present invention, but may vary according to the intention or custom of the person skilled in the art or the emergence of new technologies. In addition, in certain cases, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the corresponding description of the invention. Therefore, it is intended that the terms used in the present invention should be defined based on the meanings of the terms and the general contents of the present invention rather than the names of the simple terms.
본 발명에서 사용되는 용어 중 메인 서비스 데이터는 고정형 수신 시스템에서 수신할 수 있는 데이터로서, 오디오/비디오(A/V) 데이터를 포함할 수 있다. 즉, 상기 메인 서비스 데이터에는 HD(High Definition) 또는 SD(Standard Definition)급의 A/V 데이터가 포함될 수 있으며, 데이터 방송을 위한 각종 데이터가 포함될 수도 있다. 그리고 기지(Known) 데이터는 송/수신측의 약속에 의해 미리 알고 있는 데이터이다. Among the terms used in the present invention, the main service data is data that can be received by the fixed receiving system and may include audio / video (A / V) data. That is, the main service data may include A / V data of a high definition (HD) or standard definition (SD) level, and may include various data for data broadcasting. Known data is data known in advance by an appointment of the transmitting / receiving side.
또한 본 발명에서 모바일(mobile) 서비스 데이터는 모바일(Mobile) 서비스 데이터, 퍼데스트리언(Pedestrian) 서비스 데이터, 핸드헬드(Handheld) 서비스 데이터 중 적어도 하나를 포함하며, 설명의 편의를 위해 본 발명에서는 모바일 서비스 데이터라 한다. 이때 상기 모바일 서비스 데이터는 M/P/H(Mobile/Pedestrian/Handheld) 서비스 데이터뿐만 아니라, 이동이나 휴대를 의미하는 서비스 데이터는 어느 것이나 포함될 수 있으며, 따라서 상기 모바일 서비스 데이터는 상기 M/P/H 서비스 데이터로 제한되지 않을 것이다. In addition, the mobile service data in the present invention includes at least one of the mobile (Mobile) data, the service data (Pedestrian), handheld (Handheld) service data, in the present invention for convenience of description This is called service data. In this case, the mobile service data may include not only M / P / H (Mobile / Pedestrian / Handheld) service data, but also any service data indicating movement or portability. Accordingly, the mobile service data may include the M / P / H. It will not be limited to service data.
상기와 같이 정의된 모바일 서비스 데이터는 프로그램 실행 파일, 주식 정보 등과 같이 정보를 갖는 데이터일 수도 있고, A/V 데이터일 수도 있다. 특히 상기 모바일 서비스 데이터는 휴대용이나 이동형 단말기(또는 방송 수신기)를 위한 서비스 데이터로서 메인 서비스 데이터에 비해서 작은 해상도와 작은 데이터 율을 가지는 A/V 데이터가 될 수도 있다. 예를 들어, 기존 메인 서비스를 위해 사용하는 A/V 코덱(Codec)이 MPEG-2 코덱(Codec)이라면, 모바일 서비스를 위한 A/V 코덱(Codec)으로는 보다 영상 압축 효율이 좋은 MPEG-4 AVC(Advanced Video Coding), SVC(Scalable Video Coding) 등의 방식이 사용될 수 있다. 또한 상기 모바일 서비스 데이터로는 어떠한 종류의 데이터라도 전송될 수 있다. 일례로 실시간으로 교통 정보를 방송하기 위한 TPEG(Transport Protocol Expert Group) 데이터가 서비스 될 수도 있다. The mobile service data defined as described above may be data having information such as a program execution file, stock information, or the like, or may be A / V data. In particular, the mobile service data may be A / V data having a smaller resolution and a smaller data rate than the main service data as service data for a portable or mobile terminal (or broadcast receiver). For example, if the A / V codec used for the existing main service is an MPEG-2 codec, the MPEG-4 codec that has better image compression efficiency as the A / V codec for mobile services. AVC (Advanced Video Coding), SVC (Scalable Video Coding), etc. may be used. In addition, any kind of data may be transmitted as the mobile service data. For example, TPEG (Transport Protocol Expert Group) data for broadcasting traffic information in real time may be serviced.
또한 상기 모바일 서비스 데이터를 이용한 데이터 서비스로는 날씨 서비스, 교통 서비스, 증권 서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임 서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공 서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공 서비스, 상품 정보 및 이에 대한 주문 등이 가능하도록 하는 서비스별, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으며, 본 발명은 이에 한정하지는 않는다.In addition, data services using the mobile service data include weather services, transportation services, securities services, viewer participation quiz program, real-time polls, interactive educational broadcasting, game services, drama plot, characters, background music, shooting location, etc. Informational services, information on past sports history, profile and performance of athletes, and information on programs by media, time, or subject that enables product information and ordering. Etc., but the present invention is not limited thereto.
본 발명에 따른 디지털 방송 시스템은 크게 전송 시스템과 수신 시스템을 포함하며, 상기 전송 시스템은 기존 수신 시스템에서 메인 서비스 데이터를 수신하는데 전혀 영향을 주지 않으면서(backward compatible), 동일한 물리적 채널에 메인 서비스 데이터와 모바일 서비스 데이터를 다중화하여 전송할 수 있도록 한다. The digital broadcasting system according to the present invention largely includes a transmission system and a reception system, and the transmission system has main service data on the same physical channel without any influence on receiving main service data from an existing reception system. And multiplex mobile data.
본 발명의 전송 시스템은 모바일 서비스 데이터에 대해 추가적인 부호화를 수행하고, 송/수신측 모두가 미리 알고 있는 데이터 즉, 기지(known) 데이터를 삽입하여 전송할 수 있도록 한다. The transmission system of the present invention performs additional encoding on mobile service data and inserts and transmits data that is known in advance to both the transmitting and receiving sides, that is, known data.
이러한 본 발명에 따른 전송 시스템을 사용하면 수신 시스템에서는 모바일 서비스 데이터의 이동 수신이 가능하며, 또한 채널에서 발생하는 각종 왜곡과 노이즈에도 모바일 서비스 데이터의 안정적인 수신이 가능하다.When the transmission system according to the present invention is used, the reception system enables mobile reception of mobile service data, and also enables stable reception of mobile service data against various distortions and noises generated in a channel.
전송 시스템의 개략적인 설명Schematic description of the transmission system
도 1은 이러한 본 발명을 적용하기 위한 전송 시스템의 일 실시예를 보인 개략도로서, 서비스 다중화기(Service Multiplexer)(100)와 송신 기(Transmitter)(200)를 포함할 수 있다.1 is a schematic diagram illustrating an embodiment of a transmission system for applying the present invention, and may include a
여기서 상기 서비스 다중화기(100)는 각 방송국의 스튜디오에 위치하고, 송신기(200)는 스튜디오로부터 거리가 떨어진 지역(site)에 위치한다. 이때 상기 송신기(200)는 복수개의 서로 다른 지역에 위치할 수도 있다. 그리고 일 실시예로 상기 복수개의 송신기는 동일한 주파수를 공유할 수 있으며, 이 경우 복수개의 송신기는 모두 동일한 신호를 송신한다. 그러면 수신 시스템에서는 채널 등화기가 반사파로 인한 신호 왜곡을 보상하여 원 신호를 복원할 수가 있다. 다른 실시예로, 상기 복수개의 송신기는 동일 채널에 대해 서로 다른 주파수를 가질 수도 있다.Here, the
상기 서비스 다중화기와 원격지에 위치한 각 송신기간의 데이터 통신은 여러 가지 방법이 이용될 수 있으며, 일 실시예로 SMPTE-310M(Synchronous Serial Interface for transport of MPEG-2 data)과 같은 인터페이스 규격이 사용될 수도 있다. 상기 SMPTE-310M 인터페이스 규격에서는 서비스 다중화기의 출력 데이터 율이 일정한 데이터 율로 정해져 있다. 예를 들어, 8VSB의 경우 19.39 Mbps로 정해져 있고, 16VSB의 경우 38.78 Mbps로 정해져 있다. 또한 기존 8VSB 방식의 전송 시스템에서는 한 개의 물리적인 채널에 데이터 율이 약 19.39 Mbps인 트랜스포트 스트림(Transport Stream ; TS) 패킷을 전송할 수 있다. 기존 전송 시스템과 역방향 호환성을 가지는 본 발명에 따른 송신기에서도, 상기 모바일 서비스 데이터에 대하여 추가의 부호화를 수행한 후 이를 메인 서비스 데이터와 TS 패킷 형태로 다중화하여 전송하는데, 이때에도 다중화된 TS 패킷의 데이터 율은 약 19.39 Mbps가 된다. Various methods may be used for data communication between the service multiplexer and each transmitter located at a remote location, and as an example, an interface standard such as Synchronous Serial Interface for transport of MPEG-2 data (SMPTE-310M) may be used. . In the SMPTE-310M interface standard, the output data rate of the service multiplexer is determined to be a constant data rate. For example, it is set at 19.39 Mbps for 8VSB, and 38.78 Mbps for 16VSB. In addition, the conventional 8VSB type transmission system can transmit a transport stream (TS) packet having a data rate of about 19.39 Mbps on one physical channel. In the transmitter according to the present invention having backward compatibility with the existing transmission system, the mobile service data is further encoded and then multiplexed in the form of the main service data and the TS packet, and the data of the multiplexed TS packet is transmitted. The rate is about 19.39 Mbps.
이때 상기 서비스 다중화기(100)는 적어도 한 종류의 모바일 서비스 데이터 와 각 모바일 서비스를 위한 PSI(Program Specific Information)/PSIP(Program and System Information Protocol) 테이블 데이터를 입력받아 각각 트랜스포트 스트림(TS) 패킷으로 인캡슐레이션(encapsulation)한다. 또한 상기 서비스 다중화기(100)는 적어도 한 종류의 메인 서비스 데이터와 각 메인 서비스를 위한 PSI/PSIP 테이블 데이터를 입력받아 TS 패킷으로 인캡슐레이션(encapsulation)한다. 이어 상기 TS 패킷들을 기 설정된 다중화 규칙에 따라 다중화하여 송신기(200)로 출력한다. In this case, the
서비스 다중화기Service multiplexer
도 2는 상기 서비스 다중화기의 일 실시예를 보인 상세 블록도로서, 상기 서비스 다중화기의 전반적인 동작을 제어하는 제어기(Controller)(110), 메인 서비스를 위한 PSI/PSIP 발생기(120), 모바일 서비스를 위한 PSI/PSIP 발생기(130), 널 패킷 발생기(140), 모바일 서비스 다중화기(150), 및 트랜스포트 다중화기(160)를 포함할 수 있다. FIG. 2 is a detailed block diagram illustrating an embodiment of the service multiplexer. The
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161), 및 트랜스포트 스트림(Transport Stream ; TS) 패킷 다중화기(162)를 포함할 수 있다.The
도 2를 보면, 적어도 한 종류의 압축 부호화된 메인 서비스 데이터와 상기 메인 서비스를 위해 PSI/PSIP 발생기(120)에서 발생된 PSI/PSIP 테이블 데이터는 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161)로 입력된다. 상기 메인 서비스 다중화기(161)는 입력되는 메인 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들 을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 메인 서비스 다중화기(161)에서 출력되는 데이터 패킷을 설명의 편의를 위해 메인 서비스 데이터 패킷이라 하기로 한다.Referring to FIG. 2, at least one kind of compressed coded main service data and PSI / PSIP table data generated by the PSI /
또한 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위해 PSI/PSIP 발생기(130)에서 발생된 PSI/PSIP 테이블 데이터는 모바일 서비스 다중화기(150)로 입력된다. In addition, at least one type of compressed-coded mobile service data and PSI / PSIP table data generated by the PSI /
상기 모바일 서비스 다중화기(150)는 입력되는 모바일 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다.The
이때, 상기 송신기(200)에서 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분하여 처리하기 위해서는 식별 정보가 필요하다. 상기 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있으며, 해당 데이터 패킷 내 기 설정된 위치의 값을 변형시켜 이용할 수도 있다.In this case, identification information is required for the
본 발명에서는 일 실시예로, 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷에 각기 서로 다른 PID(Packet Identifier)를 할당하여 구분할 수 있다.According to an embodiment of the present invention, different PIDs (Packet Identifiers) may be allocated to the main service data packet and the mobile service data packet.
다른 실시예로, 모바일 서비스 데이터 패킷의 헤더 내 동기 바이트를 변형함에 의해, 해당 서비스 데이터 패킷의 동기 바이트 값을 이용하여 구분할 수도 있 다. 예를 들어, 메인 서비스 데이터 패킷의 동기 바이트는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 변형없이 그대로 출력하고, 모바일 서비스 데이터 패킷의 동기 바이트는 변형시켜 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. 반대로 메인 서비스 데이터 패킷의 동기 바이트를 변형하고, 모바일 서비스 데이터 패킷의 동기 바이트를 변형없이 그대로 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. In another embodiment, by modifying the sync byte in the header of the mobile service data packet, it may be distinguished using the sync byte value of the corresponding service data packet. For example, the sync byte of the main service data packet outputs the value defined in ISO / IEC13818-1 (for example, 0x47) without modification, and the sync byte of the mobile service data packet is modified and outputted. The data packet and the mobile service data packet can be distinguished. On the contrary, by modifying the sync byte of the main service data packet and outputting the sync byte of the mobile service data packet as it is, the main service data packet and the mobile service data packet can be distinguished.
상기 동기 바이트를 변형하는 방법은 여러 가지가 있을 수 있다. 예를 들어, 동기 바이트를 비트별로 반전시키거나, 일부 비트만을 반전시킬 수도 있다. There may be various ways to modify the sync byte. For example, the sync byte may be inverted bit by bit or only some bits may be inverted.
이와 같이 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있는 식별 정보는 어느 것이나 가능하므로, 본 발명은 상기된 실시예들로 한정되지 않을 것이다.As such, any identification information capable of distinguishing the main service data packet from the mobile service data packet may be used. Thus, the present invention will not be limited to the above-described embodiments.
한편 상기 트랜스포트 다중화기(160)는 기존 디지털 방송 시스템에서 사용하는 트랜스포트 다중화기를 그대로 사용할 수 있다. 즉, 모바일 서비스 데이터를 메인 서비스 데이터와 다중화하여 전송하기 위하여 메인 서비스의 데이터 율을 (19.39-K) Mbps의 데이터 율로 제한하고, 나머지 데이터 율에 해당하는 K Mbps를 모바일 서비스에 할당하는 것이다. 이렇게 하면, 이미 사용되고 있는 트랜스포트 다중화기를 변경하지 않고 그대로 사용할 수 있다. Meanwhile, the
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비 스 데이터 패킷을 다중화하여 송신기(200)로 전송한다. The
그런데 상기 모바일 서비스 다중화기(150)의 출력 데이터 율이 K Mbps가 안되는 경우가 발생할 수 있다. 이 경우 상기 모바일 서비스 다중화기(150)는 출력 데이터 율이 K Mbps가 되도록 널 패킷 발생기(140)에서 발생된 널 데이터 패킷을 다중화하여 출력한다. 즉, 상기 널 패킷 발생기(140)는 모바일 서비스 다중화기(150)의 출력 데이터 율을 일정하게 맞추기 위하여 널 데이터 패킷을 발생하여 모바일 서비스 다중화기(150)로 출력한다.However, there may occur a case where the output data rate of the
예를 들어, 상기 서비스 다중화기(100)에서 19.39 Mbps 중 K Mbps를 모바일 서비스 데이터에 할당하고, 그 나머지인 (19.39-K) Mbps를 메인 서비스 데이터에 할당한다고 하면, 실제로 상기 서비스 다중화기(100)에서 다중화되는 모바일 서비스 데이터의 데이터 율은 K Mbps보다 작아진다. 이는 상기 모바일 서비스 데이터의 경우, 송신기의 전 처리기(pre-processor)에서 추가의 부호화를 수행하여 데이터 량이 늘리기 때문이다. 이로 인해 서비스 다중화기(100)에서 전송할 수 있는 모바일 서비스 데이터의 데이터 율(data rate)이 K Mbps보다 작아지게 된다.For example, if the
일 예로, 상기 송신기의 전처리기에서는 모바일 서비스 데이터에 대해 적어도 1/2 부호율 이하의 부호화를 수행하므로, 전처리기의 출력 데이터의 양은 입력 데이터의 양보다 2배 이상 많게 된다. 따라서 서비스 다중화기(100)에서 다중화되는 메인 서비스 데이터의 데이터 율과 모바일 서비스 데이터의 데이터 율의 합은 항상 19.39 Mbps 보다 작거나 같게 된다.For example, the preprocessor of the transmitter performs encoding at least 1/2 code rate on the mobile service data, so that the amount of output data of the preprocessor is more than twice the amount of input data. Therefore, the sum of the data rate of the main service data multiplexed in the
따라서 상기 서비스 다중화기(100)에서 출력되는 최종 출력 데이터 율을 일정 한 데이터 율(예를 들어, 19.39 Mbps)로 맞추기 위해, 상기 널 패킷 발생기(140)에서는 모자라는 데이터 율만큼 널 데이터 패킷을 생성하여 모바일 서비스 다중화기(150)로 출력한다. Therefore, in order to adjust the final output data rate output from the
그러면 상기 모바일 서비스 다중화기(150)에서는 입력되는 모바일 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들과 널 데이터 패킷을 다중화하여 TS 패킷 다중화기(162)로 출력한다.Then, the
상기 TS 패킷 다중화기(162)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비스 데이터 패킷을 다중화하여 19.39 Mbps 데이터 율로 송신기(200)로 전송한다. The
본 발명에서는 상기 모바일 서비스 다중화기(150)에서 널 데이터 패킷을 입력받는 것을 일 실시예로 한다. 이는 일 실시예일 뿐이며, 다른 실시예로 상기 TS 패킷 다중화기(162)에서 널 데이터 패킷을 입력받아 최종 데이터 율을 일정한 데이터 율로 맞출 수도 있다. 상기 널 데이터 패킷의 출력 경로 및 다중화 규칙은 제어부(110)의 제어에 의해 이루어진다. 상기 제어부(110)는 상기 모바일 서비스 다중화기(150), 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161), TS 패킷 다중화기(162)에서의 다중화 및 널 패킷 발생기(140)에서의 널 데이터 패킷의 발생을 제어한다. According to an embodiment of the present invention, the
이때 상기 송신기(200)에서는 상기 서비스 다중화기(100)에서 전송하는 널 데이터 패킷을 수신 시스템으로 전송하지 않고 버린다. At this time, the
그리고 상기 송신기(200)에서 상기 널 데이터 패킷을 전송하지 않고 버리기 위해서는 상기 널 데이터 패킷을 구분할 수 있는 식별 정보가 필요하다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있다. 예를 들어, 상기 널 데이터 패킷의 헤더 내 동기 바이트 값을 변형시켜 식별 정보로 이용할 수도 있고, transport_error_indicator 플래그(flag)를 식별 정보로 이용할 수도 있다. In order to discard the null data packet without transmitting the
본 발명에서는 널 데이터 패킷 내 헤더의 transport_error_indicator 플래그를 널 데이터 패킷을 구분할 수 있는 식별 정보로 이용하는 것을 일 실시예로 설명한다. 이 경우, 상기 널 데이터 패킷의 transport_error_indicator 플래그는 1로 셋팅하고, 상기 널 데이터 패킷 이외의 모든 데이터 패킷들의 transport_error_indicator 플래그는 0으로 리셋시켜 상기 널 데이터 패킷을 구분하는 것을 일 실시예로 한다. 즉, 상기 널 패킷 발생기(140)에서 널 데이터 패킷을 발생시킬 때 널 데이터 패킷의 헤더의 필드 중에서 transport_error_indicator 플래그를 '1'로 세팅하여 전송한다면 송신기(200)에서 이를 구분하여 버릴 수 있다.According to an embodiment of the present invention, the transport_error_indicator flag of a header in a null data packet is used as identification information for distinguishing a null data packet. In this case, the transport_error_indicator flag of the null data packet is set to 1, and the transport_error_indicator flag of all data packets other than the null data packet is reset to 0 to distinguish the null data packet. That is, when the
상기 널 데이터 패킷을 구분하기 위한 식별 정보는 널 데이터 패킷을 구분할 수 있는 것은 어느 것이나 가능하므로 본 발명은 상기된 실시예들로 한정되지 않을 것이다. The identification information for distinguishing the null data packet may be any one capable of distinguishing the null data packet, and thus the present invention will not be limited to the above-described embodiments.
또한 본 발명은 다른 실시예로서, 상기 널 데이터 패킷의 적어도 일부, 또는 모바일 서비스를 위한 PSI/PSIP 테이블 중 적어도 하나의 테이블 또는 OM(Operations and Maintenance) 패킷(또는 OMP라 하기도 함.)에 전송 파라미터가 포함되어 있을 수 있다. 이 경우 송신기(200)에서는 상기 전송 파라미터를 추출하여 해당 블록으로 출력하며, 필요한 경우 수신 시스템으로도 전송한다. In another embodiment, the present invention provides a transmission parameter in at least a portion of the null data packet, or at least one table of a PSI / PSIP table for a mobile service, or an Operations and Maintenance (OM) packet (or OMP). May be included. In this case, the
즉, 전송 시스템의 동작 및 관리를 위한 목적으로 OMP(Operations and Maintenance Packet) 라는 패킷이 정의되어 있다. 일 예로, 상기 OMP는 MPEG-2 TS 패킷의 형식을 따르며 해당 PID는 0x1FFA의 값을 가진다. 상기 OMP은 4바이트의 헤더와 184바이트의 페이로드로 구성된다. 상기 184 바이트 중 첫번째 바이트는 OM_type 필드로서 OM 패킷의 유형을 의미한다. That is, a packet called OMP (Operations and Maintenance Packet) is defined for the purpose of operation and management of the transmission system. As an example, the OMP follows the format of an MPEG-2 TS packet and its PID has a value of 0x1FFA. The OMP consists of a header of 4 bytes and a payload of 184 bytes. The first byte of the 184 bytes indicates the type of the OM packet as the OM_type field.
본 발명에서는 상기 전송 파라미터를 OMP의 형식으로 전송할 수 있으며, 이 경우 OM_type 필드의 미사용 필드 값들 중에서 미리 약속된 값을 사용하여, 송신기(200)에 전송 파라미터가 OMP으로 전송됨을 알릴 수 있다. 즉, 송신기(200)에서는 PID를 보고 OMP를 찾을 수 있으며, 상기 OMP 내 OM_type 필드를 파싱하여 해당 패킷의 OM_type 필드 다음에 전송 파라미터가 포함되어 있는지 여부를 알 수 있다.In the present invention, the transmission parameter may be transmitted in an OMP format. In this case, the
상기 전송 파라미터는 송/수신 시스템에서 모바일 서비스 데이터를 처리하는데 필요한 부가 정보들로서, 예를 들면 상기 전송 파라미터에는 데이터 그룹 정보, 데이터 그룹 내 영역(region) 정보, RS 프레임 정보, 수퍼 프레임 정보, 버스트 정보, 터보 코드 정보, RS 코드 정보 등이 포함될 수 있다. 또한 상기 버스트 정보에는 버스트 사이즈(size) 정보, 버스트 주기 정보, 다음 버스트까지의 시간 등이 포함될 수 있다. 상기 버스트 주기(period)는 동일한 종류의 모바일 서비스를 전송하는 버스트가 반복되는 주기(period)를 의미하고, 버스트 사이즈(size)는 하나의 버스트에 포함되는 데이터 그룹의 개수를 의미한다. 상기 데이터 그룹은 다수개의 모 바일 서비스 데이터 패킷들을 포함하며, 이러한 데이터 그룹이 다수개 모여서 하나의 버스트를 형성한다. 그리고 버스트 구간(section)은 현재 버스트의 시작에서 다음 버스트의 시작까지를 의미하며, 데이터 그룹이 포함되는 구간(또는 버스트 온 구간이라 하기도 함)과 데이터 그룹이 포함되지 않는 구간(또는 버스트 오프 구간이라 하기도 함)으로 구분된다. 하나의 버스트 구간은 다수개의 필드들로 구성되는데, 하나의 필드는 하나의 데이터 그룹을 포함한다.The transmission parameter is additional information necessary for processing mobile service data in a transmission / reception system. For example, the transmission parameter includes data group information, region information in a data group, RS frame information, super frame information, and burst information. , Turbo code information, RS code information, and the like. The burst information may include burst size information, burst period information, time to the next burst, and the like. The burst period means a period in which bursts transmitting the same type of mobile service are repeated, and the burst size means the number of data groups included in one burst. The data group includes a plurality of mobile service data packets, and these data groups are gathered to form one burst. The burst section refers to the start of the current burst to the start of the next burst, and includes a section including a data group (also called a burst on section) and a section without a data group (or a burst off section). (Also referred to as below). One burst period consists of a plurality of fields, and one field includes one data group.
또한 상기 전송 파라미터에는 모바일 서비스 데이터를 전송하기 위해서 심볼 영역의 신호들이 어떤 방법으로 부호화되는지에 대한 정보, 메인 서비스 데이터와 모바일 서비스 데이터 또는 여러 종류의 모바일 서비스 데이터 간에 어떻게 다중화되는지에 대한 다중화 정보 등이 포함될 수도 있다.In addition, the transmission parameter includes information on how signals in a symbol region are encoded to transmit mobile service data, and multiplexing information on how to be multiplexed between main service data and mobile service data or various types of mobile service data. May be included.
상기 전송 파라미터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 전송 파라미터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The information included in the transmission parameter is only one embodiment for better understanding of the present invention, and the present invention is not limited to the above embodiment because addition and deletion of information included in the transmission parameter can be easily changed by those skilled in the art. Will not.
또한 상기 전송 파라미터들은 서비스 다중화기(100)에서 송신기(200)로 제공할 수도 있고, 송신기(200) 자체적으로 제어부(도시되지 않음)에서 설정하거나 외부에서 입력받을 수 있다. In addition, the transmission parameters may be provided from the
송신기transmitter
도 3은 본 발명의 일 실시예에 따른 송신기(200)의 구성 블록도로서, 역다중화기(210), 패킷 지터 경감기(Packet jitter mitigator)(220), 전 처리기(Pre- Processor)(230), 패킷 다중화기(240), 후처리기(Post-Processor)(250), 동기(Sync) 다중화기(260), 및 송신부(transmission unit)(270)를 포함할 수 있다. 3 is a block diagram illustrating a
상기 역다중화기(210)는 서비스 다중화기(100)로부터 데이터 패킷이 수신되면, 수신된 데이터 패킷이 메인 서비스 데이터 패킷인지, 모바일 서비스 데이터 패킷인지, 아니면 널 데이터 패킷인지를 구분하여야 한다. When the data packet is received from the
일 실시예로, 상기 역다중화기(210)는 수신된 데이터 패킷 내 PID를 이용하여 모바일 서비스 데이터 패킷과 메인 서비스 데이터 패킷을 구분하고, transport_error_indicator 필드를 이용하여 널 데이터 패킷을 구분할 수 있다.In one embodiment, the
상기 역다중화기(210)에서 분리된 메인 서비스 데이터 패킷은 패킷 지터 경감기(220)로 출력되고, 모바일 서비스 데이터 패킷은 전처리기(230)로 출력되며, 널 데이터 패킷은 버려진다. 만일 상기 널 데이터 패킷에 전송 파라미터가 포함되어 있다면 전송 파라미터가 추출되어 해당 블록으로 출력된 후 널 데이터 패킷은 버려진다.The main service data packet separated by the
상기 전처리기(230)는 역다중화기(210)에서 역다중화되어 출력되는 모바일 서비스 데이터 패킷 내 모바일 서비스 데이터에 대해 추가의 부호화 및 전송 프레임 상에 전송하고자 하는 데이터들의 용도에 따라 어느 특정 위치에 위치할 수 있도록 하는 데이터 그룹 형성 과정을 수행한다. 이는 상기 모바일 서비스 데이터가 노이즈 및 채널 변화에 빠르고 강력하게 대응하도록 하기 위해서이다. 상기 전처리기(230)는 추가의 부호화시에 상기 전송 파라미터를 참조할 수도 있다. 또한 상기 전처리기(230)는 모바일 서비스 데이터 패킷을 다수개 모아 데이터 그룹을 형성하 고, 상기 데이터 그룹 내 기 설정된 영역에 기지 데이터, 모바일 서비스 데이터, RS 패리티 데이터, MPEG 헤더 등을 할당한다. The
송신기 내의 전처리기Preprocessor in the transmitter
도 4는 본 발명에 따른 전처리기(230)의 일 실시예를 보인 구성 블록도로서, 데이터 랜더마이저(301), RS 프레임 부호기(302), 블록 처리기(303), 그룹 포맷터(304), 데이터 디인터리버(305), 및 패킷 포맷터(306)를 포함할 수 있다. 4 is a block diagram illustrating an embodiment of a
이와 같이 구성된 전처리기(230) 내 데이터 랜더마이저(301)는 역다중화기(210)를 통해 입력되는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷을 랜더마이징시켜 RS 프레임 부호기(302)로 출력한다. 이때 상기 데이터 랜더마이저(301)에서 모바일 서비스 데이터에 대해 랜더마이징을 수행함으로써, 후처리기(250)의 데이터 랜더마이저(251)에서는 모바일 서비스 데이터에 대한 랜더마이징 과정을 생략할 수 있다. 이때, 상기 데이터 랜더마이저(301)는 모바일 서비스 데이터 패킷 내 동기 바이트를 버리고 랜더마이징을 수행할 수도 있다. 또는 상기 동기 바이트를 버리지 않고 랜더마이징을 수행할 수도 있으며, 이는 설계자의 선택 사항이다. 본 발명에서는 해당 모바일 서비스 데이터 패킷 내 동기 바이트를 버리지 않고 랜더마이징을 수행하는 것을 일 실시예로 한다.The data randomizer 301 in the
상기 RS 프레임 부호기(302)는 랜더마이즈되어 입력되는 모바일 서비스 데이터 패킷을 복수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 부호화(encoding) 과정, 에러 검출 부호화 과정 중 적어도 하나의 과정을 수행한다. 이렇게 하면 모바일 서비스 데이터에 강건성을 부여하면서 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다. The
또한 상기 RS 프레임 부호기(302)는 복수개의 RS 프레임을 모아 수퍼 프레임(Super Frame)을 구성하고, 수퍼 프레임 단위로 로우(row) 섞음(permutation)을 수행할 수도 있다. 상기 로우 섞음(permutation)은 로우 인터리빙(interleaving)이라고도 하며, 본 발명에서는 설명의 편의를 위해 로우 섞음이라 하기로 한다. In addition, the
즉, 상기 RS 프레임 부호기(302)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다.That is, when the
상기 RS 프레임 부호기(302)에서 에러 정정 부호화는 RS 부호화를 적용하고, 에러 검출 부호화는 CRC(Cyclic Redundancy Check) 부호화를 적용하는 것을 일 실시예로 한다. 상기 RS 부호화를 수행하면 에러 정정을 위해 사용될 패리티 데이터가 생성되고, CRC 부호화를 수행하면 에러 검출을 위해 사용될 CRC 데이터가 생성된다. According to an embodiment of the present invention, the
상기 RS 부호화는 FEC(Forward Error Correction) 중 하나이다. 상기 FEC는 전송 과정에서 발생하는 에러를 보정하기 위한 기술을 말한다. 상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. 본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.The RS coding is one of forward error correction (FEC). The FEC refers to a technique for correcting an error occurring in a transmission process. The CRC data generated by the CRC encoding may be used to indicate whether mobile service data is damaged by an error while being transmitted through a channel. The present invention may use other error detection encoding methods in addition to CRC encoding, or may increase the overall error correction capability at the receiving end by using an error correction encoding method.
여기서, 상기 RS 프레임 부호기(302)는 미리 설정된 전송 파라미터 및/또는 상기 서비스 다중화기(100)에서 제공하는 전송 파라미터를 참조하여 RS 프레임 구성, RS 부호화, CRC 부호화, 수퍼 프레임 구성, 수퍼 프레임 단위의 로우 섞음 등을 수행할 수 있다.In this case, the
전처리기 내 In the preprocessor RSRS 프레임 부호기 Frame encoder
도 5의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 일 실시예를 보인 도면이다. 5A to 5E illustrate an embodiment of an encoding process of an
즉, 상기 RS 프레임 부호기(302)는 먼저, 입력되는 모바일 서비스 데이터 바이트를 일정 길이 단위로 구분한다. 상기 일정 길이는 시스템 설계자에 의해 결정되는 값으로서, 본 발명에서는 187 바이트를 일 실시예로 설명하며, 설명의 편의를 위해 상기 187 바이트 단위를 패킷이라 하기로 한다. That is, the
예를 들어, 도 5의 (a)와 같이 입력되는 모바일 서비스 데이터가 188바이트 단위로 구성된 MPEG 트랜스포트 스트림(TS) 패킷이라면 도 5의 (b)와 같이 첫 번째 동기 바이트를 제거하여 187바이트로 하나의 패킷을 구성한다. 여기서 동기 바이트를 제거하는 이유는 모든 모바일 서비스 데이터 패킷이 동일한 값을 갖기 때문이다. 여기서 상기 동기 바이트 제거는 전단의 데이터 랜더마이저(301)에서 랜더마이징시 수행할 수도 있다. 이 경우 RS 프레임 부호기(302)에서 동기 바이트 제거 과 정은 생략되며, 수신 시스템에서 동기 바이트를 부가할 때에도 RS 프레임 복호기 대신 디랜더마이저에서 부가한다.For example, if the mobile service data input as shown in (a) of FIG. 5 is an MPEG transport stream (TS) packet configured in units of 188 bytes, the first sync byte is removed to 187 bytes as shown in FIG. Configure one packet. The reason for removing the sync byte is that all mobile service data packets have the same value. In this case, the synchronization byte removal may be performed when the
따라서 상기 RS 프레임 부호기(302)로 입력되는 모바일 서비스 데이터 패킷에 제거 가능한 고정된 한 바이트(예, 동기 바이트)가 존재하지 않거나, 입력된 모바일 서비스 데이터가 패킷 형태가 아닌 경우, 입력되는 모바일 서비스 데이터를 187 바이트 단위로 나누고, 나누어진 187 바이트 단위로 하나의 패킷을 구성한다. Therefore, if there is no fixed one byte (eg, a sync byte) in the mobile service data packet input to the
이어, 도 5의 (c)와 같이 187바이트로 구성된 패킷을 N개 모아서 하나의 RS 프레임을 구성한다. 이때 하나의 RS 프레임의 구성은 N(row) * 187(column) 바이트의 크기를 갖는 RS 프레임에 187 바이트의 패킷을 로우 방향으로 차례대로 넣음으로써 이루어진다. Subsequently, as shown in (c) of FIG. 5, N packets of 187 bytes are collected to form one RS frame. In this case, the configuration of one RS frame is achieved by sequentially inserting a packet of 187 bytes in a row direction into an RS frame having a size of N (row) * 187 (column) bytes.
본 발명에서는 설명의 편의를 위해 이렇게 생성된 RS 프레임을 제1 RS 프레임이라 하기도 한다. 즉, 제1 RS 프레임에는 순수한 모바일 서비스 데이터만 포함되어 있으며, N 바이트로 된 로우가 187개 구성된 것과 같다.In the present invention, the RS frame thus generated is referred to as a first RS frame for convenience of description. That is, only the pure mobile service data is included in the first RS frame, and 187 rows of N bytes are configured.
그리고 상기 RS 프레임 내 모바일 서비스 데이터를 일정 크기로 나눈 후, RS 프레임을 구성하기 위해 입력되는 순서와 동일한 순서로 전송을 하게 되면, 송/수신간에 특정 시점에서 에러가 발생했을 경우 RS 프레임 상에서도 에러가 모여있게 된다. 이러한 경우 수신 시스템에서 에러 정정 디코딩시에 RS 이레이저(erasure) 디코딩을 사용함으로써, 에러 정정 능력을 향상시킬 수 있게 된다. When the mobile service data in the RS frame is divided into a predetermined size and then transmitted in the same order as the input order for composing the RS frame, if an error occurs at a specific point in time between transmission and reception, the error occurs on the RS frame. To be gathered. In this case, by using RS erasure decoding in error correction decoding in the receiving system, the error correction capability can be improved.
이때 상기 RS 프레임의 N개의 모든 컬럼(column)은 도 5의 (c)와 같이 187바이트를 포함하고 있다. At this time, all N columns of the RS frame include 187 bytes as shown in FIG.
이 경우 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc(=P)개의 패리티 바이트를 생성하고, 생성된 P개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P) 바이트의 한 컬럼을 만들 수가 있다. 여기서, Kc는 도 5의 (c)에서와 같이 187이며, Nc는 187+P이다. 예를 들어, P가 48이라면 (235,187)-RS 부호화가 수행되어 235 바이트의 한 컬럼을 만들 수 있다. In this case, Nc-Kc (= P) parity bytes are generated by performing (Nc, Kc) -RS encoding on each column, and the generated P parity bytes are added after the last byte of the column (187). + P) You can create a column of bytes. Here, Kc is 187 as in FIG. 5C, and Nc is 187 + P. For example, if P is 48, (235,187) -RS encoding may be performed to create a column of 235 bytes.
이러한 RS 부호화 과정을 도 5의 (c)의 N개의 모든 컬럼에 대해서 수행하면, 도 5의 (d) 와 같이 N(row) * (187+P)(column) 바이트의 크기를 갖는 RS 프레임을 만들 수가 있다. 본 발명에서는 설명의 편의를 위해 RS 패리티가 부가된 RS 프레임을 제2 RS 프레임이라 하기도 한다. 즉, 제2 RS 프레임은 N 바이트로 된 로우가 187+P개 구성된 것과 같다.When the RS encoding process is performed on all N columns of FIG. 5C, an RS frame having a size of N (row) * (187 + P) (column) bytes as shown in FIG. 5D is obtained. I can make it. In the present invention, for convenience of description, an RS frame to which RS parity is added is also referred to as a second RS frame. That is, the second RS frame is equivalent to 187 + P rows of N bytes.
도 5의 (c) 또는 (d)에서와 같이 RS 프레임의 각 로우(row)는 N 바이트로 이루어져 있다. 그런데 송/수신간의 채널 상황에 따라서 상기 RS 프레임에 에러가 포함될 수가 있다. 이렇게 에러가 발생하는 경우에 각 로우 단위로 에러 여부를 검사하기 위하여 CRC 데이터(또는 CRC 코드 또는 CRC 체크섬이라고도 함)를 사용하는 것이 가능하다. As shown in (c) or (d) of FIG. 5, each row of the RS frame includes N bytes. However, an error may be included in the RS frame according to the channel condition between the transmission and reception. When an error occurs in this way, it is possible to use CRC data (or CRC code or CRC checksum) to check an error for each row.
상기 RS 프레임 부호기(302)는 상기 CRC 코드를 생성하기 위하여 RS 부호화된 모바일 서비스 데이터에 대해 CRC 부호화를 수행한다. 상기 CRC 부호화에 의해 생성된 CRC 코드는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. The
본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.The present invention may use other error detection encoding methods in addition to CRC encoding, or may increase the overall error correction capability at the receiving end by using an error correction encoding method.
도 5의 (e)는 CRC 데이터로 2 바이트(즉, 16비트) CRC 체크섬(checksum)을 사용하는 예를 보인 것으로서, 각 로우의 N 바이트에 대한 2바이트 CRC 체크섬을 생성한 후 N 바이트 후단에 부가하고 있다. 이렇게 함으로써, 각 로우는 N+2 바이트로 확장이 된다. 5 (e) shows an example of using a 2-byte (i.e. 16-bit) CRC checksum as CRC data, and after generating a 2-byte CRC checksum for N bytes of each row, an N-byte rear end is generated. It is adding. By doing this, each row is expanded to N + 2 bytes.
하기의 수학식 1은 N 바이트로 된 각 로우에 대해 2바이트 CRC 체크섬을 생성하는 다항식의 예를 보이고 있다.
상기 각 로우마다 2바이트 CRC 체크섬을 부가하는 것은 하나의 실시예이므로, 본 발명은 상기된 예로 제한되지 않을 것이다. Since adding a 2-byte CRC checksum to each row is an embodiment, the present invention will not be limited to the example described above.
본 발명에서는 설명의 편의를 위해 RS 패리티 및 CRC 체크섬이 부가된 RS 프레임을 제3 RS 프레임이라 하기도 한다. 즉, 제3 RS 프레임은 N+2 바이트로 된 로우가 187+P개 구성된 것과 같다.In the present invention, for convenience of description, an RS frame to which an RS parity and a CRC checksum are added may be referred to as a third RS frame. That is, the third RS frame is equivalent to 187 + P rows of N + 2 bytes.
지금까지 설명한 RS 부호화 및 CRC 부호화 과정을 모두 거치게 되면, N * 187 바이트의 RS 프레임은 (N+2) * (187+P) 바이트의 RS 프레임으로 확장하게 된다. After all the RS coding and CRC coding described above, an RS frame of N * 187 bytes is extended to an RS frame of (N + 2) * (187 + P) bytes.
그리고 도 5의 (e)와 같이 확장된 RS 프레임은 블록 처리기(303)로 입력된 다. And the extended RS frame as shown in (e) of Figure 5 is input to the
도 6의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 다른 실시예를 보인 도면이다. 도 6의 (a) 내지 (e)의 RS 프레임 부호화 과정은 도 5의 (a) 내지 (e)의 RS 프레임 부호화 과정과 거의 유사하며, 단지 도 6의 (c)에서 RS 프레임을 형성하는 과정이 다르다.6A to 6E illustrate another embodiment of an encoding process of the
즉, 도 6의 (a),(b) 과정을 거쳐 187 바이트 단위의 패킷이 구성되면, 187 바이트의 패킷으로 하나의 컬럼(Column)을 구성한다. 이어 N개의 컬럼(즉, 각 컬럼을 구성하는 N개의 패킷)을 순차적으로 모아 도 6의 (c)에서와 같이 N(row) * 187(column) 바이트의 크기를 갖는 RS 프레임을 구성한다. 다시 말해, N * 187 바이트의 크기를 갖는 RS 프레임은 N개의 컬럼(column)에 187 바이트의 패킷을 차례대로 N개 삽입하여 구성된다.That is, when a packet of 187 bytes is configured through the processes of FIGS. 6A and 6B, a column of 187 bytes is configured. Then, N columns (that is, N packets constituting each column) are sequentially collected to form an RS frame having a size of N (row) * 187 (column) bytes as shown in FIG. In other words, an RS frame having a size of N * 187 bytes is configured by inserting
이후의 과정은 상기된 도 5의 (d),(e)의 과정을 참조하면 되므로, 상세 설명을 생략한다.Since the subsequent processes may refer to the processes of FIGS. 5D and 5E, detailed descriptions thereof will be omitted.
도 7의 (a) 내지 (d)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 또 다른 실시예를 보인 도면으로서, 에러 검출 부호화 과정을 생략하는 경우이다. 7 (a) to 7 (d) show another embodiment of an encoding process of the
상기 도 7에서도 187개의 모바일 서비스 데이터 바이트를 모아 한 패킷을 형성하는 과정은 상기된 도 5, 도 6과 동일하다. In FIG. 7, the process of forming a packet by collecting 187 mobile service data bytes is the same as in FIGS. 5 and 6.
예를 들어, 도 7의 (a)와 같이 입력되는 모바일 서비스 데이터가 188바이트 단위로 구성된 트랜스포트 스트림(TS) 패킷이라면 도 7의 (b)와 같이 첫 번째 동기 바이트를 제거하여 187바이트로 하나의 패킷을 구성할 수 있다.For example, if the mobile service data inputted as shown in (a) of FIG. 7 is a transport stream (TS) packet configured in units of 188 bytes, the first sync byte is removed to be 187 bytes as shown in (b) of FIG. 7. Can construct a packet.
그런데, 도 7에서는 에러 검출 부호화 과정을 수행하지 않으므로, 도 7의 (c)와 같이 187바이트로 구성된 패킷을 N+2개 모아서 하나의 RS 프레임을 구성한다. 이때 하나의 RS 프레임의 구성은 N+2(row) * 187(column) 바이트의 크기를 갖는 RS 프레임에 187 바이트의 패킷을 로우 방향으로 차례대로 넣음으로써 이루어진다.However, since the error detection encoding process is not performed in FIG. 7, as shown in FIG. 7C, N + 2 packets including 187 bytes are collected to form one RS frame. In this case, the configuration of one RS frame is achieved by sequentially inserting a packet of 187 bytes in a row direction into an RS frame having a size of N + 2 (row) * 187 (column) bytes.
이때 상기 RS 프레임의 N+2개의 모든 컬럼(column)은 도 7의 (c)와 같이 187바이트를 포함하고 있다. At this time, all N + 2 columns of the RS frame include 187 bytes as shown in FIG.
따라서 본 발명에서는 각 컬럼에 대해서 ((187+P),187)-RS 부호화를 수행하여 P 바이트의 패리티를 생성하고, 생성된 P 바이트의 패리티를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P)바이트의 한 컬럼을 만들 수가 있다. Therefore, in the present invention, ((187 + P), 187) -RS encoding is performed on each column to generate a parity of P bytes, and the parity of the generated P bytes is added after the last byte of the column (187). You can create a column of bytes.
그리고 도 7의 (c)의 N개의 모든 컬럼에 대해서 도 7의 (d)와 같이 ((187+P),187)-RS 부호화를 수행하면, N+2(row) * (187+P)(column) 바이트의 크기를 갖는 RS 프레임을 만들 수가 있다.When ((187 + P), 187) -RS coding is performed on all N columns of FIG. 7C as shown in FIG. 7D, N + 2 (row) * (187 + P) You can create an RS frame with a size of (column) bytes.
즉, 도 5와 같이 에러 정정 부호화와 에러 검출 부호화를 수행한 RS 프레임의 크기와 도 7과 같이 에러 정정 부호화만을 수행한 RS 프레임의 크기는 동일하다. That is, the size of the RS frame in which error correction encoding and error detection encoding are performed as shown in FIG. 5 and the size of the RS frame in which only error correction encoding is performed as shown in FIG. 7 are the same.
여기서 상기 P 값은 부호화되는 모바일 서비스 데이터의 종류에 따라 동일하거나, 서로 다른 값을 가질 수도 있다. 예를 들어, 제1 RS 프레임 부호기(102a)에서는 48로 설정하고, 제2 RS 프레임 부호기(102b)에서는 36으로 설정할 수도 있다. 만일 제1 RS 프레임 부호기(102a)에서 P 값을 48로 설정하였다면, 각 컬럼에 대해 (235,187)-RS 부호화가 수행되어 48개의 패리티 바이트가 생성된다. Here, the P value may be the same or different according to the type of mobile service data to be encoded. For example, it may be set to 48 in the first RS frame encoder 102a and to 36 in the second RS frame encoder 102b. If the P value is set to 48 in the first RS frame encoder 102a, (235, 187) -RS encoding is performed on each column to generate 48 parity bytes.
그리고 한 개의 RS 프레임의 에러 정정 시나리오를 살펴보면, RS 프레임 내의 바이트들은 로우 방향으로 채널 상에 전송된다. 이때 한정된 전송 시간에 다량의 에러가 발생하면 수신 시스템의 복호 과정의 RS 프레임에 로우 방향으로 에러가 발생하게 된다. 하지만 컬럼 방향으로 수행된 RS 부호 관점에서는 에러가 분산된 효과가 나타나므로 효과적인 에러 정정 수행이 가능하다. 이때 보다 강력한 에러 정정을 위한 방법으로 패리티 바이트(P)를 증가시키는 것이 있지만 전송 효율을 떨어뜨리므로 적당한 타협점이 필요하다. 이밖에도 복호시에 이레이저(Erasure) 복호(decoding)을 사용하여 에러 보정 능력을 향상시킬 수 있다. In the error correction scenario of one RS frame, bytes in the RS frame are transmitted on the channel in the row direction. At this time, if a large amount of error occurs in the limited transmission time, the error occurs in the row direction in the RS frame of the decoding process of the receiving system. However, in view of the RS code performed in the column direction, an error is distributed, and thus an effective error correction can be performed. In this case, although a parity byte (P) is increased as a method for more robust error correction, an appropriate compromise is required because it decreases the transmission efficiency. In addition, erasure decoding can be used to improve the error correction capability.
또한, 본 발명의 RS 프레임 부호기에서는 RS 프레임의 에러 보정능력을 보다 향상시키기 위하여 수퍼 프레임 단위의 로우 섞음(permutation)을 수행한다. In addition, in the RS frame encoder of the present invention, in order to further improve the error correction capability of the RS frame, row permutation is performed in units of super frames.
도 8은 수퍼 프레임 단위의 로우 섞음 과정의 일 실시예를 보이고 있다.8 illustrates an embodiment of a row mixing process in units of super frames.
즉, 도 5 내지 도 7과 같이 부호화된 RS 프레임들을 도 8의 (a)와 같이 G개 모아 수퍼 프레임을 구성한다. 이때 각각의 RS 프레임은 (N+2)*(187+P)바이트로 이루어져 있으므로, 하나의 수퍼 프레임은 (N+2)*(187+P)*G 바이트 크기로 이루어진다. That is, G frames encoded as shown in FIGS. 5 to 7 are collected as shown in FIG. 8A to form a super frame. At this time, since each RS frame is composed of (N + 2) * (187 + P) bytes, one super frame is (N + 2) * (187 + P) * G bytes size.
이렇게 구성된 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 도 8의 (b)와 같이 로우 섞음 전 수퍼 프레임의 i번째 로우는 로우 섞음이 수행되고 나 면 도 8의 (c)와 같이 동일한 수퍼 프레임의 j번째 로우에 위치하게 된다. 이러한 i와 j의 관계는 하기의 수학식 2와 같은 로우 섞음 규칙을 통해서 알 수 있다. When the rows of the super frame configured as described above are mixed according to a predetermined rule, the positions of the rows before and after row mixing in the super frame are changed. That is, as shown in (b) of FIG. 8, the i-th row of the super frame before row mixing is located in the j-th row of the same super frame as shown in (c) of FIG. 8. This relationship between i and j can be known through a row mixing rule as shown in
상기 수퍼 프레임 단위의 로우 섞음이 수행된 후에도 수퍼 프레임의 각 로우는 N+2 바이트로 구성된다.Even after row mixing in the super frame unit is performed, each row of the super frame is composed of N + 2 bytes.
그리고 상기 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 다시 도 8의 (d)와 같이 G개의 로우 섞음된 RS 프레임으로 나누어 블록 처리기(303)로 제공한다.After all the row mixing in the super frame unit is performed, it is divided into G row mixed RS frames and provided to the
여기에서 주의할 점은 한 개의 수퍼 프레임을 구성하는 각각의 RS 프레임의 RS 패리티와 컬럼 수는 동일해야 한다는 것이다.Note that the RS parity and the number of columns of each RS frame constituting one super frame must be the same.
전술한 RS 프레임의 에러 정정 시나리오와 유사하게 수퍼 프레임의 경우는 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 더욱 향상된다.Similar to the error correction scenario of the RS frame described above, in the case of a super frame, since a large amount of error occurs, the error frame is distributed throughout the super frame even though an error that cannot be corrected is included in one RS frame to be decoded. The decoding capability is further improved compared to the RS frame.
이와 같이 상기 RS 프레임 부호기(302)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 모바일 서비스 데이터는 블록 처리기(303)로 출 력된다. As such, the mobile service data in which the
도 9의 (a) 내지 (d)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 또 다른 실시예를 보인 도면이다.9 (a) to 9 (d) illustrate another embodiment of an encoding process of the
도 9에서 187개의 모바일 서비스 데이터 바이트로 한 패킷을 형성하는 과정은 상기된 도 5 내지 도 7을 참조하면 되므로 상세 설명을 생략한다.In the process of forming a packet of 187 mobile service data bytes in FIG. 9, the detailed description thereof will be omitted.
즉, 도 9의 (a),(b) 과정을 거쳐 187 바이트의 패킷이 구성되면, 상기 패킷을 다수개 모아 RS 프레임을 구성한다. 본 발명은 도 9의 (c)와 같이 67개의 패킷(즉, 로우)를 모아 하나의 RS 프레임을 구성하는 것을 일 실시예로 한다.That is, if a packet of 187 bytes is formed through the process of Figs. 9A and 9B, a plurality of packets are collected to form an RS frame. According to an embodiment of the present invention, as shown in (c) of FIG. 9, 67 RSs (ie, rows) are collected to form one RS frame.
그리고 상기 RS 프레임의 각 컬럼(column)에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc개의 패리티 바이트 생성하고, 생성된 Nc-Kc개의 패리티 바이트를 해당 컬럼의 마지막 부분(즉, 해당 컬럼의 67번째 로우 다음)에 추가한다. 여기서 Nc은 85, Kc는 67인 것을 일 실시예로 한다. 그러면 도 9의 (d)와 같이 각 컬럼마다 부가되는 패리티 데이터는 18바이트가 된다. In addition, Nc-Kc parity bytes are generated by performing (Nc, Kc) -RS encoding on each column of the RS frame, and the generated Nc-Kc parity bytes are the last part of the corresponding column (that is, After row 67). In this embodiment, Nc is 85 and Kc is 67. Then, as shown in Fig. 9D, the parity data added to each column becomes 18 bytes.
따라서 (85,67)-RS 부호화 과정을 한 RS 프레임 내 187개의 모든 컬럼에 대해 수행하면, 하나의 로우는 187바이트로 구성되고, 하나의 컬럼은 85바이트로 구성된 RS 프레임을 얻게 된다. 즉, RS 부호화된 RS 프레임은 187바이트로 된 로우가 85개 구성된 것과 같다.Therefore, if the (85,67) -RS encoding process is performed on all 187 columns in one RS frame, one row is composed of 187 bytes, and one column is composed of 85 bytes of RS frames. That is, an RS-coded RS frame is equivalent to 85 rows of 187 bytes.
본 발명에서 하나의 패킷을 구성하는 바이트의 수, RS 프레임을 구성하는 로우의 수, RS 부호화에 이용되는 Nc, Kc 값은 시스템 설계 및 상황에 따라 달라질 수 있는 값이므로 본 발명은 상기된 실시예로 제한되지 않을 것이다.In the present invention, the number of bytes constituting one packet, the number of rows constituting the RS frame, and the values Nc and Kc used for RS encoding are values that may vary depending on the system design and the situation. It will not be limited.
한편 본 발명은 도 9의 (d)와 같이 형성된 RS 프레임에 대해 CRC 부호화 과정을 수행할 수도 있다. Meanwhile, the present invention may perform a CRC encoding process on the RS frame formed as shown in FIG.
즉, 송/수신간의 채널 상황에 따라서 RS 프레임에 에러가 포함될 수가 있다. 이렇게 에러가 발생하는 경우에 각 로우 단위로 에러 여부를 검사하기 위하여 CRC 데이터(또는 CRC 코드 또는 CRC 체크섬이라고도 함)를 사용할 수 있다.That is, an error may be included in the RS frame according to the channel condition between the transmission and reception. When an error occurs, CRC data (or also referred to as CRC code or CRC checksum) may be used to check an error for each row.
상기 RS 프레임 부호기(302)는 상기 CRC 데이터를 생성하기 위하여 RS 부호화된 모바일 서비스 데이터에 대해 CRC 부호화를 수행한다. 상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. The
본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.The present invention may use other error detection encoding methods in addition to CRC encoding, or may increase the overall error correction capability at the receiving end by using an error correction encoding method.
상기 CRC 데이터로 8비트 CRC 체크섬을 사용할 수도 있고, 16비트 CRC 체크섬을 사용할 수도 있다. 예를 들어, 8비트 CRC 체크섬을 사용하는 경우, RS 프레임 내 각 로우에 대한 1 바이트(즉, 8비트) CRC 체크섬을 생성하고, 상기 로우에 부가하여 이루어진다. An 8-bit CRC checksum may be used as the CRC data, or a 16-bit CRC checksum may be used. For example, when using an 8 bit CRC checksum, one byte (i.e., 8 bit) CRC checksum for each row in the RS frame is generated and added to the row.
이때 상기 1 바이트 CRC 체크섬을 부가하는 위치는 상기 로우 내 어느 위치나 상관없으며, 본 발명에서는 일 실시예로, 해당 로우의 마지막에 부가하여 하나의 로우를 188바이트로 구성할 수 있다.In this case, the position of adding the 1-byte CRC checksum may be any position in the row. In an embodiment of the present invention, one row may be configured as 188 bytes in addition to the end of the row.
또한 2바이트 체크섬을 사용하는 경우, 두 로우 단위로 2바이트(즉, 16비트) CRC 체크섬을 생성하고, 두 로우 중 어느 하나에 2바이트 CRC 체크섬을 부가하거나, 각 로우에 1바이트 CRC 체크섬을 부가할 수 있다.In addition, when using a 2-byte checksum, a 2-byte (i.e. 16-bit) CRC checksum is generated in two rows, a 2-byte CRC checksum is added to either row, or a 1-byte CRC checksum is added to each row. can do.
그리고 상기 RS 부호화에 의해 RS 프레임이 형성되거나, RS 부호화 및 CRC 부호화에 의해 RS 프레임이 형성되면, 상기 RS 프레임을 다수개 모아 수퍼 프레임을 구성하고, 수퍼 프레임 단위로 로우 섞음을 수행할 수도 있다.When an RS frame is formed by the RS encoding or an RS frame is formed by the RS encoding and the CRC encoding, a plurality of the RS frames may be collected to form a super frame, and row mixing may be performed in units of a super frame.
도 10은 도 9와 같이 RS 프레임이 형성되었을 때, 상기 RS 프레임을 다수개 모아 수퍼 프레임을 형성하고, 수퍼 프레임 단위로 로우 섞음을 수행하는 과정의 일 실시예를 보인 도면이다.FIG. 10 is a diagram illustrating an embodiment of a process of collecting a plurality of RS frames to form a super frame and performing row mixing in units of super frames when an RS frame is formed as shown in FIG. 9.
도 9에서 한 로우가 187 바이트이고, (85,67)-RS 부호화를 수행하였다고 가정하면, 도 10의 (a)와 같이 85개의 로우로 구성된 RS 프레임들을 G개 모아 전체 85*G개의 187바이트 로우로 구성된 수퍼 프레임을 구성한다. Assuming that one row is 187 bytes in FIG. 9 and (85,67) -RS encoding is performed, as shown in FIG. Configure a superframe consisting of rows.
이렇게 구성된 수퍼 프레임에 대해 기 설정된 방법으로 로우 섞음 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우가 위치가 달라진다. 즉, 도 10의 (a)의 로우 섞음 전 수퍼 프레임의 i번째 로우는 로우 섞음 과정이 수행되고 나면 도 10의 (b)의 수퍼 프레임의 j번째 로우에 위치하게 된다. 이러한 i와 j의 관계는 하기의 수학식 3을 통해서 알 수 있다. When the row mixing process is performed in a preset manner with respect to the configured super frame, the positions of the rows before and after the row mixing are changed in the super frame. That is, the i-th row of the super frame before row mixing of FIG. 10 (a) is located in the j-th row of the super frame of FIG. 10 (b) after the row mixing process is performed. This relationship between i and j can be seen through
상기 수퍼 프레임 단위의 로우 섞음 과정이 수행된 후에도 수퍼 프레임의 각 로우는 187바이트로 구성된다.Even after the row mixing process of the super frame unit is performed, each row of the super frame is composed of 187 bytes.
그리고 상기 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 로우 섞음된 수퍼 프레임을 다시 G개의 RS 프레임으로 나누어 블록 처리기(303)로 제공한다.After all the row mixing in the super frame unit is performed, the row mixed super frame is divided into G RS frames and provided to the
이때, 전술한 CRC 부호화 과정은 수퍼 프레임 단위의 로우 섞음이 수행되기 전에 수행할 수도 있고, 로우 섞음이 수행되고 나서 다시 G개의 RS 프레임으로 구분한 후 수행할 수도 있다. 또는 상기 CRC 부호화 과정과 수퍼 프레임 단위로 로우 섞음 과정 중 적어도 하나를 생략하거나, 모두 생략할 수도 있다. In this case, the above-described CRC encoding process may be performed before row mixing in a super frame unit, or may be performed after dividing into G RS frames after row mixing is performed. Alternatively, at least one of the CRC encoding process and the row mixing process may be omitted in units of super frames, or both may be omitted.
한편 본 발명은 다른 실시예로서, 모바일 서비스 데이터를 다수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 로우 방향과 컬럼 방향 중 어느 한 방향으로 1차 에러 정정 부호화를 수행하고, 이어 1차 에러 정정 부호화된 RS 프레임에 대해 다른 한 방향으로 2차 에러 정정 부호화를 수행할 수 있다. 이를 본 발명에서는 설명의 편의상 이중 에러 정정 부호화라 하기로 한다. Meanwhile, according to another embodiment of the present invention, an RS frame is formed by collecting a plurality of mobile service data, and primary error correction encoding is performed in one of a row direction and a column direction in units of RS frames, and then primary error correction is performed. Secondary error correction encoding may be performed on the encoded RS frame in the other direction. In the present invention, this is referred to as double error correction coding for convenience of description.
도 11의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 이중 에러 정정 부호화 과정의 일 실시예를 보인 도면이다.11 (a) to (e) are diagrams illustrating an embodiment of a double error correction encoding process of the
도 11에서는 입력되는 모바일 서비스 데이터에 대해서 로우 방향으로 1차 에러 정정 부호화를 수행하고, 이어 1차 에러 정정 부호화된 데이터에 대해 컬럼 방향으로 2차 에러 정정 부호화를 수행하는 것을 일 실시예로 설명한다.In FIG. 11, primary error correction encoding is performed in a row direction on input mobile service data, and second error correction encoding is performed in a column direction on first error correction encoded data. .
이를 위해, 상기 RS 프레임 부호기(302)는 먼저, 도 11의 (a) 내지 (c)에서와 같이 187 바이트의 모바일 서비스 데이터로 하나의 패킷을 구성하고, 상기 패킷을 다수개 모아 하나의 RS 프레임을 구성한다. To this end, the
본 발명은 도 11의 (c)와 같이 187 바이트로 된 패킷(또는 로우)을 68개 모아 하나의 RS 프레임을 구성하는 것을 일 실시예로 한다.According to an embodiment of the present invention, as shown in (c) of FIG. 11, 68 packets (or rows) of 187 bytes are collected to form one RS frame.
그리고 상기 RS 프레임의 68개의 각 로우(row)에 대해서 (Nr,Kr)-RS 부호화를 수행하여 Nr-Kr개의 패리티 바이트를 생성한 후, Nr-Kr개의 패리티 바이트를 해당 로우의 마지막 부분(즉, 해당 로우의 187번째 컬럼 다음)에 추가한다. 여기서 Nr은 195, Kr는 187인 것을 일 실시예로 한다. 그러면 도 11의 (d)와 같이 각 로우마다 부가되는 패리티 데이터는 8바이트가 된다. 즉, 하나의 로우가 187 바이트에서 195바이트로 확장되는 결과를 갖는다.Then, Nr-Kr parity bytes are generated by performing (Nr, Kr) -RS encoding on each of 68 rows of the RS frame, and then Nr-Kr parity bytes are stored at the end of the corresponding row (ie, , After 187th column of the row). In this embodiment, Nr is 195 and Kr is 187. Then, as shown in Fig. 11D, the parity data added to each row is 8 bytes. That is, one row is expanded from 187 bytes to 195 bytes.
전술한 바와 같이 상기 (195,187)-RS 부호화 과정을 한 RS 프레임 내 68개의 모든 로우에 대해 수행하면, 하나의 로우는 195바이트로 구성되고, 하나의 컬럼은 68바이트로 구성된 RS 프레임을 얻게 된다. 즉, 상기 1차 에러 정정 부호화된 RS 프레임은 195바이트로 된 로우(또는 패킷)가 68개 구성된 것과 같다.As described above, when the (195,187) -RS encoding process is performed for all 68 rows in one RS frame, one row is composed of 195 bytes, and one column is obtained of an RS frame composed of 68 bytes. That is, the primary error correcting coded RS frame is equivalent to 68 rows (or packets) of 195 bytes.
이어 도 11의 (d)와 같이 로우 방향으로 RS 부호화된 RS 프레임의 각 컬 럼(column)에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc개의 패리티 바이트를 생성한 후, Nc-Kc개의 패리티 바이트를 해당 컬럼의 마지막 부분(즉, 해당 컬럼의 68번째 로우 다음)에 추가한다. 여기서 Nc은 82, Kc는 68인 것을 일 실시예로 한다. 그러면 도 11의 (e)와 같이 각 컬럼마다 부가되는 패리티 데이터는 14바이트가 된다. 즉 하나의 컬럼이 68바이트에서 82바이트로 확장이 되는 결과를 갖는다.Subsequently, as shown in (d) of FIG. 11, Nc-Kc parity bytes are generated by performing (Nc, Kc) -RS encoding on each column (RS) of the RS-coded RS frame in the row direction, and then Nc--Cc. Add Kc parity bytes to the last part of the column (ie after the 68th row of the column). In this embodiment, Nc is 82 and Kc is 68. Then, as shown in Fig. 11E, the parity data added to each column becomes 14 bytes. That is, one column is expanded from 68 bytes to 82 bytes.
전술한 바와 같이 상기 (82,68)-RS 부호화 과정을 한 RS 프레임 내 195개의 모든 컬럼에 대해 수행하면, 하나의 로우는 195바이트로 구성되고, 하나의 컬럼은 82바이트로 구성된 RS 프레임을 얻게 된다. 즉, 상기 1차, 2차 에러 정정 부호화된 RS 프레임은 195바이트로 된 로우가 82개 구성된 것과 같다.As described above, when the (82,68) -RS encoding process is performed on all 195 columns in an RS frame, one row is composed of 195 bytes, and one column is composed of an 82-byte RS frame. do. That is, the first and second error correction coded RS frames are equivalent to 82 rows of 195 bytes.
도 12의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 이중 에러 정정 부호화 과정의 다른 실시예를 보인 도면이다.12A to 12E illustrate another embodiment of a double error correction encoding process of the
도 12에서는 입력되는 모바일 서비스 데이터에 대해서 컬럼 방향으로 1차 에러 정정 부호화를 수행하고, 이어 1차 에러 정정 부호화된 데이터에 대해 로우 방향으로 2차 에러 정정 부호화를 수행하는 것을 일 실시예로 설명한다.In FIG. 12, primary error correction encoding is performed in a column direction on input mobile service data, and second error correction encoding is performed in a row direction on first error correction encoded data. .
이를 위해, 상기 RS 프레임 부호기(302)는 먼저, 도 12의 (a) 내지 (c)에서와 같이 187 바이트의 모바일 서비스 데이터로 하나의 패킷을 구성하고, 상기 패킷을 다수개 모아 하나의 RS 프레임을 구성한다. To this end, the
본 발명은 도 12의 (c)와 같이 187 바이트로 된 패킷(또는 로우)을 68개 모아 하나의 RS 프레임을 구성하는 것을 일 실시예로 한다.According to an embodiment of the present invention, as shown in (c) of FIG. 12, 68 packets (or rows) of 187 bytes are collected to form one RS frame.
그리고 상기 RS 프레임의 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc개의 패리티 바이트를 생성한 후, Nc-Kc개의 패리티 바이트를 해당 컬럼의 마지막 부분(즉, 해당 컬럼의 68번째 로우 다음)에 추가한다. 여기서 Nc은 82, Kc는 68인 것을 일 실시예로 한다. 그러면 도 12의 (d)와 같이 각 컬럼마다 부가되는 패리티 데이터는 14바이트가 된다. After Nc-Kc parity bytes are generated by performing (Nc, Kc) -RS encoding on each column of the RS frame, Nc-Kc parity bytes are stored at the end of the column (ie, 68 of the column). To the next row). In this embodiment, Nc is 82 and Kc is 68. Then, as shown in Fig. 12D, the parity data added to each column becomes 14 bytes.
상기 (82,68)-RS 부호화 과정을 하나의 RS 프레임 내 187개의 모든 컬럼에 대해 수행하면, 하나의 로우는 187바이트로 구성되고, 하나의 컬럼은 82바이트로 구성된 RS 프레임을 얻게 된다. 즉, 상기 1차 에러 정정 부호화된 RS 프레임은 187바이트로 된 로우가 82개 구성된 것과 같다.When the (82,68) -RS encoding process is performed for all 187 columns in one RS frame, one row is composed of 187 bytes, and one column is obtained in an RS frame composed of 82 bytes. That is, the primary error correcting coded RS frame is equivalent to 82 rows of 187 bytes.
이어 도 12의 (d)와 같이 컬럼 방향으로 RS 부호화된 RS 프레임의 각 로우에 대해서 (Nr,Kr)-RS 부호화를 수행하여 Nr-Kr개의 패리티 바이트를 생성한 후, Nr-Kr개의 패리티 바이트를 해당 로우의 마지막 부분(즉, 해당 로우의 187번째 컬럼 다음)에 추가한다. 여기서 Nr은 195, Kr는 187인 것을 일 실시예로 한다. 그러면 도 12의 (e)와 같이 각 로우마다 부가되는 패리티 데이터는 8바이트가 된다. Subsequently, as shown in (d) of FIG. 12, Nr-Kr parity bytes are generated by performing (Nr, Kr) -RS encoding on each row of the RS-coded RS frame in the column direction, and then Nr-Kr parity bytes. Is added to the end of the row (that is, after the 187th column of the row). In this embodiment, Nr is 195 and Kr is 187. Then, as shown in FIG. 12E, the parity data added to each row is 8 bytes.
상기 (195,187)-RS 부호화 과정을 한 RS 프레임 내 82개의 모든 로우에 대해수행하면, 하나의 로우는 195바이트로 구성되고, 하나의 컬럼은 82바이트로 구성된 RS 프레임을 얻게 된다. 즉, 상기 1차, 2차 에러 정정 부호화된 RS 프레임은 195바이트로 된 로우가 82개 구성된 것과 같다.When the (195,187) -RS encoding process is performed for all 82 rows in an RS frame, one row is composed of 195 bytes, and one column is composed of 82 bytes of RS frames. That is, the first and second error correction coded RS frames are equivalent to 82 rows of 195 bytes.
지금까지 설명한 본 발명의 이중 에러 정정 부호화 과정에서 하나의 로우를 구성하는 바이트의 수, RS 프레임을 구성하는 로우의 수, RS 부호화에 이용되는 Nr,Nc,Kr,Kc 값은 시스템 설계 및 상황에 따라 달라질 수 있는 값이므로 본 발명은 상기된 실시예로 제한되지 않을 것이다. The number of bytes constituting one row, the number of rows constituting an RS frame, and the values of Nr, Nc, Kr, and Kc used for RS encoding in the double error correction encoding process of the present invention described above are determined by system design and situation. The present invention is not limited to the above-described embodiment as it may vary accordingly.
또한 본 발명은 상기 도 11 또는 도 12와 같이 이중 에러 정정 부호화된 RS 프레임들을 다수개 모아 수퍼 프레임을 구성한 후 수퍼 프레임 단위로 로우 섞음을 수행할 수도 있다. 이렇게 하면 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써, 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다.In addition, according to the present invention, as shown in FIG. 11 or 12, a plurality of double error correction coded RS frames may be collected to form a super frame, and then row mixing may be performed in units of a super frame. In this way, it is possible to cope with an extremely poor and rapidly changing propagation environment by distracting clustering errors that may occur due to changes in the propagation environment.
상기 도 11 또는 도 12에서 이중 에러 정정 부호화 과정이 수행되면, 하나의 RS 프레임은 195(row)*82(column) 바이트로 구성된다. 이러한 RS 프레임들을 G개 모으면 82*G개의 195바이트 로우로 구성된 수퍼 프레임을 얻게 된다.When the double error correction encoding process is performed in FIG. 11 or 12, one RS frame is composed of 195 (row) * 82 (column) bytes. Collecting these G frames, we get a superframe consisting of 82 * G 195-byte rows.
이렇게 구성된 수퍼 프레임에 대해 로우 섞음 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우가 위치가 달라진다. 상기 로우 섞음 과정은 전술한 도 8이나 도 10을 참조하면 되므로 상세 설명을 생략한다.When the row mixing process is performed on the super frame configured as described above, the positions of the rows before and after the row mixing in the super frame are changed. The row mixing process may be omitted with reference to FIGS. 8 and 10 as described above.
도 13의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 이중 에러 정정 부호화 과정의 또 다른 실시예를 보인 도면이다.13 (a) to (e) illustrate another embodiment of a double error correction encoding process of the
도 13에서는 입력되는 모바일 서비스 데이터에 대해서 컬럼 방향으로 1차 에러 정정 부호화를 수행하고, 이어 1차 에러 정정 부호화된 데이터에 대해 로우 방향으로 2차 에러 정정 부호화를 수행하여, 모바일 서비스 데이터에 대해 강건성을 부여하는 것을 일 실시예로 설명한다. 도 13에서는 로우 방향으로 1차 에러 정정 부호화를 수행하고, 컬럼 방향으로 2차 에러 정정 부호화를 수행할 수도 있다. In FIG. 13, primary error correction encoding is performed in a column direction on the input mobile service data, and second error correction encoding is performed in a row direction on the primary error correction encoded data, thereby robustness to mobile service data. To give a description will be described in an embodiment. In FIG. 13, primary error correction encoding may be performed in a row direction and secondary error correction encoding may be performed in a column direction.
또한 본 발명은 2차 에러 정정 부호화된 모바일 서비스 데이터에 대해 수퍼 프레임 단위의 로우 섞음 과정과 에러 검출 부호화 과정 중 적어도 하나를 수행할 수 있다. In addition, the present invention may perform at least one of a row mixing process and an error detection encoding process in units of super frames on the second error correction encoded mobile service data.
이를 위해, 상기 RS 프레임 부호기(302)는 먼저, 도 13의 (a) 내지 (c)에서와 같이 187 바이트의 모바일 서비스 데이터로 하나의 패킷을 구성하고, 상기 패킷을 다수개 모아 하나의 RS 프레임을 구성한다. To this end, the
본 발명은 도 13의 (c)와 같이 187 바이트로 된 패킷(또는 로우)을 67개 모아 하나의 RS 프레임을 구성하는 것을 일 실시예로 한다.According to an embodiment of the present invention, as shown in (c) of FIG. 13, one RS frame is formed by collecting 67 packets (or rows) of 187 bytes.
그리고 상기 RS 프레임의 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc개의 패리티 바이트를 생성한 후, Nc-Kc개의 패리티 바이트를 해당 컬럼의 마지막 부분(즉, 해당 컬럼의 67번째 로우 다음)에 추가한다. 여기서 Nc은 85, Kc는 67인 것을 일 실시예로 한다. 그러면 도 13의 (d)와 같이 각 컬럼마다 부가되는 패리티 데이터는 18바이트가 된다. After Nc-Kc parity bytes are generated by performing (Nc, Kc) -RS encoding on each column of the RS frame, Nc-Kc parity bytes are stored at the end of the corresponding column (ie, 67 of the corresponding column). To the next row). In this embodiment, Nc is 85 and Kc is 67. Then, as shown in Fig. 13D, the parity data added to each column becomes 18 bytes.
상기 (85,67)-RS 부호화 과정을 하나의 RS 프레임 내 187개의 모든 컬럼에 대해 수행하면, 하나의 로우는 187바이트로 구성되고, 하나의 컬럼은 85바이트로 구성된 RS 프레임을 얻게 된다. 즉, 1차 에러 정정 부호화 후 얻어진 RS 프레임은 187바이트로 된 로우가 85개 구성된 것과 같다. 다시 말해, 상기 RS 프레임의 187개의 모든 컬럼은 85바이트를 포함하고 있다.When the (85,67) -RS encoding process is performed on all 187 columns in one RS frame, one row is composed of 187 bytes, and one column is obtained by an RS frame composed of 85 bytes. That is, an RS frame obtained after the first error correction encoding is equivalent to 85 rows of 187 bytes. In other words, all 187 columns of the RS frame contain 85 bytes.
이어 도 13의 (d)와 같이 컬럼 방향으로 RS 부호화된 RS 프레임의 각 로우에 대해서 (Nr,Kr)-RS 부호화를 수행하여 Nr-Kr개의 패리티 바이트를 생성한 후, Nr-Kr개의 패리티 바이트를 해당 로우의 마지막 부분(즉, 해당 로우의 187번째 컬럼 다음)에 추가한다. 여기서 Nr은 201, Kr는 187인 것을 일 실시예로 한다. 그러면 도 13의 (e)와 같이 각 로우마다 부가되는 패리티 데이터는 14바이트가 된다. Subsequently, as shown in (d) of FIG. 13, Nr-Kr parity bytes are generated by performing (Nr, Kr) -RS encoding on each row of the RS frame RS-coded in the column direction, and then Nr-Kr parity bytes. Is added to the end of the row (that is, after the 187th column of the row). In one embodiment, Nr is 201 and Kr is 187. As shown in FIG. 13E, the parity data added to each row is 14 bytes.
상기 (201,187)-RS 부호화 과정을 한 RS 프레임 내 85개의 모든 로우에 대해수행하면, 하나의 로우는 201바이트로 구성되고, 하나의 컬럼은 85바이트로 구성된 RS 프레임을 얻게 된다. 즉, 2차 에러 정정 부호화 후 얻어진 RS 프레임은 201바이트로 된 로우가 85개 구성된 것과 같다.When the (201,187) -RS encoding process is performed for all 85 rows in an RS frame, one row is composed of 201 bytes, and one column is composed of 85 bytes of RS frames. That is, an RS frame obtained after the second error correction encoding is equivalent to 85 rows of 201 bytes.
본 발명에서 하나의 로우를 구성하는 바이트의 수, RS 프레임을 구성하는 로우의 수, RS 부호화에 이용되는 Nr,Nc,Kr,Kc 값은 시스템 설계 및 상황에 따라 달라질 수 있는 값이므로 본 발명은 상기된 실시예로 제한되지 않을 것이다. In the present invention, the number of bytes constituting one row, the number of rows constituting the RS frame, and the values of Nr, Nc, Kr, and Kc used for RS encoding are values that may vary depending on the system design and the situation. It will not be limited to the embodiment described above.
또한 본 발명은 전술한 바와 같이 1차,2차 에러 정정 부호화된 모바일 서비스 데이터에 대해서 수퍼 프레임 단위로 로우 섞음(row permutation)을 수행할 수 있다. 상기 로우 섞음을 수행하게 되면 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트리고, 이로 인해 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다.According to the present invention, row permutation may be performed in units of superframes on the mobile service data encoded in the primary and secondary error correction codes as described above. When the row mixing is performed, the cluster error that may occur due to the change of the propagation environment is obscured, and thus, it is possible to cope with the extremely poor and rapidly changing propagation environment.
이를 위해 본 발명에서는 먼저, 2차 에러 정정 부호화된 RS 프레임 즉, 85개의 201 바이트로 구성된 RS 프레임을 두 개의 RS 서브 프레임으로 구분한다. To this end, in the present invention, first, the second error correction coded RS frame, that is, an RS frame composed of 85 201 bytes is divided into two RS subframes.
일 실시예로, 본 발명에서는 RS 부호화를 위해 RS 프레임 부호기(302)로 입력되는 모바일 서비스 데이터(즉, 페이로드 데이터)와 컬럼 방향 RS 부호화에 의해 생성된 패리티 데이터를 합쳐 제1 RS 서브 프레임이라 하고, 로우 방향 RS 부호화에 의해 생성된 패리티 데이터를 제2 RS 서브 프레임이라 한다.In one embodiment, in the present invention, the mobile service data (ie, payload data) input to the
그러면 상기 제1 RS 서브 프레임은 85개의 187바이트로 이루어지고, 제2 RS 서브 프레임은 85개의 14바이트로 이루어진다.Then, the first RS subframe consists of 85 187 bytes and the second RS subframe consists of 85 14 bytes.
그리고 이렇게 구분된 제1 RS 서브 프레임을 다수개 모아 제1 수퍼 프레임을 구성하고, 제2 RS 서브 프레임을 다수개 모아 제2 수퍼 프레임을 구성한 후, 각 수퍼 프레임 단위로 로우 섞음을 수행할 수 있다. The first superframe may be collected by collecting a plurality of first RS subframes thus divided, and a second superframe may be configured by collecting a plurality of second RS subframes, and then row mixing may be performed for each superframe unit. .
도 14a는 제1 수퍼 프레임의 로우 섞음 과정을 보이고, 도 14b는 제2 수퍼 프레임의 로우 섞음 과정을 보이고 있다. 14A illustrates a row mixing process of the first super frame, and FIG. 14B illustrates a row mixing process of the second super frame.
먼저, 도 14a에 도시된 제1 수퍼 프레임의 로우 섞음 과정을 설명하면 다음과 같다. 즉, 하나의 로우가 187 바이트이고, 하나의 컬럼이 85바이트로 된 제1 RS 서브 프레임을 G개 모아 전체 85*G개의 187바이트 로우로 구성된 제1 수퍼 프레임을 구성한다. First, a row mixing process of the first super frame illustrated in FIG. 14A will be described. That is, G first RS subframes having one row of 187 bytes and one column of 85 bytes are collected to form a first super frame including a total of 85 *
이렇게 구성된 제1 수퍼 프레임에 대해 기 설정된 방법으로 로우 섞음 과정을 수행하면, 도 14a와 같이 제1 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 로우 섞음 전 제1 수퍼 프레임의 i번째 로우는 로우 섞음 과정이 수행되고 나면 동일한 제1 수퍼 프레임의 j번째 로우에 위치하게 된다. 이러한 i와 j의 관계는 하기의 수학식 4를 통해서 알 수 있다. When the row mixing process is performed with respect to the first super frame configured as described above, the row positions before and after the row mixing in the first super frame are changed as shown in FIG. 14A. That is, the i-th row of the first super frame before row mixing is located in the j-th row of the same first super frame after the row mixing process is performed. This relationship between i and j can be known through
상기 로우 섞음 과정이 수행된 후에도 제1 수퍼 프레임의 각 로우는 187바이트로 구성된다. 상기 제1 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 다시 G개의 로우 섞음된 제1 RS 서브 프레임으로 나누어 블록 처리기(303)로 제공한다.Even after the row mixing process is performed, each row of the first super frame consists of 187 bytes. After all row mixing in the unit of the first super frame is performed, the row mixture is divided into G row mixed first RS subframes and provided to the
한편 도 14b에 도시된 제2 수퍼 프레임의 로우 섞음 과정을 설명하면 다음과 같다. 즉, 하나의 로우가 14 바이트이고, 하나의 컬럼이 85바이트로 된 제2 RS 서브 프레임을 G개 모아 전체 85*G개의 14바이트 로우로 구성된 제2 수퍼 프레임을 구성한다. Meanwhile, a row mixing process of the second super frame illustrated in FIG. 14B will be described. That is, G second RS subframes having one row of 14 bytes and one column of 85 bytes are collected to form a second super frame including a total of 85 *
이렇게 구성된 제2 수퍼 프레임에 대해 기 설정된 방법으로 로우 섞음 과정을 수행하면, 도 14b와 같이 제2 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 로우 섞음 전 제2 수퍼 프레임의 i번째 로우는 로우 섞음 과정이 수행되고 나면 동일한 제2 수퍼 프레임의 j번째 로우에 위치하게 된다. 마찬가지로, 상기 로우 섞음 과정이 수행된 후에도 제2 수퍼 프레임의 각 로우는 14바이트로 구성된다. When the row mixing process is performed in a preset manner with respect to the configured second super frame, the positions of the rows before and after the row mixing in the second super frame are changed as shown in FIG. 14B. That is, the i-th row of the second super frame before row mixing is positioned in the j-th row of the same second super frame after the row mixing process is performed. Similarly, even after the row mixing process is performed, each row of the second super frame consists of 14 bytes.
그리고 전술한 제2 수퍼 프레임의 i와 j의 관계는 상기 수학식 4를 그대로 적용하거나 다른 로우 섞음 방법을 적용할 수 있다. The relationship between i and j of the second super frame may be applied to
즉, 상기 수학식 4는 로우 섞음 방법의 일 실시예이며, 로우 섞음 방법은 i,j가 수퍼 프레임의 모든 로우를 포함하도록 할 수 있는 어떠한 방법이라도 가능하다. 따라서 본 발명은 상기된 실시예로 한정되지 않을 것이다. 그리고 상기 제1, 제2 수퍼 프레임의 로우 섞음에 사용하는 수식은 두 수퍼 프레임이 동일한 것을 사용할 수도 있으며, 두 개가 서로 다른 방법을 사용하는 것 또한 가능하다.That is,
또한 본 발명은 제1,제2 RS 서브 프레임 중 적어도 하나에 대해 에러 검출 부호화 과정을 수행할 수 있다. In addition, the present invention may perform an error detection encoding process on at least one of the first and second RS subframes.
상기 에러 검출 부호화는 일 실시예로, CRC 부호화를 적용할 수 있으며, 또한 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.In the embodiment, the error detection encoding may apply CRC encoding, and may use other error detection encoding methods other than CRC encoding, or may improve the overall error correction capability at the receiving end by using an error correction encoding method. .
예를 들어, 상기 제1 RS 서브 프레임에 대해 CRC 부호화를 적용하고, CRC 데이터로 1바이트(즉, 8비트) 체크섬을 사용한다고 하면, 상기 RS 프레임 부호화기(302)는 제1 RS 서브 프레임 내 각 로우의 187바이트에 대한 1 바이트(즉, 8비트) CRC 체크섬을 생성하여 해당 로우에 부가할 수 있다. 이때 상기 1 바이트 CRC 체크섬을 부가하는 위치는 상기 로우 내 어느 위치나 상관없으며, 일 실시예로 해당 로우의 마지막에 부가하여 그 로우를 188바이트로 구성할 수 있다.For example, if CRC encoding is applied to the first RS subframe, and a 1 byte (i.e., 8-bit) checksum is used as CRC data, the
또 다른 예로, 상기 제1 RS 서브 프레임에 대해 CRC 부호화를 적용하고, CRC 데이터로 2바이트(즉, 8비트) 체크섬을 사용한다고 하면, 두 로우 단위로 2바이트 (즉, 16비트) CRC 체크섬을 생성하고, 두 로우 중 하나의 로우에 부가할 수 있다. 이때 상기 2 바이트 CRC 체크섬을 부가하는 위치는 상기 두 로우 내 어느 위치나 상관없으며, 두 로우 내 기 설정된 위치에 2 바이트 CRC 체크섬을 부가한 후 188바이트로 구성된 두 개의 로우로 나누면 된다. As another example, if CRC encoding is applied to the first RS subframe and a 2-byte (ie 8-bit) checksum is used as the CRC data, a 2-byte (ie 16-bit) CRC checksum is provided in units of two rows. Create and add to one of two rows. In this case, the position of adding the 2-byte CRC checksum may be any position in the two rows. The 2-byte CRC checksum may be added to a predetermined position in the two rows, and then divided into two rows of 188 bytes.
또는 두 로우 단위로 2바이트(즉, 16비트) CRC 체크섬을 생성하고, 두 로우의 각각의 마지막에 1 바이트 CRC 체크섬을 부가하여 188바이트로 구성된 두개의 로우를 구성할 수도 있다. Alternatively, a two-byte (ie 16-bit) CRC checksum may be generated in units of two rows, and a one-byte CRC checksum may be added to the end of each of the two rows to configure two rows of 188 bytes.
상기 CRC 부호화 과정은 로우 섞음을 수행하기 전에 할 수도 있고, 로우 섞음이 수행된 후에 할 수도 있다. The CRC encoding process may be performed before performing row mixing or after performing row mixing.
예를 들어, CRC 부호화 과정이 로우 섞음 후에 이루어지면, 85*G개의 187바이트 로우를 가진 제1 수퍼 프레임은 85*G개의 188 바이트 로우를 가진 제1 수퍼 프레임으로 확장된다.For example, if the CRC encoding process is performed after row mixing, the first super frame having 85 *
상기 CRC 부호화가 수행된 제1 수퍼 프레임은 다시 G개의 제1 RS 서브 프레임으로 나누어지고, 로우 섞음이 수행된 제2 수퍼 프레임도 다시 G개의 제2 RS 서브 프레임으로 나누어져 블록 처리기(303)로 입력된다. The first super frame on which the CRC encoding is performed is further divided into G first RS subframes, and the second super frame on which row mixing is performed is further divided into G second RS subframes to the
도 15의 (a)는 RS 부호화, 로우 섞음, CRC 부호화 과정이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제1 RS 서브 프레임의 구조를 보인 것으로서, 188 바이트로 된 로우가 85개 구성된 것과 같다.FIG. 15A illustrates a structure of a first RS subframe input to the
도 15의 (b)는 RS 부호화, 로우 섞음이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제2 RS 서브 프레임의 구조를 보인 것으로서, 14 바이트로 된 로우가 85개 구성된 것과 같다.FIG. 15B illustrates a structure of a second RS subframe inputted to the
도 16의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 에러 정정 부호화 과정의 또 다른 실시예를 보인 도면이다.16A to 16E illustrate another embodiment of an error correction encoding process of the
도 16에서는 입력되는 모바일 서비스 데이터를 모아 RS 프레임을 구성하고, RS 프레임에 대해 컬럼 방향으로 에러 정정 부호화를 수행하는 것을 일 실시예로 설명한다.In FIG. 16, an RS frame is formed by collecting input mobile service data, and error correction encoding is performed in a column direction with respect to the RS frame.
또한 본 발명은 컬럼 방향으로 에러 정정 부호화된 RS 프레임을 제1,제2 RS 서브 프레임으로 구분하고, 구분된 RS 서브 프레임별로 로우 섞음 과정과 에러 검출 부호화 과정 중 적어도 하나를 수행할 수 있다. In addition, the present invention may divide an RS frame encoded in the column direction into first and second RS subframes, and perform at least one of a row mixing process and an error detection encoding process for each divided RS subframe.
이를 위해, 상기 RS 프레임 부호기(302)는 먼저, 도 16의 (a) 내지 (c)에서와 같이 187 바이트의 모바일 서비스 데이터로 하나의 패킷을 구성하고, 상기 패킷을 다수개 모아 하나의 RS 프레임을 구성한다. To this end, the
본 발명은 도 16의 (c)와 같이 187 바이트로 된 패킷(또는 로우)을 67개 모아 하나의 RS 프레임을 구성하는 것을 일 실시예로 한다.According to an embodiment of the present invention, as shown in (c) of FIG. 16, 67 packets (or rows) of 187 bytes are collected to form one RS frame.
그리고 상기 RS 프레임의 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc개의 패리티 바이트를 생성한 후, Nc-Kc개의 패리티 바이트를 해당 컬럼의 마지막 부분(즉, 해당 컬럼의 67번째 로우 다음)에 추가한다. 여기서 Nc은 91, Kc는 67인 것을 일 실시예로 한다. 그러면 도 16의 (d)와 같이 각 컬럼마다 부가되는 패리티 데이터는 24바이트가 된다. After Nc-Kc parity bytes are generated by performing (Nc, Kc) -RS encoding on each column of the RS frame, Nc-Kc parity bytes are stored at the end of the corresponding column (ie, 67 of the corresponding column). To the next row). In this embodiment, Nc is 91 and Kc is 67. Then, as shown in Fig. 16D, the parity data added to each column is 24 bytes.
상기 (91,67)-RS 부호화 과정을 하나의 RS 프레임 내 187개의 모든 컬럼에 대해 수행하면, 하나의 로우는 187바이트로 구성되고, 하나의 컬럼은 91바이트로 구성된 RS 프레임을 얻게 된다. 즉, 상기 에러 정정 부호화 후 얻어진 RS 프레임은 187바이트로 된 로우가 91개 구성된 것과 같다. 다시 말해, 상기 RS 프레임의 187개의 모든 컬럼은 91바이트를 포함하고 있다.When the (91,67) -RS encoding process is performed for all 187 columns in one RS frame, one row is composed of 187 bytes, and one column is obtained of an RS frame composed of 91 bytes. That is, the RS frame obtained after the error correction encoding is equivalent to 91 rows of 187 bytes. In other words, all 187 columns of the RS frame contain 91 bytes.
본 발명에서 하나의 로우를 구성하는 바이트의 수, RS 프레임을 구성하는 로우의 수, RS 부호화에 이용되는 Nc,Kc 값은 시스템 설계 및 상황에 따라 달라질 수 있는 값이므로 본 발명은 상기된 실시예로 제한되지 않을 것이다. In the present invention, the number of bytes constituting one row, the number of rows constituting an RS frame, and the values Nc and Kc used for RS encoding are values that may vary depending on the system design and the situation. It will not be limited to.
그리고 본 발명은 상기 도 16의 (d)와 같이 컬럼 방향으로 RS 부호화된 모바일 서비스 데이터에 대해서 수퍼 프레임 단위로 로우 섞음(row permutation)을 수행할 수 있다. 상기 로우 섞음을 수행하게 되면 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트리고, 이로 인해 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 한다.In the present invention, row permutation may be performed in units of super frames on the mobile service data RS-coded in the column direction as shown in FIG. Performing the row mixing obscures clustering errors that may occur due to changes in the propagation environment, thereby enabling to cope with extremely poor and rapidly changing propagation environments.
이를 위해 본 발명에서는 먼저, 에러 정정 부호화된 RS 프레임 즉, 91개의 187 바이트 로우를 갖는 RS 프레임을 두 개의 RS 서브 프레임으로 구분한다. To this end, in the present invention, first, an error correction coded RS frame, that is, an RS frame having 91 187 byte rows is divided into two RS subframes.
본 발명에서는 일 실시예로, RS 부호화를 위해 입력된 모바일 서비스 데이터(즉, 페이로드 데이터)의 로우들과 일부 패리티 로우들 예를 들어, 컬럼 방향 RS 부호화에 의해 생성된 24개의 패리티 중 18개의 패리티를 포함하는 로우들을 합쳐 제1 RS 서브 프레임이라 하고, 나머지 6개의 패리티를 포함하는 로우들을 제2 RS 서브 프레임이라 하기로 한다.According to an embodiment of the present invention, rows of mobile service data (ie, payload data) and some parity rows input for RS encoding, for example, 18 out of 24 parity generated by column-oriented RS encoding. The rows including parity are summed up as a first RS subframe, and the rows including the remaining six parities are referred to as a second RS subframe.
따라서 상기 제1 RS 서브 프레임은 도 16의 (e)와 같이 85개의 187바이트로 이루어지고, 제2 RS 서브 프레임은 6개의 187바이트로 이루어진다.Accordingly, the first RS subframe consists of 85 187 bytes and the second RS subframe consists of six 187 bytes, as shown in FIG.
그리고 이렇게 구분된 제1 RS 서브 프레임을 다수개 모아 제1 수퍼 프레임을 구성하고, 제2 RS 서브 프레임을 다수개 모아 제2 수퍼 프레임을 구성한 후, 각 수퍼 프레임 단위로 로우 섞음을 수행할 수 있다. The first superframe may be collected by collecting a plurality of first RS subframes thus divided, and a second superframe may be configured by collecting a plurality of second RS subframes, and then row mixing may be performed for each superframe unit. .
도 17a는 제1 수퍼 프레임의 로우 섞음 과정을 보이고, 도 17b는 제2 수퍼 프레임의 로우 섞음 과정을 보이고 있다. FIG. 17A illustrates a row mixing process of the first super frame, and FIG. 17B illustrates a row mixing process of the second super frame.
먼저, 도 17a에 도시된 제1 수퍼 프레임의 로우 섞음 과정을 설명하면 다음과 같다. 즉, 하나의 로우가 187 바이트이고, 하나의 컬럼이 85바이트로 된 제1 RS 서브 프레임을 G개 모아 전체 85*G개의 187바이트 로우로 구성된 제1 수퍼 프레임을 구성한다. First, a row mixing process of the first super frame illustrated in FIG. 17A will be described. That is, G first RS subframes having one row of 187 bytes and one column of 85 bytes are collected to form a first super frame including a total of 85 *
이때 상기 도 17a의 제1 수퍼 프레임의 구성은 도 14a의 제1 수퍼 프레임의 구성과 동일하다. 따라서 상기 도 17a의 수퍼 프레임의 로우 섞음 과정은 도 14a의 로우 섞음 과정을 참조하면 되므로 상세 설명을 생략한다.In this case, the configuration of the first super frame of FIG. 17A is the same as that of the first super frame of FIG. 14A. Therefore, since the row mixing process of the super frame of FIG. 17A may be referred to the row mixing process of FIG. 14A, detailed description thereof will be omitted.
한편 도 17b에 도시된 제2 RS 서브 프레임의 로우 섞음 과정을 설명하면 다음과 같다. 즉, 하나의 로우가 187바이트이고, 하나의 컬럼이 6바이트로 된 제2 RS 서브 프레임을 G개 모아 전체 6*G개의 187바이트 로우로 구성된 제2 수퍼 프레임을 구성한다.Meanwhile, a row mixing process of the second RS subframe illustrated in FIG. 17B will be described. That is, G second RS subframes having one row of 187 bytes and one column of 6 bytes are collected to form a second super frame including a total of 6 *
이렇게 구성된 제2 수퍼 프레임에 대해 기 설정된 방법으로 로우 섞음 과정을 수행하면, 도 17b와 같이 제2 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 로우 섞음 전 제2 수퍼 프레임의 i번째 로우는 로우 섞음 과정 이 수행되고 나면 동일한 제2 수퍼 프레임의 j번째 로우에 위치하게 된다. 마찬가지로, 상기 로우 섞음 과정이 수행된 후에도 제2 RS 수퍼 프레임의 각 로우는 187바이트로 구성된다. 그리고 상기 제2 수퍼 프레임의 i와 j의 관계는 하기의 수학식 5를 통해서 알 수 있다. When the row mixing process is performed with respect to the second super frame configured as described above, the row positions before and after the row mixing in the second super frame are changed as shown in FIG. 17B. That is, the i th row of the second super frame before row mixing is located in the j th row of the same second super frame after the row mixing process is performed. Similarly, even after the row mixing process is performed, each row of the second RS super frame is composed of 187 bytes. In addition, the relationship between i and j of the second super frame may be known through
상기 수학식 5도 로우 섞음 방법의 일 실시예이며, 로우 섞음 방법은 i,j가 수퍼 프레임의 모든 로우를 포함하도록 할 수 있는 어떠한 방법이라도 가능하다. 따라서 본 발명은 상기된 실시예로 한정되지 않을 것이다. 그리고 본 발명에서 상기 제1, 제2 수퍼 프레임의 로우 섞음에 사용하는 수식은 두 수퍼 프레임이 동일한 것을 사용할 수도 있으며, 두 개가 서로 다른 방법을 사용하는 것 또한 가능하다.
또한 본 발명은 제1,제2 RS 서브 프레임 중 적어도 하나에 대해 에러 검출 부호화 과정을 수행할 수 있다. In addition, the present invention may perform an error detection encoding process on at least one of the first and second RS subframes.
상기 에러 검출 부호화는 일 실시예로, CRC 부호화를 적용할 수 있으며, 또한 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.In the embodiment, the error detection encoding may apply CRC encoding, and may use other error detection encoding methods other than CRC encoding, or may improve the overall error correction capability at the receiving end by using an error correction encoding method. .
예를 들어, 상기 제1,제2 RS 서브 프레임에 대해 CRC 부호화를 적용하고, CRC 데이터로 1바이트(즉, 8비트) 체크섬을 사용한다고 하면, 상기 RS 프레임 부호화기(302)는 제1,제2 RS 서브 프레임 내 각 로우의 187바이트에 대한 1 바이트(즉, 8비트) CRC 체크섬을 생성하여 해당 로우에 부가할 수 있다. 이때 상기 1 바이트 CRC 체크섬을 부가하는 위치는 상기 로우 내 어느 위치나 상관없으며, 일 실시예로 해당 로우의 마지막에 부가하여 그 로우를 188바이트로 구성할 수 있다.For example, if CRC encoding is applied to the first and second RS subframes, and a 1 byte (i.e., 8-bit) checksum is used as CRC data, the
또 다른 예로, 상기 제1,제2 RS 서브 프레임에 대해 CRC 부호화를 적용하고, CRC 데이터로 2바이트(즉, 8비트) 체크섬을 사용한다고 하면, 두 로우 단위로 2바이트(즉, 16비트) CRC 체크섬을 생성하고, 두 로우 중 하나의 로우에 부가할 수 있다. 이때 상기 2 바이트 CRC 체크섬을 부가하는 위치는 상기 두 로우 내 어느 위치나 상관없으며, 두 로우 내 기 설정된 위치에 2 바이트 CRC 체크섬을 부가한 후 188바이트로 구성된 두 개의 로우로 나누면 된다. As another example, if CRC encoding is applied to the first and second RS subframes and a 2-byte (ie 8-bit) checksum is used as CRC data, 2-byte (ie, 16-bit) is performed in units of two rows. A CRC checksum can be generated and added to one of two rows. In this case, the position of adding the 2-byte CRC checksum may be any position in the two rows. The 2-byte CRC checksum may be added to a predetermined position in the two rows, and then divided into two rows of 188 bytes.
또는 두 로우 단위로 2바이트(즉, 16비트) CRC 체크섬을 생성하고, 두 로우의 각각의 마지막에 1 바이트 CRC 체크섬을 부가하여 188바이트로 구성된 두개의 로우를 구성할 수도 있다. Alternatively, a two-byte (ie 16-bit) CRC checksum may be generated in units of two rows, and a one-byte CRC checksum may be added to the end of each of the two rows to configure two rows of 188 bytes.
상기 CRC 부호화 과정은 로우 섞음을 수행하기 전에 할 수도 있고, 로우 섞음이 수행된 후에 할 수도 있다. The CRC encoding process may be performed before performing row mixing or after performing row mixing.
예를 들어, CRC 부호화 과정이 로우 섞음 후에 이루어지면, 85*G개의 187바이트 로우를 가진 제1 수퍼 프레임은 85*G개의 188 바이트 로우를 가진 제1 수퍼 프레임으로 확장된다. 또한 6*G개의 187바이트 로우를 가진 제2 수퍼 프레임은 6*G 개의 188 바이트 로우를 가진 제2 수퍼 프레임으로 확장된다.For example, if the CRC encoding process is performed after row mixing, the first super frame having 85 *
상기 CRC 부호화가 수행된 제1,제2 수퍼 프레임은 다시 각각 G개의 제1,제2 RS 서브 프레임으로 나누어져 블록 처리기(303)로 입력된다. The first and second superframes on which the CRC encoding is performed are divided into G first and second RS subframes and input to the
도 18의 (a)는 RS 부호화, 로우 섞음, CRC 부호화 과정이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제1 RS 서브 프레임의 구조를 보인 것으로서, 188 바이트로 된 로우가 85개 구성된 것과 같다.FIG. 18A illustrates a structure of a first RS subframe input to the
도 18의 (b)는 RS 부호화, 로우 섞음, CRC 부호화 과정이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제2 RS 서브 프레임의 구조를 보인 것으로서, 188 바이트로 된 로우가 6개 구성된 것과 같다.FIG. 18B illustrates a structure of a second RS subframe input to the
지금까지 설명한 본 발명에서 컬럼 방향 RS 부호율과 로우 방향 RS 부호율의 각 부호율은 시스템의 구성과 맞는 어떠한 조합도 사용이 가능하며, RS 부호화 방법만이 아니라 다른 에러 정정 부호화를 사용하는 것도 가능하다. In the present invention described so far, each code rate of the column direction RS code rate and the row direction RS code rate may be used in any combination that matches the configuration of the system, and other error correction coding may be used in addition to the RS coding method. Do.
또한 수퍼 프레임 단위의 로우 섞음을 수행할 때 로우 섞음 전과 후의 RS 서브 프레임의 크기는 반드시 동일한 필요가 없으며, 단지 로우 섞음 전과 후의 수퍼 프레임 내 전체 로우의 개수만 일치하면 된다. 즉, 로우 섞음 전의 수퍼 프레임 내 RS 서브 프레임의 개수가 G이고 하나의 RS 서브 프레임의 로우의 개수가 N이라면, 로우 섞음 후의 수퍼 프레임 내 RS 서브 프레임의 개수가 G/2(G가 짝수일경우)이고 하나의 RS 서브 프레임의 로우의 개수가 2N라도 로우 섞음의 동작에는 문제가 되지 않는다. 그러므로 로우 섞음 전과 후의 각 RS 서브 프레임 크기는 시스템 설계자에 의해서 임의의 크기로 결정될 수 있다.In addition, the size of the RS subframe before and after row mixing does not have to be the same when performing row mixing in the super frame unit, and only the total number of rows in the super frame before and after row mixing need to match. That is, if the number of RS subframes in the super frame before row mixing is G and the number of rows in one RS subframe is N, the number of RS subframes in the super frame after row mixing is G / 2 (G is even). ) And even if the number of rows of one RS subframe is 2N, it is not a problem for the row mixing operation. Therefore, each RS subframe size before and after row mixing may be determined by the system designer as an arbitrary size.
지금까지 설명한 과정을 거쳐 RS 프레임 부호기(302)에서 부호화된 모바일 서비스 데이터는 블록 처리기(303)로 입력된다. The mobile service data encoded by the
상기 블록 처리기(303)는 입력되는 모바일 서비스 데이터를 다시 D/E(여기서 D<E 임) 부호율로 부호화하여 그룹 포맷터(304)로 출력한다. The
즉, 상기 블록 처리기(303)는 바이트 단위로 입력되는 모바일 서비스 데이터를 비트로 구분하고, 구분된 D 비트를 E 비트로 부호화한 후 바이트 단위로 변환하여 출력한다. 일 예로 입력 데이터 1비트를 2비트로 부호화하여 출력한다면 D=1, E=2가 되고, 입력 데이터 1비트를 4비트로 부호화하여 출력한다면 D=1, E=4가 된다. 본 발명에서는 설명의 편의를 위해 전자를 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함)라 하고, 후자를 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함)라 한다. That is, the
여기서 1/4 부호화를 사용하는 경우는 1/2 부호화에 비해서 높은 부호율 때문에 높은 에러 정정 능력을 가질 수가 있다. 이런 이유 때문에 후단의 그룹 포맷터(304)에서 1/4 부호율로 부호화된 데이터는 수신 성능이 떨어질 수 있는 영역에 할당하고, 1/2 부호율로 부호화된 데이터는 더 우수한 성능을 가질 수 있는 영역에 할당한다고 가정하면, 그 성능의 차이를 줄이는 효과를 얻을 수가 있게 된다. In the case of using the 1/4 encoding, it is possible to have a high error correction capability because of the higher code rate than the 1/2 encoding. For this reason, the data encoded at the 1/4 code rate in the
이때, 상기 블록 처리기(303)는 전송 파라미터를 담고 있는 시그널링(signaling) 정보도 입력받을 수 있는데, 이 시그널링 정보도 모바일 서비스 데이터 처리 과정과 동일하게 1/2 부호화 또는 1/4 부호화를 수행한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다. 단 상기 시그널링 정보 는 수신 시스템에서 상기 시그널링 정보를 구분하기 위한 식별 정보를 포함한다. In this case, the
한편 상기 그룹 포맷터(304)는 상기 블록 처리기(303)에서 출력되는 모바일 서비스 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 영역에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다.Meanwhile, the
이때 상기 데이터 그룹은 적어도 하나 이상의 계층화된 영역으로 구분할 수 있고, 계층화된 각 영역의 특성에 따라 각 영역에 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다. 그리고 각 영역은 일 예로 데이터 그룹 내에서 수신 성능을 기준으로 분류할 수 있다. 또한 하나의 데이터 그룹은 필드 동기를 포함하도록 구성할 수 있다.In this case, the data group may be divided into at least one layered area, and the type of mobile service data inserted into each area may vary according to characteristics of each layered area. For example, each region may be classified based on reception performance in a data group. In addition, one data group may be configured to include field synchronization.
본 발명에서는 데이터 디인터리빙 전의 데이터 구성에서 하나의 데이터 그룹을 A,B,C 영역(Region)으로 구분하는 것을 일 실시예로 한다. 이때 상기 그룹 포맷터(304)는 RS 부호화 및 블록 부호화되어 입력되는 모바일 서비스 데이터를 상기 전송 파라미터를 참조하여 해당 영역에 할당할 수 있다.According to an embodiment of the present invention, one data group is divided into A, B, and C regions in the data configuration before data deinterleaving. In this case, the
도 19a는 데이터 인터리빙 후의 데이터들이 구분되어 나열된 형태이고, 도 19b는 데이터 인터리빙 전의 데이터들이 구분되어 나열된 형태를 보여준다. 즉, 도 19a와 같은 데이터 구조가 수신 시스템으로 전송된다.FIG. 19A illustrates a form in which data after data interleaving is divided and listed, and FIG. 19B illustrates a form in which data before data interleaving is classified and listed. That is, the data structure as shown in Fig. 19A is transmitted to the receiving system.
그리고 도 19a와 같은 구조로 형성된 데이터 그룹이 데이터 디인터리버(305)로 입력된다. The data group formed in the structure shown in FIG. 19A is input to the
도 19a는 데이터 디인터리빙 전의 데이터 구성에서 데이터 그룹을 크게 세 개의 영역(region) 예를 들어, A 영역(Region A), B 영역(Region B), C 영역(Region C)으로 구분하는 예를 보이고 있다. FIG. 19A illustrates an example in which a data group is largely divided into three regions, for example, region A, region B, and region C in data configuration before data deinterleaving. have.
또한 본 발명은 상기 A 내지 C 영역을 각각 복수개의 하위 영역으로 다시 구분하는 것을 일 실시예로 한다.In addition, according to an embodiment of the present invention, the A to C regions are divided into a plurality of sub-regions, respectively.
도 19a는 상기 A 영역이 다시 5개의 하위 영역(A1~A5)으로 구분되고, B 영역이 2개의 하위 영역(B1,B2)으로 구분되며, C 영역이 3개의 하위 영역(C1~C3)으로 구분되는 예를 보이고 있다.In FIG. 19A, the area A is divided into five sub areas A1 to A5, the area B is divided into two sub areas B1 and B2, and the area C is divided into three sub areas C1 to C3. A distinct example is shown.
상기 A 내지 C 영역은 데이터 그룹 내에서 비슷한 수신 성능을 갖는 영역을 기준으로 분류하고 있다. 이때 각 영역의 특성에 따라 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다.The areas A to C are classified based on areas having similar reception performance in the data group. In this case, the type of mobile service data to be inserted may vary according to characteristics of each region.
본 발명에서는 메인 서비스 데이터의 간섭 정도를 기준으로 A 내지 C 영역을 나누는 것을 일 실시예로 설명한다. In the present invention, dividing the A to C region based on the degree of interference of the main service data will be described as an embodiment.
여기서, 상기 데이터 그룹을 다수개의 영역으로 구분하여 사용하는 이유는 각각의 용도를 달리하기 위해서이다. 즉, 메인 서비스 데이터의 간섭이 없거나 적은 영역은 그렇지 않은 영역보다 강인한 수신 성능을 보일 수 있기 때문이다. 또한, 기지 데이터를 데이터 그룹에 삽입하여 전송하는 시스템을 적용하는 경우, 모바일 서비스 데이터에 연속적으로 긴 기지 데이터를 주기적으로 삽입하고자 할 때, 메인 서비스 데이터의 간섭이 없는 영역(예를 들어, A 영역)에는 일정 길이의 기지 데이터를 주기적으로 삽입하는 것이 가능하다. 그러나 메인 서비스 데이터의 간섭이 있는 영역(예를 들어, B,C 영역)에는 메인 서비스 데이터의 간섭으로 기지 데이 터를 주기적으로 삽입하는 것이 곤란하고 연속적으로 긴 기지 데이터를 삽입하는 것도 곤란하다. Here, the reason why the data group is divided into a plurality of areas is used for different purposes. That is, an area where there is no or little interference of the main service data may exhibit stronger reception performance than an area that is not. In addition, in the case of applying a system for inserting and transmitting known data into a data group, an area where there is no interference of main service data (for example, A area) when periodically inserting long known data into a mobile service data periodically It is possible to periodically insert known data of a certain length into the. However, it is difficult to periodically insert known data into the region where the main service data interferes (for example, B and C regions) due to the interference of the main service data, and also to insert long known data continuously.
다음은 도 19a를 참조하여 데이터 그룹 내에서 A(A1~A5), B(B1,B2), C(C1~C3) 영역이 할당되는 구체적인 예를 설명한다. 도 19a의 데이터 그룹의 크기, 데이터 그룹 내 계층화된 영역의 수와 각 영역의 크기, 계층화된 각 영역에 삽입 가능한 모바일 서비스 데이터 바이트 수 등은 본 발명을 기술하기 위한 하나의 실시예이다. Next, a specific example in which the areas A (A1 to A5), B (B1 and B2), and C (C1 to C3) are allocated in the data group will be described with reference to FIG. 19A. The size of the data group of FIG. 19A, the number of layered areas in the data group, the size of each area, the number of mobile service data bytes that can be inserted into each layered area, and the like are one embodiment for describing the present invention.
이때 상기 그룹 포맷터(304)에서는 필드 동기가 삽입될 위치를 포함하여 데이터 그룹을 형성함으로써, 아래에 설명하는 것과 같이 데이터 그룹을 구성할 수가 있다. In this case, the
즉, 상기 A 영역은 상기 데이터 그룹 내 긴 기지 데이터 열(sequence)이 주기적으로 삽입될 수 있는 영역이면서, 메인 서비스 데이터가 섞이지 않는 영역을 포함한다(예, A2~A5). 또한 상기 A 영역은 상기 데이터 그룹에 삽입될 필드 동기 영역과 첫 기지 데이터 열이 삽입될 영역 사이에 있는 영역(예, A1)을 포함한다. 상기 필드 동기 영역은 ATSC에 존재하는 한 세그먼트 길이(즉, 832 심볼)를 갖는다. That is, the area A includes an area in which long known data sequences in the data group can be periodically inserted, and an area in which main service data is not mixed (for example, A2 to A5). The area A also includes an area (eg, A1) between the field sync area to be inserted into the data group and the area to which the first known data string is to be inserted. The field sync area has one segment length (ie, 832 symbols) present in ATSC.
일 실시예로 도 19a에서 A1 영역에는 2428 바이트, A2 영역에는 2580 바이트, A3 영역에는 2772 바이트, A4 영역에는 2472 바이트, A5 영역에는 2772 바이트의 모바일 서비스 데이터를 삽입할 수 있다. 상기 모바일 서비스 데이터에서 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등은 제외된다. As an example, in FIG. 19A, mobile service data of 2428 bytes in an A1 area, 2580 bytes in an A2 area, 2772 bytes in an A3 area, 2472 bytes in an A4 area, and 2772 bytes in an A5 area may be inserted. The trellis initialization, known data, MPEG header, RS parity, etc. are excluded from the mobile service data.
상기와 같이 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터나 필드 동기로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, 강인한 등화 성능을 얻을 수가 있다. As described above, in the area A having known data streams back and forth, since the equalization can be performed using the channel information obtained from the known data and the field synchronization, a robust equalization performance can be obtained.
상기 B 영역은 상기 데이터 그룹 내 필드 동기 영역의 앞쪽 8 세그먼트 이내에 위치하는 영역(시간적으로 A1 영역의 앞에 위치함)(예, B1 영역)과, 상기 데이터 그룹에 삽입되는 가장 마지막 기지 데이터 열 다음 8 세그먼트 내에 위치하는 영역(시간적으로 A 영역의 뒤에 위치함)(예, B2 영역)을 포함한다. 예를 들어, 상기 B1 영역에는 930 바이트, B2 영역에는 1350 바이트의 모바일 서비스 데이터를 삽입할 수 있다. 마찬가지로, 상기 모바일 서비스 데이터에서 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등은 제외된다. The area B is an area located within the first 8 segments of the field sync area in the data group (temporarily located in front of the area A1) (e.g., the area B1) and 8 after the last known data row inserted into the data group. Region (located behind region A in time) (eg region B2) located within the segment. For example, 930 bytes can be inserted into the B1 region and 1350 bytes of mobile service data can be inserted into the B2 region. Similarly, trellis initialization, known data, MPEG header, RS parity, etc. are excluded from the mobile service data.
상기 B 영역의 경우, 수신 시스템에서는 필드 동기 구간에서 얻어진 채널 정보를 사용하여 등화를 수행할 수 있고, 또한 상기 마지막 기지 데이터 열로부터 얻을 수 있는 채널 정보를 사용하여 등화를 수행할 수 있으므로, 채널의 변화에 대응할 수가 있다. In the case of the B region, the receiving system can perform equalization using the channel information obtained in the field synchronization section, and can also perform equalization using the channel information obtained from the last known data sequence. Can respond to changes.
상기 C 영역은 필드 동기 영역의 앞쪽 9번째 세그먼트를 포함하여 그 앞쪽으로 30 세그먼트 내에 위치하는 영역(시간적으로 A 영역의 앞에 위치함)(예, C1 영역), 상기 데이터 그룹 내 마지막 기지 데이터 열 다음 9번째 세그먼트를 포함한 12 세그먼트 내에 위치하는 영역(시간적으로 A 영역의 뒤에 위치함)(예, C2 영역), 및 상기 C2 영역 다음에 오는 32 세그먼트 내에 위치하는 영역(예, C3 영역)을 포함한다. The area C is an area (in front of the area A in time) (eg, area C1) located within 30 segments in front of it, including the first 9th segment of the field sync area (eg, the area C1), after the last known data column in the data group. A region located within 12 segments including the ninth segment (temporarily located after region A) (eg, region C2), and an region located within 32 segments following the region C2 (such as region C3). .
예를 들어, 상기 C1 영역에는 1272 바이트, C2 영역에는 1560 바이트, C3 영역에는 1312 바이트의 모바일 서비스 데이터를 삽입할 수 있다. 마찬가지로, 상기 모바일 서비스 데이터에서 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등은 제외된다. For example, 1272 bytes in the C1 region, 1560 bytes in the C2 region, and 1312 bytes in the C3 region may be inserted. Similarly, trellis initialization, known data, MPEG header, RS parity, etc. are excluded from the mobile service data.
이때 상기 A 영역보다 시간적으로 앞에 위치한 C 영역(예, C1 영역)은 제일 가까운 기지 데이터인 필드 동기에서도 꽤 멀리 떨어져 있기 때문에, 수신 시스템에서 채널 등화시에 필드 동기로부터 얻은 채널 정보를 사용할 수도 있고, 또는 이전 데이터 그룹의 가장 최근의 채널 정보를 사용할 수도 있다. 그리고 상기 A 영역보다 시간적으로 뒤에 위치한 C 영역(예, C2,C3 영역)은 수신 시스템에서 채널 등화시에 상기 마지막 기지 데이터 열에서 얻은 채널 정보를 사용하여 등화를 하더라도 채널이 빠르게 변하는 경우에는 등화가 완벽하게 되지 않을 수가 있다. 그러므로 상기 C 영역은 B 영역보다 등화 성능이 떨어질 수가 있다.In this case, since the C region (for example, the C1 region) located in front of the A region in time is far from the field synchronization, which is the nearest known data, the channel information obtained from the field synchronization may be used when channel equalization in the receiving system. Alternatively, the most recent channel information of the previous data group may be used. The C region (e.g., C2 and C3 regions) located behind the A region in time is equalized if the channel changes rapidly even though the receiving system uses the channel information obtained from the last known data stream when the channel is equalized. It may not be perfect. Therefore, the C region may have lower equalization performance than the B region.
상기와 같이 데이터 그룹을 다수개의 계층화된 영역으로 할당한다고 가정하면, 전술한 블록 처리기(303)에서는 계층화된 영역의 특성에 따라 각 영역에 삽입될 모바일 서비스 데이터를 다른 부호율로 부호화할 수도 있다.Assuming that a data group is allocated to a plurality of layered areas as described above, the above-described
예를 들어, 상기 A 영역 내 A1~A5 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/2 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(304)에서 상기 A1~A5 영역에 삽입하도록 할 수 있다.For example, the mobile service data to be inserted into areas A1 to A5 in the area A is encoded by the
상기 B 영역 내 B1,B2 영역에 삽입될 모바일 서비스 데이터는 블록 처리 기(303)에서 1/2 부호율보다 에러 정정 능력이 높은 1/4 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(304)에서 상기 B1,B2 영역에 삽입하도록 할 수 있다.The mobile service data to be inserted into the B1 and B2 areas in the B area is encoded by the
상기 C 영역 내 C1~C3 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/4 부호율이나 또는 1/4 부호율보다 더 강력한 에러 정정 능력을 갖는 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 데이터를 상기 그룹 포맷터(304)에서 상기 C1~C3 영역에 삽입하도록 할 수도 있고, 추후의 사용을 위해서 미사용(reserve) 영역으로 남겨둘 수도 있다. The mobile service data to be inserted in the C1 to C3 areas of the C region is encoded by the
예를 들어, 상기 RS 프레임 부호기(302)에서 도 13, 도 14의 (a),(b)에서와 같이 이중 에러 정정 부호화, 에러 검출 부호화, 수퍼 프레임 단위의 로우 섞음이 수행된 후 도 15의 (a),(b)와 같이 제1,제2 RS 서브 프레임이 구성된다면, 상기 블록 처리기(303)를 거친 제1 RS 서브 프레임은 그룹 포맷터(304)에서 데이터 그룹 내 A,B 영역에 할당하고, 제2 RS 서브 프레임은 C 영역에 할당할 수 있다.For example, in the
다른 예로, 상기 RS 프레임 부호기(302)에서 도 16, 도 17의 (a),(b)에서와 같이 이중 에러 정정 부호화, 에러 검출 부호화, 수퍼 프레임 단위의 로우 섞음이 수행된 후 도 18의 (a),(b)와 같이 제1,제2 RS 서브 프레임이 구성된다면, 상기 블록 처리기(303)를 거친 제1 RS 서브 프레임은 그룹 포맷터(304)에서 데이터 그룹 내 A,B 영역에 할당하고, 상기 제2 RS 서브 프레임은 C 영역에 할당할 수 있다.As another example, in the
또한 상기 그룹 포맷터(304)에서는 모바일 서비스 데이터와는 별도로 전체적인 송신 정보를 알려주는 시그널링(signaling)과 같은 부가 정보 데이터도 상기 데 이터 그룹 내에 삽입한다.In addition, the
그리고 상기 그룹 포맷터(304)에서는 블록 처리기(303)에서 출력된 부호화된 모바일 서비스 데이터들 외에도 도 19a에서 보이는 것과 같이 후단의 데이터 디인터리빙과 관련하여 MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더를 삽입한다. 여기서 메인 서비스 데이터 위치 홀더를 삽입하는 이유는 도 19a와 같이 데이터 디인터리버의 입력을 기준으로 B,C 영역에서는 모바일 서비스 데이터와 메인 서비스 데이터가 사이사이에 섞이게 되기 때문이다. 일 예로 상기 MPEG 헤더를 위한 위치 홀더는 상기 데이터 디인터리빙 후의 출력 데이터를 기준으로 볼 때, 각 패킷의 제일 앞에 할당될 수 있다.In addition to the encoded mobile service data output from the
또한 상기 그룹 포맷터(304)에서는 기 정해진 방법에 의해서 발생된 기지 데이터를 삽입하거나 기지 데이터를 추후에 삽입하기 위한 기지 데이터 위치 홀더를 삽입한다. 더불어서 트렐리스 부호화부(Trellis Encoding Module)(256)의 초기화를 위한 위치 홀더를 해당 영역에 삽입한다. 일 실시예로, 상기 초기화 데이터 위치 홀더는 상기 기지 데이터 열의 앞에 삽입할 수 있다.In addition, the
이때 하나의 데이터 그룹에 삽입 가능한 모바일 서비스 데이터 사이즈는 해당 데이터 그룹에 삽입되는 트렐리스 초기화 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더), MPEG 헤더 위치 홀더, RS 패리티 위치 홀더등의 사이즈에 의해 달라질 수 있다.In this case, the mobile service data size that can be inserted into one data group is determined by the size of the trellis initialization position holder, known data (or known data position holder), MPEG header position holder, RS parity position holder, etc. inserted into the data group. Can vary.
상기 그룹 포맷터(304)의 출력은 데이터 인터리버(305)로 입력되고, 상기 데이터 디인터리버(305)는 상기 그룹 포맷터(304)에서 출력되는 데이터 그룹 내 데이 터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙하여 패킷 포맷터(306)로 출력한다. 즉, 도 19a와 같은 형태로 구성된 데이터 그룹 내 데이터 및 위치 홀더가 상기 데이터 디인터리버(305)에서 디인터리빙되면 패킷 포맷터(306)로 출력되는 데이터 그룹은 도 19b와 같은 구조를 갖게 된다. The output of the
상기 패킷 포맷터(306)는 디인터리빙되어 입력된 데이터 중에서 디인터리빙을 위해 할당되었던 메인 서비스 데이터 위치 홀더와 RS 패리티 위치 홀더를 제거하고, 나머지 부분들을 모은 후, 4바이트의 MPEG 헤더 위치 홀더에 널 패킷 PID(또는 메인 서비스 데이터 패킷에서 사용하지 않는 PID)를 갖는 MPEG 헤더를 대체하여 삽입한다. The
또한 상기 패킷 포맷터(306)는 상기 그룹 포맷터(304)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 실제 기지 데이터를 삽입할 수도 있고, 또는 나중에 대체 삽입하기 위하여 상기 기지 데이터 위치 홀더를 조정없이 그대로 출력할 수도 있다. The
그리고 나서 상기 패킷 포맷터(306)는 상기와 같이 패킷 포맷팅된 데이터 그룹 내 데이터들을 188바이트 단위의 모바일 서비스 데이터 패킷(즉, MPEG TS 패킷)으로 구분하여 패킷 다중화기(240)에 제공한다.The
상기 패킷 다중화기(240)는 상기 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 기 정의된 다중화 방법에 따라 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의 해서 조정이 가능하다. The
상기 패킷 다중화기(240)의 다중화 방법 중 하나로서, 시간축 상으로 버스트(burst) 구간을 두고, 버스트 구간 내 버스트 온 구간에서는 다수개의 데이터 그룹을 전송하고 버스트 오프 구간에서는 메인 서비스 데이터만을 전송하도록 할 수 있다. 여기서 버스트 구간은 현재 버스트의 시작에서 다음 버스트의 시작까지를 의미한다. As one of multiplexing methods of the
이때 상기 버스트 온 구간에서는 메인 서비스 데이터를 전송할 수도 있다. 상기 패킷 다중화기(240)는 상기 전송 파라미터 예를 들어, 버스트 사이즈나 버스트 주기 등의 정보를 참조하여 하나의 버스트에 포함되는 데이터 그룹의 개수, 주기 등을 알 수 있다. In this case, the main service data may be transmitted in the burst on period. The
이때 버스트 온 구간에서는 모바일 서비스 데이터 및 메인 서비스 데이터가 혼재할 수 있으며, 버스트 오프 구간에서는 메인 서비스 데이터만 존재한다. 따라서 메인 서비스 데이터를 전송하는 메인 서비스 데이터 구간은 버스트 온 구간과 버스트 오프 구간에 모두 존재할 수 있다. 이때 버스트 온 구간 내 메인 서비스 데이터 구간과 버스트 오프 구간에 포함되는 메인 서비스 데이터 패킷 수는 서로 다를 수도 있고, 같을 수도 있다.In this case, the mobile service data and the main service data may be mixed in the burst on section, and only the main service data exists in the burst off section. Therefore, the main service data section for transmitting the main service data may exist in both the burst on section and the burst off section. In this case, the number of main service data packets included in the main service data section and the burst off section in the burst on section may be different or the same.
상기와 같이 모바일 서비스 데이터를 버스트 구조로 전송하게 되면 모바일 서비스 데이터만을 수신하는 수신 시스템에서는 버스트 구간에서만 전원을 온시켜 데이터를 수신하고 그 외 메인 서비스 데이터만 전송되는 구간에서는 전원을 오프시켜 메인 서비스 데이터를 수신하지 않도록 함으로써, 수신 시스템의 소모 전력을 줄일 수가 있다.As described above, when the mobile service data is transmitted in a burst structure, the receiving system receiving only the mobile service data turns on power only in the burst section to receive the data, and turns off the power in the section where only the main service data is transmitted. By not receiving, the power consumption of the receiving system can be reduced.
RSRS 프레임 구성 및 패킷 다중화에 관련된 구체적인 Specific to frame composition and packet multiplexing 실시예Example
다음은 전처리기(230)와 패킷 다중화기(240)의 구체적인 실시예에 대해서 설명한다. Next, specific embodiments of the
본 발명에서는 일 실시예로, RS 프레임 부호기(302)에서 도 5와 같이 구성되는 RS 프레임의 한 로우의 길이인 N 값을 538로 설정한다. In an embodiment of the present invention, the
그러면 상기 RS 프레임 부호기(302)는 538개의 트랜스포트 스트림(TS) 패킷을 입력받아 538 * 187 바이트 크기의 제1 RS 프레임을 구성할 수 있다. 이후 전술한 바와 같이 (235,187)-RS 부호화를 거쳐 538 * 235 바이트 크기의 제2 RS 프레임을 형성하고, 다시 16-비트 CRC 체크섬 생성 과정을 거쳐서 540 * 235 바이트 크기의 제3 RS 프레임을 형성하게 된다. Then, the
예를 들어, 상기 A 영역 내 A1~A5 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/2 부호율로 부호화를 수행하고, 상기 B 영역 내 B1,B2 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/4 부호율로 부호화를 수행한다고 가정하자. 또한, 상기 A,B 영역에 삽입되는 모바일 서비스 데이터는 동일한 종류라고 가정한다.For example, the mobile service data to be inserted in the areas A1 to A5 in the area A is encoded by the
그러면 도 19a에서와 같이 데이터 그룹 내 다수개의 영역들 중에서 1/2 부호화를 거친 모바일 서비스 데이터를 삽입하게 될 A 영역 내 A1-A5 영역의 바이트 수를 합치면 13024 바이트(=2428+2580+2772+2472+2772 바이트)이다. 이 경우 1/2 부호화 전의 바이트 수는 6512(=13024/2) 바이트이다. Then, as shown in FIG. 19A, when the number of bytes of the area A1-A5 in the area A, into which the 1 / 2-encoded mobile service data is to be inserted, is 13024 bytes (= 2428 + 2580 + 2772 + 2472). +2772 bytes). In this case, the number of bytes before 1/2 encoding is 6512 (= 13024/2) bytes.
그리고 1/4 부호화를 거친 모바일 서비스 데이터를 삽입하게 될 B 영역 내 B1,B2 영역의 바이트 수를 합치면 2280(=930+1350) 바이트가 된다. 이 경우 1/4 부호화 전의 바이트 수는 570(=2280/4) 바이트이다. The number of bytes in the B1 and B2 areas in the B area into which the 1 / 4-coded mobile service data is to be inserted is 2280 (= 930 + 1350) bytes. In this case, the number of bytes before 1/4 encoding is 570 (= 2280/4) bytes.
정리하면, 상기 블록 처리기(303)로 7082 바이트의 모바일 서비스 데이터가 입력되면, 이 중 6512 바이트는 1/2 부호화를 통해서 13024 바이트로 확장되고, 570 바이트는 1/4 부호화를 통해서 2280 바이트로 확장되게 한다. 그리고 상기 그룹 포맷터(304)는 13024 바이트로 확장된 모바일 서비스 데이터는 A 영역 내 A1~A5 영역에 삽입하고, 2280 바이트로 확장된 모바일 서비스 데이터는 B 영역 내 B1,B2 영역에 삽입한다. In summary, when 7082 bytes of mobile service data are input to the
이때 상기 블록 처리기(303)로 입력되는 7082 바이트의 모바일 서비스 데이터는 RS 프레임 부호기(302)의 출력과 시그널링 정보로 구분할 수가 있다. 본 발명에서는 7082 바이트 중 7050 바이트는 RS 프레임 부호기(302)의 출력에서 받아들이고, 나머지 32 바이트는 시그널링 정보 데이터를 입력받아 1/2 부호화 또는 1/4 부호화를 수행하는 것을 일 실시예로 한다. In this case, the 7082 bytes of mobile service data input to the
한편 RS 프레임 부호기(302)에서 RS 부호화 및 CRC 부호화를 거친 한 개의 RS 프레임은 540 * 235 바이트 즉, 126900 바이트로 구성이 되어 있다. 이것을 시간축에 대해 7050 바이트 단위로 나누면, 18개의 7050 바이트로 구분된다. On the other hand, one RS frame that has undergone RS coding and CRC coding in the
그리고 상기 RS 프레임 부호기(302)에서 출력되는 7050 바이트 단위의 모바일 서비스 데이터는 32 바이트 단위의 시그널링 정보 데이터와 합쳐진 후 블록 처리기(303)에서 1/2 부호화 또는 1/4 부호화되어 그룹 포맷터(304)로 출력된다. 상 기 그룹 포맷터(304)는 1/2 부호화된 데이터는 A 영역에 삽입하고, 1/4 부호화된 데이터는 B 영역에 삽입한다. The 7050-byte mobile service data output from the
다음은 RS 프레임 부호기(302)에서 RS 프레임을 형성하는데 필요한 N 값을 결정하는 과정을 설명한다. Next, a process of determining an N value required to form an RS frame in the
즉, 상기 RS 프레임 부호기(302)에서 RS 부호화 및 CRC 부호화된 최종 RS 프레임(즉, 제3 RS 프레임) 크기인 (N+2) * 235 바이트는 정수개의 데이터 그룹에 할당이 되어야 한다. 이때 단일 데이터 그룹에는 부호화 전을 기준으로 7050 바이트가 할당이 되기 때문에, (N+2) * 235 바이트를 7050(=30*235)으로 나누어 떨어지도록 하면, RS 프레임 부호기(302)의 출력 데이터를 효율적으로 데이터 그룹에 할당하게 할 수가 있다. 본 발명에서는 N+2가 30의 배수가 되도록 N 값을 결정하는 것을 일 실시예로 한다. 본 발명에서는 N 값으로 538을 결정하고, N+2(=540)를 30으로 나누면 18이 된다. 이것은 하나의 RS 프레임 내 모바일 서비스 데이터는 1/2 부호화 또는 1/4 부호화 과정을 거쳐 18개의 데이터 그룹에 나누어 할당됨을 의미한다. That is, (N + 2) * 235 bytes, which are the size of the last RS frame (that is, the third RS frame) RS-coded and CRC-coded in the
도 20은 본 발명에 따른 그룹 포맷터(304)에서의 RS 프레임의 분할 과정을 도시한 것이다. 즉, (N+2) * 235 바이트 크기를 갖는 RS 프레임을 30*235 바이트 블록으로 나눈다. 그리고 나누어진 각 블록의 30*235 바이트는 하나의 데이터 그룹에 매핑된다. 즉, 30*235 바이트 크기를 갖는 하나의 블록의 데이터는 1/2 부호화 또는 1/4 부호화 과정을 거쳐 하나의 데이터 그룹에 삽입된다. 20 illustrates a process of dividing an RS frame in the
또 다른 예로, 상기 C 영역에 삽입될 모바일 서비스 데이터는 블록 처리 기(303)에서 1/2 부호율로 부호화를 수행하고, 상기 C 영역에 삽입될 모바일 서비스 데이터는 상기 A,B 영역에 삽입하는 모바일 서비스와 다른 종류의 데이터라고 가정하자. As another example, the mobile service data to be inserted into the C region is encoded by the
그러면 도 19a에서와 같이 데이터 그룹 내 다수개의 영역들 중에서 1/2 부호화를 거친 모바일 서비스 데이터를 삽입하게 될 C 영역 내 C1-C3 영역의 바이트 수를 합치면 4144 바이트(=1272+1560+1312 바이트)이다. 이 경우 1/2 부호화 전의 바이트 수는 2072(=4144/2) 바이트이다. Then, as shown in FIG. 19A, when the number of bytes of the C1-C3 region in the C region, into which the 1 / 2-encoded mobile service data is to be inserted, is 4144 bytes (= 1272 + 1560 + 1312 bytes), as shown in FIG. 19A. to be. In this case, the number of bytes before 1/2 encoding is 2072 (= 4144/2) bytes.
이때 18개의 데이터 그룹을 모아 하나의 RS 프레임을 구성하고, 상기 RS 프레임의 모바일 서비스 데이터를 C 영역에 삽입한다고 가정하면, 상기 RS 프레임은 37296 바이트로 구성된다. 여기에서 RS 패리티(P)를 36으로 설정하고 각 로우당 CRC 체크섬을 2 바이트로 할당하면, 한 개의 RS 프레임에서 187 바이트의 모바일 서비스 데이터 패킷을 165개 전송할 수 있게 된다. In this case, assuming that 18 data groups are collected to form one RS frame, and the mobile service data of the RS frame is inserted into the C region, the RS frame is composed of 37296 bytes. Here, if the RS parity (P) is set to 36 and the CRC checksum is allocated to 2 bytes for each row, 165 mobile service data packets of 187 bytes can be transmitted in one RS frame.
이 경우, 데이터 그룹 내 C 영역은 매 RS 프레임당 55 바이트가 남게 된다. 상기와 같이 바이트가 남는 경우는 RS 프레임을 동일한 크기의 다수개의 데이터 그룹으로 구분하면서 발생할 수 있다. 즉, RS 프레임의 크기, 구분되는 데이터 그룹의 크기와 개수, 각 데이터 그룹에 삽입 가능한 모바일 서비스 데이터 바이트 수, 해당 영역의 부호율, RS 패리티의 바이트 수, CRC 체크섬의 할당 여부, 및 할당되는 경우 CRC 체크섬의 바이트 수 등에 따라 매 RS 프레임당 특정 영역에서 남는 바이트가 발생할 수 있다. In this case, 55 bytes remain in each C frame in the C region of the data group. If the byte remains as described above may occur while dividing the RS frame into a plurality of data groups of the same size. That is, the size of the RS frame, the size and number of data groups to be distinguished, the number of mobile service data bytes that can be inserted into each data group, the code rate of the corresponding area, the number of bytes of RS parity, whether CRC checksums are allocated, and Depending on the number of bytes of the CRC checksum, the remaining bytes may occur in a specific area per RS frame.
그리고 상기와 같이 하나의 RS 프레임을 동일한 크기를 갖는 다수개의 데이 터 그룹으로 구분할 때 해당 RS 프레임에서 남는 바이트가 발생하는 경우, 해당 RS 프레임에 남는 바이트의 수(K)만큼 더미 바이트를 추가한 후 다수개의 데이터 그룹으로 구분한다.When a single RS frame is divided into a plurality of data groups having the same size, and the remaining bytes in the RS frame are generated, dummy dummy bytes are added as many as the number of bytes (K) remaining in the RS frame. Divide into multiple data groups.
이러한 과정을 도 21에서 도시하였다. This process is illustrated in FIG. 21.
도 21은 (N+2) * (187+P) 크기의 RS 프레임을 동일한 크기를 갖는 M개의 데이터 그룹으로 구분하려 할 때, K개의 바이트가 남는 경우의 처리 과정의 일 실시예를 보이고 있다. FIG. 21 illustrates an embodiment of a process in which K bytes remain when an RS frame having a size of (N + 2) * (187 + P) is divided into M data groups having the same size.
이러한 경우, 도 21의 (a)와 같이 (N+2) * (187+P) 크기의 RS 프레임에 K개의 더미 바이트를 추가한 후, 로우 단위로 읽어 와 도 21의 (b)와 같이 M개의 데이터 그룹으로 구분한다. 이때 각 데이터 그룹은 모두 NoBytesPerGrp 바이트 크기를 갖는다. In this case, K dummy bytes are added to an RS frame of size (N + 2) * (187 + P) as shown in FIG. 21A, and then read in a row unit to read M as shown in FIG. 21B. Separate into three data groups. Each data group has a NoBytesPerGrp byte size.
이를 수식으로 나타내면 하기의 수학식 6과 같다. This is represented by the following equation (6).
여기서 상기 NoBytesPerGrp는 하나의 데이터 그룹에 할당되는 바이트의 수이다(NoBytesPerGrp means the Number of Bytes per a Group).Here, NoBytesPerGrp is the number of bytes allocated to one data group (NoBytesPerGrp means the Number of Bytes per a Group).
즉, 하나의 RS 프레임의 바이트+K 바이트의 크기와 M개의 데이터 그룹의 바이트 크기가 같음을 의미한다. That is, the size of bytes + K bytes of one RS frame is the same as that of M data groups.
지금까지 설명한 방법 및 모드로 모바일 서비스 데이터를 전송한다면, 상기 전처리기(230)의 데이터 랜더마이저(301)는 데이터 그룹 내 A,B 영역에 할당할 데 이터가 입력되는 제1 모바일 서비스 데이터 경로로 538개의 패킷을, 제2 모바일 서비스 데이터 경로로 165개의 패킷을 입력받을 수 있다. If the mobile service data is transmitted in the method and mode described so far, the data randomizer 301 of the
이를 위해 상기 데이터 랜더마이저와 RS 프레임 부호기는 각각 복수개 구비할 수 있다. 그러면 제1 모바일 서비스 데이터 경로로 입력되는 538개의 패킷과 제2 모바일 서비스 데이터 경로로 입력되는 165개의 패킷은 복수개의 데이터 랜더마이저에서 각각 랜더마이징되고, 복수개의 RS 프레임 부호기에서 각각 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 후 다시 RS 프레임 단위로 구분되어 블록 처리기(303)로 입력된다.To this end, a plurality of data randomizers and RS frame encoders may be provided. Then, 538 packets inputted to the first mobile service data path and 165 packets inputted to the second mobile service data path are each randomized in the plurality of data renderers, and each RS frame encoder encodes each of the RS frames. After row mixing is performed in units of and super frames, the signals are divided into RS frames and inputted to the
일 예로, 제1 모바일 서비스 데이터 경로를 통해 입력되는 데이터를 부호화하는 RS 프레임 부호기는 해당 RS 프레임에 대해 컬럼 방향으로 48개의 패리티 바이트를 부가하고, 로우 방향으로 2 바이트의 CRC 체크섬을 부가한다. 그리고 제2 모바일 서비스 데이터 경로를 통해 입력되는 데이터를 부호화하는 RS 프레임 부호기는 해당 RS 프레임에 대해 36개의 패리티 바이트를 부가하고, 로우 방향으로 2 바이트의 CRC 체크섬을 부가한다. For example, the RS frame encoder encoding data input through the first mobile service data path adds 48 parity bytes in the column direction and a CRC checksum of 2 bytes in the row direction for the corresponding RS frame. The RS frame encoder for encoding data input through the second mobile service data path adds 36 parity bytes for the corresponding RS frame, and adds a 2-byte CRC checksum in the row direction.
상기 블록 처리기(303)는 일 예로, A,C 영역에 할당할 데이터에 대해서는 1/2 부호화를 수행하고, B 영역에 할당할 데이터에 대해서는 1/4 부호화를 수행하여 그룹 포맷터(304)로 출력한다. For example, the
이때 전술한 것처럼 데이터 그룹 내 C 영역은 매 RS 프레임당 55 바이트가 남게 되므로, 상기 블록 처리기(303)는 C 영역에 할당할 RS 프레임의 데이터가 모두 입력되면 55 바이트의 더미 바이트를 추가한 후 1/2 부호화를 수행한다. 상기 더미 바이트의 추가는 블록 처리기(303)에서 수행할 수도 있고, 외부 블록(도시되지 않음)에서 입력받을 수도 있다. In this case, as described above, since the C region in the data group has 55 bytes remaining for every RS frame, the
상기 그룹 포맷터(304)에서는 1/2 부호화 또는 1/4 부호화되어 입력된 모바일 서비스 데이터와 기타 데이터들(예를 들어, MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더, 기지 데이터나 기지 데이터 위치 홀더, 초기화 데이터 위치 홀더등)을 도 19a의 데이터 그룹 내 해당 영역에 삽입(또는 배치)한다. 예를 들어, 제1 모바일 서비스 데이터 경로로 입력되어 1/2 부호율 또는 1/4 부호율로 부호화된 모바일 서비스 데이터는 A,B 영역에 삽입하고, 제2 모바일 서비스 데이터 경로로 입력되어 1/2 부호율로 부호화된 모바일 서비스 데이터는 C 영역에 삽입한다.In the
도 22는 본 발명의 구체적인 실시예에 따른 패킷 다중화기(240)의 동작 예를 보인 것이다. 즉, 상기 패킷 다중화기(240)에서는 데이터 그룹을 포함하는 필드들과 메인 서비스 데이터만 포함하는 필드들을 버스트 구조로 다중화하여 데이터 랜더마이저(251)로 출력한다. 본 발명에서는 데이터 그룹을 포함하는 필드들은 버스트 온 구간에 전송하고, 메인 서비스 데이터만 포함하는 필드들을 버스트 오프 구간에 전송한다. 이때 상기 버스트 온 구간에서는 메인 서비스 데이터를 전송할 수도 있다. 22 illustrates an operation of the
일 예로, 540 * 235 바이트 크기를 갖는 한 개의 RS 프레임을 전송하기 위해서는 18개의 데이터 그룹을 전송해야 한다. 여기서 각 데이터 그룹은 도 19a와 같이 필드 동기를 포함한다. 그러므로 18개의 데이터 그룹은 18 필드 구간 동안 전송 되며, 상기 18개의 데이터 그룹이 전송되는 구간을 버스트 온 구간이라 한다.For example, in order to transmit one RS frame having a size of 540 * 235 bytes, 18 data groups must be transmitted. Here, each data group includes field synchronization as shown in FIG. 19A. Therefore, 18 data groups are transmitted during 18 field periods, and the period in which the 18 data groups are transmitted is called a burst on period.
상기 버스트 온 구간 내 각 필드에서는 필드 동기를 포함하는 하나의 데이터 그룹과 메인 서비스 데이터가 다중화되어 출력될 수 있다. 일 실시예로 상기 버스트 온 구간 내 각 필드에서는 118 세그먼트 크기의 데이터 그룹과 194 세그먼트 크기의 메인 서비스 데이터가 다중화되어 출력될 수 있다.In each field of the burst-on period, one data group including field synchronization and main service data may be multiplexed and output. In an embodiment, each field within the burst-on period may be output by multiplexing a data group having a size of 118 segments and main service data having a size of 194 segments.
도 22를 보면, 버스트(burst) 온 구간 동안 즉, 18 필드 구간 동안은 18개의 데이터 그룹이 포함된 필드를 전송하고, 그 다음 버스트 오프 구간 즉, 12 필드 구간 동안은 메인 서비스 데이터만으로 구성된 필드를 전송하게 된다. 이후 다시 버스트 온 구간에서는 18개의 데이터 그룹이 포함된 18 필드를 전송하고, 다음 버스트 오프 구간에서는 메인 서비스 데이터만으로 구성된 12 필드를 전송한다. Referring to FIG. 22, a field including 18 data groups is transmitted during a burst on period, that is, an 18 field period, and then a field including only main service data during a burst off period, that is, a 12 field period. Will be sent. After that, 18 fields including 18 data groups are transmitted in the burst on period, and 12 fields including only main service data are transmitted in the next burst off period.
그리고 본 발명은 첫번째 18개의 데이터 그룹을 포함한 버스트 온 구간과 두 번째 18개의 데이터 그룹을 포함한 버스트 온 구간에서 같은 종류의 데이터 서비스를 제공할 수도 있고, 서로 다른 데이터 서비스를 전송할 수도 있다. In addition, the present invention may provide the same type of data service or may transmit different data services in the burst on period including the first 18 data groups and the burst on period including the second 18 data groups.
예를 들어, 도 22의 첫 번째 버스트 온 구간과 두 번째 버스트 온 구간에서 서로 다른 데이터 서비스를 전송하고, 수신 시스템에서는 하나의 데이터 서비스만 수신하기를 원한다고 가정하자. 이러한 경우 수신 시스템에서는 원하는 데이터 서비스를 포함하는 해당 버스트 온 구간에서만 전원을 온시켜 18개의 필드를 수신하고, 나머지 42개의 필드 구간 동안에는 전원을 오프시켜 수신하지 않도록 함으로써, 수신 시스템의 소모 전력을 줄일 수 있게 된다. 또한 수신 시스템에서는 하나의 버스트 온 구간에서 수신된 18개의 데이터 그룹으로부터 하나의 RS 프레임을 구 성할 수 있으므로 디코딩이 용이해지는 잇점이 있다. For example, suppose that the first burst on period and the second burst on period of FIG. 22 transmit different data services, and the receiving system wants to receive only one data service. In this case, the receiving system can reduce the power consumption of the receiving system by turning on the power only in the corresponding burst on period including the desired data service and receiving 18 fields, and turning off the power for the remaining 42 field periods. Will be. In addition, in the receiving system, since one RS frame can be configured from 18 data groups received in one burst on period, decoding is easy.
본 발명에서 하나의 버스트 온 구간에 포함되는 데이터 그룹의 수는 RS 프레임의 크기에 따라 달라지며, 상기 RS 프레임의 크기는 N 값에 따라 달라진다. 즉, N 값을 조정하여 버스트 내 데이터 그룹 수를 조정할 수 있다. In the present invention, the number of data groups included in one burst on interval depends on the size of the RS frame, and the size of the RS frame depends on the value of N. That is, the number of data groups in the burst can be adjusted by adjusting the N value.
또한 데이터 그룹 내 삽입 가능한 모바일 서비스 데이터 크기는 해당 데이터 그룹에 삽입되는 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등의 크기에 의해 달라질 수 있다.In addition, the size of the mobile service data that can be inserted in the data group may vary depending on the size of trellis initialization, known data, MPEG header, RS parity, etc., inserted into the data group.
한편 상기 패킷 다중화 과정에서 메인 서비스 데이터 사이사이에 모바일 서비스 데이터를 포함하는 데이터 그룹이 다중화되기 때문에 메인 서비스 데이터 패킷의 시간적인 위치가 상대적으로 이동하게 된다. 그리고 수신 시스템의 메인 서비스 데이터 처리를 위한 시스템 목표 디코더(즉, MPEG 디코더)에서는 메인 서비스 데이터만을 수신하여 복호하고 모바일 서비스 데이터 패킷은 널 데이터 패킷으로 인식하여 버리게 된다. Meanwhile, since the data group including the mobile service data is multiplexed between the main service data in the packet multiplexing process, the temporal position of the main service data packet is relatively moved. The system target decoder (i.e., MPEG decoder) for main service data processing of the receiving system receives and decodes only main service data and recognizes the mobile service data packet as a null data packet.
따라서 수신 시스템의 시스템 목표 디코더가 데이터 그룹과 다중화된 메인 서비스 데이터 패킷을 수신할 경우 패킷 지터가 발생하게 된다.Therefore, when the system target decoder of the receiving system receives the main service data packet multiplexed with the data group, packet jitter occurs.
이때 상기 시스템 목표 디코더에서는 비디오 데이터를 위한 여러 단계의 버퍼가 존재하고 그 사이즈가 상당히 크기 때문에 상기 패킷 다중화기(240)에서 발생시키는 패킷 지터는 비디오 데이터의 경우, 큰 문제가 되지 않는다. 그러나 시스템 목표 디코더가 가지는, 오디오 데이터를 위한 버퍼의 사이즈는 작기 때문에 문제가 될 수 있다.In this case, since there are various buffers for the video data in the system target decoder and the size thereof is quite large, the packet jitter generated by the
즉, 상기 패킷 지터로 인해 수신 시스템의 메인 서비스 데이터를 위한 버퍼, 예를 들면 오디오 데이터를 위한 버퍼에서 오버플로우(overflow)나 언더플로우(underflow)가 발생할 수 있다.That is, the packet jitter may cause overflow or underflow in a buffer for main service data of the receiving system, for example, a buffer for audio data.
따라서 패킷 지터 경감기(220)에서는 상기 시스템 목표 디코더의 버퍼에서 오버플로우 또는 언더플로우가 발생하지 않도록 메인 서비스 데이터 패킷의 상대적인 위치를 재조정한다.Accordingly, the
본 발명에서는 오디오 버퍼의 동작에 주는 영향을 최소화하기 위하여 메인 서비스 데이터의 오디오 데이터 패킷의 위치를 재배치하는 실시예들을 설명한다. 상기 패킷 지터 경감기(220)는 메인 서비스의 오디오 데이터 패킷이 최대한 균일하게 위치할 수 있도록 메인 서비스 데이터 구간에서 오디오 데이터 패킷을 재배치한다. The present invention describes embodiments of relocating the audio data packet of the main service data in order to minimize the influence on the operation of the audio buffer. The
상기 패킷 지터 경감기(220)에서 메인 서비스의 오디오 데이터 패킷을 재배치하는 기준은 다음과 같다. 이때 상기 패킷 지터 경감기(220)는 후단의 패킷 다중화기(240)의 다중화 정보를 알고 있다고 가정한다.The criterion for relocating the audio data packet of the main service in the
첫번째, 버스트 온 구간 내 메인 서비스 데이터 구간, 예를 들어 두개의 데이터 그룹 사이에 위치하는 메인 서비스 데이터 구간에서 오디오 데이터 패킷이 한 개 존재하는 경우에는 오디오 데이터 패킷을 메인 서비스 데이터 구간의 제일 앞에 배치하고, 2개 존재하는 경우에는 제일 앞과 제일 뒤에 배치하며, 3개 이상 존재하는 경우에는 제일 앞과 제일 뒤에 배치하고 나머지를 그 사이에 균등한 간격으로 배치한다.First, if there is one audio data packet in the main service data section in the burst on section, for example, the main service data section between two data groups, the audio data packet is placed in front of the main service data section. If two are present, they are placed at the front and the rear. If there are three or more, they are placed at the front and the rear and the rest are evenly spaced between them.
두번째, 버스트 온 구간 시작 전의 메인 서비스 데이터 구간 즉, 버스트 오프 구간에서는 제일 마지막 위치에 오디오 데이터 패킷을 배치한다.Second, in the main service data section before the start of the burst on section, that is, the burst off section, the audio data packet is arranged at the last position.
세번째, 버스트 온 구간이 끝난 후 버스트 오프 구간의 메인 서비스 데이터 구간에서는 제일 앞에 오디오 데이터 패킷을 배치한다.Third, the audio data packet is placed first in the main service data section of the burst off section after the burst on section ends.
그리고 오디오 데이터가 아닌 패킷들은 입력되는 순서대로 오디오 데이터 패킷의 위치를 제외한 공간에 배치한다.Packets other than audio data are arranged in a space excluding the location of audio data packets in the order of input.
한편 상기와 같이 메인 서비스 데이터 패킷의 위치를 상대적으로 재조정하게 되면 그에 따른 PCR(Program Clock Reference) 값을 수정해 주어야 한다. PCR 값은 MPEG 디코더의 시간을 맞주기 위한 시간 기준값으로 TS 패킷의 특정 영역에 삽입되어 전송되어진다. 상기 패킷 지터 경감기(220)에서 PCR 값 수정의 기능도 수행하는 것을 일 실시예로 한다. On the other hand, when the position of the main service data packet is relatively readjusted as described above, the PCR value must be corrected accordingly. The PCR value is a time reference value to match the time of the MPEG decoder and is inserted into a specific area of the TS packet and transmitted. In an embodiment, the
상기 패킷 지터 경감기(220)의 출력은 패킷 다중화기(240)로 입력된다. 상기 패킷 다중화기(240)는 전술한 바와 같이 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷과 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷을 기 설정된 다중화 규칙에 따라 버스트 구조로 다중화하여 후 처리기(250)의 데이터 랜더마이저(251)로 출력한다. The output of the
상기 데이터 랜더마이저(251)는 입력된 데이터가 메인 서비스 데이터 패킷이면 기존의 랜더마이저와 동일하게 랜더마이징을 수행한다. 즉, 메인 서비스 데이터 패킷 내 동기 바이트를 버리고 나머지 187 바이트를 내부에서 발생시킨 의사랜덤(pseudo random) 바이트를 사용하여 랜덤하게 만든 후 RS 부호기/비체계적 RS 부 호기(252)로 출력한다.If the input data is a main service data packet, the
그러나 입력된 데이터가 모바일 서비스 데이터 패킷이면, 패킷의 일부만을 랜더마이징할 수도 있다. 예를 들어, 상기 전처리기(230)에서 모바일 서비스 데이터에 대해 미리 랜더마이징을 수행하였다고 가정하면, 상기 데이터 랜더마이저(251)는 상기 모바일 서비스 데이터 패킷에 포함된 4바이트의 MPEG 헤더 중 동기 바이트를 버리고 나머지 3바이트에 대해서만 랜더마이징을 수행하여 상기 RS 부호기/비체계적 RS 부호기(252)로 출력한다. 즉, 상기 MPEG 헤더를 제외한 나머지 모바일 서비스 데이터에 대해서는 랜더마이징을 수행하지 않고 상기 RS 부호기/비체계적 RS 부호기(252)로 출력한다. 상기 데이터 랜더마이저(251)는 모바일 서비스 데이터 패킷에 포함된 기지 데이터(또는 기지 데이터 위치 홀더)와 초기화 데이터 위치 홀더에 대해서는 랜더마이징을 수행할 수도 있고 수행하지 않을 수도 있다.However, if the input data is a mobile service data packet, only a part of the packet may be rendered. For example, assuming that the
상기 RS 부호기/비체계적 RS 부호기(252)는 상기 데이터 랜더마이저(251)에서 랜더마이징되는 데이터 또는 바이패스되는 데이터에 대해 RS 부호화를 수행하여 20바이트의 RS 패리티를 부가한 후 데이터 인터리버(253)로 출력한다. 이때 상기 RS 부호기/비체계적 RS 부호기(252)는 입력된 데이터가 메인 서비스 데이터 패킷인 경우 기존 방송 시스템과 동일하게 체계적 RS 부호화를 수행하여 20바이트의 RS 패리티를 187바이트의 데이터 뒤에 부가한다. 그리고 모바일 서비스 데이터 패킷이면 비체계적 RS 부호화를 수행하고, 이때 얻은 20바이트의 RS 패리티를 패킷 내 미리 정해진 패리티 바이트 위치에 삽입한다. The RS encoder /
상기 데이터 인터리버(253)는 바이트 단위의 길쌈(convolutional) 인터리버 이다.The data interleaver 253 is a convolutional interleaver in bytes.
상기 데이터 인터리버(253)의 출력은 패리티 치환기(254)와 비체계적 RS 부호기(255)로 입력된다. The output of the data interleaver 253 is input to a
한편 상기 패리티 치환기(254)의 후단에 위치한 트렐리스 부호화부(256)의 출력 데이터를 송/수신측에서 약속에 의해 정의한 기지 데이터로 하기 위해 먼저 트렐리스 부호화부(256) 내의 메모리의 초기화가 필요하다. 즉 입력되는 기지 데이터 열이 트렐리스 부호화되기 전에 먼저 트렐리스 부호화부(256)의 메모리를 초기화시켜야 한다. On the other hand, in order to make the output data of the
이때 입력되는 기지 데이터 열의 시작 부분은 실제 기지 데이터가 아니라 전처리기(230) 내 그룹 포맷터에서 삽입된 초기화 데이터 위치 홀더이다. 따라서 입력되는 기지 데이터 열이 트렐리스 부호화되기 직전에 초기화 데이터를 생성하여 해당 트렐리스 메모리 초기화 데이터 위치 홀더와 치환하는 과정이 필요하다.At this time, the start of the known data stream is not the actual known data but the initialization data position holder inserted by the group formatter in the
그리고 상기 트렐리스 메모리 초기화 데이터는 상기 트렐리스 부호화부(256)의 메모리 상태에 따라 그 값이 결정되어 생성된다. 또한 치환된 초기화 데이터에 의한 영향으로 RS 패리티를 다시 계산하여 상기 데이터 인터리버(253)에서 출력되는 RS 패리티와 치환하는 과정이 필요하다.The trellis memory initialization data is generated by determining a value thereof according to the memory state of the
따라서 상기 비체계적 RS 부호기(255)에서는 상기 데이터 인터리버(253)로부터 초기화 데이터로 치환될 초기화 데이터 위치 홀더가 포함된 모바일 서비스 데이터 패킷을 입력받고, 트렐리스 부호화부(256)로부터 초기화 데이터를 입력받는다. 그리고 입력된 모바일 서비스 데이터 패킷 중 초기화 데이터 위치 홀더를 초기화 데이터로 치환하고 상기 모바일 서비스 데이터 패킷에 부가된 RS 패리티 데이터를 제거한 후 비체계적인 RS 부호화를 수행한다. 그리고 상기 비체계적 RS 부호화하여 얻은 RS 패리티를 상기 패리티 치환기(255)로 출력한다. 그러면 상기 패리티 치환기(255)는 모바일 서비스 데이터 패킷 내 데이터는 상기 데이터 인터리버(253)의 출력을 선택하고, RS 패리티는 비체계적 RS 부호기(255)의 출력을 선택하여 트렐리스 부호화부(256)로 출력한다. Accordingly, the
한편 상기 패리티 치환기(254)는 메인 서비스 데이터 패킷이 입력되거나 또는 치환될 초기화 데이터 위치 홀더가 포함되지 않은 모바일 서비스 데이터 패킷이 입력되면 상기 데이터 인터리버(253)에서 출력되는 데이터와 RS 패리티를 선택하여 그대로 트렐리스 부호화부(256)로 출력한다. Meanwhile, when the main service data packet is input or the mobile service data packet including the initialization data location holder to be replaced is input, the
상기 트렐리스 부호화부(256)는 바이트 단위의 데이터를 심볼 단위로 바꾸고 12-way 인터리빙하여 트렐리스 부호화한 후 동기 다중화기(260)로 출력한다. The
상기 동기 다중화기(260)는 트렐리스 부호화부(256)의 출력에 필드 동기와 세그먼트 동기를 삽입하여 송신부(270)의 파일롯 삽입기(271)로 출력한다. The
상기 파일롯 삽입기(271)에서 파일롯이 삽입된 데이터는 변조기(272)에서 기 설정된 변조 방식 예를 들어, VSB 방식으로 변조된 후 RF 업 컨버터(273)를 통해 각 수신 시스템으로 전송된다. Data in which the pilot is inserted in the
블록 처리기Block handler
도 23은 본 발명의 일 실시예에 따른 블록 처리기의 상세 블록도로서, 바이트-비트 변환기(401), 심볼 부호기(402), 심볼 인터리버(403), 및 심볼-바이트 변 환기(404)를 포함할 수 있다.23 is a detailed block diagram of a block processor according to an embodiment of the present invention, which includes a byte-
상기 바이트-비트 변환기(401)는 상기 RS 프레임 부호기(112)에서 입력되는 모바일 서비스 데이터 바이트를 비트로 구분하여 심볼 부호기(402)로 출력한다.The byte-
상기 바이트-심볼 변환기(401)는 전송 파라미터 등을 담고있는 시그널링(signaling) 정보도 입력받을 수 있으며, 이 시그널링 정보 바이트들도 비트로 구분하여 심볼 부호기(402)로 출력한다. 여기서 상기 전송 파라미터를 담고 있는 시그널링 정보는 모바일 서비스 데이터 처리 과정과 동일하게 데이터 랜더마이저(301)와 RS 프레임 부호기(302)를 거쳐 블록 처리기(303)로 입력될 수도 있고, 또는 상기 데이터 랜더마이저(301)와 RS 프레임 부호기(302)를 거치지 않고 바로 블록 처리기(303)로 입력될 수도 있다.The byte-
상기 심볼 부호기(402)는 입력되는 데이터 D비트를 E비트로 부호화하여 출력하는 D/E 부호기이다. The
본 발명에서는 일 실시예로, 상기 심볼 부호기(402)는 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함) 또는 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함)를 수행한다고 가정한다. 상기 심볼 부호기(402)는 입력받은 모바일 서비스 데이터들과 시그널링 정보에 대해 1/2 부호화 또는 1/4 부호화를 수행한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다. In one embodiment of the present invention, the
상기 심볼 부호기(402)에서는 1/2 부호화인 경우에는 1비트를 입력받아 2비트(즉, 1개의 심볼)로 부호화하여 출력하고, 1/4 부호화인 경우에는 1비트를 입력받아 4비트(즉, 2개의 심볼)로 부호화하여 출력한다.The
도 24는 상기 심볼 부호기(402)의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(501,503)와 3개의 가산기(502,504,505)로 구성되어, 입력 데이터 비트 U를 부호화하여 4비트(u0~u3)로 출력한다. 이때 상기 데이터 비트 U는 최상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1u2u3로 출력된다. Fig. 24 is a detailed block diagram showing an embodiment of the
즉, 입력 데이터 비트 U는 그대로 최상위 비트 u0로 출력됨과 동시에 제1,제3 가산기(502,505)로 출력된다. 상기 제1 가산기(502)는 입력 데이터 비트 U와 제1 지연기(501)의 출력을 더하여 제2 지연기(503)로 출력하며, 상기 제2 지연기(502)에서 일정 시간(예를 들어 1 클럭) 지연된 데이터는 하위 비트 u1로 출력됨과 동시에 제1 지연기(501)로 피드백된다. 상기 제1 지연기(501)는 상기 제2 지연기(502)에서 피드백되는 데이터를 일정 시간(예를 들어, 1 클럭) 지연시켜 제1 가산기(502)와 제 2 가산기(504)로 출력한다. 상기 제2 가산기(504)는 제1,제2 지연기(501,503)의 출력을 더하여 하위 비트 u2로 출력한다. 상기 제3 가산기(505)는 입력 데이터 비트 U와 제2 가산기(504)의 출력을 더하여 하위 비트 u3으로 출력한다. That is, the input data bits U are output as they are as most significant bits u0 and output to the first and
이때 상기 심볼 부호기(402)는 입력 데이터 비트 U가 1/2 부호율로 부호화될 데이터라면 4개의 출력 비트 u0u1u2u3 중 u0u1 비트로 한 심볼을 구성하여 출력하면 된다. 또한 1/4 부호율로 부호화될 데이터라면 u0u1 비트로 구성된 심볼을 출력하고, 이어 u2u3 비트로 된 또 다른 심볼을 출력하면 된다. 다른 실시예로, 1/4 부호율로 부호화될 데이터라면 u0u1 비트로 구성된 심볼을 두 번 반복하여 출력할 수도 있다.In this case, if the input data bit U is data to be encoded at a 1/2 code rate, the
또 다른 실시예로, 상기 심볼 부호기(402)에서는 4개의 출력 비트 u0u1u2u3을 모두 출력하고, 후단의 심볼 인터리버(403)에서 1/2 부호율인 경우에는 4개의 출력 비트 u0u1u2u3 중 u0u1 비트로 구성된 심볼만을 선택하고, 1/4 부호율인 경우에는 u0u1 비트로 구성된 심볼과 u2u3 비트로 구성된 또 다른 심볼을 모두 선택하도록 설계할 수도 있다. 또 다른 실시예로, 1/4 부호율인 경우에는 u0u1 비트로 구성된 심볼을 반복하여 선택하도록 할 수도 있다.In another embodiment, the
상기 심볼 부호기(402)의 출력은 심볼 인터리버(403)로 입력되고, 상기 심볼 인터리버(403)는 상기 심볼 부호기(402)의 출력 데이터에 대해 심볼 단위로 블록 인터리빙을 수행한다. The output of the
상기 심볼 인터리버(403)는 구조적으로 어떤 순서 재배열을 하는 인터리버이면 어느 인터리버라도 적용될 수 있다. 하지만, 본 발명에서는 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버를 사용하는 것을 일 실시예로 설명한다.The symbol interleaver 403 may be applied to any interleaver as long as it is an interleaver structurally performing any order rearrangement. However, according to an embodiment of the present invention, a variable length symbol interleaver applicable even when the length of symbols to be rearranged is various will be described.
도 25는 본 발명에 따른 심볼 인터리버의 일 실시예를 보인 도면으로서, 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버이다. FIG. 25 is a diagram illustrating an embodiment of a symbol interleaver according to the present invention, and is a variable length symbol interleaver applicable even when a length of symbols to be rearranged is varied.
특히 도 25는 K=6, L=8인 경우의 심볼 인터리버의 예를 보이고 있다. 상기 K는 심볼 부호기(402)에서 심볼 인터리빙을 위해 출력되는 심볼들의 개수이고, L은 심볼 인터리버(403)에서 실제로 인터리빙이 되는 심볼들의 개수이다. In particular, FIG. 25 shows an example of a symbol interleaver when K = 6 and L = 8. K is the number of symbols output for symbol interleaving in the
본 발명의 심볼 인터리버(403)는 L = 2n(여기서 n은 자연수)이면서 L ≥ K 조건을 만족하여야 한다. 만일 K와 L의 값이 차이가 나게 되면, 차이나는 개수(=L-K)만큼 널(null 또는 dummy) 심볼이 추가되어 인터리빙 패턴이 만들어진다.The symbol interleaver 403 of the present invention must satisfy the condition L ≥ K while L = 2 n (where n is a natural number). If the values of K and L are different, an interleaving pattern is created by adding null or dummy symbols by the number of differences (= LK).
그러므로 상기 K는 인터리빙을 위해 상기 심볼 인터리버(403)로 입력되는 실제 심볼들의 블록 크기가 되고, L은 상기 심볼 인터리버(403)에서 생성된 인터리빙 패턴에 의해 인터리빙이 이루어지는 인터리빙 단위가 된다.Therefore, K is a block size of actual symbols input to the
도 25는 그 예를 보인 것으로서, 인터리빙하기 위해 심볼 부호기(402)에서 출력되는 심볼의 수(=K)는 6 심볼이고, 실제 인터리빙 단위(L)는 8 심볼이 된다. 따라서 도 25의 (a)와 같이 2 심볼이 널 심볼로 추가되어 인터리빙 패턴이 만들어진다. FIG. 25 shows an example. The number of symbols (= K) output from the
하기의 수학식 7은 상기 심볼 인터리버(403)에서 순서를 재배열하고자 하는 심볼 K개를 순서대로 입력받은 후, L = 2n이면서 L ≥ K 조건을 만족하는 L을 찾아 인터리빙 패턴을 만들어 재배열하는 과정을 수학식으로 표현한 것이다.
P(i) = { S x i x (i+1) / 2 } mod LP (i) = {S x i x (i + 1) / 2} mod L
여기서 L ≥ K , L = 2n이고, n, S는 자연수이다. 도 25에서 S는 89, L은 8로 가정하고, 구현한 인터리빙 패턴 및 인터리빙 예이다.Where L ≧ K and L = 2 n , where n and S are natural numbers. In FIG. 25, S is 89 and L is 8.
상기 수학식 2, 도 25의 (b)와 같이 L 심볼 단위로 K개의 입력 심볼과 (L-K) 개의 널 심볼의 순서를 재배열한 후 하기의 수학식 8, 도 25의 (c)와 같이 널 심볼의 위치를 제거하고 다시 정렬하며, 정렬된 순서대로 인터리빙된 심볼을 심볼-바이트 변환기(404)로 출력된다.After rearranging the order of the K input symbols and the (LK) null symbols in units of the L symbols as shown in
상기 심볼-바이트 변환기(404)는 상기 심볼 인터리버(403)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 바이트로 변환하여 그룹 포맷터(304)로 출력한다.The symbol-
도 26a는 본 발명의 다른 실시예에 따른 블록 처리기의 상세 블록도로서, 인터리빙부(Interleaving nit)(610), 및 블록 포맷터(block formatter)(620)를 포함할 수 있다.FIG. 26A is a detailed block diagram of a block processor according to another embodiment of the present invention, and may include an
상기 인터리빙부(610)는 바이트-심볼 변환기(converter)(611), 심볼-바이트 변환기(612), 심볼 인터리버(613), 및 심볼-바이트 변환기(614)를 포함할 수 있다. 상기 심볼 인터리버는 블록 인터리버라 하기도 한다. The
상기 인터리빙부(610)의 바이트- 심볼 변환기(611)는 상기 RS 프레임 부호기(302)에서 바이트 단위로 출력되는 모바일 서비스 데이터(X)를 심볼 단위로 변환하여 심볼-바이트 변환기(612)와 심볼 인터리버(613)로 출력한다. 즉, 상기 바이트- 심볼 변환기(611)는 입력되는 모바일 서비스 데이터 바이트(=8비트)의 2비트를 1개의 심볼로 하여 출력한다. 이는 트렐리스 부호화부(256)의 입력이 2비트로 된 심볼 단위이기 때문이다. 상기 블록 처리기(303)와 트렐리스 부호화부(256)와의 관계 는 뒤에서 설명한다. Bytes of the
이때 상기 바이트-심볼 변환기(611)는 전송 파라미터 등을 담고 있는 시그널링(signaling) 정보도 입력받을 수 있으며, 이 시그널링 정보 바이트들도 심볼 단위로 구분하여 심볼-바이트 변환기(612)와 심볼 인터리버(613)로 출력한다.In this case, the byte-
상기 심볼-바이트 변환기(612)는 상기 바이트-심볼 변환기(611)에서 출력되는 4개의 심볼을 모아 바이트를 구성한 후 블록 포맷터(620)로 출력한다. 이때 상기 심볼-바이트 변환기(612)와 상기 바이트-심볼 변환기(611)는 서로 역의 과정이기 때문에 두 블록의 결과는 상쇄되어 도 26b에서와 같이 입력 데이터 X가 그대로 블록 포맷터(620)로 바이패스되는 효과가 있다. 즉, 도 26b의 인터리빙부(610)는 도 26a의 인터리빙부(610)와 등가적인 구조를 가지므로, 동일한 부호를 사용한다.The symbol-
상기 심볼 인터리버(613)는 상기 바이트-심볼 변환기(611)에서 출력되는 데이터에 대해 심볼 단위로 블록 인터리빙을 수행하여 심볼-바이트 변환기(614)로 출력한다. The symbol interleaver 613 performs block interleaving on a symbol-by-symbol basis for the data output from the byte-
상기 심볼 인터리버(613)는 구조적으로 순서 재배열을 하는 인터리버이면 어떠한 인터리버라도 적용될 수 있다. 본 발명에서는 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 인터리버를 사용하는 것을 일 실시예로 한다. 예를 들면, 도 26a, 도 26b의 심볼 인터리버에 도 25의 심볼 인터리버를 적용할 수 있다. The symbol interleaver 613 may be applied to any interleaver as long as the interleaver is structurally rearranged. According to an embodiment of the present invention, a variable length interleaver may be used even when the length of a symbol to be rearranged is various. For example, the symbol interleaver of FIG. 25 may be applied to the symbol interleaver of FIGS. 26A and 26B.
상기 심볼-바이트 변환기(614)는 상기 심볼 인터리버(613)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 모아 바이트를 구성한 후 블 록 포맷터(620)로 출력한다. 즉, 상기 심볼-바이트 변환기(614)는 상기 심볼 인터리버(613)에서 출력되는 4개의 심볼을 모아 바이트를 구성한다.The symbol-
상기 블록 포맷터(620)는 도 27과 같이 각 심볼-바이트 변환기(612,614)의 출력을 블록 내에서 일정 기준에 따라 배열하는 역할을 수행한다. 이때 상기 블록 포맷터(620)는 트렐리스 부호화부(256)와 관계되어 동작한다.The
즉, 상기 블록 포맷터(620)는 상기 트렐리스 부호화부(256)로 입력되는 메인 서비스 데이터, 기지 데이터, RS 패리티 데이터, MPEG 헤더 데이터 등 모바일 서비스 데이터를 제외한 나머지 데이터들의 위치(또는 순서)를 고려하여 각 심볼-바이트 변환기(612,614)의 모바일 서비스 데이터 출력 순서를 결정한다. That is, the
상기 트렐리스 부호화부(256)는 일 실시예로서, 내부에 12개의 트렐리스 부호기를 구비하고 있다. The
도 28은 본 발명의 일 실시예에 따른 트렐리스 부호화부(256)의 상세 블록도로서, 12개의 동일한 트렐리스 부호기가 노이즈 분산을 위해 인터리버로 결합되는 예를 보이고 있다. 상기 각 트렐리스 부호기는 프리코더(Pre coder)를 포함할 수 있다. 28 is a detailed block diagram of a
도 29a는 상기 블록 처리기(303)와 트렐리스 부호화부(256)가 연접(concatenation)된 모습을 도시하고 있다. 실제로 전송 시스템에서는 도 3과 같이 블록 처리기(303)를 포함하는 전처리기(230)와 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하지만, 수신 시스템에서는 두 블록이 연접된 것으로 간주하여 복호를 수행하게 된다. FIG. 29A illustrates a state in which the
그런데 상기 트렐리스 부호화부(256)로 입력되는 메인 서비스 데이터, 기지 데이터, RS 패리티 데이터, MPEG 헤더 데이터 등 모바일 서비스 데이터를 제외한 데이터들은 상기 블록 처리기(303)와 트렐리스 부호화부(256) 사이에 존재하는 블록들에서 부가되는 데이터들이다. 도 29b는 이러한 상황을 고려하여 상기 블록 처리기(303)와 트렐리스 부호화부(256) 사이에 데이터 처리부(650)가 배치되는 예를 보이고 있다.However, the data except for mobile service data such as main service data, known data, RS parity data, and MPEG header data inputted to the
여기서 상기 블록 처리기(303)의 인터리빙부(610)는 1/2 부호율로 부호화를 수행하는 경우, 도 26a(또는 도 26b)와 같이 구성할 수 있다. 상기 데이터 처리부(650)는 도 3을 예로 들 경우, 그룹 포맷터(304), 데이터 인터리버(305), 패킷 포맷터(306), 패킷 다중화기(240), 후 처리기(250)의 데이터 랜더마이저(251), RS 부호기/비체계적 RS 부호기(252), 데이터 인터리버(253), 패리티 치환기(254), 비체계적 RS 부호기(255)를 포함할 수 있다. Here, when the
이때 상기 트렐리스 부호화부(256)는 입력되는 데이터를 심볼화하여 기 정의된 방식에 따라 각각의 트렐리스 부호기로 나누어 보낸다. 이때, 한 바이트는 2비트로 구성된 4개의 심볼로 변환되고, 하나의 바이트로부터 만들어진 심볼들은 모두 같은 트렐리스 부호기로 전송된다. 그러면 각 트렐리스 부호기는 입력 심볼 중 상위 비트는 프리코딩시켜 최상위 출력 비트 C2로 출력하고, 하위 비트는 트렐리스 부호화하여 두 개의 출력 비트 C1,C0으로 출력한다.At this time, the
상기 블록 포맷터(620)는 각 심볼-바이트 변환기의 출력 바이트가 서로 다른 트렐리스 부호기로 전송될 수 있도록 제어한다.The
다음은 도 26 내지 도 29를 참조하여 상기 블록 포맷터(620)의 상세 동작을 설명하기로 한다.Next, detailed operations of the
도 26a를 예로 들 경우, 심볼-바이트 변환기(612)의 출력 바이트와 심볼-바이트 변환기(614)의 출력 바이트는 상기 블록 포맷터(620)의 제어에 의해 트렐리스 부호화부(256)의 서로 다른 트렐리스 부호기로 입력된다.Referring to FIG. 26A, the output byte of the symbol-
본 발명에서는 설명의 편의를 위해, 상기 심볼-바이트 변환기(612)의 출력 바이트를 X라 하고, 상기 심볼-바이트 변환기(614)의 출력 바이트를 Y라 하기로 한다. 도 27의 (a)에서 각 숫자(0~11)는 트렐리스 부호화부(256)의 1번째부터 12번째까지의 트렐리스 부호기를 각각 지시한다. In the present invention, for convenience of explanation, the output byte of the symbol-
그리고 상기 블록 포맷터(620)는 상기 심볼-바이트 변환기(612)의 출력 바이트들이 트렐리스 부호화부(256)의 0번부터 5번까지의 트렐리스 부호기(0~5)로 입력되고, 상기 심볼-바이트 변환기(614)의 출력 바이트들이 6번부터 11번까지의 트렐리스 부호기(6~11)로 입력되도록, 각 심볼-바이트 변환기(612,614)의 출력 순서를 배열하는 것을 일 실시예로 한다. 여기서 상기 심볼-바이트 변환기(612)의 출력 바이트들이 할당되는 트렐리스 부호기들 및 상기 심볼-바이트 변환기(614)의 출력 바이트들이 할당되는 트렐리스 부호기들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이다. The
또한 상기 블록 처리기(303)의 입력이 12바이트로 구성된 블록이라고 가정할 때, 상기 심볼-바이트 변환기(612)에서는 X0~X11까지 12바이트가 출력되고, 상기 심볼-바이트 변환기(614)에서도 Y0~Y11까지 12바이트가 출력되는 것을 일 실시예로 한다. In addition, assuming that the input of the
도 27의 (b)는 트렐리스 부호화부(256)로 입력되는 데이터의 일 실시예를 보인 것으로서, 모바일 서비스 데이터뿐만 아니라 메인 서비스 데이터 및 RS 패리티 데이터가 트렐리스 부호화부(256)로 입력되어 각 트렐리스 부호기로 분배되는 예를 보이고 있다. 즉, 상기 블록 처리기(303)로부터 출력된 모바일 서비스 데이터가 그룹 포맷터(304)를 거치면서, 상기 모바일 서비스 데이터에 도 27의 (a)와 같이 메인 서비스 데이터, 그리고 RS 패리티 데이터가 섞인 형태로 출력된다고 할 때, 각 바이트들은 데이터 인터리빙 후의 데이터 그룹 내 위치에 따라 12개의 트렐리스 부호기로 입력된다. FIG. 27B illustrates an embodiment of data input to the
여기에 앞서 언급한 원칙에 따라 심볼-바이트 변환기(612,614)의 출력 바이트들(X,Y)을 해당 트렐리스 부호기에 할당하면, 각 트렐리스 부호기의 입력은 도 27의 (b)와 같은 형태가 될 수 있다. If the output bytes (X, Y) of the symbol-
즉, 도 27의 (b)를 보면, 상기 심볼-바이트 변환기(612)에서 출력되는 6개의 모바일 서비스 데이터 바이트(X0~X5)는 상기 트렐리스 부호화부(256)의 1번째부터 6번째 트렐리스 부호기(0~5)에 순차적으로 할당(또는 분배)되고, 상기 심볼-바이트 변환기(614)에서 출력되는 2개의 모바일 서비스 데이터 바이트(Y0,Y1)는 7번째,8번째 트렐리스 부호기(6,7)에 순차적으로 할당된다. 그리고 5개의 메인 서비스 데이터 바이트 중 4개의 메인 서비스 데이터 바이트가 9번째부터 12번째 트렐리스 부호기(8~11)에 순차적으로 할당되고, 다음 1개의 메인 서비스 데이터 바이트가 다시 첫 번째 트렐리스 부호기(0)에 할당되는 예를 보이고 있다. That is, referring to FIG. 27B, six mobile service data bytes X0 to X5 output from the symbol-
상기 도 27의 (b)와 같이 모바일 서비스 데이터, 메인 서비스 데이터, RS 패리티 데이터 등이 각 트렐리스 부호기에 할당된다고 가정하자. 그리고 전술한 바와 같이 상기 블록 처리기(303)의 입력이 12바이트로 구성된 블록이고, 상기 심볼-바이트 변환기(612)에서는 X0~X11까지 12바이트가 출력되고, 상기 심볼-바이트 변환기(614)에서도 Y0~Y11까지 12바이트가 출력된다고 가정하자. 이 경우 상기 블록 포맷터(620)는 도 27의 (c)와 같이 X0~X5,Y0,Y1,X6~X10,Y2~Y7,X11,Y8~Y11 순으로 상기 심볼-바이트 변환기(612,614)의 출력을 배열하여 출력한다.Assume that mobile service data, main service data, RS parity data, and the like are allocated to each trellis encoder as shown in FIG. 27 (b). As described above, the input of the
즉, 각 데이터 바이트들이 전송 프레임 내의 어느 위치에 삽입되는가에 따라 각각 어떠한 트렐리스 부호기에서 부호화되는지가 결정된다. 이때 모바일 서비스 데이터뿐만 아니라 메인 서비스 데이터와 MPEG 헤더 데이터, RS 패리티 데이터 등도 트렐리스 부호화부(256)에 입력되므로, 상기와 같은 동작을 하기 위해서 블록 포맷터(620)는 데이터 인터리빙 이후의 데이터 그룹 포맷에 대한 정보를 알고 있다고 가정한다. That is, it is determined in which trellis encoder each data byte is encoded according to which position in the transmission frame. In this case, not only the mobile service data but also main service data, MPEG header data, and RS parity data are input to the
도 30은 본 발명에 따른 1/N 부호율로 부호화를 수행하는 블록 처리기의 일 실시예를 보인 구성 블록도로서, 병렬로 구성된 (N-1)개의 심볼 인터리버(741~74N-1)를 포함한다. 즉, 1/N 부호율을 갖는 블록 처리기는 원래의 입력 데이터가 그대로 블록 포맷터(730)로 전달되는 가지(branch or path)를 포함하여 총 N개의 가지를 갖는다. 그리고 각 가지의 심볼 인터리버(741~74N-1)는 서로 다른 형태의 심볼 인터리버로 구성될 수 있다. 상기 (N-1)개의 심볼 인터리버(741~74N-1)의 출력단에는 대응되는 (N-1)개의 심볼-바이트 변환기(751~75N-1)가 구성될 수 있다. 상기 (N-1)개의 심볼-바이트 변환기(751~75N-1)의 출력도 블록 포맷터(730)로 입력된다.30 is a block diagram showing an embodiment of a block processor for encoding at a 1 / N code rate according to the present invention, and includes (N-1)
본 발명에서 N은 12보다 같거나 작은 것을 일 실시예로 한다. In the present invention, N is one embodiment less than or equal to 12.
만일 N이 12라면 상기 블록 포맷터(730)는 12번째 심볼-바이트 변환기(75N-1)의 출력 바이트는 12번째 트렐리스 부호기로 입력되도록 출력 데이터를 배열할 수 있다. 만일 N이 3이라면 상기 블록 포맷터(730)는 심볼-바이트 변환기(720)의 출력 바이트들은 트렐리스 부호화부(256)의 첫 번째부터 4번째 트렐리스 부호기로 입력되고, 심볼-바이트 변환기(751)의 출력 바이트들은 5번째부터 8번째 트렐리스 부호기로 입력되며, 심볼-바이트 변환기(752)의 출력 바이트들은 9번째부터 12번째 트렐리스 부호기로 입력되도록 제어할 수 있다. If N is 12, the
이때 각 심볼-바이트 변환기의 출력 데이터 순서는 각 심볼-바이트 변환기에서 출력되는 모바일 서비스 데이터와 섞이게 되는 모바일 서비스 데이터 외의 데이터들의 데이터 그룹 내 위치에 따라 달라질 수 있다.In this case, the output data order of each symbol-byte converter may vary according to the position in the data group of data other than the mobile service data mixed with the mobile service data output from each symbol-byte converter.
도 31은 본 발명의 또 다른 실시예에 블록 처리기의 상세 블록도를 보인 것으로서, 블록 포맷터를 제거하고 블록 포맷터의 역할을 그룹 포맷터에서 수행하도록 하는 것이다. 즉, 도 31의 블록 처리기는 바이트-심볼 변환기(810), 심볼-바이트 변환기(820,840), 및 심볼 인터리버(830)를 포함할 수 있다. 이 경우 각 심볼-바이트 변환기(820,840)의 출력은 그룹 포맷터(850)로 입력된다. 31 shows a detailed block diagram of a block processor in another embodiment of the present invention, in which a block formatter is removed and a role of the block formatter is performed in a group formatter. That is, the block processor of FIG. 31 may include a byte-
또한 상기 블록 처리기는 심볼 인터리버와 심볼-바이트 변환기를 더 추가하여 원하는 부호율을 얻을 수 있다. 만일 1/N 부호율로 부호화를 원하면 원래의 입력 데이터가 그대로 그룹 포맷터(850)로 전달되는 가지(branch or path)를 포함하 여 총 N개의 가지와, N-1개의 가지에 병렬로 구성되는 (N-1)개의 심볼 인터리버, 심볼-바이트 변환기를 구비하면 된다. 이때 상기 그룹 포맷터(850)는 MPEG 헤더, 비체계적 RS 패리티, 메인 서비스 데이터를 위한 위치를 확보하는 위치 홀더를 삽입하는 동시에 블록 처리기의 각 가지로부터 출력되는 바이트들을 정해진 위치에 배치한다.In addition, the block processor may add a symbol interleaver and a symbol-byte converter to obtain a desired code rate. If encoding is desired at 1 / N code rate, the original input data is composed of N branches and N-1 branches in parallel, including branches or paths that are passed to the
본 발명에서 제시하는 트렐리스 부호기의 개수, 심볼-바이트 변환기의 개수, 심볼 인터리버의 개수들은 바람직한 실시예이거나 단순한 예시인 바, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다. 또한 트렐리스 부호화부(256)의 각 트렐리스 부호기로 할당되는 바이트 종류 및 위치는 데이터 그룹 포맷에 따라 다양하게 변화될 수 있음은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게 명백한 것이다. 따라서 본 발명은 상기된 실시예로 한정되지 않는 것으로 이해되어야 한다.The number of trellis encoders, the number of symbol-byte converters, and the number of symbol interleavers presented in the present invention are preferred embodiments or simple examples, and thus the scope of the present invention is not limited to the above numerical values. In addition, it is apparent to those skilled in the art that the byte type and position allocated to each trellis encoder of the
상기와 같이 블록 처리기(303)에서 1/N 부호율로 부호화되어 출력되는 모바일 서비스 데이터는 그룹 포맷터(304)로 입력된다. 여기서는 상기 블록 처리기(303)의 블록 포맷터에서 출력 데이터 순서가 데이터 그룹 내 바이트 위치에 따라 배열되어 출력되는 것을 일 실시예로 설명한다.As described above, the mobile service data encoded and output at the 1 / N code rate by the
시그널링Signaling 정보 처리 Information processing
본 발명에 따른 송신기(200)에서는 전송 파라미터를 여러 가지 방법, 및 위치에서 삽입하여 수신 시스템으로 전송할 수 있다. In the
본 발명의 이해를 돕기 위해 송신기에서 수신 시스템으로 전송해야 할 전송 파라미터에 대해 정의하기로 한다. 상기 전송 파라미터는 데이터 그룹 정보, 데이터 그룹 내 영역 정보, 수퍼 프레임을 구성하는 RS 프레임의 개수(Super frame size :SFS), RS 프레임에서 한 개 컬럼당 RS 패리티 개수(P), RS 프레임의 로우 방향으로 에러 유무를 판단하기 위해 추가되는 체크섬의 사용유무, 사용되는 경우 그 종류와 크기(현재는 CRC로 2바이트 추가), 한 개의 RS 프레임을 구성하는 데이터 그룹의 개수- RS 프레임은 한 개의 버스트 구간에 전송되므로 한 버스트내의 데이터 그룹 개수(Burst size : BS)와 동일하다 - 그리고 터보 코드 모드, RS 코드 모드 등이 있다. 또한 버스트 수신시 필요한 전송 파라미터로는 버스트 주기(Burst Period :BP) - 한 버스트 주기는 한 버스트의 시작부터 다음 버스트의 시작까지를 필드 개수로 카운트한 값이다.- 그리고 현재 전송되는 RS 프레임이 한 개의 수퍼 프레임 내에서 차지하는 순서(Permuted Frame Index : PFI)나 한 개의 RS 프레임(버스트) 내에서 현재 전송되고 있는 그룹의 순서(Group Index :GI), 버스트 사이즈 등이 있다. 버스트 운용방법에 따라서는 다음 버스트 시작까지 남아있는 필드 개수(Time to Next Burst :TNB)가 있으며, 이러한 정보들을 전송 파라미터로서 전송함에 의해, 수신 시스템에 전송되는 각 데이터 그룹마다 다음 버스트 시작까지의 상대적인 거리(필드 개수)를 알려줄 수도 있다. To facilitate understanding of the present invention, transmission parameters to be transmitted from a transmitter to a reception system will be defined. The transmission parameter includes data group information, area information in the data group, the number of RS frames constituting a super frame (Super frame size: SFS), the number of RS parities (P) per column in the RS frame, and the row direction of the RS frame. Use of checksum added to determine whether there is an error, type and size (if present, add 2 bytes as CRC) if used, number of data groups constituting one RS frame-RS frame is one burst period Is equal to the number of data groups (Burst size (BS)) in a burst-and so on, and there are a turbo code mode and an RS code mode. In addition, the transmission parameters required for burst reception are Burst Period (BP)-one burst period is a count of the number of fields from the start of one burst to the start of the next burst. The order occupied in the super frames (Permuted Frame Index (PFI)), the order of groups currently being transmitted in one RS frame (burst) (Group Index: GI), burst size, and the like. According to the burst operation method, there is the number of fields remaining until the start of the next burst (TNB), and by transmitting this information as a transmission parameter, the relative until the start of the next burst for each data group transmitted to the receiving system. You can also tell the distance (number of fields).
상기 전송 파라미터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 전송 파라미터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The information included in the transmission parameter is only one embodiment for better understanding of the present invention, and the present invention is not limited to the above embodiment because addition and deletion of information included in the transmission parameter can be easily changed by those skilled in the art. Will not.
제1 실시예로서, 전송 파라미터는 모바일 서비스 데이터 패킷 또는 데이터 그룹의 일정 영역을 할당하여 삽입할 수 있다. 이 경우, 수신 시스템에서는 일단 수신 신호에 대해 동기와 등화가 이루어지고 심볼 단위의 복호가 이루어지고 난 후, 패킷 디포맷터에서 모바일 서비스 데이터와 전송 파라미터를 분리해 검출할 수 있다. 상기 제1 실시예의 경우, 상기 전송 파라미터는 그룹 포맷터(304)에서 삽입하여 전송할 수 있다.As a first embodiment, the transmission parameter may allocate and insert a certain area of the mobile service data packet or data group. In this case, in the receiving system, once synchronization and equalization of the received signal are performed and symbol-based decoding is performed, the packet deformatter can separate and detect the mobile service data and the transmission parameter. In the case of the first embodiment, the transmission parameter may be inserted and transmitted in the
제2 실시예로서, 전송 파라미터를 다른 데이터와 다중화하여 삽입할 수도 있다. 예를 들면, 기지 데이터를 모바일 서비스 데이터와 다중화할 때, 기지 데이터를 삽입할 수 있는 위치에 기지 데이터 대신 전송 파라미터를 삽입할 수 있으며 또는 기지 데이터와 혼합하여 삽입할 수도 있다. 상기 제2 실시예의 경우, 상기 전송 파라미터는 그룹 포맷터(304) 또는 패킷 포맷터(306)에서 삽입하여 전송할 수 있다. As a second embodiment, a transmission parameter may be inserted by multiplexing with other data. For example, when multiplexing the known data with the mobile service data, the transmission parameter may be inserted instead of the known data at a position where the known data may be inserted, or may be mixed with the known data. In the case of the second embodiment, the transmission parameter may be inserted and transmitted in the
제3 실시예로서, 전송 파라미터는 전송 프레임의 필드 동기 세그먼트 내에 미사용 영역의 일부를 할당하여 삽입할 수도 있다. 이 경우, 수신 시스템에서는 수신 신호에 대한 심볼 단위의 복호가 이루어지기 전에 상기 전송 파라미터를 검출할 수 있기 때문에, 상기 블록 처리기(303), 그룹 포맷터(304)의 처리 방법에 대한 정보를 갖는 전송 파라미터를 상기 필드 동기 신호의 미사용 영역에 삽입할 수 있다. 즉, 상기 수신 시스템에서는 필드 동기 세그먼트를 이용하여 필드 동기를 획득한 후 약속된 위치에서 전송 파라미터를 검출할 수 있다. 상기 제3 실시예의 경우, 상기 전송 파라미터는 동기 다중화기(260)에서 삽입하여 전송할 수 있다.As a third embodiment, the transmission parameter may allocate and insert a part of the unused area in the field sync segment of the transmission frame. In this case, since the transmission system can detect the transmission parameter before symbol-based decoding of the received signal is performed, the transmission parameter having information on the processing method of the
제4 실시예로서, 상기 전송 파라미터는 트랜스포트 스트림(Transport Stream) 패킷보다 높은 계층(layer)에서 삽입하여 전송할 수도 있다. 이 경우, 수신 시스템에서는 신호를 수신하여 TS 패킷 계층 이상으로 이미 만들 수 있어야 하고, 이때 전송 파라미터의 용도는 현재 수신한 신호의 전송 파라미터에 대한 검증 역할과 이 후에 수신될 신호의 전송 파라미터를 주는 역할을 수행할 수 있다.As a fourth embodiment, the transport parameter may be inserted and transmitted at a higher layer than a transport stream packet. In this case, the receiving system should be able to receive the signal and make it beyond the TS packet layer, and the purpose of the transmission parameter is to verify the transmission parameter of the currently received signal and to give the transmission parameter of the signal to be received later. Can be performed.
본 발명에서는 전송 신호에 관련된 여러 가지의 전송 파라미터들을 상기된 실시예들의 방법을 통해 삽입하여 전송하는데, 이때 상기 전송 파라미터는 어느 한 실시예를 통해서만 삽입하여 전송할 수도 있고, 일부 실시예를 통해서 삽입하여 전송할 수도 있으며, 모든 실시예를 통해 삽입하여 전송할 수도 있다. 또한 전송 파라미터 내 정보는 각 실시예에서 중복되어 삽입될 수도 있고, 필요한 정보만 해당 실시예의 해당 위치에서 삽입되어 전송될 수도 있다. In the present invention, various transmission parameters related to a transmission signal are inserted and transmitted through the method of the above-described embodiments, wherein the transmission parameters may be inserted and transmitted only through one embodiment or may be inserted through some embodiments. It may be transmitted or may be inserted and transmitted through all embodiments. In addition, the information in the transmission parameter may be inserted in duplicate in each embodiment, or only necessary information may be inserted and transmitted in the corresponding position of the embodiment.
그리고 상기 전송 파라미터는 강인성을 확보하기 위하여 짧은 주기의 블록 부호화를 수행한 후 해당 영역에 삽입될 수 있다. 상기 짧은 주기의 블록 부호화 방법으로는 예를 들면, 커독(Kerdock) 부호화, BCH 부호화, RS 부호화, 전송 파라미터의 반복 부호화 등이 있다. 또한, 여러 개의 블록 부호화의 조합도 가능하다. In addition, the transmission parameter may be inserted into a corresponding region after performing block coding of a short period to ensure robustness. Examples of the short-term block coding method include Kerdock coding, BCH coding, RS coding, repetitive coding of transmission parameters, and the like. In addition, a combination of several block encodings is also possible.
상기 전송 파라미터들을 모아 작은 크기의 블록 부호를 만들어 데이터 그룹 내에 signaling용으로 할당해둔 바이트에 삽입하여 전송할 수 있다. 하지만 이 경우 수신 측면에서 블록 복호기를 통과하여 전송 파라미터 값이 얻어지므로 블록 복호시 필요한 터보 코드 모드, RS 코드 모드 등의 전송 파라미터는 먼저 얻어져야 한다. 이 때문에 모드에 관련된 전송 파라미터는 기지 데이터 영역의 일부 구간에 전송 파라미터를 삽입할 수 있으며, 이 경우 빠른 복호를 위해 심볼의 상관관계를 이용할 수 있다. The transmission parameters may be collected to form a small block code and inserted into a byte allocated for signaling in a data group for transmission. However, in this case, since the transmission parameter value is obtained by passing through the block decoder in terms of reception, transmission parameters such as the turbo code mode and the RS code mode necessary for block decoding must be obtained first. For this reason, the transmission parameter related to the mode may insert the transmission parameter into a part of the known data region, and in this case, symbol correlation may be used for fast decoding.
한편 상기 전송 파라미터가 필드 동기 세그먼트 영역 또는 기지 데이터 영역에 삽입되어 전송되는 경우, 상기 전송 파라미터가 전송 채널을 거쳤을 때 그 신뢰도가 떨어지므로, 전송 파라미터에 따라 기 정의된 패턴들 중 하나를 삽입하는 것도 가능하다. 이때 수신 시스템에서는 수신된 신호와 기 정의된 패턴들과의 상관 연산을 수행하여 전송 파라미터를 인식할 수 있다. On the other hand, when the transmission parameter is inserted into the field sync segment area or the known data area and is transmitted, since the reliability is lowered when the transmission parameter passes through the transmission channel, one of the predefined patterns is inserted according to the transmission parameter. It is also possible. In this case, the reception system may recognize a transmission parameter by performing a correlation operation between the received signal and predefined patterns.
예를 들어, 버스트 내의 그룹의 개수가 18개인 경우를 F 패턴으로 송/수신측의 약속에 의해 미리 정하였다고 가정하자. 그러면 송신측에서는 버스트 내의 그룹의 개수가 18개일 때는 F 패턴을 삽입하여 전송한다. 그리고 수신측에서는 수신 데이터와 미리 생성한 F 패턴을 포함하는 여러 기준 패턴들과의 상관 연산을 수행한다. 이때 수신 데이터와 F 패턴과의 상관값이 제일 크면 상기 수신 데이터는 전송 파라미터 특히, 버스트 내의 그룹의 개수를 나타내며 이때 그 개수는 18개라고 인식할 수 있게 된다. For example, suppose that the number of groups in the burst is 18, determined in advance by the appointment of the transmitting / receiving side in the F pattern. Then, when the number of groups in the burst is 18, the transmitting side inserts and transmits an F pattern. The receiving side performs a correlation operation between the received data and various reference patterns including the pre-generated F pattern. In this case, if the correlation value between the received data and the F pattern is the largest, the received data indicates a transmission parameter, in particular, the number of groups in the burst, and the number is 18.
다음은 전송 파라미터 삽입 및 전송하는 과정을 제1 내지 제3 실시예로 나누어 설명한다.Next, a process of inserting and transmitting a transmission parameter will be described by dividing the first to third embodiments.
제1 First 실시예Example
도 32는 그룹 포맷터(304)에서 전송 파라미터를 입력받아 데이터 그룹 내 A 영역에 삽입하기 위한 본 발명의 개략도이다. 32 is a schematic diagram of the present invention for receiving a transmission parameter from the
이때, 상기 그룹 포맷터(304)는 블록 처리기(303)로부터 모바일 서비스 데이 터를 입력받는다. 이에 반해 전송 파라미터는 데이터 랜더마이징 과정, RS 프레임 부호화 과정, 블록 처리 과정 중 적어도 하나의 과정을 거친 후 그룹 포맷터(304)로 입력될 수도 있고, 세 과정 모두를 거치지 않고 그룹 포맷터(304)로 입력될 수도 있다. 또한 상기 전송 파라미터는 서비스 다중화기(100)에서 제공될 수도 있고, 송신기(200) 내부에서 발생하여 제공될 수도 있다. At this time, the
상기 전송 파라미터는 수신 시스템에서 상기 데이터 그룹에 포함되는 데이터를 수신하여 처리하는데 필요한 정보들을 포함할 수 있다. 예를 들면, 상기 전송 파라미터는 데이터 그룹 정보, 다중화 정보 등을 포함할 수 있다. The transmission parameter may include information necessary for receiving and processing data included in the data group in a receiving system. For example, the transmission parameter may include data group information, multiplexing information, and the like.
상기 그룹 포맷터(304)에서는 데이터 그룹을 형성하는 규칙에 따라 데이터 그룹 내 해당 영역에 입력되는 모바일 서비스 데이터와 전송 파라미터를 삽입한다. The group formatter 304 inserts mobile service data and transmission parameters input to a corresponding area in the data group according to a rule for forming a data group.
일 실시예로, 상기 전송 파라미터는 짧은 주기의 블록 부호화를 거친 후 상기 데이터 그룹 내 A 영역에 삽입될 수 있다. 특히 상기 전송 파라미터는 A 영역 중 약속된 임의의 위치에 삽입될 수 있다.According to an embodiment, the transmission parameter may be inserted in an area A of the data group after a short period of block encoding. In particular, the transmission parameter may be inserted at any position promised in the A area.
만일 상기 전송 파라미터가 블록 처리기(303)에서 블록 처리 과정을 거쳤다고 가정하면, 상기 블록 처리기(303)에서는 전송 파라미터를 담고있는 시그널링 정보도 모바일 서비스 데이터 처리 과정과 동일하게 1/2 부호화 또는 1/4 부호화를 수행한 후 그룹 포맷터(304)로 출력한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다. If it is assumed that the transmission parameter has been processed by the
도 33은 전송 파라미터를 입력받아 모바일 서비스 데이터와 동일한 과정으로 처리하는 블록 처리기의 일 예를 나타낸 블록도로서, 도 23의 구성 요소에 시그널 링 정보 제공부(411)와 다중화기(412)가 더 추가된 예를 보이고 있다. FIG. 33 is a block diagram illustrating an example of a block processor that receives a transmission parameter and processes the same as mobile service data. The signaling
즉, 시그널링 정보 제공부(411)에서는 전송 파라미터를 담고있는 시그널링 정보를 다중화기(412)로 출력한다. 상기 다중화기(412)는 시그널링 정보와 RS 프레임 부호기(302)의 출력을 다중화하여 바이트-비트 변환기(401)로 출력한다.That is, the signaling
상기 바이트-비트 변환기(401)는 다중화기(412)에서 출력되는 모바일 서비스 데이터 바이트 또는 시그널링 정보 바이트를 비트로 구분하여 심볼 부호기(402)로 출력한다.The byte-
이후의 동작은 상기된 도 23을 참조하면 되므로, 상세 설명을 생략한다.Since the subsequent operation may refer to FIG. 23 described above, a detailed description thereof will be omitted.
만일, 상기 블록 처리기(303)의 상세 구성이 도 26, 도 29 내지 도 31 중 적어도 하나를 적용한다면 상기 시그널링 정보 제공부(411)와 다중화기(412)는 바이드-심볼 변환기 전단에 구비될 수 있다.If the detailed configuration of the
또한 상기 시그널링 정보 제공부(411)에서 제공되는 전송 파라미터가 심볼 단위라면 상기 시그널링 정보 제공부(411)와 다중화기(412)는 바이트-심볼 변환기 후단에 구비될 수 있다.In addition, if the transmission parameter provided from the signaling
제2 2nd 실시예Example
한편 상기 그룹 포맷터(304)에서 기 정해진 방법에 의해서 발생된 기지 데이터를 데이터 그룹 내 해당 영역에 삽입할 경우, 기지 데이터를 삽입할 수 있는 영역의 적어도 일부에 기지 데이터 대신 전송 파라미터를 삽입할 수도 있다. On the other hand, when the
예를 들어, 데이터 그룹 내 A 영역의 시작 부분에 긴 기지 데이터 열을 삽입하는 경우, 이 중 일부에는 기지 데이터 대신 전송 파라미터를 삽입할 수도 있다. 이때 상기 전송 파라미터가 삽입되는 영역을 제외한 나머지 영역에 삽입되는 기지 데이터 열 중 일부는 수신 시스템에서 데이터 그룹의 시작점을 포착하는데 사용할 수 있고, 다른 일부는 수신 시스템에서 채널 등화를 위해 사용할 수 있다. For example, when inserting a long known data string at the beginning of the A region in the data group, some of these may insert a transmission parameter instead of known data. At this time, some of the known data strings inserted in the remaining region except for the region in which the transmission parameter is inserted may be used to capture the starting point of the data group in the receiving system, and others may be used for channel equalization in the receiving system.
그리고 상기 기지 데이터 영역에 기지 데이터 대신 전송 파라미터를 삽입하는 경우, 전송 파라미터는 짧은 주기로 블록 부호화하여 삽입할 수도 있고, 전술한 바와 같이 전송 파라미터에 따라 기 정의된 패턴을 삽입할 수도 있다. When the transmission parameter is inserted in the known data area instead of the known data, the transmission parameter may be inserted by block coding in a short period or a predetermined pattern may be inserted according to the transmission parameter as described above.
만일 상기 그룹 포맷터(304)에서 데이터 그룹 내 기지 데이터를 삽입할 수 있는 영역에 기지 데이터 대신 기지 데이터 위치 홀더를 삽입하는 경우, 상기 전송 파라미터는 패킷 포맷터(306)에서 삽입할 수도 있다. If the
즉, 상기 패킷 포맷터(306)는 상기 그룹 포맷터(304)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 기지 데이터를 대체하여 삽입할 수도 있고, 상기 그룹 포맷터(304)에서 기지 데이터를 삽입한 경우에는 그대로 출력할 수도 있다. That is, the
도 34는 상기 패킷 포맷터(306)에서 전송 파라미터를 삽입하기 위하여 패킷 포맷터를 확장한 실시예를 보인 구성 블록도로서, 상기 패킷 포맷터(306)에 기지 데이터 발생부(351)와 시그널링 다중화기(352)가 더 포함된 구조이다. 상기 시그널링 다중화기(352)로 입력되는 전송 파라미터는 현재 버스트의 길이에 대한 정보, 다음 버스트의 시점을 알려주는 정보, 버스트 내 그룹들이 존재하는 위치와 길이, 버스트 내에서 현재 그룹에서 다음 그룹까지의 시간, 기지 데이터에 대한 정보 등을 포함할 수 있다.FIG. 34 is a block diagram illustrating an example in which the packet formatter is expanded to insert a transmission parameter in the
상기 시그널링 다중화기(352)는 전송 파라미터와 기지 데이터 발생부(351)에서 발생된 기지 데이터 중 하나를 선택하여 패킷 포맷터(306)로 출력한다. 상기 패킷 포맷터(306)는 상기 데이터 디인터리버(305)에서 출력되는 기지 데이터 위치 홀더에 상기 시그널링 다중화기(352)에서 출력되는 기지 데이터 또는 전송 파라미터를 삽입하여 출력한다. 즉 상기 패킷 포맷터(306)는 기지 데이터 영역의 적어도 일부에 기지 데이터 대신 전송 파라미터를 삽입하여 출력한다. The signaling multiplexer 352 selects one of a transmission parameter and known data generated from the known data generator 351 and outputs it to the
예를 들어, 데이터 그룹 내 A 영역의 시작 부분에 기지 데이터 위치 홀더를 삽입한 경우, 상기 기지 데이터 위치 홀더 중 일부에 기지 데이터 대신 전송 파라미터를 삽입할 수 있다. For example, when the known data position holder is inserted at the beginning of the area A in the data group, a transmission parameter may be inserted in some of the known data position holders instead of the known data.
그리고 상기 기지 데이터 위치 홀더에 기지 데이터 대신 전송 파라미터를 삽입하는 경우, 상기 전송 파라미터는 짧은 주기로 블록 부호화하여 삽입할 수도 있고, 전송 파라미터에 따라 기 정의된 패턴을 삽입할 수도 있다. When the transmission parameter is inserted in the known data position holder instead of the known data, the transmission parameter may be inserted by block encoding in a short period or a predetermined pattern may be inserted according to the transmission parameter.
즉, 상기 시그널링 다중화기(352)에서는 기지 데이터와 전송 파라미터(또는 전송 파라미터에 따라 정의된 패턴)를 다중화하여 새로운 기지 데이터 열을 구성한 후 패킷 포맷터(306)로 출력한다. 상기 패킷 포맷터(306)는 데이터 디인터리버(305)의 출력으로부터 메인 서비스 데이터 위치 홀더, RS 패리티 위치 홀더를 제거하고, 모바일 서비스 데이터와 MPEG 헤더, 시그널링 다중화기(352)의 출력으로 188 바이트의 모바일 서비스 데이터 패킷을 생성하여 패킷 다중화기(240)로 출력한다. That is, the signaling multiplexer 352 multiplexes the known data and the transmission parameters (or patterns defined according to the transmission parameters) to form a new known data string and outputs the new known data string to the
이 경우 각 데이터 그룹 내 A 영역은 각기 다른 기지 데이터 패턴을 갖게 된 다. 따라서 수신 시스템에서는 기지 데이터열 중에서 약속된 구간의 심볼만을 떼어 전송 파라미터로 인식하게 된다. In this case, the A region in each data group will have a different known data pattern. Therefore, the reception system recognizes only the symbol of the promised interval in the known data sequence as a transmission parameter.
이때 상기 기지 데이터는 전송 시스템의 설계 방식에 따라 패킷 포맷터(306)나 그룹 포맷터(304) 또는 블록 처리기(303)등 다른 위치에서 삽입될 수 있으므로, 기지 데이터를 삽입하는 블록에서 상기 기지 데이터 대신 전송 파라미터를 삽입할 수 있다. In this case, since the known data may be inserted at another location such as the
상기 제2 실시예에서는 기지 데이터 영역 중 일부에 블록 처리기(303)의 처리 방법을 포함하는 전송 파라미터를 삽입하여 전송할 수 있다. 이 경우 전송 파라미터 심볼 자체를 위한 심볼 처리 방법과 그 위치가 정해져 있으며, 복호할 다른 데이터 심볼보다 시간적으로 먼저 송수신하도록 위치시켜야 한다. 그러면 수신 시스템에서 상기 전송 파라미터 심볼을 데이터 심볼 복호 전에 검출하여 데이터 심볼을 위한 복호에 사용할 수 있다. In the second embodiment, a transmission parameter including a processing method of the
제3 The third 실시예Example
한편 전송 파라미터는 상기 필드 동기 세그먼트 영역에 삽입하여 전송할 수도 있다. Meanwhile, the transmission parameter may be inserted into the field sync segment area and transmitted.
도 35는 전송 파라미터를 필드 동기 세그먼트 영역에 삽입하기 위해 동기 다중화기를 확장한 실시예를 보인 구성 블록도로서, 상기 동기 다중화기(260)에 시그널링 다중화기(261)가 더 포함된 구조이다. FIG. 35 is a block diagram illustrating an embodiment in which a synchronous multiplexer is extended to insert a transmission parameter into a field sync segment region. The
통상 VSB 방식의 전송 프레임은 2개의 필드로 구성되고, 각 필드는 하나의 필드 동기 세그먼트와 312개의 데이터 세그먼트로 이루어진다. 각 데이터 세그먼트 는 총 832 심볼로 구성된다. 이때, 한 데이터 세그먼트에서 첫 번째 4 심볼은 세그먼트 동기 부분이고, 한 필드에서 첫 번째 데이터 세그먼트는 필드 동기 부분이 된다. In general, a VSB transmission frame includes two fields, and each field includes one field sync segment and 312 data segments. Each data segment consists of a total of 832 symbols. In this case, the first 4 symbols in one data segment are segment sync parts, and the first data segment in a field is field sync parts.
하나의 필드 동기 신호는 하나의 데이터 세그먼트 길이로 이루어지며, 처음 4개의 심볼(symbol)에 데이터 세그먼트 동기 패턴이 존재하고, 그 다음에 유사 랜덤 시퀀스(Pseudo Random Sequence)인 PN 511, PN 63, PN 63, PN 63이 존재하며 그 다음 24 심볼에는 VSB 모드 관련 정보가 존재한다. 그리고 상기 VSB 모드 관련 정보가 존재하는 24 심볼 다음의 나머지 104 심볼은 미사용(Reserved)인데, 상기 미사용 영역 중 마지막 12 심볼에는 이전 세그먼트의 마지막 12 심볼 데이터를 복사하여 놓는다. 그러면 상기 필드 동기 세그먼트에서 92개 심볼이 실제적인 미사용 영역이 된다. One field sync signal consists of one data segment length, and there is a data segment sync pattern in the first four symbols, followed by PN 511, PN 63, and PN, which are pseudo random sequences. 63, PN 63 is present and the next 24 symbols are VSB mode-related information. The remaining 104 symbols after the 24 symbols in which the VSB mode related information exists are reserved. The last 12 symbols of the previous segment are copied to the last 12 symbols of the unused region. Then, 92 symbols in the field sync segment become actual unused areas.
따라서 상기 시그널링 다중화기(261)는 전송 파라미터가 필드 동기 세그먼트의 미사용 영역에 삽입되도록 기존의 필드 동기 세그먼트 심볼과 다중화하여 동기 다중화기(260)로 출력한다. 상기 동기 다중화기(260)는 세그먼트 동기 심볼, 데이터 심볼들, 그리고 상기 시그널링 다중화기(261)에서 출력되는 새로운 필드 동기 세그먼트를 다중화하여 새로운 전송 프레임을 구성한다. 상기 전송 파라미터가 삽입된 필드 동기 세그먼트를 포함하는 전송 프레임은 송신부(270)로 입력된다. Accordingly, the signaling
이때, 상기 전송 파라미터를 삽입하기 위한 필드 동기 세그먼트 내의 미사용 영역은 92 심볼의 미사용 영역의 일부 또는 전체가 될 수도 있다. In this case, the unused area in the field sync segment for inserting the transmission parameter may be part or all of the unused area of 92 symbols.
상기 미사용 영역에 삽입하는 전송 파라미터는 일 예로, 메인 서비스 데이터 인지 모바일 서비스 데이터인지 또는 다른 종류의 모바일 서비스 데이터인지 등을 구별하는 정보를 포함할 수 있다.The transmission parameter inserted into the unused area may include, for example, information for distinguishing whether the service data is main service data, mobile service data, or other types of mobile service data.
만일, 상기 블록 처리기(303)의 처리 방법에 대한 정보가 전송 파라미터의 일부로서 전송되는 경우, 수신 시스템에서 블록 처리기(303)에 해당하는 복호가 수행될 때 이 블록 처리 방법에 대한 정보를 알아야 복호가 가능하다. 그러므로 블록 처리기(303)의 처리 방법에 대한 정보는 블록 디코딩 전에 알 수 있어야 한다. If the information on the processing method of the
따라서 상기 제3 실시예에서와 같이 블록 처리기(303)(및/또는 그룹 포맷터(304))의 처리 방법에 대한 정보를 갖는 전송 파라미터를 상기 필드 동기 신호의 미사용 영역에 삽입하여 전송하면, 수신 시스템에서는 수신 신호에 대한 블록 디코딩이 이루어지기 전에 상기 전송 파라미터를 검출할 수 있게 된다.Therefore, as in the third embodiment, when a transmission parameter having information about the processing method of the block processor 303 (and / or the group formatter 304) is inserted into the unused area of the field sync signal and transmitted, the reception system In this case, the transmission parameter can be detected before block decoding is performed on a received signal.
수신 시스템Receiving system
도 36은 본 발명에 따른 수신 시스템의 일 실시예를 보인 구성 블록도이다. 도 36의 수신 시스템에서는 전송 시스템에서 모바일 서비스 데이터 구간에 삽입하여 전송하는 기지 데이터 정보를 이용하여 반송파 동기 복원, 프레임 동기 복원 및 채널 등화 등을 수행함으로써, 수신 성능을 향상시킬 수 있다. 36 is a block diagram showing an embodiment of a receiving system according to the present invention. In the reception system of FIG. 36, reception performance may be improved by performing carrier synchronization recovery, frame synchronization recovery, channel equalization, etc. using known data information inserted into a mobile service data interval by a transmission system and transmitted.
이를 위한 본 발명에 따른 수신 시스템은 튜너(901), 복조기(902), 등화기(903), 기지 데이터 검출기(904), 블록 복호기(905), 데이터 디포맷터(906), RS 프레임 복호기(907), 디랜더마이저(908), 데이터 디인터리버(909), RS 복호기(910), 및 데이터 디랜더마이저(911)를 포함할 수 있다. 본 발명은 설명의 편의를 위해 데이터 디포맷터(906), RS 프레임 복호기(907), 및 디랜더마이저(908)를 모바일 서비스 데이터 처리부라 하고, 데이터 디인터리버(909), RS 복호기(910), 및 데이터 디랜더마이저(911)를 메인 서비스 데이터 처리부라 하기로 한다. 만일 수신 시스템이 모바일 전송 수신 시스템이라면 상기 메인 서비스 데이터 처리부는 수신 시스템에 포함되지 않을 수 있다.The reception system according to the present invention for this purpose is a
즉, 상기 튜너(901)는 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조기(902)와 기지 데이터 검출기(904)로 출력한다.That is, the
상기 복조기(902)는 입력되는 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 만든 후 등화기(903)와 기지 데이터 검출기(904)로 출력한다. The
상기 등화기(903)는 상기 복조된 신호에 포함된 채널 상의 왜곡을 보상한 후 블록 복호기(905)로 출력한다. The
이때 상기 기지 데이터 검출기(904)는 상기 복조기(902)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 이루어진 후의 데이터로부터 송신측에서 삽입한 기지 데이터 위치를 검출하고, 검출된 기지 데이터 위치 정보(Known data position information)와 함께 그 위치에서 발생시킨 기지 데이터를 복조기(902)와 등화기(903)로 출력한다. At this time, the known
또한 상기 기지 데이터 검출기(904)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 상기 블록 복호기(905)에 의해서 구분할 수 있도록 하기 위한 정보를 상기 블록 복호기(905)로 출력한다. 그리고 도 36의 도면에서 연결 상태를 도시하지는 않았지만 상기 기지 데이터 검출기(904)에서 검출된 정보는 수신 시스템에 전반적으로 사용이 가능하며, 데이터 디포맷터(906)와 RS 프레임 복호기(907) 등에서 사용할 수도 있다. In addition, the known
상기 복조기(902)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 위치 정보 및 기지 데이터를 이용함으로써, 복조 성능을 향상시킬 수 있고, 등화기(903)에서도 마찬가지로 상기 기지 데이터 위치 정보 및 기지 데이터를 사용하여 등화 성능을 향상시킬 수 있다. 또한 상기 블록 복호기(905)의 복호 결과를 상기 등화기(903)로 피드백하여 등화 성능을 향상시킬 수도 있다. The
상기 등화기(903)는 다양한 방법으로 채널 등화를 수행할 수 있다. 일 예로, 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행할 수 있다.The
본 발명에서는 전송 시스템에서 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 것을 일 실시예로 설명한다. 또한 본 발명은 송/수신측의 약속에 의해 위치와 내용을 알고 있는 기지 데이터와 필드 동기를 이용하여 CIR을 추정함으로써, 채널 등화를 더욱 안정적으로 수행할 수 있다.In the present invention, the estimation and application of the channel impulse response (CIR) according to each region in the data group transmitted in the transmission system will be described as an embodiment. In addition, the present invention can more stably perform channel equalization by estimating the CIR using known data and field synchronization that know the location and content of the transmission / reception side.
이때 등화를 위해 입력된 하나의 데이터 그룹은 도 19a와 같이, A 내지 C 영역으로 구분되고, 다시 A 영역은 A1~A5 영역으로, B 영역은 B1,B2 영역으로, C1 영역은 C1~C3 영역으로 구분되어 있는 것을 일 실시예로 한다. At this time, one data group inputted for equalization is divided into areas A to C, as shown in FIG. 19A, and areas A to A1 to A5, B areas to B1 and B2 areas, and C1 to C1 to C3 areas. In one embodiment, those separated by.
도 19a와 같은 데이터 구조에서 필드 동기로부터 추정되는 CIR을 CIR_FS 라 고 하고, A 영역에 존재하는 다섯 개의 기지 데이터 열(sequence)로부터 추정되는 CIR을 순서대로 CIR_N0, CIR_N1, CIR_N2, CIR_N3, CIR_N4 라고 하자. Let CIR estimated from field synchronization in the data structure as shown in FIG. 19A be called CIR_FS, and CIR estimated from five known data sequences in region A in order CIR_N0, CIR_N1, CIR_N2, CIR_N3, and CIR_N4. .
본 발명은 상기 필드 동기와 기지 데이터 열로부터 추정된 CIR을 이용하여 데이터 그룹 내 데이터에 대해 채널 등화를 수행하는데, 이때 데이터 그룹의 각 영역의 특징에 따라 상기 추정된 CIR들 중 하나를 그대로 사용하기도 하고, 적어도 복수개 이상의 CIR을 보간(interpolation)하거나, 외삽(extrapolation)하여 생성된 CIR을 사용하기도 한다. According to the present invention, channel equalization is performed on data in a data group using the field synchronization and the CIR estimated from the known data stream. In this case, one of the estimated CIRs may be used as it is according to the characteristics of each region of the data group. In addition, CIR generated by interpolating or extrapolating at least a plurality of CIRs may be used.
여기서 보간(interpolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 어떤 시점에서의 함수값을 추정하는 것을 의미하며, 상기 보간의 가장 간단한 예로 선형 보간(Linear Interpolation)이 있다. 상기 선형 보간 기법은 수많은 보간 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. Here, interpolation is a function value at some point between Q and S when the function value F (Q) at point Q and the function value F (S) at point S are known for a function F (x). It is meant to estimate, and the simplest example of the interpolation is linear interpolation. The linear interpolation technique is the simplest of many interpolation techniques, and various other interpolation techniques may be used in addition to the above-described methods, and thus the present invention will not be limited to the examples described above.
또한 외삽(extrapolation)은 어떤 함수 F(x)에 대해 시점 QA에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 구간이 아닌 바깥쪽의 시점에서의 함수값을 추정하는 것을 의미한다. 상기 외삽의 가장 간단한 예로 선형 외삽(Linear Extrapolation)이 있다. 상기 선형 외삽 기법은 수많은 외삽 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 외삽 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. Also, extrapolation is defined by the fact that the function value F (Q) at time point QA and the function value F (S) at time point S is known for some function F (x). It means to estimate the function value at the time point. The simplest example of such extrapolation is linear extrapolation. The linear extrapolation technique is the simplest of many extrapolation techniques, and various other extrapolation techniques may be used in addition to the above-described methods, and thus the present invention will not be limited to the examples described above.
예를 들어, 상기 C1 영역의 경우, 이전 데이터 그룹에서 추정한 CIR_N4, 채 널 등화를 수행할 현재 데이터 그룹에서 추정한 CIR_FS, 또는 현재 데이터 그룹의 CIR_FS와 CIR_N0를 외삽하여 생성한 CIR 중 하나를 사용하여 채널 등화를 수행할 수 있다. For example, in the C1 region, one of CIR_N4 estimated in the previous data group, CIR_FS estimated in the current data group to perform channel equalization, or CIR generated by extrapolating CIR_FS and CIR_N0 of the current data group, is used. Channel equalization can be performed.
상기 B1 영역의 경우, C1 영역과 같이 여러 가지 방법이 적용 가능하다. 일예로, 현재 데이터 그룹에서 추정한 CIR_FS와 CIR_N0를 선형 외삽(extrapolation)하여 생성한 CIR을 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_FS를 사용하여 채널 등화를 수행할 수도 있다.In the case of the B1 region, various methods are applicable as in the C1 region. For example, channel equalization may be performed using CIR generated by linear extrapolation of CIR_FS and CIR_N0 estimated by the current data group. Alternatively, channel equalization may be performed using the CIR_FS estimated from the current data group.
상기 A1 영역의 경우, 현재 데이터 그룹에서 추정한 CIR_FS와 CIR_N0를 보간하여 생성한 CIR를 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_FS와 CIR_N0 중 어느 하나를 이용하여 채널 등화를 수행할 수도 있다.In the A1 region, channel equalization may be performed using CIR generated by interpolating CIR_FS and CIR_N0 estimated in the current data group. Alternatively, channel equalization may be performed using any one of CIR_FS and CIR_N0 estimated by the current data group.
상기 A2~A5 영역의 경우, 현재 데이터 그룹에서 추정한 CIR_N(i-1)과 CIR_N(i)를 보간하여 생성한 CIR을 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_N(i-1)과 CIR_N(i) 중 어느 하나를 이용하여 채널 등화를 수행할 수도 있다. In the A2 to A5 regions, channel equalization may be performed using CIR generated by interpolating CIR_N (i-1) and CIR_N (i) estimated in the current data group. Alternatively, channel equalization may be performed using any one of CIR_N (i-1) and CIR_N (i) estimated in the current data group.
상기 B2,C2,C3 영역의 경우, 현재 데이터 그룹에서 추정한 CIR_N3와 CIR_N4를 외삽하여 생성한 CIR을 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_N4를 사용하여 채널 등화를 수행할 수도 있다.In the B2, C2, and C3 regions, channel equalization may be performed using CIR generated by extrapolating CIR_N3 and CIR_N4 estimated by the current data group. Alternatively, channel equalization may be performed using CIR_N4 estimated from the current data group.
이렇게 함으로써, 상기 데이터 그룹에 삽입된 데이터에 대해 채널 등화시에 최적의 성능을 얻을 수가 있다. In this way, optimum performance can be obtained at the time of channel equalization for the data inserted in the data group.
지금까지 설명한 데이터 그룹 내 각 영역에서 채널 등화를 위해 CIR을 구하는 방법들은 본 발명의 이해를 돕기 위한 실시예들이며, 이러한 방법들은 보다 넓고 다양하게 응용될 수 있으므로 본 발명은 상기 실시예로 제시한 것에 제한되지 않을 것이다. The methods for obtaining CIR for channel equalization in each region in the data group described above are exemplary embodiments for better understanding of the present invention, and the present invention may be applied to a wider variety of applications. It will not be limited.
전술한 방법들 중 적어도 하나로 채널 등화된 데이터는 블록 복호기(905)로 입력된다. The channel equalized data in at least one of the methods described above is input to the
상기 블록 복호기(905)는 상기 등화기(903)에서 채널 등화된 후 입력되는 데이터가 송신측에서 추가적인 부호화와 트렐리스 부호화가 모두 수행된 데이터 그룹이면 송신측의 역 과정으로 트렐리스 복호 및 추가적인 복호를 수행한다. 또한 상기 블록 복호기(905)는 상기 등화기(903)에서 채널 등화된 후 입력되는 데이터가 추가적인 부호화는 수행되지 않고 트렐리스 부호화만 수행된 메인 서비스 데이터이면 트렐리스 복호만 수행한다. 상기 블록 복호기(905)에서 복호된 데이터 그룹은 데이터 디포맷터(906)로 입력되고, 메인 서비스 데이터는 데이터 디인터리버(909)로 입력된다. 다른 실시예로, 상기 메인 데이터는 상기 블록 복호기(905)에서 그대로 바이패스되어 데이터 디인터리버(909)로 입력될 수도 있다. 이 경우 상기 데이터 디인터리버(909) 전단에 메인 서비스 데이터를 위한 트렐리스 복호기를 구비하여야 한다.The
상기 블록 복호기(905)는 상기 데이터 그룹을 데이터 디포맷터(906)로 출력할 때, 상기 데이터 그룹에 삽입되었던 기지 데이터, 트렐리스 초기화 데이터, MPEG 헤더 그리고 전송 시스템의 RS 부호기/비체계적 RS 부호기 또는 비체계적 RS 부호기에서 부가된 RS 패리티를 제거하여 데이터 디포맷터(906)로 출력한다. 여기서 데이터 제거는 블록 복호전에 이루어질 수도 있고, 블록 복호 중이나 블록 복호 후에 이루어질 수도 있다. 만일 송신측에서 시그널링 정보를 데이터 그룹에 포함하여 전송한다면, 상기 시그널링 정보는 데이터 디포맷터(906)로 출력된다.When the
상기 블록 복호기(905)는 입력된 데이터가 메인 서비스 데이터이면 입력 데이터에 대해 비터비 복호를 수행하여 하드 판정값을 출력하거나 또는 소프트 판정값을 하드 판정하고 그 결과를 출력할 수도 있다. If the input data is main service data, the
그리고 상기 블록 복호기(905)는 입력된 데이터가 데이터 그룹의 모바일 서비스 데이터이면 입력된 모바일 서비스 데이터에 대하여 하드 판정값 또는 소프트 판정값을 출력할 수 있다.If the input data is mobile service data of a data group, the
즉, 상기 블록 복호기(905)는 입력된 데이터가 모바일 서비스 데이터이면 전송 시스템의 블록 처리기와 트렐리스 부호화부에서 부호화된 데이터에 대해서 복호를 수행한다. 이때 송신측의 전처리기의 RS 프레임 부호기는 외부 부호가 되고, 블록 처리기와 트렐리스 부호화부는 하나의 내부 부호로 볼 수 있다. That is, if the input data is mobile service data, the
이러한 연접 부호의 복호시에 외부 부호의 성능을 최대한 발휘하기 위해서는 내부 부호의 복호기에서 소프트 판정값을 출력해 주어야 한다. In order to maximize the performance of the outer code at the time of decoding the concatenated code, the soft decision value should be output from the decoder of the inner code.
따라서 상기 블록 복호기(905)는 모바일 서비스 데이터에 대해 하드 판정(hard decision) 값을 출력할 수도 있으나, 소프트 판정값을 출력하는 것이 더 좋다. Accordingly, the
한편 상기 데이터 디인터리버(909), RS 복호기(910), 및 디랜더마이저(911) 는 메인 서비스 데이터를 수신하기 위해 필요한 블록들로서, 오직 모바일 서비스 데이터만을 수신하기 위한 수신 시스템 구조에서는 필요하지 않을 수도 있다. Meanwhile, the
상기 데이터 디인터리버(909)는 송신측의 데이터 인터리버의 역과정으로 상기 블록 복호기(905)에서 출력되는 메인 서비스 데이터를 디인터리빙하여 RS 복호기(910)로 출력한다. The data deinterleaver 909 deinterleaves the main service data output from the
상기 RS 복호기(910)는 디인터리빙된 데이터에 대해 체계적 RS 복호를 수행하여 디랜더마이저(911)로 출력한다. The
상기 디랜더마이저(911)는 RS 복호기(910)의 출력을 입력받아서 송신기의 랜더마이저와 동일한 의사 랜덤(pseudo random) 바이트를 발생시켜 이를 bitwise XOR(exclusive OR)한 후 MPEG 동기 바이트를 매 패킷의 앞에 삽입하여 188 바이트 메인 서비스 데이터 패킷 단위로 출력한다. The
한편 상기 블록 복호기(905)에서 데이터 디포맷터(906)로 출력되는 데이터는 데이터 그룹 형태이다. 이때 상기 데이터 디포맷터(906)에서는 입력되는 데이터 그룹의 구성을 이미 알고 있기 때문에 데이터 그룹 내에서 전송 파라미터 등을 담고있는 시그널링 정보와 모바일 서비스 데이터를 구분한다. 그리고 구분된 시그널링 정보는 시그널링 정보를 처리하는 블록(도시되지 않음)으로 전달하고, 모바일 서비스 데이터는 RS 프레임 복호기(907)로 출력한다. Meanwhile, the data output from the
상기 RS 프레임 복호기(907)는 상기 데이터 디포맷터(906)로부터 RS 부호화 및/또는 CRC 부호화 및/또는 로우 섞음된 모바일 서비스 데이터만을 입력받는다. The
상기 RS 프레임 복호기(907)에서는 전송 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한 후, 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가하여 디랜더마이저(908)로 출력한다. 상기 RS 프레임 복호기(907)의 상세한 동작은 뒤에서 설명한다. The
상기 디랜더마이저(908)는 입력받은 모바일 서비스 데이터에 대해서 전송 시스템의 랜더마이저의 역과정에 해당하는 디랜더마이징을 수행하여 출력함으로써, 전송 시스템에서 송신한 모바일 서비스 데이터를 얻을 수가 있게 된다. The de-randomizer 908 performs de-randomization corresponding to the reverse process of the renderer of the transmission system and outputs the received mobile service data, thereby obtaining mobile service data transmitted from the transmission system.
만일 상기 RS 프레임 복호기(907)에서 1 바이트의 MPEG 동기 바이트를 부가하지 않고, 상기 디랜더마이저(908)에서 부가할 수도 있다. 본 발명에서는 상기 RS 프레임 복호기(907)에서 부가하는 것을 일 실시예로 설명한다.If the
다음은 상기 RS 프레임 복호기(907)의 상세한 동작 설명이다. The following is a detailed operation of the
RSRS 프레임 복호 Frame decoding
도 37은 상기 도 5에서와 같이 RS 프레임 부호화되었을 때, RS 프레임 복호기(907)에서 수행하는 에러 정정 복호 과정의 일 실시예를 보인 도면이다. FIG. 37 is a diagram illustrating an embodiment of an error correction decoding process performed by an
즉, 상기 RS 프레임 복호기(907)는 데이터 디포맷터(906)로부터 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 부호화 및 CRC 부호화된 데이터이다. That is, the
도 37의 (a)는 RS 프레임을 구성하는 예를 보이고 있다. 즉, 전송 시스템에서 (N+2) * 235 크기의 RS 프레임을 30*235 바이트 블록으로 구분하고, 구분된 각 블록의 모바일 서비스 데이터를 각 데이터 그룹에 삽입시켜 전송하였다고 가정하 면, 수신 시스템에서도 각 데이터 그룹에 삽입된 30*235 바이트 블록의 모바일 서비스 데이터를 모아 (N+2) * 235 크기의 RS 프레임을 구성한다. 예를 들어, RS 프레임이 18개의 30*235 바이트 블록으로 구분되어 하나의 버스트 구간에서 전송되었다고 가정하면, 수신 시스템에서도 해당 버스트 구간 내 18개의 데이터 그룹의 모바일 서비스 데이터를 모아 RS 프레임을 구성한다. 또한 N이 538이라고 가정하면, 상기 RS 프레임 복호기(907)는 하나의 버스트 안에 있는 18개의 데이터 그룹 내 모바일 서비스 데이터들을 모아서 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있다.37 (a) shows an example of configuring an RS frame. That is, assuming that the transmission system divides (N + 2) * 235 RS frames into 30 * 235 byte blocks and inserts and transmits the mobile service data of each divided block into each data group, The mobile service data of 30 * 235 byte blocks inserted into each data group is collected to form an (N + 2) * 235 RS frame. For example, assuming that an RS frame is divided into 18 30 * 235 byte blocks and transmitted in one burst period, the receiving system configures an RS frame by collecting mobile service data of 18 data groups in the burst period. In addition, assuming that N is 538, the
이때 상기 블록 복호기(905)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(907)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 버스트 안에 있는 18개의 데이터 그룹의 소프트 판정값에 대해 모두 수행하면 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In this case, assuming that the
또한 본 발명은 소프트 판정값을 RS 프레임을 구성하는데 이용할 뿐만 아니라, 신용 맵(Reliability Map)을 구성하는데 이용한다.In addition, the present invention not only uses the soft decision value to construct an RS frame, but also to construct a reliability map.
상기 신용 맵은 상기 소프트 판정값의 부호로 결정된 비트를 8개 모아 구성한 해당 바이트가 믿을만한지 여부를 나타낸다. The credit map indicates whether or not the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value is reliable.
일 실시예로, 소프트 판정값의 절대값이 기 설정된 문턱값을 넘을 경우에는 해당 소프트 판정값의 부호로 판단한 해당 비트 값은 믿을만하다고 판단하고, 넘지 못할 경우에는 믿을만하지 못하다고 판단한다. 그리고 나서, 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 한 바이트 내 한 비트라도 믿을만하지 못하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을 수 없다고 표시한다. 여기서 한 비트는 하나의 실시예이며, 복수개 예를 들어, 4개의 이상의 비트가 믿을만하지 못하다고 판단된 경우에 신용 맵에 해당 바이트를 믿을 수 없다고 표시할 수도 있다.In an embodiment, when the absolute value of the soft determination value exceeds a preset threshold, the corresponding bit value determined by the sign of the soft determination value is determined to be reliable, and when it is not exceeded, it is determined to be unreliable. Then, in the case where it is determined that even one bit in one byte composed of eight bits determined by the sign of the soft decision value is unreliable, the credit map indicates that the byte is unreliable. Here, one bit is an embodiment, and when a plurality of, for example, four or more bits are determined to be unreliable, it may indicate that the corresponding byte is not reliable in the credit map.
반대로 한 바이트 내 모든 비트가 믿을만하다고 판단된 경우 즉, 한 바이트의 모든 비트의 소프트 판정값의 절대값이 기 설정된 문턱값을 넘는 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. 마찬가지로, 한 바이트 내 복수개 예를 들어, 4개 이상의 비트가 믿을만하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. On the contrary, when all bits in one byte are determined to be reliable, that is, when the absolute value of the soft decision value of all bits of one byte exceeds a preset threshold, the corresponding map is marked as reliable. Similarly, if a plurality of bits in one byte, for example, four or more bits are determined to be reliable, the credit map indicates that the bytes are reliable.
상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다. The above-described numerical values are merely examples, and the scope of the present invention is not limited to the numerical values.
상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 540 * 235 바이트 크기를 가진다면, 상기 신용 맵은 540 * 235 비트 크기를 가진다. 도 37의 (a')는 본 발명에 따른 신용 맵 형성 과정을 보이고 있다. The configuration of the RS frame and the configuration of the credit map using the soft decision value can be performed simultaneously. At this time, the credit information in the credit map corresponds 1: 1 to each byte in the RS frame. For example, if one RS frame is 540 * 235 bytes in size, the credit map is 540 * 235 bits in size. 37 (a ′) shows a process of forming a credit map according to the present invention.
한편 상기 RS 프레임 복호기(907)는 (N+2) * 235 바이트 크기의 RS 프레임이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 37의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 N* 235 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 37의 (b')와 같이 N * 235개의 신용 정보만을 남긴다. On the other hand, the
상기 RS 프레임 복호기(907)는 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 37의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수로서, 본 발명에서는 일 실시예로 각 컬럼마다 48개의 패리티 바이트가 부가되어 있다고 가정한다. After the CRC syndrome check is performed, the
만일 CRC 에러를 가진 로우의 개수가 RS 이레이저 복호(decoding)로 수정 가능한 최대 에러 개수(실시예에 따르면 48)보다 작거나 같다면 도 37의 (d)와 같이 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 37의 (f)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. If the number of rows having a CRC error is less than or equal to the maximum number of errors that can be corrected by RS erasure decoding (48 according to the embodiment), RS having 235 N byte rows as shown in FIG. (235, 187) -RS erasure decoding is performed on the frame, and the 48-byte parity data added to the end of each column is removed as shown in FIG.
그런데, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 크다면 RS 이레이저 복호를 수행할 수가 없다. However, if the number of rows having a CRC error is larger than the maximum number of errors that can be corrected by RS erasure decoding (that is, 48), RS erasure decoding cannot be performed.
이러한 경우 일반적인 RS 복호를 통해서 에러 정정을 수행할 수 있다. 또한 본 발명은 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 이용하여 에러 정정 능력을 더욱 높일 수 있다. In this case, error correction may be performed through general RS decoding. In addition, the present invention can further improve error correction capability by using a credit map generated when constructing an RS frame from the soft decision value.
즉, 상기 RS 프레임 복호기(907)에서는 블록 복호기(905)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다. That is, the
따라서 본 발명은 도 37의 (e)와 같이 특정 로우의 CRC 신드롬 체크 결과 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Therefore, the present invention does not assume that all bytes of a row have an error even if it is determined that there is a CRC error in the CRC syndrome check of a specific row as shown in FIG. Set the error to only those bytes that are considered unreliable. That is, only the bytes determined to be unreliable in the credit information of the credit map regardless of the CRC error of the corresponding row are set as erasure points.
또 다른 방법으로 CRC 신드롬 체크 결과 해당 로우에 CRC 에러가 있다고 판단되면서 신용 맵의 신용 정보가 믿을만 하지 못한다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우에 CRC 에러가 있으면서 신용 맵의 신용 정보에서 믿을만 하지 못하다고 판단이 되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.Alternatively, the CRC syndrome check determines that there is a CRC error in the row, and sets an error only for bytes determined that the credit information of the credit map is unreliable. That is, only a byte having a CRC error in a corresponding row and determined to be unreliable in credit information of a credit map is set as an erasure point.
그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최 대 개수(즉, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다. Then, if the number of error points in each column is less than or equal to the maximum number of errors that can be corrected by RS erasure decoding (that is, 48), RS erasure decoding is performed on the column. On the contrary, if the number of error points is larger than the maximum number that can be modified by RS erasure decoding (that is, 48), general RS decoding is performed on the column.
즉, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(예를 들면, 48)보다 크면, 신용 맵의 신용 정보에 의해 결정된 해당 컬럼 내 이레이저 포인트 수에 따라 그 컬럼에 대해서 RS 이레이저 복호를 수행하거나, 일반적인 RS 복호를 수행한다. In other words, if the number of rows with CRC errors is greater than the maximum number of errors that can be corrected by RS erasure decoding (for example, 48), then the corresponding columns in accordance with the number of erasure points in the column determined by the credit information of the credit map RS erasure decoding is performed or general RS decoding is performed.
예를 들어, 상기 RS 프레임 내에서 CRC 에러를 가진 로우의 개수가 48보다 크고, 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한다. For example, the number of rows having a CRC error in the RS frame is greater than 48, and the number of erasure points determined by the credit information of the credit map is 40 in the first column and 50 in the second column. Suppose Then, (235,187) -RS erasure decoding is performed on the first column, and (235,187) -RS decoding is performed on the second column.
상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 37의 (f)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. When error correction decoding is performed in all column directions in the RS frame by performing the above process, as shown in (f) of FIG. 37, 48 bytes of parity data added to the end of each column are removed.
이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다. As described above, in the present invention, even if the total number of CRC errors corresponding to each row in the RS frame is larger than the maximum error number that can be corrected by RS erasure decoding, the credit information of the corresponding credit map of the corresponding column is determined when the error correction decoding of the specific column is performed. Therefore, if the number of bytes with low credibility is equal to or smaller than the maximum error number correctable by RS erasure decoding, RS erasure decoding may be performed on the column.
여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다. Here, the difference between general RS decoding and RS erasure decoding is the number of correctable errors. That is, if general RS decoding is performed, errors can be corrected by the number (for example, 24) corresponding to (number of parity) / 2 inserted in the RS encoding process. If RS erasure decoding is performed, RS encoding process is performed. An error may be corrected by the number of parities inserted (e.g., 48).
상기와 같이 에러 정정 복호가 수행되고 나면, 도 37의 (f)와 같이 187개의 N 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. 그리고 N * 187 바이트 크기의 RS 프레임은 순서대로 N개의 187 바이트의 크기로 출력이 되는데, 이때 도 37의 (g)와 같이 각 187 바이트의 패킷에 전송 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한다. After the error correction decoding is performed as described above, as shown in (f) of FIG. 37, an RS frame having 187 N-byte rows (ie, packets) can be obtained. RS frames of size N * 187 bytes are output in the order of
도 38은 상기 도 6에서와 같이 RS 프레임 부호화되었을 때, RS 프레임 복호기(907)에서 수행하는 에러 정정 복호 과정의 일 실시예를 보인 도면이다. FIG. 38 is a diagram illustrating an embodiment of an error correction decoding process performed by the
상기 RS 프레임 복호기(907)는 데이터 디포맷터(906)로부터 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 부호화 및 CRC 부호화된 데이터이다. The
도 38의 (a)는 RS 프레임을 구성하는 예를 보이고 있다. 즉, 전송 시스템에서 (N+2) * 235 크기의 RS 프레임을 30*235 바이트 블록으로 구분하고, 구분된 각 블록의 모바일 서비스 데이터를 각 데이터 그룹에 삽입시켜 전송하였다고 가정하면, 수신 시스템에서도 각 데이터 그룹에 삽입된 30*235 바이트 블록의 모바일 서비스 데이터를 모아 (N+2) * 235 크기의 RS 프레임을 구성한다. 예를 들어, RS 프레임이 18개의 30*235 바이트 블록으로 구분되어 하나의 버스트 구간에서 전송되었 다고 가정하면, 수신 시스템에서도 해당 버스트 구간 내 18개의 데이터 그룹의 모바일 서비스 데이터를 모아 RS 프레임을 구성한다. 또한 N이 538이라고 가정하면, 상기 RS 프레임 복호기(907)는 하나의 버스트 안에 있는 18개의 데이터 그룹 내 모바일 서비스 데이터들을 모아서 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있다.38 (a) shows an example of configuring an RS frame. That is, assuming that the transmission system divides (N + 2) * 235 RS frames into 30 * 235 byte blocks, inserts mobile service data of each divided block into each data group, and transmits the same. The mobile service data of the 30 * 235 byte block inserted in the data group is collected to form an (N + 2) * 235 RS frame. For example, assuming that an RS frame is divided into 18 30 * 235 byte blocks and transmitted in one burst period, the receiving system configures an RS frame by collecting mobile service data of 18 data groups in the burst period. . In addition, assuming that N is 538, the
이때 상기 블록 복호기(905)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(907)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 버스트 안에 있는 18개의 데이터 그룹의 소프트 판정값에 대해 모두 수행하면 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In this case, assuming that the
또한 본 발명은 소프트 판정값을 RS 프레임을 구성하는데 이용할 뿐만 아니라, 신용 맵(Reliability Map)을 구성하는데 이용한다.In addition, the present invention not only uses the soft decision value to construct an RS frame, but also to construct a reliability map.
상기 신용 맵은 상기 소프트 판정값의 부호로 결정된 비트를 8개 모아 구성한 해당 바이트가 믿을만한지 여부를 나타낸다. The credit map indicates whether or not the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value is reliable.
일 실시예로, 소프트 판정값의 절대값이 기 설정된 문턱값을 넘을 경우에는 해당 소프트 판정값의 부호로 판단한 해당 비트 값은 믿을만하다고 판단하고, 넘지 못할 경우에는 믿을만하지 못하다고 판단한다. 그리고 나서, 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 한 바이트 내 한 비트라도 믿을만하지 못하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을 수 없다고 표시한다. 여기서 한 비 트는 하나의 실시예이며, 복수개 예를 들어, 4개의 이상의 비트가 믿을만하지 못하다고 판단된 경우에 신용 맵에 해당 바이트를 믿을 수 없다고 표시할 수도 있다.In an embodiment, when the absolute value of the soft determination value exceeds a preset threshold, the corresponding bit value determined by the sign of the soft determination value is determined to be reliable, and when it is not exceeded, it is determined to be unreliable. Then, in the case where it is determined that even one bit in one byte composed of eight bits determined by the sign of the soft decision value is unreliable, the credit map indicates that the byte is unreliable. Here, one bit is an embodiment, and when a plurality of, for example, four or more bits are determined to be unreliable, it may indicate that the corresponding byte is not reliable in the credit map.
반대로 한 바이트 내 모든 비트가 믿을만하다고 판단된 경우 즉, 한 바이트의 모든 비트의 소프트 판정값의 절대값이 기 설정된 문턱값을 넘는 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. 마찬가지로, 한 바이트 내 복수개 예를 들어, 4개 이상의 비트가 믿을만하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. On the contrary, when all bits in one byte are determined to be reliable, that is, when the absolute value of the soft decision value of all bits of one byte exceeds a preset threshold, the corresponding map is marked as reliable. Similarly, if a plurality of bits in one byte, for example, four or more bits are determined to be reliable, the credit map indicates that the bytes are reliable.
상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다. The above-described numerical values are merely examples, and the scope of the present invention is not limited to the numerical values.
상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 540 * 235 바이트 크기를 가진다면, 상기 신용 맵은 540 * 235 비트 크기를 가진다. 도 38의 (a')는 본 발명에 따른 신용 맵 형성 과정을 보이고 있다. The configuration of the RS frame and the configuration of the credit map using the soft decision value can be performed simultaneously. At this time, the credit information in the credit map corresponds 1: 1 to each byte in the RS frame. For example, if one RS frame is 540 * 235 bytes in size, the credit map is 540 * 235 bits in size. 38 (a ') shows a process of forming a credit map according to the present invention.
한편 상기 RS 프레임 복호기(907)는 (N+2) * 235 바이트 크기의 RS 프레임이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 38의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 N * 235 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 38의 (b')와 같이 N * 235개의 신용 정보만을 남 긴다. On the other hand, the
상기 RS 프레임 복호기(907)는 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 38의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수로서, 본 발명에서는 일 실시예로 각 컬럼마다 48개의 패리티 바이트가 부가되어 있다고 가정한다. After the CRC syndrome check is performed, the
만일 CRC 에러를 가진 로우의 개수가 RS 이레이저 복호(decoding)로 수정 가능한 최대 에러 개수(실시예에 따르면 48)보다 작거나 같다면 도 38의 (d)와 같이 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 38의 (f)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. If the number of rows having a CRC error is less than or equal to the maximum number of errors that can be corrected by RS erasure decoding (48 according to the embodiment), RS having 235 N byte rows as shown in FIG. (235,187) -RS erasure decoding is performed on the frame in the column direction, and as shown in (f) of FIG. 38, 48 bytes of parity data added to the end of each column are removed.
그런데, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 크다면 RS 이레이저 복호를 수행할 수가 없다. However, if the number of rows having a CRC error is larger than the maximum number of errors that can be corrected by RS erasure decoding (that is, 48), RS erasure decoding cannot be performed.
이러한 경우 일반적인 RS 복호를 통해서 에러 정정을 수행할 수 있다. 또한 본 발명은 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 이용하여 에러 정정 능력을 더욱 높일 수 있다. In this case, error correction may be performed through general RS decoding. In addition, the present invention can further improve error correction capability by using a credit map generated when constructing an RS frame from the soft decision value.
즉, 상기 RS 프레임 복호기(907)에서는 블록 복호기(905)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다. That is, the
따라서 본 발명은 도 38의 (e)와 같이 특정 로우의 CRC 신드롬 체크 결과 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Therefore, the present invention does not assume that all bytes of a row have an error even if it is determined that there is a CRC error in the CRC syndrome check of a specific row as shown in FIG. Set the error to only those bytes that are considered unreliable. That is, only the bytes determined to be unreliable in the credit information of the credit map regardless of the CRC error of the corresponding row are set as erasure points.
또 다른 방법으로 CRC 신드롬 체크 결과 해당 로우에 CRC 에러가 있다고 판단되면서 동시에 신용 맵의 신용 정보가 믿을만 하지 못한다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우에 CRC 에러가 있으면서 신용 맵의 신용 정보에서 믿을만 하지 못하다고 판단이 되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.Alternatively, the CRC syndrome check determines that there is a CRC error in the row, and at the same time, sets an error only for bytes determined that the credit information of the credit map is unreliable. That is, only a byte having a CRC error in a corresponding row and determined to be unreliable in credit information of a credit map is set as an erasure point.
그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 개수(즉, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다. Then, if the number of error points in each column is less than or equal to the maximum number of errors that can be corrected by RS erasure decoding (that is, 48), RS erasure decoding is performed on the column. On the contrary, if the number of error points is larger than the maximum number that can be modified by RS erasure decoding (that is, 48), general RS decoding is performed on the column.
즉, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(예를 들면, 48)보다 크면, 신용 맵의 신용 정보에 의해 결정된 해당 컬 럼 내 이레이저 포인트 수에 따라 그 컬럼에 대해서 RS 이레이저 복호를 수행하거나, 일반적인 RS 복호를 수행한다. That is, if the number of rows with CRC errors is greater than the maximum number of errors that can be corrected by RS erasure decoding (e.g. 48), that column is based on the number of erasure points in the column determined by the credit information in the credit map. RS erasure decoding is performed or general RS decoding is performed.
예를 들어, 상기 RS 프레임 내에서 CRC 에러를 가진 로우의 개수가 48보다 크고, 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한다. For example, the number of rows having a CRC error in the RS frame is greater than 48, and the number of erasure points determined by the credit information of the credit map is 40 in the first column and 50 in the second column. Suppose Then, (235,187) -RS erasure decoding is performed on the first column, and (235,187) -RS decoding is performed on the second column.
상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 38의 (f)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. When the error correction decoding is performed in all column directions in the RS frame by performing the above process, as shown in (f) of FIG. 38, the parity data of 48 bytes added to the end of each column is removed.
이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다. As described above, in the present invention, even if the total number of CRC errors corresponding to each row in the RS frame is larger than the maximum error number that can be corrected by RS erasure decoding, the credit information of the corresponding credit map of the corresponding column is determined when the error correction decoding of the specific column is performed. Therefore, if the number of bytes with low credibility is equal to or smaller than the maximum error number correctable by RS erasure decoding, RS erasure decoding may be performed on the column.
여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다. Here, the difference between general RS decoding and RS erasure decoding is the number of correctable errors. That is, if general RS decoding is performed, errors can be corrected by the number (for example, 24) corresponding to (number of parity) / 2 inserted in the RS encoding process. If RS erasure decoding is performed, RS encoding process is performed. An error may be corrected by the number of parities inserted (e.g., 48).
이때 상기된 도 6의 (c)에서와 같이 187 바이트의 패킷으로 하나의 컬럼을 구성하였으므로, RS 부호화 및 복호를 수행하는 기본 단위는 패킷 단위가 되게 된다. 따라서 각 컬럼에 대해 RS 복호를 수행하고 나면, 해당 패킷에 대한 에러 정정 여부를 알 수 있게 된다. In this case, as shown in (c) of FIG. 6, since one column is configured with a packet of 187 bytes, the basic unit for performing RS encoding and decoding is a packet unit. Therefore, after performing RS decoding on each column, it is possible to know whether or not an error is corrected for the corresponding packet.
예를 들어, 두 번째 컬럼에 대한 RS 복호를 수행하고 나면 두 번째 컬럼에 삽입된 187 바이트의 패킷에 대한 에러 여부를 알 수 있게 된다. 본 발명은 이 에러 여부를 해당 패킷의 헤더 내 TP 에러 플래그에 표시하는 것을 일 실시예로 한다. 전술한 예에서, 두 번째 컬럼의 경우, RS 복호를 수행하여도 여전히 26개의 에러를 갖고 있으므로 상기 두 번째 컬럼에 해당하는 패킷의 TP 에러 플래그에는 해당 패킷에 에러가 있다고 표시된다. 또한 첫 번째 컬럼의 경우 RS 복호에 의해 에러가 모두 정정되었으므로 상기 첫 번째 컬럼에 해당하는 패킷의 TP 에러 플래그에는 에러가 없다고 표시된다. 마찬가지로, 에러가 발생하지 않았던 컬럼에 대해서도 해당 패킷의 TP 에러 플래그에는 에러가 없다고 표시된다.For example, after performing RS decoding on the second column, it is possible to know whether there is an error on the packet of 187 bytes inserted in the second column. According to an embodiment of the present invention, whether or not this error is indicated in a TP error flag in a header of a corresponding packet. In the above example, since the second column still has 26 errors even after RS decoding, the TP error flag of the packet corresponding to the second column indicates that the corresponding packet has an error. In addition, in the case of the first column, since all errors are corrected by RS decoding, the TP error flag of the packet corresponding to the first column indicates that there is no error. Similarly, for a column for which no error occurred, the TP error flag of the packet indicates that there is no error.
이때 상기 TP 에러 플래그에의 에러 유무 표시는 디랜더마이저(908)에서 디랜더마이징이 이루어진 후에 수행되는 것이 바람직하다. 이 경우 RS 프레임 복호기(907)에서는 해당 컬럼 즉, 패킷에 대한 에러 여부에 대한 정보만을 전달하도록 한다. In this case, the presence or absence of an error in the TP error flag may be performed after derandomizing is performed in the
여기서 패킷의 헤더 내 TP 에러 플래그에 해당 패킷의 에러 유무를 표시하는 것은 해당 패킷에 대한 추가 정보이며, 후단(예를 들면, 비디오 복호기)에서 참조할 수 있도록 하기 위해서이다. 일 예로, 비디오 복호기에서는 복호할 패킷 내 TP 에러 플래그에 표시된 에러 정보에 따라 해당 패킷의 복호를 수행할 수도 있고, 복호를 수행하지 않고 그 패킷을 무시할 수도 있으며, 또 다른 처리를 수행할 수도 있다. The indication of the presence or absence of an error of the packet in the TP error flag in the header of the packet is additional information about the packet, and is intended to be referred to at a later stage (for example, a video decoder). For example, the video decoder may decode the packet according to the error information indicated in the TP error flag in the packet to be decoded, ignore the packet without performing decoding, or perform another processing.
한편 RS 프레임 복호기(907)에서 도 38의 (d)나 (e)와 같은 RS 복호가 수행되고 나면, 도 38의 (f)와 같이 187개의 N 바이트 로우로 된 RS 프레임을 얻을 수 있다. On the other hand, after RS decoding such as (d) or (e) of FIG. 38 is performed in the
그리고 상기 RS 복호가 완료된 N * 187 바이트 크기의 RS 프레임 내 N개의 187 바이트의 크기의 각 컬럼을 순서대로 출력한다. 즉, 출력되는 하나의 컬럼이 도 6의 (b)와 같은 187 바이트 크기를 갖는 패킷이 된다. Each
이어 도 38의 (g)와 같이 각 187 바이트의 패킷에 전송 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한다. Then, as shown in (g) of FIG. 38, a 188-byte MPEG sync byte deleted by the transmission system is added to each 187-byte packet to output a mobile service data packet in units of 188 bytes.
도 39는 다수개의 데이터 그룹 예를 들어, 18개의 데이터 그룹을 모아 하나의 RS 프레임과 RS 프레임 신용 맵(Reliability Map)을 형성하는 과정과, 전송 시스템의 역과정으로 수퍼 프레임 단위의 디인터리빙을 수행한 후 디인터리빙된 RS 프레임과 RS 프레임 신용 맵으로 다시 구분하는 과정을 도시하고 있다. FIG. 39 illustrates a process of forming a single RS frame and an RS frame reliability map by collecting a plurality of data groups, for example, 18 data groups, and performing deinterleaving on a super frame basis in a reverse process of a transmission system. Afterwards, a process of reclassifying the deinterleaved RS frame and the RS frame credit map is shown.
즉, 상기 RS 프레임 복호기(907)는 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 프레임 단위로 RS 부호화되고, 수퍼 프레임 단위로 인터리빙된 데이터이다. 이때 에러 정정 부호화 예를 들어, CRC 부호화는 수행되어 있을 수도 있고(도 5 참조), 생략 되어 있을 수도 있다(도 7 참조). That is, the
만일, 전송 시스템에서 (N+2)*(187+P) 바이트 크기의 RS 프레임을 M(예를 드어 18개)의 데이터 그룹으로 구분하여 전송하였다고 가정하면, 수신 시스템에서도 도 39의 (a)와 같이 각 데이터 그룹의 모바일 서비스 데이터를 모아 (N+2)*(187+P) 바이트 크기의 RS 프레임을 구성한다. If it is assumed that an RS frame having a size of (N + 2) * (187 + P) bytes in the transmission system is divided into M (for example, 18) data groups and then transmitted, the receiver system also has a diagram of FIG. Mobile service data of each data group is gathered as follows to form an RS frame of size (N + 2) * (187 + P) bytes.
이때 해당 RS 프레임을 구성하는 적어도 하나의 데이터 그룹에 더미 바이트가 추가되어 전송되었다면 상기 더미 바이트는 제거되고 RS 프레임과 RS 프레임 신용 맵이 구성된다. 예를 들어, 도 21에서와 같이 K개의 더미 바이트가 추가되었다면 K개의 더미 바이트가 제거된 후 RS 프레임과 RS 프레임 신용 맵이 구성된다. At this time, if a dummy byte is added and transmitted to at least one data group constituting the RS frame, the dummy byte is removed and an RS frame and an RS frame credit map are configured. For example, if K dummy bytes are added as shown in FIG. 21, after the K dummy bytes are removed, an RS frame and an RS frame credit map are configured.
그리고 RS 프레임이 18개의 데이터 그룹으로 구분되어 하나의 버스트 온 구간에서 전송되었다고 가정하면, 수신 시스템에서도 해당 버스트 온 구간 내 18개의 데이터 그룹의 모바일 서비스 데이터를 모아 RS 프레임을 구성한다. In addition, assuming that the RS frames are divided into 18 data groups and transmitted in one burst on period, the receiving system also configures an RS frame by collecting mobile service data of 18 data groups in the burst on period.
이때 상기 블록 복호기(905)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(907)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 버스트 안에 있는 18개의 데이터 그룹의 소프트 판정값에 대해 모두 수행하면 (N+2)*(187+P) 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In this case, assuming that the
또한 본 발명은 소프트 판정값을 RS 프레임을 구성하는데 이용할 뿐만 아니라, 신용 맵(Reliability Map)을 구성하는데 이용한다.In addition, the present invention not only uses the soft decision value to construct an RS frame, but also to construct a reliability map.
상기 신용 맵은 상기 소프트 판정값의 부호로 결정된 비트를 8개 모아 구성한 해당 바이트가 믿을만한지 여부를 나타낸다. The credit map indicates whether or not the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value is reliable.
일 실시예로, 소프트 판정값의 절대값이 기 설정된 문턱값을 넘을 경우에는 해당 소프트 판정값의 부호로 판단한 해당 비트 값은 믿을만하다고 판단하고, 넘지 못할 경우에는 믿을만하지 못하다고 판단한다. 그리고 나서, 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 한 바이트 내 한 비트라도 믿을만하지 못하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을 수 없다고 표시한다. 여기서 한 비트는 하나의 실시예이며, 복수개 예를 들어, 4개의 이상의 비트가 믿을만하지 못하다고 판단된 경우에 신용 맵에 해당 바이트를 믿을 수 없다고 표시할 수도 있다.In an embodiment, when the absolute value of the soft determination value exceeds a preset threshold, the corresponding bit value determined by the sign of the soft determination value is determined to be reliable, and when it is not exceeded, it is determined to be unreliable. Then, in the case where it is determined that even one bit in one byte composed of eight bits determined by the sign of the soft decision value is unreliable, the credit map indicates that the byte is unreliable. Here, one bit is an embodiment, and when a plurality of, for example, four or more bits are determined to be unreliable, it may indicate that the corresponding byte is not reliable in the credit map.
반대로 한 바이트 내 모든 비트가 믿을만하다고 판단된 경우 즉, 한 바이트의 모든 비트의 소프트 판정값의 절대값이 기 설정된 문턱값을 넘는 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. 마찬가지로, 한 바이트 내 복수개 예를 들어, 4개 이상의 비트가 믿을만하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. On the contrary, when all bits in one byte are determined to be reliable, that is, when the absolute value of the soft decision value of all bits of one byte exceeds a preset threshold, the corresponding map is marked as reliable. Similarly, if a plurality of bits in one byte, for example, four or more bits are determined to be reliable, the credit map indicates that the bytes are reliable.
상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다. The above-described numerical values are merely examples, and the scope of the present invention is not limited to the numerical values.
상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 (N+2) * (187+P) 바이트 크기를 가진다면, 상기 신용 맵은 (N+2) * (187+P) 비트 크기를 가진다. 도 39의 (a'),(b')는 본 발명에 따른 신용 맵 형성 과정을 보이고 있다. The configuration of the RS frame and the configuration of the credit map using the soft decision value can be performed simultaneously. At this time, the credit information in the credit map corresponds 1: 1 to each byte in the RS frame. For example, if one RS frame has a (N + 2) * (187 + P) byte size, the credit map has a (N + 2) * (187 + P) bit size. 39 (a ') and (b') show a process of forming a credit map according to the present invention.
이때 상기 도 39의 (b)의 RS 프레임과 (b')의 RS 프레임 신용 맵은 수퍼 프레임 단위로 로우 섞음되어 있다(도 8 참조). 따라서 RS 프레임과 RS 프레임 신용 맵을 모아 수퍼 프레임과 수퍼 프레임 신용 맵을 구성한 후, 도 39의 (c),(c')와 같이 RS 프레임과 RS 프레임 신용 맵에 대해 전송 시스템의 역과정으로 수퍼 프레임 단위의 로우 역섞음(De-permutation)을 수행한다. At this time, the RS frame of FIG. 39B and the RS frame credit map of (b ') are row-mixed in units of super frames (see FIG. 8). Accordingly, after collecting the RS frame and the RS frame credit map to configure the super frame and the super frame credit map, as shown in (c) and (c ') of FIG. Performs row de-permutation in units of frames.
상기와 같이 수퍼 프레임 단위의 로우 역섞음이 수행되면, 도 39의 (d),(d')와 같이 (N+2) * (187+P) 바이트 크기의 RS 프레임과 (N+2) * (187+P) 비트 크기의 RS 프레임 신용 맵으로 구분한다. As described above, when row demixing is performed in units of super frames, RS frames having a size of (N + 2) * (187 + P) bytes and (N + 2) * as shown in (d) and (d ') of FIG. 39. Separated by a (187 + P) bit size RS frame credit map.
이어 상기 구분된 RS 프레임에 대해 RS 프레임 신용 맵 정보를 이용하여 에러 정정을 수행한다. Subsequently, error correction is performed on the divided RS frames using RS frame credit map information.
도 40, 도 41은 본 발명에 따른 에러 정정 복호 과정의 실시예들을 보인 것이다. 40 and 41 show embodiments of an error correction decoding process according to the present invention.
도 40은 전송 시스템에서 RS 프레임에 대해 RS 부호화와 CRC 부호화를 모두 수행한 경우(도 5 참조)의 에러 정정 과정을 보인 실시예이고, 도 41은 RS 프레임에 대해 RS 부호화만 수행되고 CRC 부호화가 수행되지 않는 경우(도 7 참조)의 에러 정정 과정을 보인 실시예이다. FIG. 40 illustrates an error correction process in the case where both RS encoding and CRC encoding are performed on an RS frame in a transmission system (see FIG. 5). FIG. 41 illustrates that only RS encoding is performed on an RS frame and CRC encoding is performed. FIG. 7 illustrates an error correction process when not performed (see FIG. 7).
다음은 도 40에 도시된 에러 정정 과정을 상세히 설명한다.Next, the error correction process illustrated in FIG. 40 will be described in detail.
즉, 도 40의 (a),(a')와 같이 (N+2)*(187+P) 바이트 크기의 RS 프레임과 (N+2)*(187+P) 비트 크기의 RS 프레임 신용 맵이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 40의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 N*(187+P) 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 40의 (b')와 같이 N*(187+P)개의 신용 정보만을 남긴다. That is, an RS frame of (N + 2) * (187 + P) byte size and an RS frame credit map of (N + 2) * (187 + P) bit size as shown in (a) and (a ') of FIG. 40. If configured, CRC syndrome check is performed on this RS frame to check whether an error occurs in each row. Then, as shown in (b) of FIG. 40, an RS frame having a size of N * (187 + P) bytes is formed by removing the 2-byte CRC checksum, and an error flag corresponding to each row indicates whether an error occurs. Similarly, since the portion of the credit map corresponding to the CRC checksum is not utilized, this portion is removed to leave only N * (187 + P) credit information as shown in (b ') of FIG. 40.
상기와 같이 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 40의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수(P)이다. After the CRC syndrome check is performed as described above, RS decoding is performed in the column direction. In this case, RS erasure correction may be performed according to the number of CRC error flags. That is, as shown in (c) of FIG. 40, the CRC error flag corresponding to each row in the RS frame is checked, so that the maximum number of RS erasure corrections can be performed when the number of rows with an error is performed in the RS direction column decoding. Determine if it is less than or equal to the number of errors. The maximum error number is a parity number P inserted during RS encoding.
본 발명에서는 일 실시예로 각 컬럼마다 부가되는 패리티 개수(P)가 48개라고 가정한다.In an embodiment of the present invention, it is assumed that the parity number P added to each column is 48.
이 경우 CRC 에러를 가진 로우의 개수가 RS 이레이저 복호(decoding)로 수정 가능한 최대 에러 개수(실시예에 따르면 48)보다 작거나 같다면 도 40의 (d)와 같이 (187+P) 즉, 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 40의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. In this case, if the number of rows having a CRC error is less than or equal to the maximum number of errors that can be corrected by RS erasure decoding (48 according to the embodiment), as shown in (d) of FIG. (235,187) -RS erasure decoding is performed in the column direction on the RS frame having 235 N byte rows, and as shown in (e) of FIG. 40, 48 bytes of parity data added to the end of each column are removed.
그런데, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최 대 에러 개수(즉, 48)보다 크다면 RS 이레이저 복호를 수행할 수가 없다. However, if the number of rows having a CRC error is larger than the maximum number of errors correctable by RS erasure decoding (that is, 48), RS erasure decoding cannot be performed.
이러한 경우 일반적인 RS 복호를 통해서 에러 정정을 수행할 수 있다. 또한 본 발명은 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 이용하여 에러 정정 능력을 더욱 높일 수 있다. In this case, error correction may be performed through general RS decoding. In addition, the present invention can further improve error correction capability by using a credit map generated when constructing an RS frame from the soft decision value.
즉, 상기 RS 프레임 복호기에서는 블록 복호기(905)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다. That is, in the RS frame decoder, the absolute value of the soft decision value of the
따라서 본 발명은 도 40의 (c)와 같이 특정 로우의 CRC 신드롬 체크 결과 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Therefore, the present invention does not assume that every byte of a row has an error even if it is determined that there is a CRC error in the CRC syndrome check of a specific row as shown in FIG. Set the error to only those bytes that are considered unreliable. That is, only the bytes determined to be unreliable in the credit information of the credit map regardless of the CRC error of the corresponding row are set as erasure points.
또 다른 방법으로 CRC 신드롬 체크 결과 해당 로우에 CRC 에러가 있다고 판단되면서 신용 맵의 신용 정보가 믿을만 하지 못한다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우에 CRC 에러가 있으면서 신용 맵의 신용 정보에서 믿을만 하지 못하다고 판단이 되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.Alternatively, the CRC syndrome check determines that there is a CRC error in the row, and sets an error only for bytes determined that the credit information of the credit map is unreliable. That is, only a byte having a CRC error in a corresponding row and determined to be unreliable in credit information of a credit map is set as an erasure point.
그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가 능한 최대 에러 개수(즉, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 개수(즉, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다. Then, if the number of error points in each column is less than or equal to the maximum error number that can be corrected by RS erasure decoding (that is, 48), RS erasure decoding is performed on the column. On the contrary, if the number of error points is larger than the maximum number that can be modified by RS erasure decoding (that is, 48), general RS decoding is performed on the column.
즉, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(예를 들면, 48)보다 크면, 신용 맵의 신용 정보에 의해 결정된 해당 컬럼 내 이레이저 포인트 수에 따라 그 컬럼에 대해서 RS 이레이저 복호를 수행하거나, 일반적인 RS 복호를 수행한다. In other words, if the number of rows with CRC errors is greater than the maximum number of errors that can be corrected by RS erasure decoding (for example, 48), then the corresponding columns in accordance with the number of erasure points in the column determined by the credit information of the credit map RS erasure decoding is performed or general RS decoding is performed.
예를 들어, 상기 RS 프레임 내에서 CRC 에러를 가진 로우의 개수가 48보다 크고, 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한다. For example, the number of rows having a CRC error in the RS frame is greater than 48, and the number of erasure points determined by the credit information of the credit map is 40 in the first column and 50 in the second column. Suppose Then, (235,187) -RS erasure decoding is performed on the first column, and (235,187) -RS decoding is performed on the second column.
상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 40의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. When the error correction decoding is performed in all column directions in the RS frame by performing the above process, as shown in (e) of FIG. 40, the parity data of 48 bytes added to the end of each column is removed.
이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다. As described above, in the present invention, even if the total number of CRC errors corresponding to each row in the RS frame is larger than the maximum error number that can be corrected by RS erasure decoding, the credit information of the corresponding credit map of the corresponding column is determined when the error correction decoding of the specific column is performed. Therefore, if the number of bytes with low credibility is equal to or smaller than the maximum error number correctable by RS erasure decoding, RS erasure decoding may be performed on the column.
여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다. Here, the difference between general RS decoding and RS erasure decoding is the number of correctable errors. That is, if general RS decoding is performed, errors can be corrected by the number (for example, 24) corresponding to (number of parity) / 2 inserted in the RS encoding process. If RS erasure decoding is performed, RS encoding process is performed. An error may be corrected by the number of parities inserted (e.g., 48).
상기와 같이 에러 정정 복호가 수행되고 나면, 도 40의 (e)와 같이 187개의 N 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. 그리고 N*187 바이트 크기의 RS 프레임은 순서대로 N개의 187 바이트의 크기로 출력이 되는데, 이때 도 40의 (f)와 같이 각 187 바이트의 패킷에 전송 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한다. After the error correction decoding is performed as described above, as shown in (e) of FIG. 40, an RS frame having 187 N-byte rows (ie, packets) can be obtained. RS frames of size N * 187 bytes are output in the order of
다음은 도 41에 도시된 에러 정정 과정을 상세히 설명한다.Next, the error correction process illustrated in FIG. 41 will be described in detail.
즉, 도 41의 (a),(a')와 같이 (N+2)*(187+P) 바이트 크기의 RS 프레임과 (N+2)*(187+P) 비트 크기의 RS 프레임 신용 맵이 구성되면, 이 RS 프레임에 대해 신용 맵을 참조하여 컬럼 방향으로 RS 복호를 수행한다. That is, as shown in (a) and (a ') of FIG. 41, an RS frame having a (N + 2) * (187 + P) byte size and an RS frame credit map having a (N + 2) * (187 + P) bit size If configured, RS decoding is performed in the column direction with reference to the credit map for this RS frame.
도 41은 전송 시스템에서 모바일 서비스 데이터에 대해 CRC 부호화가 이루어지지 않았기 때문에 CRC 신드롬 체크 과정이 생략되어 RS 복호시 참조할 CRC 에러 플래그가 없다. 즉, 각 로우의 에러 여부를 판단할 수 없다. 그러므로 도 41은 각 컬럼의 RS 복호를 수행함에 있어서, 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 참조하여 RS 복호를 수행한다. In FIG. 41, since CRC encoding is not performed on mobile service data in the transmission system, the CRC syndrome check process is omitted, and thus there is no CRC error flag to refer to when RS is decoded. That is, it is not possible to determine whether each row is an error. Therefore, FIG. 41 performs RS decoding by referring to a credit map generated when configuring an RS frame from soft decision values in performing RS decoding of each column.
도 41의 (b),(b')는 (N+2)*(187+P) 바이트 크기의 RS 프레임과 (N+2)*(187+P) 비트 크기의 RS 프레임 신용 맵을 좀 더 구체화한 것으로서, 도 41의 (a),(a')와 동일한 의미를 갖는다. (B) and (b ') of FIG. 41 further illustrate an RS frame of (N + 2) * (187 + P) byte size and an RS frame credit map of (N + 2) * (187 + P) bit size. It is concrete, and has the same meaning as FIG.41 (a), (a ').
즉, 상기 RS 프레임 복호기에서는 블록 복호기(905)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다. That is, in the RS frame decoder, the absolute value of the soft decision value of the
따라서 본 발명은 도 41의 (c)와 같이 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Therefore, the present invention sets an error only for bytes determined to be unreliable by referring to credit information of a credit map as shown in FIG. 41 (c). That is, only bytes determined to be unreliable in the credit information of the credit map are set as erasure points.
그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수인 P(예를 들어, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 개수인 P(예를 들어, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다. Then, if the number of error points in each column is less than or equal to P (for example, 48) which is the maximum error number that can be corrected by RS erasure decoding, RS erasure decoding is performed on the column. On the contrary, if the number of error points is larger than P (for example, 48), which is the maximum number that can be corrected by RS erasure decoding, general RS decoding is performed on the column.
예를 들어, 상기 RS 프레임 내에서 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한 다. For example, suppose that the number of erasure points determined by the credit information of the credit map in the RS frame is displayed in the first column and 50 in the second column. Then, (235,187) -RS erasure decoding is performed on the first column, and (235,187) -RS decoding is performed on the second column.
한편 각 컬럼을 복호함에 있어서 신용 정보를 참고하는 또 다른 방법으로는 신용할 수 없다고 판단되는 바이트들의 개수가 P/2보다 작거나 같은 경우에는 일반적인 RS 복호를 수행하고, P/2보다 크고 P보다 작거나 같은 경우에는 RS 이레이저 복호를, P보다 큰 경우에는 다시 일반적인 RS 복호를 수행하는 방법으로 RS 복호를 할 수가 있다. 이때 신용 정보를 결정하는 문턱값이나 특정 상황에 따라서 전술한 방법이 더 좋은 성능을 낼 수도 있으며, 또 다른 경우에는 후술한 방법이 더욱 좋은 성능을 낼 수도 있다.On the other hand, if the number of bytes determined to be untrusted by another method of referencing credit information in decoding each column is less than or equal to P / 2, general RS decoding is performed. If it is smaller or equal, RS decoding can be performed by RS erasure decoding, and when larger than P, normal RS decoding is performed again. In this case, the above-described method may perform better according to a threshold value or a specific situation for determining credit information, and in another case, the above-described method may perform better.
또한 어떠한 RS 복호 방법을 사용할 것인가를 선택하는 가는 도 41에만 해당되는 것이 아니라, 도 40에 설명된 방법들에도 적용이 가능하다. 즉, 도 40의 경우, CRC 에러의 개수가 P보다 작거나 같은 경우에는 모든 컬럼을 전부 동일한 이레이저 포인트를 가지고 복호를 하는 방법을 사용하는 실시예만이 도시되어 있지만, 또 다른 방법으로 CRC 에러의 개수가 P보다 작거나 같은 경우에도 이를 더욱 세분화하여, CRC 에러의 개수가 P/2보다 작거나 같은 경우에는 RS 복호를, CRC 에러의 개수가 P/2보다 크고 P보다 작거나 같은 경우에는 RS 이레이져 복호를 수행토록 할 수가 있다. 마찬가지로, CRC 에러의 개수가 P보다 큰 경우에는 CRC 에러 정보와 신용 맵의 각 바이트의 신용 정보를 같이 참조하게 되는데, 이때도 각 컬럼을 복호함에 있어서 CRC 에러를 나타내는 로우에 속하면서 신용맵의 정보가 신용할수 없다고 판단되는 바이트의 개수가 P/2보다 작거나 같으면 RS 복호를, P/2보다 크고 P보다 작거나 같으면 RS 이레이져 복호를, P보다 크면 다시 RS 복호를 하는 방법을 사용 이 가능하다. 또한 다른 실시예로서 P보다 작거나 같은가와 큰가의 기준으로 RS 이레이저 복호를 하느냐, RS 복호를 하느냐를 선택할 수도 있다.In addition, the selection of which RS decoding method to use is not limited to FIG. 41, but may be applied to the methods described with reference to FIG. 40. That is, in FIG. 40, only an embodiment using a method of decoding all columns with the same erasure point when the number of CRC errors is less than or equal to P is illustrated. Even if the number of times is less than or equal to P, it is further subdivided. When the number of CRC errors is less than or equal to P / 2, RS decoding is performed. When the number of CRC errors is greater than P / 2 and less than or equal to P, RS erasure decoding can be performed. Similarly, when the number of CRC errors is greater than P, the CRC error information and the credit information of each byte of the credit map are referred together. In this case, the credit map information belongs to a row indicating a CRC error in decoding each column. If the number of bytes deemed untrusted is less than or equal to P / 2, RS decoding can be used; if RS is greater than or equal to P / 2 and less than or equal to P, RS erasure decoding is used; . Also, as another embodiment, RS erasure decoding or RS decoding may be selected based on a value less than or equal to P.
한편 상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 41의 (d)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. On the other hand, if the error correction decoding is performed in all the column directions in the RS frame by performing the above process, as shown in (d) of FIG.
이와 같이 본 발명은 RS 프레임 내 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다. As described above, when the error correction decoding of a specific column in an RS frame, if the number of bytes having a low credit is equal to or smaller than the maximum error number correctable by RS erasure decoding, RS erasure decoding may be performed.
상기와 같이 에러 정정 복호가 수행되고 나면, 도 41의 (d)와 같이 187개의 N+2 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. 그리고 (N+2)*(187+P) 바이트 크기의 RS 프레임은 순서대로 N+2개의 187 바이트의 크기로 출력이 되는데, 이때 도 41의 (e)와 같이 각 187 바이트의 패킷에 전송 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한다. After the error correction decoding is performed as described above, an RS frame composed of 187 N + 2 byte rows (that is, a packet) can be obtained as shown in (d) of FIG. 41. In addition, RS frames having a size of (N + 2) * (187 + P) bytes are output in the order of N + 2 187 bytes, in this case, as shown in (e) of FIG. 41, in each 187 byte packet. The mobile service data packet of 188 byte unit is output by adding the MPEG sync byte of 1 byte deleted from the.
도 42는 상기 도 11에서와 같이 이중 에러 정정 부호화되었을 때, RS 프레임 복호기(907)에서 수행하는 이중 에러 정정 복호 과정의 일 실시예를 보인 도면이다. FIG. 42 is a diagram illustrating an embodiment of a double error correction decoding process performed by the
상기 RS 프레임 복호기(907)에서는 상기 이중 에러 정정 복호를 수행하기 전에, 먼저 입력되는 모바일 서비스 데이터를 모아 RS 프레임을 구성하고, 이러한 RS 프레임을 G개만큼 모아서 85*G개로 된 수퍼 프레임을 구성한다.In the
이어 82*G개의 195바이트로 구성된 수퍼 프레임에 대해 로우 섞음 과정의 역과정을 수행하여 전송 시스템에서 로우 섞음 과정을 거치기 전의 원래의 순서대로 정렬한다. 이어, 82개의 195바이트로 구성된 G개의 RS 프레임으로 구분한다. The low-mixing process is then performed on 82 * G 195-byte superframes, sorted in the original order prior to the low-mixing process in the transmission system. Then, it is divided into G RS frames composed of 82 195 bytes.
그리고 나서, 송신측의 역과정으로 이중의 에러 정정 복호를 수행한다.Then, a double error correction decoding is performed in the reverse process of the transmitting side.
예를 들어, 도 11과 같이 로우 방향으로 1차 RS 부호화를 수행하고, 그 결과에 대해 컬럼 방향으로 2차 RS 부호화를 수행하였다면, RS 프레임 복호기(907)에서는 각 RS 프레임에 대해 컬럼 방향으로 1차 RS 복호를 수행하고, 그 결과에 대해 로우 방향으로 2차 RS 복호를 수행한다. 그리고 기 설정된 조건에 따라 상기 1차, 2차 RS 복호 과정을 반복하거나 복호 과정을 종료한다.For example, if primary RS encoding is performed in the row direction as shown in FIG. 11 and secondary RS encoding is performed in the column direction with respect to the result, the
여기서 기 설정된 조건은 여러 가지가 있을 수 있으며, 본 발명에서는 일 실시예로, 기 설정된 반복 회수와 2차 RS 복호를 수행하여 정정된 에러 개수에 의해 반복 여부를 결정한다.Herein, the preset condition may be various. In one embodiment of the present invention, the predetermined number of repetitions and the second RS decoding are performed to determine whether to repeat the information based on the corrected error number.
즉, 기 설정된 최대 반복 회수를 모두 반복하였거나 또는, 2차 RS 복호를 수행한 결과 추가의 에러 정정이 이루어지지 않은 경우에는 복호 과정을 종료하고, 그 이외의 경우에는 1차,2차 RS 복호 과정을 반복한다. That is, if all the maximum number of repetitions are repeated or additional error correction is not performed as a result of performing secondary RS decoding, the decoding process is terminated. Otherwise, the first and second RS decoding processes are terminated. Repeat.
이를 위해, 로우 섞음 역과정에 의해 구분된 각 RS 프레임에 대해 도 42의 (a)와 같이 컬럼 방향으로 (82,68)-RS 복호를 수행한다. 그리고 상기 (82,68)-RS 복호된 RS 프레임에 대해 도 42의 (b)와 같이 로우 방향으로 (195,187)-RS 복호를 수행한다. 이때 도 42의 (a)는 82개의 195바이트 로우를 갖는 RS 프레임에 대해 컬 럼 방향으로 (82,68)-RS 복호를 수행하고, 도 42의 (b)는 68개의 195바이트 로우를 갖는 RS 프레임에 대해 로우 방향으로 (195,187)-RS 복호를 수행한다.To this end, (82,68) -RS decoding is performed in the column direction for each RS frame divided by the row mixing inverse process as shown in FIG. 42 (a). The (82,68) -RS decoded RS frame is subjected to (195,187) -RS decoding in the row direction as shown in FIG. 42 (b). At this time, (a) of FIG. 42 performs (82,68) -RS decoding in the column direction for an RS frame having 82 195 byte rows, and FIG. 42 (b) shows an RS having 68 195 byte rows. Perform (195,187) -RS decoding in the row direction for the frame.
상기 로우 방향으로 (195,187)-RS 복호가 수행되고 나면, 도 42의 (c)와 같이 기 설정된 최대 반복 회수가 다 되었는지 또는 상기 로우 방향으로 RS 복호를 수행한 결과 에러 정정된 데이터가 하나도 없는지를 확인한다. After the (195,187) -RS decoding is performed in the row direction, whether the preset maximum number of repetitions has been reached as shown in (c) of FIG. 42 or whether there is no error corrected data as a result of performing RS decoding in the row direction. Check it.
이때 상기 도 42의 (c)에서 기 설정된 최대 반복 회수가 남아 있고, 로우 방향 RS 복호에 의해 에러 정정된 데이터가 하나 이상 존재하면 도 42의 (a)의 단계로 되돌아가서 로우 방향으로 RS 복호된 RS 프레임에 대해 다시 컬럼 방향으로 RS 복호를 재수행한다. At this time, if the maximum number of repetitions set in FIG. 42 (c) remains, and one or more data data error corrected by row-wise RS decoding exist, the process returns to step (a) of FIG. 42 and RS-decoded in the row direction. RS decoding is performed again in the column direction for the RS frame.
즉, 로우 방향으로 RS 복호를 수행한 결과 에러 정정된 데이터가 하나 이상 존재할 경우, 상기 로우 방향으로 RS 복호된 RS 프레임에 대해 다시 컬럼 방향 RS 복호를 수행하게 되면, 상기 컬럼 방향 RS 복호 과정에서 추가로 에러를 정정할 수 있는 가능성이 생긴다. 그리고 상기 컬럼 방향 RS 복호에 의해 추가로 에러 정정된 RS 프레임에 대해 다시 로우 방향 RS 복호를 수행하게 되면 마찬가지로, 추가로 에러를 정정할 수 있는 가능성이 생긴다. That is, when one or more error-corrected data exist as a result of performing RS decoding in a row direction, if column-oriented RS decoding is performed on the RS-decoded RS frame in the row direction, it is added in the column-oriented RS decoding process. There is a possibility that the error can be corrected. In addition, when row direction RS decoding is performed on the RS frame additionally error corrected by the column direction RS decoding, similarly, an error can be further corrected.
따라서 본 발명에서는 기 설정된 반복 회수 내에서 로우 방향 RS 복호 결과 에러 정정된 데이터가 하나 이상 존재하면 복호 성능을 높이기 위하여 에러 정정된 결과를 반영하면서 상기 컬럼, 로우 방향 RS 복호를 반복 수행한다. Therefore, in the present invention, if more than one row-corrected RS decoding result error corrected data exists within a predetermined number of repetitions, the column and row-directional RS decoding is repeatedly performed while reflecting the error-corrected result to increase decoding performance.
이때 상기 컬럼, 로우 방향 RS 복호를 반복 수행하게 되면 계속적으로 에러 정정이 이루어져 복호 성능을 높일 수 있지만 특정한 에러 상태에서는 컬럼 방향 RS 복호에 의해서 정정된 결과가 다시 로우 방향에서의 에러를 만들고, 상기 로우 방향 RS 복호에 의해서 정정된 결과가 다시 컬럼 방향에서의 에러를 만들어내는 악순환이 계속될 수 있다. 따라서 본 발명에서는 전술한 악순환을 방지하기 위하여 반복 회수에 제한을 둔다.In this case, if the column and row direction RS decoding is repeatedly performed, error correction is continuously performed to increase decoding performance. However, in a specific error state, the result corrected by column direction RS decoding causes an error in the row direction again. The vicious cycle can be continued where the result corrected by the direction RS decoding again produces an error in the column direction. Therefore, in the present invention, in order to prevent the aforementioned vicious cycle, the number of repetitions is limited.
그리고 상기 로우 방향 RS 복호 결과 에러 정정된 데이터가 없다는 것은 상기 RS 프레임에 에러가 없다는 것을 의미하므로, RS 복호를 반복 수행할 필요가 없다.The absence of error corrected data as a result of the row direction RS decoding means that there is no error in the RS frame, and thus it is not necessary to repeat RS decoding.
그러므로 상기 도 42의 (c)에서 기 설정된 최대 반복 회수가 다 되었거나, 또는 로우 방향 RS 복호에 의해 에러 정정된 데이터가 하나도 없다면 도 42의 (d)와 같이 RS 복호 과정을 종료하고 이중의 RS 부호화시 각 컬럼의 마지막에 부가되었던 14바이트의 패리티 데이터와 각 로우의 마지막에 부가되었던 8바이트의 패리티 데이터를 제거한다. 즉, 68개의 187바이트 로우(즉, 패킷)을 얻을 수 있다. Therefore, if the maximum number of repetitions set in FIG. 42 (c) is reached or there is no data corrected by row-wise RS decoding, the RS decoding process is terminated as shown in FIG. 14-byte parity data added to the end of each column and 8-byte parity data added to the end of each row are removed. That is, 68 187 byte rows (ie, packets) can be obtained.
그리고 도 42의 (e)와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다. As shown in (e) of FIG. 42, the mobile service TS packet recovered to 188 bytes by outputting the MPEG sync byte removed at the beginning of each 187 byte row is output.
지금까지 설명한 도 42는 도 9와 같이 이중의 RS 부호화를 수행하였을 때의 이중의 RS 복호 과정을 보인 것이다.FIG. 42 described above shows a dual RS decoding process when dual RS encoding is performed as shown in FIG. 9.
한편 상기 도 12에서와 같이 이중의 RS 부호화를 수행하였을 때의 이중의 RS 복호 과정은 1차 에러 정정 복호 과정에서 로우 방향 RS 복호를 수행하고, 2차 에러 정정 복호 과정에서 컬럼 방향 RS 복호를 수행하는 것을 제외하고는 상기된 도 42를 참조하면 되므로 상세 설명을 생략한다.On the other hand, as shown in FIG. 12, when the dual RS decoding is performed, the double RS decoding process performs rowwise RS decoding in the first error correction decoding process, and performs column direction RS decoding in the second error correction decoding process. Except for that, the detailed description thereof will be omitted since reference may be made to FIG. 42.
이때 RS 복호 재수행을 결정하는 반복 회수와 에러 정정된 데이터의 개수는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 예로 한정되지 않을 것이다.In this case, since the number of repetitions and the number of error corrected data for determining RS decoding re-execution may vary by the system designer, the present invention will not be limited to the above examples.
도 43은 상기 도 13에서와 같이 이중 에러 정정 부호화되었을 때, RS 프레임 복호기(907)에서 수행하는 에러 정정 복호 과정의 일 실시예를 보인 흐름도이다. 일 예로, 제 1 RS 서브 프레임에 대해서만 복호를 수행하여 모든 에러를 수정하지 못하는 경우, 제 2 RS 서브 프레임을 같이 사용하여 복호를 수행할 수 있다.FIG. 43 is a flowchart illustrating an error correction decoding process performed by the
본 발명에서는 일 실시예로 A,B 영역의 모바일 서비스 데이터 즉, 제1 RS 서브 프레임의 에러 개수가 기 설정된 개수 이상이거나, 또는 제 1 RS 서브 프레임만으로 복호를 수행하였을 때 에러가 전부 보정되지 않을 경우에는 C 영역의 모바일 서비스 데이터 즉, 제2 RS 서브 프레임을 추가적으로 사용하여 복호를 수행한다.According to an exemplary embodiment of the present invention, the mobile service data of the A and B regions, that is, the number of errors of the first RS subframe is greater than or equal to a preset number, or the error is not completely corrected when decoding is performed using only the first RS subframe. In this case, decoding is performed using the mobile service data of the C region, that is, the second RS subframe.
상기 RS 프레임 복호기(907)에서는 A,B 영역으로 전송되는 제1 RS 서브 프레임들을 G개만큼 모아서 85*G개로 된 제1 수퍼 프레임을 형성한다. 그리고 1 바이트(즉, 8비트) CRC 체크섬을 사용한 경우에는 각각의 188바이트 패킷의 에러 여부를 검사한 후 1 바이트 CRC 체크섬을 제거하여 187바이트만을 남기고 상기 패킷에 대응하는 에러 플래그에 에러 여부를 표시한다. The
만일 2바이트(즉, 16비트) CRC 체크섬을 사용한 경우라면 두개의 188바이트 패킷의 에러 여부를 검사한 후 2 바이트 CRC 체크섬을 제거하고 두개의 187바이트 패킷으로 만든다. 그리고 각 187바이트 패킷에 대응하는 에러 플래그에 에러 여부 를 표시한다. 이때 2바이트 CRC 체크섬을 사용한 경우라면 두 패킷이 동시에 에러가 있거나 없는 걸로 표시가 되어야 한다.If two-byte (ie 16-bit) CRC checksums are used, two 188-byte packets are checked for errors and the two-byte CRC checksum is removed and two 187-byte packets are made. The error flag corresponding to each 187 byte packet indicates whether an error occurs. If a two-byte CRC checksum is used, both packets should be marked as having errors or no errors at the same time.
상기와 같이 CRC 체크섬을 사용한 각 로우의 에러 여부를 검사한 후에, 85*G개의 187바이트로 구성된 제1 수퍼 프레임에 대해 로우 섞음 과정의 역과정을 수행하여 전송 시스템에서 로우 섞음 과정을 거치기 전의 원래의 순서대로 정렬한다(단계 1901). 이어, 85개의 187바이트로 구성된 G개의 제1 RS 서브 프레임으로 구분한다. 상기 로우 역섞음 과정을 수행할 때 각 패킷(또는 로우)의 에러 여부를 표시한 에러 플래그도 같이 변환되어 승계된다. 각 RS 프레임은 187x85의 바이트 행렬과 같은 형태로 구성이 된다. After checking for errors in each row using the CRC checksum as described above, the reverse mixing of the low mixing process is performed on the first superframe including 85 *
또한 상기 RS 프레임 복호기(907)에서는 C 영역으로 전송되는 제2 RS 서브 프레임들을 G개만큼 모아서 85*G개로 된 제2 수퍼 프레임을 형성하고, 상기 제2 수퍼 프레임에 대해 로우 섞음 과정의 역과정을 수행하여 전송 시스템에서 로우 섞음 과정을 거치기 전의 원래의 순서대로 정렬한다(단계 1901). 이어, 85개의 14바이트로 구성된 G개의 제2 RS 서브 프레임으로 구분한다. 이때 C 영역으로 전송되는 제2 수퍼 프레임에 대해서는 전송 시스템에서 CRC 부호화를 수행하지 않았으므로 수신 시스템에서도 CRC 복호를 수행하지 않는다.In addition, the
상기 로우 섞음 역과정 후, 제 1 RS 서브 프레임과 함께 승계된 각 패킷(또는 로우)의 에러 여부를 표시한 에러 플래그를 가지고 RS 복호를 수행한다(단계 1902). After the row shuffle reverse process, RS decoding is performed with an error flag indicating whether each packet (or row) inherited with the first RS subframe has an error (step 1902).
이때, 단계 1903에서는 상기 제 1 RS 서브 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여 상기 제1 RS 서브 프레임 내 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 이레이저(erasure) 정정을 수행할 수 있는 최대 에러 개수(=Nc-Kc)보다 같거나 작은지를 판단한다. 만일 같거나 작다고 판단되면 85개의 187 바이트 로우를 갖는 제1 RS 서브 프레임에 대해서 컬럼 방향으로 (85,67)-RS 이레이저 복호를 수행하고, 각 컬럼의 마지막에 부가되었던 18바이트의 패리티 데이터를 제거한다(단계 1904, 1908). In this case, in
그러면 단계 1908과 같이 67개의 187바이트 로우(즉, 패킷)된 RS 프레임을 얻을 수 있다. 그리고 단계 1909와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다.Then, as in
한편 상기 단계 1903에서 상기 제1 RS 서브 프레임 내 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 이레이저(erasure) 정정을 수행할 수 있는 최대 에러 개수(=Nc-Kc)보다 크다고 판단되면 85개의 187 바이트 로우를 갖는 제1 RS 서브 프레임에 대해서 컬럼 방향으로 (85,67)-RS 복호를 수행한다(단계 1905). 그리고 상기 (85,67)-RS 복호를 수행한 결과 상기 제1 RS 서브 프레임 내 에러가 모두 보정되었는지를 확인한다(단계 1906). On the other hand, if it is determined in
상기 단계 1906에서 상기 (85,67)-RS 복호의 결과, 모든 에러가 정정되었다고 판단되면 각 컬럼의 마지막에 부가되었던 18바이트의 패리티 데이터를 제거한다. 그러면 단계 1908과 같이 67개의 187바이트 로우(즉, 패킷)된 RS 프레임을 얻을 수 있다. 그리고 단계 1909와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다. If it is determined in
만약 단계 1906에서 상기 (85,67)-RS 복호의 결과, 모든 에러가 정정되지 못하였다고 판단되면 제1,제2 RS 서브 프레임을 조합하여 RS 복호를 수행한다(단계 1907).If it is determined in
도 44는 상기 단계 1907에서 A,B 영역으로 전송되는 제1 RS 서브 프레임과 C영역으로 전송되는 제2 RS 서브 프레임을 조합하여 RS 복호를 수행하는 예를 보인 도면이다.FIG. 44 illustrates an example of performing RS decoding by combining the first RS subframe transmitted to the A and B areas and the second RS subframe transmitted to the C area in
상기 로우 섞음의 역과정이 각각 수행된 제1,제2 RS 서브 프레임을 병합(merge)하면 도 44의 (a)와 같이 201바이트로 된 패킷(또는 로우)을 85개 가진 RS 프레임을 얻을 수 있다.By merging the first and second RS subframes on which the inverse process of row mixing is performed, as shown in FIG. 44 (a), an RS frame having 85 packets (or rows) of 201 bytes can be obtained. have.
이때 각 RS 프레임들은 전송 시스템에서 개별적으로 이중의 RS 부호화가 이루어진 상태이다. 그러므로 RS 프레임 복호기(907)에서도 전송 시스템의 이중의 RS 부호화의 역순으로 이중의 RS 복호를 수행한다.At this time, each RS frame is a state in which the dual RS coding is individually performed in the transmission system. Therefore, the
예를 들어, 도 13과 같이 컬럼 방향으로 (85,67)-RS 부호화를 수행하고, 그 결과에 대해 로우 방향으로 (201,187)-RS 부호화를 수행하였다면, RS 프레임 복호기(907)에서는 도 44의 (a)와 같이 각 RS 프레임에 대해 로우 방향으로 (201,187)-RS 복호를 수행하고(1차 RS 복호), 이어 도 44의 (b)와 같이 컬럼 방향으로 (85,67)-RS 복호를 수행한다(2차 RS 복호). 이때 도 44의 (a)는 85개의 201바이트 로우를 갖는 RS 프레임에 대해 로우 방향으로 (201,187)-RS 복호를 수행하고, 도 44의 (b)는 85개의 187바이트 로우를 갖는 RS 프레임에 대해 컬럼 방향으로 (85,67)-RS 복호를 수행한다. 그리고 기 설정된 조건에 따라 상기 컬럼, 로우 방향 RS 복호 과정을 반복하거나 복호 과정을 종료한다. For example, if (85,67) -RS coding is performed in the column direction as shown in FIG. 13 and (201,187) -RS coding is performed in the row direction with respect to the result, the
반대로 로우 방향으로 RS 부호화를 수행하고, 그 결과에 대해 컬럼 방향으로 RS 부호화를 수행하였다면, RS 프레임 복호기(907)에서는 각 RS 프레임에 대해 먼저 컬럼 방향으로 RS 복호를 수행하고(1차 RS 복호), 그 결과에 대해 로우 방향으로 RS 복호를 수행한다(2차 RS 복호). 마찬가지로 기 설정된 조건에 따라 상기 로우, 컬럼 방향 복호 과정을 반복하거나 복호 과정을 종료한다.On the contrary, if the RS encoding is performed in the row direction and the RS encoding is performed in the column direction with respect to the result, the
여기서 기 설정된 조건은 여러 가지가 있을 수 있으며, 본 발명에서는 일 실시예로, 기 설정된 반복 회수와 2차 RS 복호를 수행하여 정정된 에러 개수에 의해 반복 여부를 결정한다.Herein, the preset condition may be various. In one embodiment of the present invention, the predetermined number of repetitions and the second RS decoding are performed to determine whether to repeat the information based on the corrected error number.
즉, 기 설정된 최대 반복 회수를 모두 반복하였거나 또는, 2차 RS 복호를 수행한 결과 추가의 에러 정정이 이루어지지 않은 경우에는 복호 과정을 종료하고, 그 이외의 경우에는 1차,2차 RS 복호 과정을 반복한다. That is, if all the maximum number of repetitions are repeated or additional error correction is not performed as a result of performing secondary RS decoding, the decoding process is terminated. Otherwise, the first and second RS decoding processes are terminated. Repeat.
상기 도 44의 (b)와 같이 컬럼 방향으로 (85,67)-RS 복호가 수행되고 나면, 도 44의 (c)와 같이 기 설정된 최대 반복 회수가 다 되었는지 또는 상기 컬럼 방향으로 RS 복호를 수행한 결과 에러 정정된 데이터가 하나도 없는지를 확인한다. After the (85,67) -RS decoding is performed in the column direction as shown in (b) of FIG. 44, the preset maximum number of repetitions is completed as shown in (c) of FIG. 44 or the RS decoding is performed in the column direction. As a result, it is confirmed that there is no error corrected data.
이때 상기 도 44의 (c)에서 기 설정된 최대 반복 회수가 남아 있고, 컬럼 방향 RS 복호에 의해 에러 정정된 데이터가 하나 이상 존재하면 도 44의 (a)로 피드백하여 컬럼 방향으로 RS 복호된 RS 프레임에 대해 다시 로우 방향으로 RS 복호를 재수행한다. At this time, if the maximum number of repetitions set in FIG. 44 (c) remains and at least one error corrected data is present by column direction RS decoding, RS frames are fed back to FIG. 44 (a) and RS decoded in the column direction. Re-running RS decoding in the low direction again.
즉, 컬럼 방향으로 RS 복호를 수행한 결과 에러 정정된 데이터가 하나 이상 존재할 경우, 상기 컬럼 방향으로 RS 복호된 RS 프레임에 대해 다시 로우 방향 RS 복호를 수행하게 되면, 상기 로우 방향 RS 복호 과정에서 추가로 에러를 정정할 수 있는 가능성이 생긴다. 그리고 상기 로우 방향 RS 복호에 의해 추가로 에러 정정된 RS 프레임에 대해 다시 컬럼 방향 RS 복호를 수행하게 되면 마찬가지로, 추가로 에러를 정정할 수 있는 가능성이 생긴다. That is, when one or more error-corrected data exist as a result of performing RS decoding in the column direction, when row-oriented RS decoding is performed again on the RS-decoded RS frame in the column direction, it is added in the row-direction RS decoding process. There is a possibility that the error can be corrected. Further, if column direction RS decoding is performed on the RS frame additionally error corrected by the row direction RS decoding, similarly, there is a possibility of additional error correction.
따라서 본 발명에서는 기 설정된 반복 회수 내에서 컬럼 방향 RS 복호 결과 에러 정정된 데이터가 하나 이상 존재하면 복호 성능을 높이기 위하여 에러 정정된 결과를 반영하면서 상기 로우, 컬럼 방향 RS 복호를 반복 수행한다. Therefore, in the present invention, if one or more column-corrected RS decoding result error corrected data exists within a preset number of repetitions, the row and column-oriented RS decoding is repeatedly performed while reflecting the error corrected result to increase the decoding performance.
이때 상기 로우, 컬럼 방향 RS 복호를 반복 수행하게 되면 계속적으로 에러 정정이 이루어져 복호 성능을 높일 수 있지만 특정한 에러 상태에서는 로우 방향 RS 복호에 의해서 정정된 결과가 다시 컬럼 방향에서의 에러를 만들고, 상기 컬럼 방향 RS 복호에 의해서 정정된 결과가 다시 로우 방향에서의 에러를 만들어내는 악순환이 계속될 수 있다. 따라서 본 발명에서는 전술한 악순환을 방지하기 위하여 반복 회수에 제한을 둔다.In this case, if the row and column direction RS decoding is repeatedly performed, error correction is continuously performed to increase decoding performance. However, in a specific error state, the result corrected by row direction RS decoding causes an error in the column direction again. The vicious cycle can continue, with the result corrected by the direction RS decoding again producing an error in the row direction. Therefore, in the present invention, in order to prevent the aforementioned vicious cycle, the number of repetitions is limited.
그리고 상기 컬럼 방향 RS 복호 결과 에러 정정된 데이터가 없다는 것은 상기 RS 프레임에 에러가 없다는 것을 의미하므로, RS 복호를 반복 수행할 필요가 없다.The absence of error corrected data as a result of the column direction RS decoding means that there is no error in the RS frame, and thus RS decoding does not need to be repeated.
그러므로 상기 도 44의 (c)에서 기 설정된 최대 반복 회수가 다 되었거나, 또는 컬럼 방향 RS 복호에 의해 에러 정정된 데이터가 하나도 없다면 도 44의 (d)와 같이 RS 복호 과정을 종료하고 이중의 RS 부호화시 각 로우의 마지막에 부가되었던 14바이트의 패리티 데이터와 각 컬럼의 마지막에 부가되었던 18바이트의 패리티 데이터를 제거한다. 그러면 도 44의 (d)와 같이 67개의 187바이트 로우(즉, 패킷)된 RS 프레임을 얻을 수 있다. Therefore, if the maximum number of repetitions preset in (c) of FIG. 44 is exhausted or there is no data corrected by column-wise RS decoding, the RS decoding process is terminated as shown in FIG. 14-byte parity data added to the end of each row and 18-byte parity data added to the end of each column are removed. Then, as shown in (d) of FIG. 44, 67 187-byte row (ie, packet) RS frames can be obtained.
그리고 도 44의 (e)와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다. As shown in (e) of FIG. 44, the mobile service TS packet recovered to 188 bytes by outputting the MPEG sync byte removed at the beginning of each 187-byte row is output.
이때 RS 복호 재수행을 결정하는 반복 회수와 에러 정정된 데이터의 개수는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 예로 한정되지 않을 것이다.In this case, since the number of repetitions and the number of error corrected data for determining RS decoding re-execution may vary by the system designer, the present invention will not be limited to the above examples.
또한 각 RS 프레임을 RS 복호함에 있어서, CRC 에러 검사 결과 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 이레이저(erasure) 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작을 경우 RS 복호를 이레이저 정정으로 함으로써 에러 보정 능력을 최대화 할 수가 있다.In RS decoding of each RS frame, RS decoding is performed when the number of rows having an error as a result of CRC error checking is equal to or smaller than the maximum number of errors that can be erased when performing column-wise RS decoding. Erasure correction maximizes the error correction capability.
도 45는 상기 도 16에서와 같이 이중 에러 정정 부호화되었을 때, RS 프레임 복호기(907)에서 수행하는 에러 정정 복호 과정의 일 예를 도시한 도면이다. 45 is a diagram illustrating an example of an error correction decoding process performed by the
본 발명은 데이터 그룹 내 A,B 영역으로 전송되는 제1 RS 서브 프레임의 에러 개수와 C 영역으로 전송되는 제2 RS 서브 프레임의 에러 개수의 합에 따라 RS 복호 과정이 달라진다. According to the present invention, the RS decoding process varies according to the sum of the number of errors of the first RS subframe transmitted in the A and B areas of the data group and the number of errors of the second RS subframe transmitted in the C area.
이를 위해 RS 프레임 복호기(907)에서는 A,B 영역으로 전송된 제1 RS 서브 프레임들을 G개만큼 모아서 85*G개의 제1 수퍼 프레임을 형성한다. 이때 하나의 제1 RS 서브 프레임은 도 44의 (a)와 같이 85개의 187바이트 로우(즉, 패킷)로 구성된다. To this end, the
그리고 전송 시스템에서 1 바이트(즉, 8비트) CRC 체크섬을 사용한 경우에는 제1 수퍼 프레임 내 각각의 188바이트 패킷의 에러 여부를 검사한 후 1 바이트 CRC 체크섬을 제거하여 187바이트만을 남기고 상기 패킷에 대응하는 에러 플래그에 에러 여부를 표시한다. If a 1 byte (i.e. 8 bit) CRC checksum is used in the transmission system, each 188 byte packet is checked for error in the first super frame, and then the 1 byte CRC checksum is removed, leaving only 187 bytes. The error flag indicates whether an error occurred.
만일 2바이트(즉, 16비트) CRC 체크섬을 사용한 경우라면 두개의 188바이트 패킷의 에러 여부를 검사한 후 2 바이트 CRC 체크섬을 제거하고 두개의 187바이트 패킷으로 만든다. 그리고 각 187바이트 패킷에 대응하는 에러 플래그에 에러 여부를 표시한다. 이때 2바이트 CRC 체크섬을 사용한 경우라면 두 패킷이 동시에 에러가 있거나 없는 걸로 표시가 되어야 한다.If two-byte (ie 16-bit) CRC checksums are used, two 188-byte packets are checked for errors and the two-byte CRC checksum is removed and two 187-byte packets are made. The error flag corresponding to each 187 byte packet indicates whether an error occurs. If a two-byte CRC checksum is used, both packets should be marked as having errors or no errors at the same time.
상기와 같이 CRC 체크섬을 사용한 각 로우의 에러 여부를 검사한 후에, 85*G개의 187바이트로 구성된 제1 수퍼 프레임에 대해 도 45의 (b)와 같이 로우 섞음 과정의 역과정을 수행하여 전송 시스템에서 로우 섞음 과정을 거치기 전의 원래의 순서대로 정렬한다. 이어, 85개의 187바이트로 구성된 G개의 제1 RS 서브 프레임으로 구분한다. 상기 역 로우 섞음 과정을 수행할 때 각 패킷(또는 로우)의 에러 여부를 표시한 에러 플래그도 같이 변환되어 승계된다.After checking the error of each row using the CRC checksum as described above, the reverse system of the row mixing process is performed on the first superframe composed of 85 *
또한 상기 RS 프레임 복호기(907)에서는 C 영역으로 전송된 제2 RS 서브 프 레임들을 G개만큼 모아서 6*G개의 제2 수퍼 프레임을 형성한다. 이때 하나의 제2 RS 서브 프레임은 도 44의 (a)와 같이 6개의 187바이트 로우(즉, 패킷)로 구성된다. In addition, the
그리고 전송 시스템에서 1 바이트(즉, 8비트) CRC 체크섬을 사용한 경우에는 제2 수퍼 프레임 내 각각의 188바이트 패킷의 에러 여부를 검사한 후 1 바이트 CRC 체크섬을 제거하여 187바이트만을 남기고 상기 패킷에 대응하는 에러 플래그에 에러 여부를 표시한다. If a 1 byte (i.e. 8 bit) CRC checksum is used in the transmission system, each 188 byte packet is checked for error in the second super frame, and the 1 byte CRC checksum is removed, leaving only 187 bytes. The error flag indicates whether an error occurred.
만일 2바이트(즉, 16비트) CRC 체크섬을 사용한 경우라면 두개의 188바이트 패킷의 에러 여부를 검사한 후 2 바이트 CRC 체크섬을 제거하고 두개의 187바이트 패킷으로 만든다. 그리고 각 187바이트 패킷에 대응하는 에러 플래그에 에러 여부를 표시한다. 이때 2바이트 CRC 체크섬을 사용한 경우라면 두 패킷이 동시에 에러가 있거나 없는 걸로 표시가 되어야 한다.If two-byte (ie 16-bit) CRC checksums are used, two 188-byte packets are checked for errors and the two-byte CRC checksum is removed and two 187-byte packets are made. The error flag corresponding to each 187 byte packet indicates whether an error occurs. If a two-byte CRC checksum is used, both packets should be marked as having errors or no errors at the same time.
상기와 같이 CRC 체크섬을 사용한 각 로우의 에러 여부를 검사한 후에, 6*G개의 187바이트로 구성된 제2 수퍼 프레임에 대해 도 45의 (b)와 같이 로우 섞음 과정의 역과정을 수행하여 전송 시스템에서 로우 섞음 과정을 거치기 전의 원래의 순서대로 정렬한다. 이어, 6개의 187바이트로 구성된 G개의 제2 RS 서브 프레임으로 구분한다. 마찬가지로 상기 역 로우 섞음 과정을 수행할 때 각 패킷(또는 로우)의 에러 여부를 표시한 에러 플래그도 같이 변환되어 승계된다.After checking the error of each row using the CRC checksum as described above, the reverse system of the row mixing process is performed on the second super frame including 6 *
이때 상기 로우 섞음의 역과정이 수행된 제1,제2 RS 서브 프레임을 조합하면 187바이트로 된 패킷(또는 로우)을 91개 가진 RS 프레임이 된다. 도 45의 (c)에서 는 상기 RS 프레임에서 발생된 CRC 에러의 전체 개수가 상기 RS 프레임에 부가된 패리티 수보다 큰지를 확인한다.In this case, when the first and second RS subframes in which the inverse process of row mixing is performed are combined, an RS frame having 91 packets (or rows) of 187 bytes is combined. In (c) of FIG. 45, it is checked whether the total number of CRC errors generated in the RS frame is greater than the number of parity added to the RS frame.
여기서 상기 RS 프레임에서 발생된 CRC 에러의 전체 개수는 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 확인하여 알 수 있고, 상기 RS 프레임에 부가된 패리티의 개수는 Nc-Kc를 수행하여 알 수 있다. Here, the total number of CRC errors generated in the RS frame can be known by checking the CRC error flag corresponding to each row in the RS frame, and the number of parity added to the RS frame can be known by performing Nc-Kc. .
만일 상기 RS 프레임에서 발생된 CRC 에러의 전체 개수가 상기 RS 프레임에 부가된 패리티 수보다 작거나 같다면 도 45의 (d)와 같이 RS 프레임의 각 로우에 대응하는 91개의 CRC 에러 플래그 값을 사용하여 상기 RS 프레임의 각 컬럼 방향으로 (91,67) RS erasure 디코딩을 수행한다.If the total number of CRC errors generated in the RS frame is less than or equal to the number of parity added to the RS frame, 91 CRC error flag values corresponding to each row of the RS frame are used as shown in FIG. (91,67) RS erasure decoding is performed in each column direction of the RS frame.
한편 상기 RS 프레임에서 발생된 CRC 에러의 전체 개수가 상기 RS 프레임에 부가된 패리티 수보다 크다면 도 45의 (e)와 같이 RS 프레임 내 제2 RS 서브 프레임의 각 로우에 대응하는 91개의 CRC 에러 플래그 값을 사용하여 상기 RS 프레임의 각 컬럼 방향으로 (91,67) RS erasure 디코딩을 수행한다. 본 발명의 다른 실시예로 상기 RS 프레임에서 발생된 CRC 에러의 전체 개수가 상기 RS 프레임에 부가된 패리티 수보다 크다면 CRC 에러 플래그 값을 사용하지 않고 (91,67) RS 디코딩을 수행할 수도 있다. On the other hand, if the total number of CRC errors generated in the RS frame is larger than the number of parity added to the RS frame, as shown in (e) of FIG. 45, 91 CRC errors corresponding to each row of the second RS subframe in the RS frame (91,67) RS erasure decoding is performed in the direction of each column of the RS frame using the flag value. According to another embodiment of the present invention, if the total number of CRC errors generated in the RS frame is larger than the number of parity added to the RS frame, RS decoding may be performed without using a CRC error flag value (91,67). .
상기 도 45의 (d) 또는 (e)와 같이 각 RS 프레임에 대해 RS 복호가 수행되면 RS 부호화시 각 컬럼의 마지막에 부가되었던 24바이트의 패리티 데이터를 제거한다. 즉, 도 45의 (f)와 같이 67개의 187바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. As shown in (d) or (e) of FIG. 45, when RS decoding is performed on each RS frame, parity data of 24 bytes added to the end of each column is removed during RS encoding. That is, as shown in FIG. 45 (f), an RS frame composed of 67 187 byte rows (that is, a packet) can be obtained.
그리고 도 45의 (g)와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다. As shown in (g) of FIG. 45, the mobile service TS packet recovered to 188 bytes is output by adding the MPEG sync byte removed at the beginning of each 187-byte row.
지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. 또한 이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.The present invention described so far is not limited to the above-described embodiments, and can be modified by those skilled in the art as can be seen from the appended claims, and such modifications are the scope of the present invention. Belongs to. In addition, it will be understood by those skilled in the art that various changes and modifications can be made without departing from the technical spirit of the present invention.
따라서 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
도 1은 본 발명의 일 실시예에 따른 디지털 방송 시스템의 개략적인 구성 블록도1 is a schematic structural block diagram of a digital broadcasting system according to an embodiment of the present invention;
도 2는 도 1의 서비스 다중화기의 일 실시예를 보인 구성 블록도2 is a block diagram showing an embodiment of the service multiplexer of FIG.
도 3은 도 1의 송신기의 일 실시예를 보인 구성 블록도3 is a block diagram illustrating an embodiment of the transmitter of FIG.
도 4는 도 3의 전처리기의 일 실시예를 보인 구성 블록도4 is a block diagram illustrating an embodiment of the preprocessor of FIG. 3.
도 5의 (a) 내지 (e)는 본 발명의 일 실시예에 따른 에러 정정 부호화 및 에러 검출 부호화 과정을 보인 도면5A to 5E illustrate error correction encoding and error detection encoding processes according to an embodiment of the present invention.
도 6의 (a) 내지 (e)는 본 발명의 다른 실시예에 따른 에러 정정 부호화 및 에러 검출 부호화 과정을 보인 도면6A to 6E illustrate an error correction encoding and error detection encoding process according to another embodiment of the present invention.
도 7의 (a) 내지 (d)는 본 발명의 또 다른 실시예에 따른 에러 정정 부호화 과정을 보인 도면7A to 7D illustrate an error correction encoding process according to another embodiment of the present invention.
도 8의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면8A to 8D illustrate a row mixing process in units of a super frame according to an embodiment of the present invention.
도 9의 (a) 내지 (d)는 본 발명의 또 다른 실시예에 따른 에러 정정 부호화 과정을 보인 도면9 (a) to 9 (d) illustrate an error correction encoding process according to another embodiment of the present invention.
도 10의 (a),(b)는 본 발명의 다른 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면10 (a) and 10 (b) illustrate a row mixing process in units of a super frame according to another embodiment of the present invention.
도 11의 (a) 내지 (e)는 본 발명의 또 다른 실시예에 따른 에러 정정 부호화 과정을 보인 도면11 (a) to 11 (e) illustrate an error correction encoding process according to another embodiment of the present invention.
도 12의 (a) 내지 (e)는 본 발명의 또 다른 실시예에 따른 에러 정정 부호화 과정을 보인 도면12 (a) to (e) are diagrams illustrating an error correction encoding process according to another embodiment of the present invention.
도 13의 (a) 내지 (e)는 본 발명의 또 다른 실시예에 따른 에러 정정 부호화 과정을 보인 도면13A to 13E illustrate an error correction encoding process according to another embodiment of the present invention.
도 14a, 도 14b는 본 발명의 또 다른 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면14A and 14B illustrate a row mixing process in units of a super frame according to another embodiment of the present invention.
도 15의 (a),(b)는 본 발명의 따라 에러 정정 부호화된 RS 프레임을 복수개의 서브 프레임으로 구분한 일 예를 보인 도면15 (a) and 15 (b) show an example of dividing an error correcting coded RS frame into a plurality of subframes according to the present invention.
도 16의 (a) 내지 (e)는 본 발명의 또 다른 실시예에 따른 에러 정정 부호화 과정을 보인 도면16A to 16E illustrate an error correction encoding process according to another embodiment of the present invention.
도 17a, 도 17b는 본 발명의 또 다른 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면17A and 17B illustrate a row mixing process in units of super frames according to another embodiment of the present invention.
도 18의 (a),(b)는 본 발명의 따라 에러 정정 부호화된 RS 프레임을 복수개의 서브 프레임으로 구분한 다른 예를 보인 도면18 (a) and 18 (b) are diagrams illustrating another example of dividing an error correction coded RS frame into a plurality of subframes according to the present invention.
도 19a, 도 19b는 본 발명에 따른 송신 시스템에서 데이터 디인터리버 전후단의 데이터 구성 예를 보인 도면19A and 19B are diagrams showing an example of data configuration before and after the data deinterleaver in the transmission system according to the present invention.
도 20은 본 발명에 따른 데이터 그룹을 구성하기 위해 RS 프레임을 분할하는 과정의 일 실시예를 보인 도면 20 illustrates an embodiment of a process of dividing an RS frame to form a data group according to the present invention.
도 21의 (a),(b)는 본 발명에 따른 데이터 그룹을 구성하기 위해 RS 프레임을 분할하는 과정의 다른 실시예를 보인 도면 21 (a) and 21 (b) illustrate another embodiment of a process of dividing an RS frame to form a data group according to the present invention.
도 22는 본 발명에 따른 데이터 그룹을 전송하기 위한 패킷 다중화기의 동작 예를 보인 도면 22 illustrates an example of an operation of a packet multiplexer for transmitting a data group according to the present invention.
도 23은 본 발명에 따른 블록 처리기의 일 실시예를 보인 구성 블록도23 is a block diagram illustrating an embodiment of a block processor according to the present invention.
도 24는 도 23의 심볼 부호기의 일 실시예를 보인 상세 블록도24 is a detailed block diagram illustrating an embodiment of the symbol encoder of FIG. 23.
도 25의 (a) 내지 (c)는 도 23의 심볼 인터리버의 가변 길이 인터리빙 과정의 일 실시예를 보인 도면25A to 25C illustrate an embodiment of a variable length interleaving process of the symbol interleaver of FIG. 23.
도 26a, 도 26b는 본 발명에 따른 블록 처리기의 다른 실시예를 보인 구성 블록도26A and 26B are block diagrams illustrating another embodiment of a block processor according to the present invention.
도 27의 (a) 내지 (c)는 본 발명에 따른 블록 부호화 및 트렐리스 부호화 과정의 예를 보인 도면27A to 27C illustrate examples of a block encoding and trellis encoding process according to the present invention.
도 28은 본 발명에 따른 트렐리스 부호화부의 일 실시예를 보인 블록도28 is a block diagram showing an embodiment of a trellis encoder according to the present invention.
도 29a, 도 29b는 본 발명에 따른 블록 처리기와 트렐리스 부호화부가 연접된 모습을 보인 도면29A and 29B are diagrams illustrating a state in which a block processor and a trellis encoder are connected according to the present invention.
도 30은 본 발명에 따른 블록 처리기의 또 다른 실시예를 보인 도면30 is a view showing another embodiment of a block processor according to the present invention.
도 31은 본 발명에 다른 블록 처리기의 또 다른 실시예를 보인 도면31 is a view showing another embodiment of a block processor according to the present invention.
도 32는 본 발명에 따른 전송 파라미터를 그룹 포맷터에서 삽입하여 전송하기 위한 일 실시예를 보인 도면32 illustrates an embodiment for inserting and transmitting a transmission parameter in a group formatter according to the present invention.
도 33은 본 발명에 따른 전송 파라미터를 블록 처리기에서 삽입하여 전송하기 위한 일 실시예를 보인 도면33 illustrates an embodiment for inserting and transmitting a transmission parameter in a block processor according to the present invention.
도 34는 본 발명에 따른 전송 파라미터를 패킷 포맷터에서 삽입하여 전송하 기 위한 일 실시예를 보인 도면34 illustrates an embodiment for inserting and transmitting a transmission parameter in a packet formatter according to the present invention.
도 35는 본 발명에 따른 전송 파라미터를 필드 동기 세그먼트 영역에 삽입하여 전송하기 위한 일 실시예를 보인 도면35 illustrates an embodiment for inserting and transmitting a transmission parameter into a field sync segment region according to the present invention
도 36은 본 발명에 따른 수신 시스템의 일 실시예를 보인 구성 블록도36 is a block diagram showing an embodiment of a receiving system according to the present invention;
도 37은 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 도면37 shows an embodiment of an error correction decoding process according to the present invention.
도 38은 본 발명에 따른 에러 정정 복호 과정의 다른 실시예를 보인 도면38 shows another embodiment of an error correction decoding process according to the present invention.
도 39 내지 도 41은 본 발명에 따른 에러 정정 복호 과정의 또 다른 실시예를 보인 도면39 to 41 show another embodiment of an error correction decoding process according to the present invention.
도 42는 본 발명에 따른 에러 정정 복호 과정의 또 다른 실시예를 보인 도면42 illustrates another embodiment of an error correction decoding process according to the present invention.
도 43은 본 발명에 따른 에러 정정 복호 과정의 또 다른 실시예를 보인 도면43 is a view showing another embodiment of an error correction decoding process according to the present invention
도 44는 도 43에서 제1,제2 서브 프레임을 조합하여 에러 정정 복호를 수행하는 구체적인 동작 과정을 보인 도면FIG. 44 is a diagram illustrating a detailed operation of performing error correction decoding by combining first and second subframes in FIG. 43.
도 45는 본 발명에 따른 에러 정정 복호 과정의 또 다른 실시예를 보인 도면45 is a view showing another embodiment of an error correction decoding process according to the present invention.
*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
901 : 튜너 902 : 복조기901
903 : 등화기 904 : 기지 데이터 검출기903: Equalizer 904: Known Data Detector
905 : 블록 복호기 906 : 데이터 디포맷터905: block decoder 906: data formatter
907 : RS 프레임 복호기 908,911 : 데이터 디랜더마이저907 RS frame decoder 908,911 data derandomizer
909 : 데이터 디인터리버 910 : RS 복호기909: data deinterleaver 910: RS decoder
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090002362A KR100921472B1 (en) | 2009-01-12 | 2009-01-12 | Digital broadcasting system and method of processing data in digital broadcasting system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090002362A KR100921472B1 (en) | 2009-01-12 | 2009-01-12 | Digital broadcasting system and method of processing data in digital broadcasting system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070033907A Division KR101253187B1 (en) | 2007-04-05 | 2007-04-05 | Digital broadcasting system and method of processing data in digital broadcasting system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090014230A true KR20090014230A (en) | 2009-02-06 |
KR100921472B1 KR100921472B1 (en) | 2009-10-13 |
Family
ID=40684290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090002362A KR100921472B1 (en) | 2009-01-12 | 2009-01-12 | Digital broadcasting system and method of processing data in digital broadcasting system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100921472B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010120156A2 (en) * | 2009-04-17 | 2010-10-21 | 엘지전자 주식회사 | Transmitting/receiving system and broadcast signal processing method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100482286B1 (en) | 2002-09-27 | 2005-04-13 | 한국전자통신연구원 | Digital broadcasting service receiver for improving reception ability by switched beamforming |
KR20060110426A (en) | 2005-04-19 | 2006-10-25 | 삼성전자주식회사 | Method and apparatus of data transmission and reception in a digital broadcasting system and system thereof |
US7920602B2 (en) | 2005-05-23 | 2011-04-05 | Samsung Electronics Co., Ltd. | Method for formatting digital broadcast transport stream packet for improved receiving performance, digital broadcast transmitter, and signal processing method thereof |
-
2009
- 2009-01-12 KR KR1020090002362A patent/KR100921472B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010120156A2 (en) * | 2009-04-17 | 2010-10-21 | 엘지전자 주식회사 | Transmitting/receiving system and broadcast signal processing method |
WO2010120156A3 (en) * | 2009-04-17 | 2011-02-03 | 엘지전자 주식회사 | Transmitting/receiving system and broadcast signal processing method |
US8594261B2 (en) | 2009-04-17 | 2013-11-26 | Lg Electronics Inc. | Transmitting/receiving system and broadcast signal processing method |
Also Published As
Publication number | Publication date |
---|---|
KR100921472B1 (en) | 2009-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101253187B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101221914B1 (en) | Apparatus and method for transmitting Digital broadcasting signal | |
KR101253186B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101276863B1 (en) | Apparatus and method for receiving Digital broadcasting signal | |
KR101351026B1 (en) | apparatus for transmitting and receiving a broadcast signal and method of transmitting and receiving a broadcast signal | |
US8442044B2 (en) | Digital broadcasting system and method of processing data | |
KR101276851B1 (en) | Apparatus and Method for transmitting Digital broadcasting signal | |
KR101199387B1 (en) | Digital broadcasting system and data processing method | |
KR101199386B1 (en) | Digital broadcasting system and data processing method | |
KR100921472B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR20080074680A (en) | Digital broadcasting system and method of processing data | |
KR100917214B1 (en) | Receiving system and method of processing data in receiving system | |
KR100917213B1 (en) | Receiving system and method of processing data in receiving system | |
KR100930899B1 (en) | Receiving system and data processing method | |
KR100914714B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR100921471B1 (en) | Digital broadcasting system and data processing method | |
KR100913107B1 (en) | Digital broadcasting system and data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120926 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130924 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140924 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150924 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160923 Year of fee payment: 8 |