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 PDF

Info

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
Application number
KR1020090002362A
Other languages
Korean (ko)
Other versions
KR100921472B1 (en
Inventor
김종문
최인환
곽국연
김병길
송원규
김진우
이형곤
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020090002362A priority Critical patent/KR100921472B1/en
Publication of KR20090014230A publication Critical patent/KR20090014230A/en
Application granted granted Critical
Publication of KR100921472B1 publication Critical patent/KR100921472B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details 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/06Receivers
    • H04B1/10Means associated with receiver for limiting or suppressing noise or interference
    • H04B1/109Means 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation

Abstract

A digital broadcasting system and a data processing method are provided to perform additional encoding for mobile service data in a transmitting party and perform decoding for the mobile service data reversely in a receiving party, thereby improving the reception ability of a reception system. A signal receiving unit receives a broadcast signal into which the dummy bytes of K are included among at least one of data groups of M. A block decoder(905) performs the turbo decoding of RS frame data by block. A RS frame decoder(907) corrects an error generated in mobile service data.

Description

디지털 방송 시스템 및 데이터 처리 방법{Digital broadcasting system and method of processing data in digital broadcasting system}Digital broadcasting system and method of processing data in digital broadcasting system

본 발명은 디지털 방송을 송신하고 수신하기 위한 디지털 방송 시스템 및 데이터 처리 방법에 관한 것이다.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 service multiplexer 100 and a transmitter 200.

여기서 상기 서비스 다중화기(100)는 각 방송국의 스튜디오에 위치하고, 송신기(200)는 스튜디오로부터 거리가 떨어진 지역(site)에 위치한다. 이때 상기 송신기(200)는 복수개의 서로 다른 지역에 위치할 수도 있다. 그리고 일 실시예로 상기 복수개의 송신기는 동일한 주파수를 공유할 수 있으며, 이 경우 복수개의 송신기는 모두 동일한 신호를 송신한다. 그러면 수신 시스템에서는 채널 등화기가 반사파로 인한 신호 왜곡을 보상하여 원 신호를 복원할 수가 있다. 다른 실시예로, 상기 복수개의 송신기는 동일 채널에 대해 서로 다른 주파수를 가질 수도 있다.Here, the service multiplexer 100 is located in a studio of each broadcasting station, and the transmitter 200 is located in a site away from the studio. In this case, the transmitter 200 may be located in a plurality of different areas. In one embodiment, the plurality of transmitters may share the same frequency, in which case the plurality of transmitters all transmit the same signal. In the receiving system, the channel equalizer can then recover the original signal by compensating for the signal distortion caused by the reflected wave. In another embodiment, the plurality of transmitters may have different frequencies for the same channel.

상기 서비스 다중화기와 원격지에 위치한 각 송신기간의 데이터 통신은 여러 가지 방법이 이용될 수 있으며, 일 실시예로 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 100 receives at least one type of mobile service data and program specific information (PSI) / program and system information protocol (PSIP) table data for each mobile service, respectively, and transports a transport stream (TS) packet. Encapsulation. In addition, the service multiplexer 100 receives at least one kind of main service data and PSI / PSIP table data for each main service and encapsulates them into TS packets. Subsequently, the TS packets are multiplexed according to a preset multiplexing rule and output to the transmitter 200.

서비스 다중화기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 controller 110 controls overall operation of the service multiplexer, a PSI / PSIP generator 120 for a main service, and a mobile service. The PSI / PSIP generator 130 may include a null packet generator 140, a mobile service multiplexer 150, and a transport multiplexer 160.

상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161), 및 트랜스포트 스트림(Transport Stream ; TS) 패킷 다중화기(162)를 포함할 수 있다.The transport multiplexer 160 may include a main service multiplexer 161 and a transport stream (TS) packet multiplexer 162.

도 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 / PSIP generator 120 for the main service are included in the main service multiplexer of the transport multiplexer 160. 161). The main service multiplexer 161 encapsulates input main service data and PSI / PSIP table data in the form of MPEG-2 TS packets, respectively, and multiplexes these TS packets to TS packet multiplexer 162. ) The data packet output from the main service multiplexer 161 will be referred to as a main service data packet for convenience of description.

또한 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위해 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 / PSIP generator 130 for the mobile service are input to the mobile service multiplexer 150.

상기 모바일 서비스 다중화기(150)는 입력되는 모바일 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다.The mobile service multiplexer 150 encapsulates input mobile service data and PSI / PSIP table data in the form of MPEG-2 TS packets, respectively, and multiplexes these TS packets to form a TS packet multiplexer 162. Will output The data packet output from the mobile service multiplexer 150 will be referred to as a mobile service data packet for convenience of description.

이때, 상기 송신기(200)에서 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분하여 처리하기 위해서는 식별 정보가 필요하다. 상기 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있으며, 해당 데이터 패킷 내 기 설정된 위치의 값을 변형시켜 이용할 수도 있다.In this case, identification information is required for the transmitter 200 to process the main service data packet and the mobile service data packet separately. The identification information may use a predetermined value by an appointment of a transmitting / receiving side, may be configured as separate data, or may be used by modifying a value of a predetermined position in the data packet.

본 발명에서는 일 실시예로, 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷에 각기 서로 다른 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 transport multiplexer 160 may use the transport multiplexer used in the existing digital broadcasting system. That is, in order to transmit the mobile service data multiplexed with the main service data, the data rate of the main service is limited to a data rate of (19.39-K) Mbps, and the K Mbps corresponding to the remaining data rate is allocated to the mobile service. This allows you to use the transport multiplexer that is already in use without changing it.

상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비 스 데이터 패킷을 다중화하여 송신기(200)로 전송한다. The transport multiplexer 160 multiplexes the main service data packet output from the main service multiplexer 161 and the mobile service data packet output from the mobile service multiplexer 150 and transmits the multiplexed data to the transmitter 200.

그런데 상기 모바일 서비스 다중화기(150)의 출력 데이터 율이 K Mbps가 안되는 경우가 발생할 수 있다. 이 경우 상기 모바일 서비스 다중화기(150)는 출력 데이터 율이 K Mbps가 되도록 널 패킷 발생기(140)에서 발생된 널 데이터 패킷을 다중화하여 출력한다. 즉, 상기 널 패킷 발생기(140)는 모바일 서비스 다중화기(150)의 출력 데이터 율을 일정하게 맞추기 위하여 널 데이터 패킷을 발생하여 모바일 서비스 다중화기(150)로 출력한다.However, there may occur a case where the output data rate of the mobile service multiplexer 150 is not K Mbps. In this case, the mobile service multiplexer 150 multiplexes and outputs null data packets generated by the null packet generator 140 such that the output data rate is K Mbps. That is, the null packet generator 140 generates a null data packet and outputs it to the mobile service multiplexer 150 in order to constantly adjust the output data rate of the mobile service multiplexer 150.

예를 들어, 상기 서비스 다중화기(100)에서 19.39 Mbps 중 K Mbps를 모바일 서비스 데이터에 할당하고, 그 나머지인 (19.39-K) Mbps를 메인 서비스 데이터에 할당한다고 하면, 실제로 상기 서비스 다중화기(100)에서 다중화되는 모바일 서비스 데이터의 데이터 율은 K Mbps보다 작아진다. 이는 상기 모바일 서비스 데이터의 경우, 송신기의 전 처리기(pre-processor)에서 추가의 부호화를 수행하여 데이터 량이 늘리기 때문이다. 이로 인해 서비스 다중화기(100)에서 전송할 수 있는 모바일 서비스 데이터의 데이터 율(data rate)이 K Mbps보다 작아지게 된다.For example, if the service multiplexer 100 allocates K Mbps of 19.39 Mbps to mobile service data and allocates the remaining (19.39-K) Mbps to main service data, the service multiplexer 100 is actually assigned. The data rate of the mobile service data multiplexed at < RTI ID = 0.0 > This is because, in the case of the mobile service data, the amount of data is increased by performing additional encoding in a pre-processor of the transmitter. As a result, the data rate of mobile service data that can be transmitted by the service multiplexer 100 becomes smaller than K Mbps.

일 예로, 상기 송신기의 전처리기에서는 모바일 서비스 데이터에 대해 적어도 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 service multiplexer 100 and the data rate of the mobile service data is always less than or equal to 19.39 Mbps.

따라서 상기 서비스 다중화기(100)에서 출력되는 최종 출력 데이터 율을 일정 한 데이터 율(예를 들어, 19.39 Mbps)로 맞추기 위해, 상기 널 패킷 발생기(140)에서는 모자라는 데이터 율만큼 널 데이터 패킷을 생성하여 모바일 서비스 다중화기(150)로 출력한다. Therefore, in order to adjust the final output data rate output from the service multiplexer 100 to a constant data rate (for example, 19.39 Mbps), the null packet generator 140 generates a null data packet by a data rate that is short. To the mobile service multiplexer 150.

그러면 상기 모바일 서비스 다중화기(150)에서는 입력되는 모바일 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들과 널 데이터 패킷을 다중화하여 TS 패킷 다중화기(162)로 출력한다.Then, the mobile service multiplexer 150 encapsulates the input mobile service data and PSI / PSIP table data in the form of MPEG-2 TS packets, respectively, and multiplexes the TS packets and null data packets. Output to the packet multiplexer 162.

상기 TS 패킷 다중화기(162)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비스 데이터 패킷을 다중화하여 19.39 Mbps 데이터 율로 송신기(200)로 전송한다. The TS packet multiplexer 162 multiplexes the main service data packet output from the main service multiplexer 161 and the mobile service data packet output from the mobile service multiplexer 150 to the transmitter 200 at a 19.39 Mbps data rate. send.

본 발명에서는 상기 모바일 서비스 다중화기(150)에서 널 데이터 패킷을 입력받는 것을 일 실시예로 한다. 이는 일 실시예일 뿐이며, 다른 실시예로 상기 TS 패킷 다중화기(162)에서 널 데이터 패킷을 입력받아 최종 데이터 율을 일정한 데이터 율로 맞출 수도 있다. 상기 널 데이터 패킷의 출력 경로 및 다중화 규칙은 제어부(110)의 제어에 의해 이루어진다. 상기 제어부(110)는 상기 모바일 서비스 다중화기(150), 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161), TS 패킷 다중화기(162)에서의 다중화 및 널 패킷 발생기(140)에서의 널 데이터 패킷의 발생을 제어한다. According to an embodiment of the present invention, the mobile service multiplexer 150 receives a null data packet. This is only one embodiment. In another embodiment, the TS packet multiplexer 162 receives a null data packet and adjusts the final data rate to a constant data rate. The output path and the multiplexing rule of the null data packet are controlled by the controller 110. The controller 110 controls the multiplexing and null packet generators 140 in the mobile service multiplexer 150, the main service multiplexer 161 of the transport multiplexer 160, and the TS packet multiplexer 162. Control the generation of null data packets.

이때 상기 송신기(200)에서는 상기 서비스 다중화기(100)에서 전송하는 널 데이터 패킷을 수신 시스템으로 전송하지 않고 버린다. At this time, the transmitter 200 discards the null data packet transmitted from the service multiplexer 100 without transmitting it to the receiving system.

그리고 상기 송신기(200)에서 상기 널 데이터 패킷을 전송하지 않고 버리기 위해서는 상기 널 데이터 패킷을 구분할 수 있는 식별 정보가 필요하다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있다. 예를 들어, 상기 널 데이터 패킷의 헤더 내 동기 바이트 값을 변형시켜 식별 정보로 이용할 수도 있고, transport_error_indicator 플래그(flag)를 식별 정보로 이용할 수도 있다. In order to discard the null data packet without transmitting the transmitter 200, identification information for distinguishing the null data packet is required. The identification information for distinguishing the null data packet may use a value predetermined by an appointment of the transmitting / receiving side or may be configured as separate data. For example, the sync byte value in the header of the null data packet may be modified to be used as identification information, or a transport_error_indicator flag may be used as identification information.

본 발명에서는 널 데이터 패킷 내 헤더의 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 null packet generator 140 generates a null data packet, if the transport_error_indicator flag is set to '1' in the field of the header of the null data packet and transmitted, the transmitter 200 may separate the discard packet.

상기 널 데이터 패킷을 구분하기 위한 식별 정보는 널 데이터 패킷을 구분할 수 있는 것은 어느 것이나 가능하므로 본 발명은 상기된 실시예들로 한정되지 않을 것이다. 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 transmitter 200 extracts the transmission parameter and outputs the transmission parameter to the corresponding block, and transmits the transmission parameter to the receiving system if necessary.

즉, 전송 시스템의 동작 및 관리를 위한 목적으로 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 transmitter 200 may inform the transmitter 200 that the transmission parameter is transmitted to the OMP using a predetermined value among unused field values of the OM_type field. That is, the transmitter 200 may find the OMP by looking at the PID, and parse the OM_type field in the OMP to determine whether the transmission parameter is included after the OM_type field of the corresponding packet.

상기 전송 파라미터는 송/수신 시스템에서 모바일 서비스 데이터를 처리하는데 필요한 부가 정보들로서, 예를 들면 상기 전송 파라미터에는 데이터 그룹 정보, 데이터 그룹 내 영역(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 service multiplexer 100 to the transmitter 200, or the transmitter 200 itself may be set by a controller (not shown) or received externally.

송신기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 transmitter 200 according to an embodiment of the present invention, a demultiplexer 210, a packet jitter mitigator 220, and a pre-processor 230. , A packet multiplexer 240, a post-processor 250, a sync multiplexer 260, and a transmission unit 270.

상기 역다중화기(210)는 서비스 다중화기(100)로부터 데이터 패킷이 수신되면, 수신된 데이터 패킷이 메인 서비스 데이터 패킷인지, 모바일 서비스 데이터 패킷인지, 아니면 널 데이터 패킷인지를 구분하여야 한다. When the data packet is received from the service multiplexer 100, the demultiplexer 210 must distinguish whether the received data packet is a main service data packet, a mobile service data packet, or a null data packet.

일 실시예로, 상기 역다중화기(210)는 수신된 데이터 패킷 내 PID를 이용하여 모바일 서비스 데이터 패킷과 메인 서비스 데이터 패킷을 구분하고, transport_error_indicator 필드를 이용하여 널 데이터 패킷을 구분할 수 있다.In one embodiment, the demultiplexer 210 may distinguish between the mobile service data packet and the main service data packet using a PID in the received data packet, and may distinguish a null data packet using a transport_error_indicator field.

상기 역다중화기(210)에서 분리된 메인 서비스 데이터 패킷은 패킷 지터 경감기(220)로 출력되고, 모바일 서비스 데이터 패킷은 전처리기(230)로 출력되며, 널 데이터 패킷은 버려진다. 만일 상기 널 데이터 패킷에 전송 파라미터가 포함되어 있다면 전송 파라미터가 추출되어 해당 블록으로 출력된 후 널 데이터 패킷은 버려진다.The main service data packet separated by the demultiplexer 210 is output to the packet jitter reducer 220, the mobile service data packet is output to the preprocessor 230, and the null data packet is discarded. If the null data packet includes a transmission parameter, the null data packet is discarded after the transmission parameter is extracted and output to the corresponding block.

상기 전처리기(230)는 역다중화기(210)에서 역다중화되어 출력되는 모바일 서비스 데이터 패킷 내 모바일 서비스 데이터에 대해 추가의 부호화 및 전송 프레임 상에 전송하고자 하는 데이터들의 용도에 따라 어느 특정 위치에 위치할 수 있도록 하는 데이터 그룹 형성 과정을 수행한다. 이는 상기 모바일 서비스 데이터가 노이즈 및 채널 변화에 빠르고 강력하게 대응하도록 하기 위해서이다. 상기 전처리기(230)는 추가의 부호화시에 상기 전송 파라미터를 참조할 수도 있다. 또한 상기 전처리기(230)는 모바일 서비스 데이터 패킷을 다수개 모아 데이터 그룹을 형성하 고, 상기 데이터 그룹 내 기 설정된 영역에 기지 데이터, 모바일 서비스 데이터, RS 패리티 데이터, MPEG 헤더 등을 할당한다. The preprocessor 230 may be located at any specific location according to the purpose of data to be transmitted on the additional encoding and transmission frame for the mobile service data in the mobile service data packet which is demultiplexed and output from the demultiplexer 210. Perform the data group formation process to make it possible. This is to allow the mobile service data to respond quickly and strongly to noise and channel changes. The preprocessor 230 may refer to the transmission parameter in further encoding. In addition, the preprocessor 230 collects a plurality of mobile service data packets to form a data group, and allocates known data, mobile service data, RS parity data, MPEG header, and the like to a predetermined area within the data group.

송신기 내의 전처리기Preprocessor in the transmitter

도 4는 본 발명에 따른 전처리기(230)의 일 실시예를 보인 구성 블록도로서, 데이터 랜더마이저(301), RS 프레임 부호기(302), 블록 처리기(303), 그룹 포맷터(304), 데이터 디인터리버(305), 및 패킷 포맷터(306)를 포함할 수 있다. 4 is a block diagram illustrating an embodiment of a preprocessor 230 according to the present invention, which includes a data randomizer 301, an RS frame encoder 302, a block processor 303, a group formatter 304, and data. A deinterleaver 305, and a packet formatter 306.

이와 같이 구성된 전처리기(230) 내 데이터 랜더마이저(301)는 역다중화기(210)를 통해 입력되는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷을 랜더마이징시켜 RS 프레임 부호기(302)로 출력한다. 이때 상기 데이터 랜더마이저(301)에서 모바일 서비스 데이터에 대해 랜더마이징을 수행함으로써, 후처리기(250)의 데이터 랜더마이저(251)에서는 모바일 서비스 데이터에 대한 랜더마이징 과정을 생략할 수 있다. 이때, 상기 데이터 랜더마이저(301)는 모바일 서비스 데이터 패킷 내 동기 바이트를 버리고 랜더마이징을 수행할 수도 있다. 또는 상기 동기 바이트를 버리지 않고 랜더마이징을 수행할 수도 있으며, 이는 설계자의 선택 사항이다. 본 발명에서는 해당 모바일 서비스 데이터 패킷 내 동기 바이트를 버리지 않고 랜더마이징을 수행하는 것을 일 실시예로 한다.The data randomizer 301 in the preprocessor 230 configured as described above renders the mobile service data packet including the mobile service data input through the demultiplexer 210 and outputs it to the RS frame encoder 302. In this case, by performing the randomization on the mobile service data in the data randomizer 301, the data randomizer 251 of the postprocessor 250 may omit the randomizing process on the mobile service data. In this case, the data randomizer 301 may perform randomizing by discarding sync bytes in the mobile service data packet. Alternatively, rendering may be performed without discarding the sync byte, which is a designer's option. According to an embodiment of the present invention, the rendering is performed without discarding the sync byte in the corresponding mobile service data packet.

상기 RS 프레임 부호기(302)는 랜더마이즈되어 입력되는 모바일 서비스 데이터 패킷을 복수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 부호화(encoding) 과정, 에러 검출 부호화 과정 중 적어도 하나의 과정을 수행한다. 이렇게 하면 모바일 서비스 데이터에 강건성을 부여하면서 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다. The RS frame encoder 302 configures an RS frame by collecting a plurality of randomized and input mobile service data packets and performs at least one of an error correction encoding process and an error detection encoding process in units of RS frames. . This makes it possible to cope with extremely poor and rapidly changing propagation environment by giving robustness to mobile service data and distracting clustering errors that can be caused by the propagation environment change.

또한 상기 RS 프레임 부호기(302)는 복수개의 RS 프레임을 모아 수퍼 프레임(Super Frame)을 구성하고, 수퍼 프레임 단위로 로우(row) 섞음(permutation)을 수행할 수도 있다. 상기 로우 섞음(permutation)은 로우 인터리빙(interleaving)이라고도 하며, 본 발명에서는 설명의 편의를 위해 로우 섞음이라 하기로 한다. In addition, the RS frame encoder 302 may configure a super frame by collecting a plurality of RS frames, and perform row permutation in units of super frames. The row permutation is also referred to as row interleaving, and in the present invention, it is referred to as row mixing for convenience of description.

즉, 상기 RS 프레임 부호기(302)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다.That is, when the RS frame encoder 302 mixes each row of the super frame with a predetermined rule, the positions of the rows before and after row mixing in the super frame are changed. When the row mixing is performed in the unit of the super frame, even if a large amount of error occurs in a single RS frame to be decoded, the errors are distributed in the entire super frame, so that these errors are distributed throughout the super frame. The decryption ability is improved.

상기 RS 프레임 부호기(302)에서 에러 정정 부호화는 RS 부호화를 적용하고, 에러 검출 부호화는 CRC(Cyclic Redundancy Check) 부호화를 적용하는 것을 일 실시예로 한다. 상기 RS 부호화를 수행하면 에러 정정을 위해 사용될 패리티 데이터가 생성되고, CRC 부호화를 수행하면 에러 검출을 위해 사용될 CRC 데이터가 생성된다. According to an embodiment of the present invention, the RS frame encoder 302 uses RS coding for error correction coding and cyclic redundancy check (CRC) coding for error detection coding. Parity data to be used for error correction is generated when the RS encoding is performed, and CRC data to be used for error detection is generated when CRC encoding is performed.

상기 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 RS frame encoder 302 refers to a transmission parameter set in advance and / or a transmission parameter provided by the service multiplexer 100 in order of RS frame configuration, RS encoding, CRC encoding, super frame configuration, and super frame unit. Raw mixing and the like.

전처리기 내 In the preprocessor RSRS 프레임 부호기 Frame encoder

도 5의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 일 실시예를 보인 도면이다. 5A to 5E illustrate an embodiment of an encoding process of an RS frame encoder 302 according to the present invention.

즉, 상기 RS 프레임 부호기(302)는 먼저, 입력되는 모바일 서비스 데이터 바이트를 일정 길이 단위로 구분한다. 상기 일정 길이는 시스템 설계자에 의해 결정되는 값으로서, 본 발명에서는 187 바이트를 일 실시예로 설명하며, 설명의 편의를 위해 상기 187 바이트 단위를 패킷이라 하기로 한다. That is, the RS frame encoder 302 first divides the input mobile service data byte into predetermined length units. The predetermined length is a value determined by a system designer. In the present invention, 187 bytes is described as an embodiment, and for convenience of description, the 187 byte unit will be referred to as a packet.

예를 들어, 도 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 data randomizer 301 at the front end is rendered. In this case, the process of removing the sync byte from the RS frame encoder 302 is omitted. When the sync byte is added by the receiving system, the sync byte is added by the derandomizer instead of the RS frame decoder.

따라서 상기 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 RS frame encoder 302 or the input mobile service data is not in the form of a packet, the input mobile service data is inputted. Is divided by 187 bytes, and a packet is composed of divided 187 bytes.

이어, 도 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 RS frame encoder 302 performs CRC encoding on the RS coded mobile service data to generate the CRC code. The CRC code 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.

본 발명은 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 체크섬을 생성하는 다항식의 예를 보이고 있다.Equation 1 below shows an example of a polynomial that generates a 2-byte CRC checksum for each row of N bytes.

g(x) = x16 + x12 + x5 + 1g (x) = x 16 + x 12 + x 5 + 1

상기 각 로우마다 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 block processor 303.

도 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 RS frame encoder 302 according to the present invention. The RS frame encoding process of FIGS. 6A to 6E is almost similar to the RS frame encoding process of FIGS. 5A to 5E, and only an RS frame is formed in FIG. 6C. This is different.

즉, 도 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 N 187 bytes of packets into N columns in order.

이후의 과정은 상기된 도 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 RS frame encoder 302 according to the present invention, in which an error detection encoding process is omitted.

상기 도 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 Equation 2 below.

상기 수퍼 프레임 단위의 로우 섞음이 수행된 후에도 수퍼 프레임의 각 로우는 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 block processor 303 as shown in (d) of FIG. 8.

여기에서 주의할 점은 한 개의 수퍼 프레임을 구성하는 각각의 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 RS frame encoder 302 encodes the RS frame unit and the row mixing in the super frame unit is output to the block processor 303.

도 9의 (a) 내지 (d)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 또 다른 실시예를 보인 도면이다.9 (a) to 9 (d) illustrate another embodiment of an encoding process of the RS frame encoder 302 according to the present invention.

도 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 RS frame encoder 302 performs CRC encoding on the RS coded mobile service data to generate the CRC data. 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.

본 발명은 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 Equation 3 below.

Figure 112009001789019-PAT00002
Figure 112009001789019-PAT00002

상기 수퍼 프레임 단위의 로우 섞음 과정이 수행된 후에도 수퍼 프레임의 각 로우는 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 block processor 303.

이때, 전술한 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 RS frame encoder 302 according to the present invention.

도 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 RS frame encoder 302 first configures one packet with 187 bytes of mobile service data as shown in FIGS. 11A to 11C, and collects a plurality of packets to form one RS frame. Configure

본 발명은 도 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 RS frame encoder 302 according to the present invention.

도 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 RS frame encoder 302 first configures one packet with 187 bytes of mobile service data as shown in FIGS. 12A to 12C, and collects a plurality of packets to form one RS frame. Configure

본 발명은 도 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 RS frame encoder 302 according to the present invention.

도 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 RS frame encoder 302 first configures one packet with 187 bytes of mobile service data as shown in FIGS. 13A to 13C, and collects a plurality of packets to form one RS frame. Configure

본 발명은 도 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 RS frame encoder 302 for RS encoding is combined with parity data generated by column-oriented RS encoding. The parity data generated by the row direction RS encoding is referred to as a second RS subframe.

그러면 상기 제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 * G 187 byte rows.

이렇게 구성된 제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 Equation 4 below.

Figure 112009001789019-PAT00003
Figure 112009001789019-PAT00003

상기 로우 섞음 과정이 수행된 후에도 제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 block processor 303.

한편 도 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 * G 14 byte rows.

이렇게 구성된 제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 Equation 4 as it is or another row mixing method.

즉, 상기 수학식 4는 로우 섞음 방법의 일 실시예이며, 로우 섞음 방법은 i,j가 수퍼 프레임의 모든 로우를 포함하도록 할 수 있는 어떠한 방법이라도 가능하다. 따라서 본 발명은 상기된 실시예로 한정되지 않을 것이다. 그리고 상기 제1, 제2 수퍼 프레임의 로우 섞음에 사용하는 수식은 두 수퍼 프레임이 동일한 것을 사용할 수도 있으며, 두 개가 서로 다른 방법을 사용하는 것 또한 가능하다.That is, Equation 4 is an embodiment of the row mixing method, and the row mixing method may be any method that allows i, j to include all the rows of the super frame. Therefore, the present invention will not be limited to the above described embodiment. In addition, the formula used for mixing the rows of the first and second super frames may use the same two super frames, and it is also possible to use two different methods.

또한 본 발명은 제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 RS frame encoder 302 is configured to execute each of the first RS subframe. One byte (ie, 8 bits) CRC checksum for 187 bytes of a row can be generated and added to that row. In this case, the position of adding the 1-byte CRC checksum may be any position in the row. In one embodiment, the row may be added to the end of the row to configure the row as 188 bytes.

또 다른 예로, 상기 제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 * G 187 byte rows is extended to the first super frame having 85 * G 188 byte rows.

상기 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 block processor 303. Is entered.

도 15의 (a)는 RS 부호화, 로우 섞음, CRC 부호화 과정이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제1 RS 서브 프레임의 구조를 보인 것으로서, 188 바이트로 된 로우가 85개 구성된 것과 같다.FIG. 15A illustrates a structure of a first RS subframe input to the block processor 303 by sequentially performing RS encoding, row mixing, and CRC encoding, and includes 85 rows of 188 bytes. same.

도 15의 (b)는 RS 부호화, 로우 섞음이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제2 RS 서브 프레임의 구조를 보인 것으로서, 14 바이트로 된 로우가 85개 구성된 것과 같다.FIG. 15B illustrates a structure of a second RS subframe inputted to the block processor 303 by performing RS encoding and row mixing sequentially, which is equivalent to 85 rows of 14 bytes.

도 16의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 에러 정정 부호화 과정의 또 다른 실시예를 보인 도면이다.16A to 16E illustrate another embodiment of an error correction encoding process of the RS frame encoder 302 according to the present invention.

도 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 RS frame encoder 302 first configures one packet with 187 bytes of mobile service data as shown in FIGS. 16A to 16C, and collects a plurality of packets to form one RS frame. Configure

본 발명은 도 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 * G 187 byte rows.

이때 상기 도 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 * G 187 byte rows.

이렇게 구성된 제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 Equation 5 below.

Figure 112009001789019-PAT00004
Figure 112009001789019-PAT00004

상기 수학식 5도 로우 섞음 방법의 일 실시예이며, 로우 섞음 방법은 i,j가 수퍼 프레임의 모든 로우를 포함하도록 할 수 있는 어떠한 방법이라도 가능하다. 따라서 본 발명은 상기된 실시예로 한정되지 않을 것이다. 그리고 본 발명에서 상기 제1, 제2 수퍼 프레임의 로우 섞음에 사용하는 수식은 두 수퍼 프레임이 동일한 것을 사용할 수도 있으며, 두 개가 서로 다른 방법을 사용하는 것 또한 가능하다.Equation 5 is an embodiment of the row blending method, and the row blending method may be any method that allows i, j to include all rows of the super frame. Therefore, the present invention will not be limited to the above described embodiment. In the present invention, the formula used for mixing the rows of the first and second super frames may use the same two super frames, and it is also possible to use two different methods.

또한 본 발명은 제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 RS frame encoder 302 is configured to include the first and the second. A 1 byte (ie, 8 bits) CRC checksum for 187 bytes of each row in a 2 RS subframe may be generated and added to the corresponding row. In this case, the position of adding the 1-byte CRC checksum may be any position in the row. In one embodiment, the row may be added to the end of the row to configure the row as 188 bytes.

또 다른 예로, 상기 제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 * G 187 byte rows is extended to the first super frame having 85 * G 188 byte rows. Also, a second super frame having 6 * G 187 byte rows is extended to a second super frame having 6 * G 188 byte rows.

상기 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 block processor 303.

도 18의 (a)는 RS 부호화, 로우 섞음, CRC 부호화 과정이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제1 RS 서브 프레임의 구조를 보인 것으로서, 188 바이트로 된 로우가 85개 구성된 것과 같다.FIG. 18A illustrates a structure of a first RS subframe input to the block processor 303 by sequentially performing RS encoding, row mixing, and CRC encoding, and includes 85 rows of 188 bytes. same.

도 18의 (b)는 RS 부호화, 로우 섞음, CRC 부호화 과정이 순차적으로 수행되어 블록 처리기(303)로 입력되는 제2 RS 서브 프레임의 구조를 보인 것으로서, 188 바이트로 된 로우가 6개 구성된 것과 같다.FIG. 18B illustrates a structure of a second RS subframe input to the block processor 303 by sequentially performing RS encoding, row mixing, and CRC encoding, and includes six rows of 188 bytes. same.

지금까지 설명한 본 발명에서 컬럼 방향 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 RS frame encoder 302 through the above-described process is input to the block processor 303.

상기 블록 처리기(303)는 입력되는 모바일 서비스 데이터를 다시 D/E(여기서 D<E 임) 부호율로 부호화하여 그룹 포맷터(304)로 출력한다. The block processor 303 encodes the input mobile service data at a D / E (where D <E) code rate and outputs the encoded data to the group formatter 304.

즉, 상기 블록 처리기(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 block processor 303 divides the mobile service data input in byte units into bits, encodes the divided D bits into E bits, and converts them into byte units and outputs them. For example, if one bit of input data is encoded into two bits and outputted, D = 1 and E = 2. If one bit of input data is encoded into four bits and outputted, D = 1 and E = 4. In the present invention, for convenience of description, the former is referred to as encoding at 1/2 code rate (or sometimes referred to as 1/2 encoding), and the latter is referred to as encoding at 1/4 code rate (or referred to as 1/4 encoding). do.

여기서 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 later group formatter 304 is allocated to an area where reception performance may be deteriorated, and the data encoded at 1/2 code rate may have better performance. If we assign to, we can get the effect of reducing the difference in performance.

이때, 상기 블록 처리기(303)는 전송 파라미터를 담고 있는 시그널링(signaling) 정보도 입력받을 수 있는데, 이 시그널링 정보도 모바일 서비스 데이터 처리 과정과 동일하게 1/2 부호화 또는 1/4 부호화를 수행한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다. 단 상기 시그널링 정보 는 수신 시스템에서 상기 시그널링 정보를 구분하기 위한 식별 정보를 포함한다. In this case, the block processor 303 may also receive signaling information including a transmission parameter, and the signaling information also performs 1/2 encoding or 1/4 encoding as in the mobile service data processing process. The signaling information is also regarded as mobile service data and processed. However, the signaling information includes identification information for identifying the signaling information in the reception system.

한편 상기 그룹 포맷터(304)는 상기 블록 처리기(303)에서 출력되는 모바일 서비스 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 영역에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다.Meanwhile, the group formatter 304 inserts the mobile service data output from the block processor 303 into a corresponding region in the data group formed according to a predefined rule, and also provides various position holders or bases in relation to data deinterleaving. Data (or known data position holders) is also inserted into the corresponding area in the data group.

이때 상기 데이터 그룹은 적어도 하나 이상의 계층화된 영역으로 구분할 수 있고, 계층화된 각 영역의 특성에 따라 각 영역에 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다. 그리고 각 영역은 일 예로 데이터 그룹 내에서 수신 성능을 기준으로 분류할 수 있다. 또한 하나의 데이터 그룹은 필드 동기를 포함하도록 구성할 수 있다.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 group formatter 304 may allocate the mobile service data input by RS coding and block coding to the corresponding region with reference to the transmission parameter.

도 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 data deinterleaver 305.

도 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 group formatter 304 forms a data group including a position at which field synchronization is to be inserted, thereby forming a data group as described below.

즉, 상기 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 block processor 303 may encode mobile service data to be inserted into each area at different code rates according to the characteristics of the layered area.

예를 들어, 상기 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 block processor 303 at a 1/2 code rate, and the encoded mobile service data is encoded into the group formatter 304. In the A1 ~ A5 region can be inserted.

상기 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 block processor 303 at a 1/4 code rate with higher error correction capability than the 1/2 code rate. Data may be inserted into the B1 and B2 areas by the group formatter 304.

상기 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 block processor 303 at a code rate having a 1/4 code rate or a stronger error correction capability than the 1/4 code rate. The coded data may be inserted into the C1 to C3 areas by the group formatter 304, or may be left as a reserved area for later use.

예를 들어, 상기 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 frame encoder 302, as shown in FIGS. 13, 14 (a), and (b), double error correction encoding, error detection encoding, and row mixing in units of super frames are performed. If the first and second RS subframes are configured as shown in (a) and (b), the first RS subframe that has passed through the block processor 303 is allocated to the A and B regions in the data group in the group formatter 304. In addition, the second RS subframe may be allocated to the C region.

다른 예로, 상기 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 RS frame encoder 302 as shown in FIGS. 16, 17 (a) and (b), double error correction encoding, error detection encoding, and row mixing in units of super frames are performed. If the first and second RS subframes are configured as shown in a) and (b), the first RS subframe passed through the block processor 303 is allocated to the A and B areas in the data group by the group formatter 304. The second RS subframe may be allocated to the C region.

또한 상기 그룹 포맷터(304)에서는 모바일 서비스 데이터와는 별도로 전체적인 송신 정보를 알려주는 시그널링(signaling)과 같은 부가 정보 데이터도 상기 데 이터 그룹 내에 삽입한다.In addition, the group formatter 304 also inserts additional information data, such as signaling, which informs the overall transmission information separately from the mobile service data, into the data group.

그리고 상기 그룹 포맷터(304)에서는 블록 처리기(303)에서 출력된 부호화된 모바일 서비스 데이터들 외에도 도 19a에서 보이는 것과 같이 후단의 데이터 디인터리빙과 관련하여 MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더를 삽입한다. 여기서 메인 서비스 데이터 위치 홀더를 삽입하는 이유는 도 19a와 같이 데이터 디인터리버의 입력을 기준으로 B,C 영역에서는 모바일 서비스 데이터와 메인 서비스 데이터가 사이사이에 섞이게 되기 때문이다. 일 예로 상기 MPEG 헤더를 위한 위치 홀더는 상기 데이터 디인터리빙 후의 출력 데이터를 기준으로 볼 때, 각 패킷의 제일 앞에 할당될 수 있다.In addition to the encoded mobile service data output from the block processor 303, the group formatter 304 may include an MPEG header position holder, an unstructured RS parity position holder, and a main in relation to data deinterleaving at a later stage as shown in FIG. 19A. Insert the service data location holder. The reason for inserting the main service data location holder is that mobile service data and main service data are mixed between B and C regions based on the input of the data deinterleaver as shown in FIG. 19A. As an example, the position holder for the MPEG header may be assigned to the front of each packet based on the output data after the data deinterleaving.

또한 상기 그룹 포맷터(304)에서는 기 정해진 방법에 의해서 발생된 기지 데이터를 삽입하거나 기지 데이터를 추후에 삽입하기 위한 기지 데이터 위치 홀더를 삽입한다. 더불어서 트렐리스 부호화부(Trellis Encoding Module)(256)의 초기화를 위한 위치 홀더를 해당 영역에 삽입한다. 일 실시예로, 상기 초기화 데이터 위치 홀더는 상기 기지 데이터 열의 앞에 삽입할 수 있다.In addition, the group formatter 304 inserts known data generated by a predetermined method or inserts a known data position holder for later inserting known data. In addition, a position holder for initializing the Trellis encoding module 256 is inserted into the corresponding region. In one embodiment, the initialization data location holder may be inserted before the known data stream.

이때 하나의 데이터 그룹에 삽입 가능한 모바일 서비스 데이터 사이즈는 해당 데이터 그룹에 삽입되는 트렐리스 초기화 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더), 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 group formatter 304 is input to the data interleaver 305, and the data deinterleaver 305 uses the data and position holders in the data group output from the group formatter 304 as a reverse process of data interleaving. The data is deinterleaved and output to the packet formatter 306. That is, when the data and position holder in the data group configured as shown in FIG. 19A are deinterleaved by the data deinterleaver 305, the data group output to the packet formatter 306 has a structure as shown in FIG. 19B.

상기 패킷 포맷터(306)는 디인터리빙되어 입력된 데이터 중에서 디인터리빙을 위해 할당되었던 메인 서비스 데이터 위치 홀더와 RS 패리티 위치 홀더를 제거하고, 나머지 부분들을 모은 후, 4바이트의 MPEG 헤더 위치 홀더에 널 패킷 PID(또는 메인 서비스 데이터 패킷에서 사용하지 않는 PID)를 갖는 MPEG 헤더를 대체하여 삽입한다. The packet formatter 306 removes the main service data location holder and the RS parity location holder which have been allocated for deinterleaving among the deinterleaved input data, collects the remaining parts, and then collects null packets in the 4-byte MPEG header location holder. Insert and replace the MPEG header with the PID (or PID not used in the main service data packet).

또한 상기 패킷 포맷터(306)는 상기 그룹 포맷터(304)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 실제 기지 데이터를 삽입할 수도 있고, 또는 나중에 대체 삽입하기 위하여 상기 기지 데이터 위치 홀더를 조정없이 그대로 출력할 수도 있다. The packet formatter 306 may also insert the actual known data into the known data position holder when the group formatter 304 inserts the known data position holder, or later inserts the known data position holder for replacement. You can output as is without adjustment.

그리고 나서 상기 패킷 포맷터(306)는 상기와 같이 패킷 포맷팅된 데이터 그룹 내 데이터들을 188바이트 단위의 모바일 서비스 데이터 패킷(즉, MPEG TS 패킷)으로 구분하여 패킷 다중화기(240)에 제공한다.The packet formatter 306 then divides the data in the packet-formatted data group into mobile service data packets (ie, MPEG TS packets) in units of 188 bytes and provides them to the packet multiplexer 240.

상기 패킷 다중화기(240)는 상기 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 기 정의된 다중화 방법에 따라 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의 해서 조정이 가능하다. The packet multiplexer 240 multiplexes the mobile service data packet output from the preprocessor 230 and the main service data packet output from the packet jitter reducer 220 according to a predefined multiplexing method. Output to the data renderer 251 of the processor 250. The multiplexing method can be adjusted by various variables of the system design.

상기 패킷 다중화기(240)의 다중화 방법 중 하나로서, 시간축 상으로 버스트(burst) 구간을 두고, 버스트 구간 내 버스트 온 구간에서는 다수개의 데이터 그룹을 전송하고 버스트 오프 구간에서는 메인 서비스 데이터만을 전송하도록 할 수 있다. 여기서 버스트 구간은 현재 버스트의 시작에서 다음 버스트의 시작까지를 의미한다. As one of multiplexing methods of the packet multiplexer 240, a burst section is provided on a time axis, and a plurality of data groups are transmitted in a burst on section within a burst section, and only main service data is transmitted in a burst off section. Can be. The burst period here means from the start of the current burst to the start of the next burst.

이때 상기 버스트 온 구간에서는 메인 서비스 데이터를 전송할 수도 있다. 상기 패킷 다중화기(240)는 상기 전송 파라미터 예를 들어, 버스트 사이즈나 버스트 주기 등의 정보를 참조하여 하나의 버스트에 포함되는 데이터 그룹의 개수, 주기 등을 알 수 있다. In this case, the main service data may be transmitted in the burst on period. The packet multiplexer 240 may know the number, period, etc. of data groups included in one burst with reference to the transmission parameter, for example, a burst size or a burst period.

이때 버스트 온 구간에서는 모바일 서비스 데이터 및 메인 서비스 데이터가 혼재할 수 있으며, 버스트 오프 구간에서는 메인 서비스 데이터만 존재한다. 따라서 메인 서비스 데이터를 전송하는 메인 서비스 데이터 구간은 버스트 온 구간과 버스트 오프 구간에 모두 존재할 수 있다. 이때 버스트 온 구간 내 메인 서비스 데이터 구간과 버스트 오프 구간에 포함되는 메인 서비스 데이터 패킷 수는 서로 다를 수도 있고, 같을 수도 있다.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 preprocessor 230 and the packet multiplexer 240 will be described.

본 발명에서는 일 실시예로, RS 프레임 부호기(302)에서 도 5와 같이 구성되는 RS 프레임의 한 로우의 길이인 N 값을 538로 설정한다. In an embodiment of the present invention, the RS frame encoder 302 sets an N value, which is the length of one row of the RS frame configured as shown in FIG. 5, to 538.

그러면 상기 RS 프레임 부호기(302)는 538개의 트랜스포트 스트림(TS) 패킷을 입력받아 538 * 187 바이트 크기의 제1 RS 프레임을 구성할 수 있다. 이후 전술한 바와 같이 (235,187)-RS 부호화를 거쳐 538 * 235 바이트 크기의 제2 RS 프레임을 형성하고, 다시 16-비트 CRC 체크섬 생성 과정을 거쳐서 540 * 235 바이트 크기의 제3 RS 프레임을 형성하게 된다. Then, the RS frame encoder 302 may receive 538 transport stream (TS) packets to configure a first RS frame having a size of 538 * 187 bytes. Then, as described above, a second RS frame having a size of 538 * 235 bytes is formed through (235,187) -RS encoding, and a third RS frame having a size of 540 * 235 bytes is formed again through a 16-bit CRC checksum generation process. do.

예를 들어, 상기 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 block processor 303 at a 1/2 code rate, and the mobile service data to be inserted in the areas B1 and B2 in the area B. Suppose that the block processor 303 performs encoding at a 1/4 code rate. In addition, it is assumed that the mobile service data inserted into the A and B areas are the same type.

그러면 도 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 block processor 303, 6512 bytes of which are extended to 13024 bytes through 1/2 encoding, and 570 bytes to 2280 bytes through 1/4 encoding. To be. The group formatter 304 inserts the mobile service data extended to 13024 bytes into the areas A1 to A5 in the area A, and the mobile service data extended to 2280 bytes is inserted into the areas B1 and B2 in the B area.

이때 상기 블록 처리기(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 block processor 303 may be classified into an output of the RS frame encoder 302 and signaling information. According to the embodiment of the present invention, 7050 bytes of the 7082 bytes are received at the output of the RS frame encoder 302, and the remaining 32 bytes are inputted with signaling information data to perform 1/2 encoding or 1/4 encoding.

한편 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 frame encoder 302 is composed of 540 * 235 bytes, that is, 126900 bytes. Dividing this by 7050 bytes for the time base divides it into 18 7050 bytes.

그리고 상기 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 frame encoder 302 is combined with 32-byte signaling information data and then half-coded or quarter-coded by the block processor 303 to be group-formatter 304. Is output. The group formatter 304 inserts half-coded data into the A region and inserts 1 / 4-coded data into the B region.

다음은 RS 프레임 부호기(302)에서 RS 프레임을 형성하는데 필요한 N 값을 결정하는 과정을 설명한다. Next, a process of determining an N value required to form an RS frame in the RS frame encoder 302 will be described.

즉, 상기 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 RS frame encoder 302, must be allocated to an integer number of data groups. At this time, since 7050 bytes are allocated to a single data group before encoding, if (N + 2) * 235 bytes are divided into 7050 (= 30 * 235), the output data of the RS frame encoder 302 is divided. It can be efficiently assigned to a data group. In an embodiment of the present invention, the value of N is determined such that N + 2 is a multiple of 30. In the present invention, 538 is determined by the N value, and N + 2 (= 540) divided by 30 gives 18. This means that mobile service data in one RS frame is divided into 18 data groups through 1/2 encoding or 1/4 encoding.

도 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 group formatter 304 according to the present invention. That is, an RS frame having a size of (N + 2) * 235 bytes is divided into 30 * 235 byte blocks. And 30 * 235 bytes of each divided block are mapped to one data group. That is, data of one block having a size of 30 * 235 bytes is inserted into one data group through 1/2 encoding or 1/4 encoding.

또 다른 예로, 상기 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 block processor 303 at a 1/2 code rate, and the mobile service data to be inserted into the C region is inserted into the A and B regions. Suppose it's a different kind of data than a mobile service.

그러면 도 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).

M * NoBytesPerGrp = (N+2)*(187+P)+KM * NoBytesPerGrp = (N + 2) * (187 + P) + K

여기서 상기 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 preprocessor 230 is a first mobile service data path in which data to be allocated to the A and B areas of the data group is input. 538 packets may be input to the second mobile service data path.

이를 위해 상기 데이터 랜더마이저와 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 block processor 303.

일 예로, 제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 block processor 303 performs 1/2 encoding on data to be allocated to the A and C regions, and performs 1/4 encoding on data to be allocated to the B regions and outputs the data to the group formatter 304. do.

이때 전술한 것처럼 데이터 그룹 내 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 block processor 303 adds a dummy byte of 55 bytes when all data of the RS frame to be allocated to the C region is input. Perform the / 2 encoding. The addition of the dummy byte may be performed by the block processor 303 or may be input from an external block (not shown).

상기 그룹 포맷터(304)에서는 1/2 부호화 또는 1/4 부호화되어 입력된 모바일 서비스 데이터와 기타 데이터들(예를 들어, MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더, 기지 데이터나 기지 데이터 위치 홀더, 초기화 데이터 위치 홀더등)을 도 19a의 데이터 그룹 내 해당 영역에 삽입(또는 배치)한다. 예를 들어, 제1 모바일 서비스 데이터 경로로 입력되어 1/2 부호율 또는 1/4 부호율로 부호화된 모바일 서비스 데이터는 A,B 영역에 삽입하고, 제2 모바일 서비스 데이터 경로로 입력되어 1/2 부호율로 부호화된 모바일 서비스 데이터는 C 영역에 삽입한다.In the group formatter 304, the mobile service data and other data inputted with 1/2 encoding or 1/4 encoding (for example, an MPEG header position holder, an unstructured RS parity position holder, a main service data position holder, a base) Data, known data position holder, initialization data position holder, etc.) are inserted (or arranged) in the corresponding area in the data group of FIG. 19A. For example, mobile service data that is input to the first mobile service data path and encoded at 1/2 code rate or 1/4 code rate is inserted into the A and B areas, and is input to the second mobile service data path to 1 / Mobile service data encoded at two code rates is inserted in the C region.

도 22는 본 발명의 구체적인 실시예에 따른 패킷 다중화기(240)의 동작 예를 보인 것이다. 즉, 상기 패킷 다중화기(240)에서는 데이터 그룹을 포함하는 필드들과 메인 서비스 데이터만 포함하는 필드들을 버스트 구조로 다중화하여 데이터 랜더마이저(251)로 출력한다. 본 발명에서는 데이터 그룹을 포함하는 필드들은 버스트 온 구간에 전송하고, 메인 서비스 데이터만 포함하는 필드들을 버스트 오프 구간에 전송한다. 이때 상기 버스트 온 구간에서는 메인 서비스 데이터를 전송할 수도 있다. 22 illustrates an operation of the packet multiplexer 240 according to a specific embodiment of the present invention. That is, the packet multiplexer 240 multiplexes fields including data groups and fields including only main service data in a burst structure and outputs the data to the data randomizer 251. In the present invention, fields including the data group are transmitted in the burst on period, and fields including only the main service data are transmitted in the burst off period. In this case, the main service data may be transmitted in the burst on period.

일 예로, 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 packet multiplexer 240 is not a big problem in the case of video data. However, the size of the buffer for audio data, which the system target decoder has, can be problematic.

즉, 상기 패킷 지터로 인해 수신 시스템의 메인 서비스 데이터를 위한 버퍼, 예를 들면 오디오 데이터를 위한 버퍼에서 오버플로우(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 packet jitter reducer 220 readjusts the relative position of the main service data packet so that no overflow or underflow occurs in the buffer of the system target decoder.

본 발명에서는 오디오 버퍼의 동작에 주는 영향을 최소화하기 위하여 메인 서비스 데이터의 오디오 데이터 패킷의 위치를 재배치하는 실시예들을 설명한다. 상기 패킷 지터 경감기(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 packet jitter reducer 220 rearranges the audio data packets in the main service data section so that the audio data packets of the main service are as uniform as possible.

상기 패킷 지터 경감기(220)에서 메인 서비스의 오디오 데이터 패킷을 재배치하는 기준은 다음과 같다. 이때 상기 패킷 지터 경감기(220)는 후단의 패킷 다중화기(240)의 다중화 정보를 알고 있다고 가정한다.The criterion for relocating the audio data packet of the main service in the packet jitter reducer 220 is as follows. In this case, it is assumed that the packet jitter reducer 220 knows the multiplexing information of the packet multiplexer 240 at a later stage.

첫번째, 버스트 온 구간 내 메인 서비스 데이터 구간, 예를 들어 두개의 데이터 그룹 사이에 위치하는 메인 서비스 데이터 구간에서 오디오 데이터 패킷이 한 개 존재하는 경우에는 오디오 데이터 패킷을 메인 서비스 데이터 구간의 제일 앞에 배치하고, 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 packet jitter reducer 220 performs a function of PCR value correction.

상기 패킷 지터 경감기(220)의 출력은 패킷 다중화기(240)로 입력된다. 상기 패킷 다중화기(240)는 전술한 바와 같이 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷과 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷을 기 설정된 다중화 규칙에 따라 버스트 구조로 다중화하여 후 처리기(250)의 데이터 랜더마이저(251)로 출력한다. The output of the packet jitter reducer 220 is input to the packet multiplexer 240. The packet multiplexer 240 multiplexes the main service data packet output from the packet jitter reducer 220 and the mobile service data packet output from the preprocessor 230 into a burst structure according to a preset multiplexing rule. And outputs the data to the data renderer 251 of the post processor 250.

상기 데이터 랜더마이저(251)는 입력된 데이터가 메인 서비스 데이터 패킷이면 기존의 랜더마이저와 동일하게 랜더마이징을 수행한다. 즉, 메인 서비스 데이터 패킷 내 동기 바이트를 버리고 나머지 187 바이트를 내부에서 발생시킨 의사랜덤(pseudo random) 바이트를 사용하여 랜덤하게 만든 후 RS 부호기/비체계적 RS 부 호기(252)로 출력한다.If the input data is a main service data packet, the data randomizer 251 performs rendering in the same way as the existing renderer. That is, the sync byte in the main service data packet is discarded and the remaining 187 bytes are randomly generated using a pseudo random byte generated internally, and then output to the RS encoder / unstructured RS encoder 252.

그러나 입력된 데이터가 모바일 서비스 데이터 패킷이면, 패킷의 일부만을 랜더마이징할 수도 있다. 예를 들어, 상기 전처리기(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 preprocessor 230 has previously performed rendering on mobile service data, the data renderer 251 may select a sync byte of a 4-byte MPEG header included in the mobile service data packet. Discard it and perform rendering for only the remaining 3 bytes to output to the RS encoder / unstructured RS encoder 252. That is, the rest of the mobile service data except the MPEG header is output to the RS encoder / unstructured RS encoder 252 without performing rendering. The data randomizer 251 may or may not perform the randomization of the known data (or known data location holder) and the initialization data location holder included in the mobile service data packet.

상기 RS 부호기/비체계적 RS 부호기(252)는 상기 데이터 랜더마이저(251)에서 랜더마이징되는 데이터 또는 바이패스되는 데이터에 대해 RS 부호화를 수행하여 20바이트의 RS 패리티를 부가한 후 데이터 인터리버(253)로 출력한다. 이때 상기 RS 부호기/비체계적 RS 부호기(252)는 입력된 데이터가 메인 서비스 데이터 패킷인 경우 기존 방송 시스템과 동일하게 체계적 RS 부호화를 수행하여 20바이트의 RS 패리티를 187바이트의 데이터 뒤에 부가한다. 그리고 모바일 서비스 데이터 패킷이면 비체계적 RS 부호화를 수행하고, 이때 얻은 20바이트의 RS 패리티를 패킷 내 미리 정해진 패리티 바이트 위치에 삽입한다. The RS encoder / unstructured RS encoder 252 adds 20 bytes of RS parity by performing RS encoding on the data to be rendered or bypassed by the data randomizer 251, and then the data interleaver 253. Will output In this case, the RS encoder / unstructured RS encoder 252 adds 20 bytes of RS parity to 187 bytes of data after performing systematic RS encoding in the same manner as the existing broadcasting system when the input data is a main service data packet. In case of a mobile service data packet, unsystematic RS coding is performed, and the 20-byte RS parity obtained at this time is inserted at a predetermined parity byte position in the packet.

상기 데이터 인터리버(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 parity substituent 254 and an unstructured RS encoder 255.

한편 상기 패리티 치환기(254)의 후단에 위치한 트렐리스 부호화부(256)의 출력 데이터를 송/수신측에서 약속에 의해 정의한 기지 데이터로 하기 위해 먼저 트렐리스 부호화부(256) 내의 메모리의 초기화가 필요하다. 즉 입력되는 기지 데이터 열이 트렐리스 부호화되기 전에 먼저 트렐리스 부호화부(256)의 메모리를 초기화시켜야 한다. On the other hand, in order to make the output data of the trellis encoder 256 located at the rear end of the parity substituter 254 into known data defined by appointment on the transmitting / receiving side, the memory in the trellis encoder 256 is first initialized. Is needed. That is, before the input known data string is trellis encoded, the memory of the trellis encoder 256 must be initialized.

이때 입력되는 기지 데이터 열의 시작 부분은 실제 기지 데이터가 아니라 전처리기(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 preprocessor 230. Therefore, a process of generating initialization data immediately before the input known data string is trellis encoded and replacing the corresponding trellis memory initialization data position holder is required.

그리고 상기 트렐리스 메모리 초기화 데이터는 상기 트렐리스 부호화부(256)의 메모리 상태에 따라 그 값이 결정되어 생성된다. 또한 치환된 초기화 데이터에 의한 영향으로 RS 패리티를 다시 계산하여 상기 데이터 인터리버(253)에서 출력되는 RS 패리티와 치환하는 과정이 필요하다.The trellis memory initialization data is generated by determining a value thereof according to the memory state of the trellis encoder 256. In addition, a process of recalculating RS parity under the influence of the replaced initialization data and replacing the RS parity with the RS parity output from the data interleaver 253 is necessary.

따라서 상기 비체계적 RS 부호기(255)에서는 상기 데이터 인터리버(253)로부터 초기화 데이터로 치환될 초기화 데이터 위치 홀더가 포함된 모바일 서비스 데이터 패킷을 입력받고, 트렐리스 부호화부(256)로부터 초기화 데이터를 입력받는다. 그리고 입력된 모바일 서비스 데이터 패킷 중 초기화 데이터 위치 홀더를 초기화 데이터로 치환하고 상기 모바일 서비스 데이터 패킷에 부가된 RS 패리티 데이터를 제거한 후 비체계적인 RS 부호화를 수행한다. 그리고 상기 비체계적 RS 부호화하여 얻은 RS 패리티를 상기 패리티 치환기(255)로 출력한다. 그러면 상기 패리티 치환기(255)는 모바일 서비스 데이터 패킷 내 데이터는 상기 데이터 인터리버(253)의 출력을 선택하고, RS 패리티는 비체계적 RS 부호기(255)의 출력을 선택하여 트렐리스 부호화부(256)로 출력한다. Accordingly, the unstructured RS encoder 255 receives a mobile service data packet including an initialization data position holder to be replaced with initialization data from the data interleaver 253 and inputs initialization data from the trellis encoder 256. Receive. The initialization data position holder of the input mobile service data packet is replaced with the initialization data, and the RS parity data added to the mobile service data packet is removed, and then unstructured RS encoding is performed. The RS parity obtained by the unsystematic RS coding is output to the parity substituent 255. Then, the parity substituter 255 selects the output of the data interleaver 253 for data in the mobile service data packet, and selects the output of the unstructured RS encoder 255 for the RS parity. Will output

한편 상기 패리티 치환기(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 parity substituter 254 selects data and RS parity output from the data interleaver 253 as it is. The trellis encoder 256 outputs the trellis encoder.

상기 트렐리스 부호화부(256)는 바이트 단위의 데이터를 심볼 단위로 바꾸고 12-way 인터리빙하여 트렐리스 부호화한 후 동기 다중화기(260)로 출력한다. The trellis encoder 256 converts the data of the byte unit into the symbol unit, performs 12-way interleaving, trellis-encodes, and outputs the trellis to the synchronous multiplexer 260.

상기 동기 다중화기(260)는 트렐리스 부호화부(256)의 출력에 필드 동기와 세그먼트 동기를 삽입하여 송신부(270)의 파일롯 삽입기(271)로 출력한다. The synchronous multiplexer 260 inserts field sync and segment sync into the output of the trellis encoder 256 and outputs the field sync and segment sync to the pilot inserter 271 of the transmitter 270.

상기 파일롯 삽입기(271)에서 파일롯이 삽입된 데이터는 변조기(272)에서 기 설정된 변조 방식 예를 들어, VSB 방식으로 변조된 후 RF 업 컨버터(273)를 통해 각 수신 시스템으로 전송된다. Data in which the pilot is inserted in the pilot inserter 271 is modulated by a modulator 272, for example, a VSB method, and then transmitted to each receiving system through the RF up converter 273.

블록 처리기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-bit converter 401, a symbol encoder 402, a symbol interleaver 403, and a symbol-byte converter 404. can do.

상기 바이트-비트 변환기(401)는 상기 RS 프레임 부호기(112)에서 입력되는 모바일 서비스 데이터 바이트를 비트로 구분하여 심볼 부호기(402)로 출력한다.The byte-bit converter 401 divides the mobile service data byte input from the RS frame encoder 112 into bits and outputs the bits to the symbol encoder 402.

상기 바이트-심볼 변환기(401)는 전송 파라미터 등을 담고있는 시그널링(signaling) 정보도 입력받을 수 있으며, 이 시그널링 정보 바이트들도 비트로 구분하여 심볼 부호기(402)로 출력한다. 여기서 상기 전송 파라미터를 담고 있는 시그널링 정보는 모바일 서비스 데이터 처리 과정과 동일하게 데이터 랜더마이저(301)와 RS 프레임 부호기(302)를 거쳐 블록 처리기(303)로 입력될 수도 있고, 또는 상기 데이터 랜더마이저(301)와 RS 프레임 부호기(302)를 거치지 않고 바로 블록 처리기(303)로 입력될 수도 있다.The byte-symbol converter 401 may also receive signaling information including a transmission parameter and the like, and the signaling information bytes are also divided into bits and output to the symbol encoder 402. In this case, the signaling information including the transmission parameter may be input to the block processor 303 via the data renderer 301 and the RS frame encoder 302 in the same manner as the mobile service data processing process, or the data renderer ( It may be input directly to the block processor 303 without passing through the 301 and the RS frame encoder 302.

상기 심볼 부호기(402)는 입력되는 데이터 D비트를 E비트로 부호화하여 출력하는 D/E 부호기이다. The symbol encoder 402 is a D / E encoder that encodes and outputs an input data D bit into an E bit.

본 발명에서는 일 실시예로, 상기 심볼 부호기(402)는 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함) 또는 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함)를 수행한다고 가정한다. 상기 심볼 부호기(402)는 입력받은 모바일 서비스 데이터들과 시그널링 정보에 대해 1/2 부호화 또는 1/4 부호화를 수행한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다. In one embodiment of the present invention, the symbol encoder 402 may be encoded at a half code rate (or sometimes referred to as half encoding) or at a quarter code rate (also referred to as quarter encoding). Suppose we do The symbol encoder 402 performs 1/2 encoding or 1/4 encoding on the received mobile service data and signaling information. The signaling information is also regarded as mobile service data and processed.

상기 심볼 부호기(402)에서는 1/2 부호화인 경우에는 1비트를 입력받아 2비트(즉, 1개의 심볼)로 부호화하여 출력하고, 1/4 부호화인 경우에는 1비트를 입력받아 4비트(즉, 2개의 심볼)로 부호화하여 출력한다.The symbol encoder 402 receives 1 bit in the case of 1/2 encoding, encodes it into 2 bits (that is, one symbol), and outputs it. Two symbols).

도 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 symbol encoder 402, which is composed of two delayers 501 and 503 and three adders 502, 504 and 505. output to u3). At this time, the data bit U is output as it is as the most significant bit u0 and encoded and output as the lower bit u1u2u3.

즉, 입력 데이터 비트 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 third adders 502 and 505. The first adder 502 adds the input data bit U and the output of the first delayer 501 to output to the second delayer 503, and for a predetermined time (for example, in the second delayer 502). The delayed data is output to the lower bit u1 and fed back to the first delay unit 501. The first delayer 501 delays the data fed back from the second delayer 502 by a predetermined time (for example, one clock) and outputs the delayed data to the first adder 502 and the second adder 504. . The second adder 504 adds the outputs of the first and second delayers 501 and 503 to output the lower bit u2. The third adder 505 adds the input data bit U and the output of the second adder 504 to output the lower bit u3.

이때 상기 심볼 부호기(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 symbol encoder 402 may configure and output one symbol of u0u1 bits among the four output bits u0u1u2u3. In addition, for data to be encoded at a 1/4 code rate, a symbol consisting of u0u1 bits may be output, followed by another symbol consisting of u2u3 bits. In another embodiment, if the data is to be encoded at a 1/4 code rate, a symbol composed of u0u1 bits may be repeatedly output.

또 다른 실시예로, 상기 심볼 부호기(402)에서는 4개의 출력 비트 u0u1u2u3을 모두 출력하고, 후단의 심볼 인터리버(403)에서 1/2 부호율인 경우에는 4개의 출력 비트 u0u1u2u3 중 u0u1 비트로 구성된 심볼만을 선택하고, 1/4 부호율인 경우에는 u0u1 비트로 구성된 심볼과 u2u3 비트로 구성된 또 다른 심볼을 모두 선택하도록 설계할 수도 있다. 또 다른 실시예로, 1/4 부호율인 경우에는 u0u1 비트로 구성된 심볼을 반복하여 선택하도록 할 수도 있다.In another embodiment, the symbol encoder 402 outputs all four output bits u0u1u2u3, and when the symbol interleaver 403 at the next stage has a 1/2 code rate, only a symbol consisting of u0u1 bits among the four output bits u0u1u2u3 is used. If the code rate is 1/4, the symbol may be designed to select both a symbol composed of u0u1 bits and another symbol composed of u2u3 bits. In another embodiment, when the code rate is 1/4, a symbol composed of u0u1 bits may be repeatedly selected.

상기 심볼 부호기(402)의 출력은 심볼 인터리버(403)로 입력되고, 상기 심볼 인터리버(403)는 상기 심볼 부호기(402)의 출력 데이터에 대해 심볼 단위로 블록 인터리빙을 수행한다. The output of the symbol encoder 402 is input to the symbol interleaver 403, and the symbol interleaver 403 performs block interleaving on a symbol unit basis for the output data of the symbol encoder 402.

상기 심볼 인터리버(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 symbol encoder 402, and L is the number of symbols actually interleaved in the symbol interleaver 403.

본 발명의 심볼 인터리버(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 symbol interleaver 403 for interleaving, and L is an interleaving unit in which interleaving is performed by an interleaving pattern generated by the symbol interleaver 403.

도 25는 그 예를 보인 것으로서, 인터리빙하기 위해 심볼 부호기(402)에서 출력되는 심볼의 수(=K)는 6 심볼이고, 실제 인터리빙 단위(L)는 8 심볼이 된다. 따라서 도 25의 (a)와 같이 2 심볼이 널 심볼로 추가되어 인터리빙 패턴이 만들어진다. FIG. 25 shows an example. The number of symbols (= K) output from the symbol encoder 402 for interleaving is 6 symbols, and the actual interleaving unit L is 8 symbols. Accordingly, as shown in FIG. 25A, two symbols are added as null symbols to form an interleaving pattern.

하기의 수학식 7은 상기 심볼 인터리버(403)에서 순서를 재배열하고자 하는 심볼 K개를 순서대로 입력받은 후, L = 2n이면서 L ≥ K 조건을 만족하는 L을 찾아 인터리빙 패턴을 만들어 재배열하는 과정을 수학식으로 표현한 것이다. Equation 7 below receives the K symbols to be rearranged in sequence in the symbol interleaver 403 in order, finds L = 2 n and satisfies the condition L? Is a mathematical expression of the process.

모든 위치 0 ≤ i ≤ L-1 에 대해서,For all positions 0 ≤ i ≤ L-1,

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 Equation 2 and FIG. 25 (b), the null symbols as shown in Equations 8 and 25 (c) below. The interleaved symbols are output to the symbol-byte converter 404 in the sorted order.

if P(i) > K-1, then P(i) 위치는 제거하고 정렬if P (i)> K-1, then P (i) position removed and aligned

상기 심볼-바이트 변환기(404)는 상기 심볼 인터리버(403)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 바이트로 변환하여 그룹 포맷터(304)로 출력한다.The symbol-byte converter 404 converts the mobile service data symbols outputted after the sequence rearrangement is completed in the symbol interleaver 403 into bytes and outputs them to the group formatter 304.

도 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 interleaving nit 610 and a block formatter 620.

상기 인터리빙부(610)는 바이트-심볼 변환기(converter)(611), 심볼-바이트 변환기(612), 심볼 인터리버(613), 및 심볼-바이트 변환기(614)를 포함할 수 있다. 상기 심볼 인터리버는 블록 인터리버라 하기도 한다. The interleaving unit 610 may include a byte-symbol converter 611, a symbol-byte converter 612, a symbol interleaver 613, and a symbol-byte converter 614. The symbol interleaver is also called a block interleaver.

상기 인터리빙부(610)의 바이트- 심볼 변환기(611)는 상기 RS 프레임 부호기(302)에서 바이트 단위로 출력되는 모바일 서비스 데이터(X)를 심볼 단위로 변환하여 심볼-바이트 변환기(612)와 심볼 인터리버(613)로 출력한다. 즉, 상기 바이트- 심볼 변환기(611)는 입력되는 모바일 서비스 데이터 바이트(=8비트)의 2비트를 1개의 심볼로 하여 출력한다. 이는 트렐리스 부호화부(256)의 입력이 2비트로 된 심볼 단위이기 때문이다. 상기 블록 처리기(303)와 트렐리스 부호화부(256)와의 관계 는 뒤에서 설명한다. Bytes of the interleaving unit 610 The symbol converter 611 converts the mobile service data X output in the unit of byte from the RS frame encoder 302 in the unit of symbol and outputs it to the symbol-byte converter 612 and the symbol interleaver 613. That is, the byte- The symbol converter 611 outputs two bits of the input mobile service data byte (= 8 bits) as one symbol. This is because the input of the trellis encoder 256 is a symbol unit of 2 bits. The relationship between the block processor 303 and the trellis encoder 256 will be described later.

이때 상기 바이트-심볼 변환기(611)는 전송 파라미터 등을 담고 있는 시그널링(signaling) 정보도 입력받을 수 있으며, 이 시그널링 정보 바이트들도 심볼 단위로 구분하여 심볼-바이트 변환기(612)와 심볼 인터리버(613)로 출력한다.In this case, the byte-symbol converter 611 may also receive signaling information including a transmission parameter and the like. The signaling information bytes may also be divided in symbol units so that the symbol-byte converter 612 and the symbol interleaver 613 are received. )

상기 심볼-바이트 변환기(612)는 상기 바이트-심볼 변환기(611)에서 출력되는 4개의 심볼을 모아 바이트를 구성한 후 블록 포맷터(620)로 출력한다. 이때 상기 심볼-바이트 변환기(612)와 상기 바이트-심볼 변환기(611)는 서로 역의 과정이기 때문에 두 블록의 결과는 상쇄되어 도 26b에서와 같이 입력 데이터 X가 그대로 블록 포맷터(620)로 바이패스되는 효과가 있다. 즉, 도 26b의 인터리빙부(610)는 도 26a의 인터리빙부(610)와 등가적인 구조를 가지므로, 동일한 부호를 사용한다.The symbol-byte converter 612 collects four symbols output from the byte-symbol converter 611 to form a byte, and outputs the byte to the block formatter 620. In this case, since the symbol-byte converter 612 and the byte-symbol converter 611 are inverse processes, the results of the two blocks are canceled so that the input data X is bypassed to the block formatter 620 as shown in FIG. 26B. It is effective. That is, since the interleaving unit 610 of FIG. 26B has an equivalent structure to that of the interleaving unit 610 of FIG. 26A, the same reference numerals are used.

상기 심볼 인터리버(613)는 상기 바이트-심볼 변환기(611)에서 출력되는 데이터에 대해 심볼 단위로 블록 인터리빙을 수행하여 심볼-바이트 변환기(614)로 출력한다. The symbol interleaver 613 performs block interleaving on a symbol-by-symbol basis for the data output from the byte-symbol converter 611 and outputs the result to the symbol-byte converter 614.

상기 심볼 인터리버(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-byte converter 614 collects the mobile service data symbols outputted after the sequence rearrangement is completed in the symbol interleaver 613, forms a byte, and outputs the byte to the block formatter 620. That is, the symbol-byte converter 614 forms four bytes by collecting four symbols output from the symbol interleaver 613.

상기 블록 포맷터(620)는 도 27과 같이 각 심볼-바이트 변환기(612,614)의 출력을 블록 내에서 일정 기준에 따라 배열하는 역할을 수행한다. 이때 상기 블록 포맷터(620)는 트렐리스 부호화부(256)와 관계되어 동작한다.The block formatter 620 arranges outputs of the symbol-byte converters 612 and 614 according to a predetermined criterion in the block as shown in FIG. 27. In this case, the block formatter 620 operates in relation to the trellis encoder 256.

즉, 상기 블록 포맷터(620)는 상기 트렐리스 부호화부(256)로 입력되는 메인 서비스 데이터, 기지 데이터, RS 패리티 데이터, MPEG 헤더 데이터 등 모바일 서비스 데이터를 제외한 나머지 데이터들의 위치(또는 순서)를 고려하여 각 심볼-바이트 변환기(612,614)의 모바일 서비스 데이터 출력 순서를 결정한다. That is, the block formatter 620 determines the position (or order) of the remaining data except for mobile service data such as main service data, known data, RS parity data, and MPEG header data input to the trellis encoder 256. Consider the mobile service data output order of each symbol-byte converter 612,614.

상기 트렐리스 부호화부(256)는 일 실시예로서, 내부에 12개의 트렐리스 부호기를 구비하고 있다. The trellis encoder 256 has twelve trellis encoders as an example.

도 28은 본 발명의 일 실시예에 따른 트렐리스 부호화부(256)의 상세 블록도로서, 12개의 동일한 트렐리스 부호기가 노이즈 분산을 위해 인터리버로 결합되는 예를 보이고 있다. 상기 각 트렐리스 부호기는 프리코더(Pre coder)를 포함할 수 있다. 28 is a detailed block diagram of a trellis encoder 256 according to an embodiment of the present invention, in which twelve identical trellis encoders are combined into an interleaver for noise dispersion. Each trellis encoder may include a pre coder.

도 29a는 상기 블록 처리기(303)와 트렐리스 부호화부(256)가 연접(concatenation)된 모습을 도시하고 있다. 실제로 전송 시스템에서는 도 3과 같이 블록 처리기(303)를 포함하는 전처리기(230)와 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하지만, 수신 시스템에서는 두 블록이 연접된 것으로 간주하여 복호를 수행하게 된다. FIG. 29A illustrates a state in which the block processor 303 and the trellis encoder 256 are concatenated. In reality, in the transmission system, as shown in FIG. 3, a plurality of blocks exist between the preprocessor 230 including the block processor 303 and the trellis encoder 256, but in the receiving system, the two blocks are considered to be concatenated. Decoding will be performed.

그런데 상기 트렐리스 부호화부(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 trellis encoder 256 are the block processor 303 and the trellis encoder 256. Data added in blocks existing in between. 29B illustrates an example in which the data processor 650 is disposed between the block processor 303 and the trellis encoder 256 in consideration of such a situation.

여기서 상기 블록 처리기(303)의 인터리빙부(610)는 1/2 부호율로 부호화를 수행하는 경우, 도 26a(또는 도 26b)와 같이 구성할 수 있다. 상기 데이터 처리부(650)는 도 3을 예로 들 경우, 그룹 포맷터(304), 데이터 인터리버(305), 패킷 포맷터(306), 패킷 다중화기(240), 후 처리기(250)의 데이터 랜더마이저(251), RS 부호기/비체계적 RS 부호기(252), 데이터 인터리버(253), 패리티 치환기(254), 비체계적 RS 부호기(255)를 포함할 수 있다. Here, when the interleaving unit 610 of the block processor 303 performs encoding at a 1/2 code rate, the interleaving unit 610 may be configured as shown in FIG. 26A (or FIG. 26B). 3, the data processor 650 uses the group formatter 304, the data interleaver 305, the packet formatter 306, the packet multiplexer 240, and the data processor 251 of the post processor 250. ), An RS encoder / unstructured RS encoder 252, a data interleaver 253, a parity substituent 254, and an unstructured RS encoder 255.

이때 상기 트렐리스 부호화부(256)는 입력되는 데이터를 심볼화하여 기 정의된 방식에 따라 각각의 트렐리스 부호기로 나누어 보낸다. 이때, 한 바이트는 2비트로 구성된 4개의 심볼로 변환되고, 하나의 바이트로부터 만들어진 심볼들은 모두 같은 트렐리스 부호기로 전송된다. 그러면 각 트렐리스 부호기는 입력 심볼 중 상위 비트는 프리코딩시켜 최상위 출력 비트 C2로 출력하고, 하위 비트는 트렐리스 부호화하여 두 개의 출력 비트 C1,C0으로 출력한다.At this time, the trellis encoder 256 symbolizes the input data and sends the trellis encoder to each trellis encoder according to a predefined method. At this time, one byte is converted into four symbols consisting of two bits, and symbols made from one byte are all transmitted to the same trellis encoder. Then, each trellis encoder precodes the upper bits of the input symbols and outputs them to the highest output bit C2, and outputs the lower bits to two output bits C1 and C0 by trellis coding.

상기 블록 포맷터(620)는 각 심볼-바이트 변환기의 출력 바이트가 서로 다른 트렐리스 부호기로 전송될 수 있도록 제어한다.The block formatter 620 controls the output bytes of each symbol-byte converter to be transmitted to different trellis encoders.

다음은 도 26 내지 도 29를 참조하여 상기 블록 포맷터(620)의 상세 동작을 설명하기로 한다.Next, detailed operations of the block formatter 620 will be described with reference to FIGS. 26 to 29.

도 26a를 예로 들 경우, 심볼-바이트 변환기(612)의 출력 바이트와 심볼-바이트 변환기(614)의 출력 바이트는 상기 블록 포맷터(620)의 제어에 의해 트렐리스 부호화부(256)의 서로 다른 트렐리스 부호기로 입력된다.Referring to FIG. 26A, the output byte of the symbol-byte converter 612 and the output byte of the symbol-byte converter 614 are different from each other of the trellis encoder 256 under the control of the block formatter 620. It is input to the trellis encoder.

본 발명에서는 설명의 편의를 위해, 상기 심볼-바이트 변환기(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-byte converter 612 is referred to as X, and the output byte of the symbol-byte converter 614 is referred to as Y. In FIG. 27A, each number 0 to 11 indicates the trellis encoder of the first to twelveth trellis encoders 256, respectively.

그리고 상기 블록 포맷터(620)는 상기 심볼-바이트 변환기(612)의 출력 바이트들이 트렐리스 부호화부(256)의 0번부터 5번까지의 트렐리스 부호기(0~5)로 입력되고, 상기 심볼-바이트 변환기(614)의 출력 바이트들이 6번부터 11번까지의 트렐리스 부호기(6~11)로 입력되도록, 각 심볼-바이트 변환기(612,614)의 출력 순서를 배열하는 것을 일 실시예로 한다. 여기서 상기 심볼-바이트 변환기(612)의 출력 바이트들이 할당되는 트렐리스 부호기들 및 상기 심볼-바이트 변환기(614)의 출력 바이트들이 할당되는 트렐리스 부호기들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이다. The block formatter 620 inputs output bytes of the symbol-byte converter 612 to trellis encoders 0 to 5 of the trellis encoder 256. In one embodiment, the output order of each symbol-byte converter 612, 614 is arranged such that the output bytes of the symbol-byte converter 614 are inputted to the trellis encoders 6-11 of numbers 6-11. do. Here, the trellis encoders to which the output bytes of the symbol-byte converter 612 are allocated and the trellis encoders to which the output bytes of the symbol-byte converter 614 are assigned are one embodiment for understanding the present invention. It is only.

또한 상기 블록 처리기(303)의 입력이 12바이트로 구성된 블록이라고 가정할 때, 상기 심볼-바이트 변환기(612)에서는 X0~X11까지 12바이트가 출력되고, 상기 심볼-바이트 변환기(614)에서도 Y0~Y11까지 12바이트가 출력되는 것을 일 실시예로 한다. In addition, assuming that the input of the block processor 303 is a block composed of 12 bytes, the symbol-byte converter 612 outputs 12 bytes from X0 to X11, and the symbol-byte converter 614 also outputs Y0 to According to an embodiment, 12 bytes are output to Y11.

도 27의 (b)는 트렐리스 부호화부(256)로 입력되는 데이터의 일 실시예를 보인 것으로서, 모바일 서비스 데이터뿐만 아니라 메인 서비스 데이터 및 RS 패리티 데이터가 트렐리스 부호화부(256)로 입력되어 각 트렐리스 부호기로 분배되는 예를 보이고 있다. 즉, 상기 블록 처리기(303)로부터 출력된 모바일 서비스 데이터가 그룹 포맷터(304)를 거치면서, 상기 모바일 서비스 데이터에 도 27의 (a)와 같이 메인 서비스 데이터, 그리고 RS 패리티 데이터가 섞인 형태로 출력된다고 할 때, 각 바이트들은 데이터 인터리빙 후의 데이터 그룹 내 위치에 따라 12개의 트렐리스 부호기로 입력된다. FIG. 27B illustrates an embodiment of data input to the trellis encoder 256, in which main service data and RS parity data as well as mobile service data are input to the trellis encoder 256. The example is distributed to each trellis encoder. That is, while the mobile service data output from the block processor 303 passes through the group formatter 304, the mobile service data is output in a form in which main service data and RS parity data are mixed with the mobile service data as shown in FIG. Each byte is input to 12 trellis encoders according to their position in the data group after data interleaving.

여기에 앞서 언급한 원칙에 따라 심볼-바이트 변환기(612,614)의 출력 바이트들(X,Y)을 해당 트렐리스 부호기에 할당하면, 각 트렐리스 부호기의 입력은 도 27의 (b)와 같은 형태가 될 수 있다. If the output bytes (X, Y) of the symbol-byte converter 612, 614 are allocated to the corresponding trellis encoder according to the aforementioned principle, the input of each trellis encoder is as shown in FIG. It can be in form.

즉, 도 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-byte converter 612 are the first to sixth tracks of the trellis encoder 256. The two mobile service data bytes (Y0, Y1) sequentially allocated (or distributed) to the release encoders 0 to 5 and output from the symbol-byte converter 614 are the seventh and eighth trellis encoders. Sequentially assigned to (6,7). Four main service data bytes of the five main service data bytes are sequentially allocated to the ninth to twelfth trellis encoders 8 to 11, and the next one main service data byte is again the first trellis encoder. An example is assigned to (0).

상기 도 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 block processor 303 is a block composed of 12 bytes. The symbol-byte converter 612 outputs 12 bytes from X0 to X11, and the symbol-byte converter 614 also outputs Y0. Suppose that 12 bytes are output until ~ Y11. In this case, the block formatter 620 outputs the symbol-byte converters 612 and 614 in the order of X0 to X5, Y0, Y1, X6 to X10, Y2 to Y7, X11, Y8 to Y11 as shown in FIG. Outputs an array.

즉, 각 데이터 바이트들이 전송 프레임 내의 어느 위치에 삽입되는가에 따라 각각 어떠한 트렐리스 부호기에서 부호화되는지가 결정된다. 이때 모바일 서비스 데이터뿐만 아니라 메인 서비스 데이터와 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 trellis encoder 256, so that the block formatter 620 performs a data group format after data interleaving. Suppose you know information about.

도 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) symbol interleavers 741 to 74N-1 configured in parallel. do. That is, a block processor having a 1 / N code rate has a total of N branches, including branches or paths in which original input data is passed to the block formatter 730 as it is. Each of the symbol interleavers 741 to 74N-1 may be configured with different symbol interleavers. Corresponding (N-1) symbol-byte converters 751 to 75N-1 may be configured at the output terminals of the (N-1) symbol interleavers 741 to 74N-1. Outputs of the (N-1) symbol-byte converters 751 to 75N-1 are also input to the block formatter 730.

본 발명에서 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 block formatter 730 may arrange the output data such that the output byte of the twelfth symbol-byte converter 75N-1 is input to the twelfth trellis encoder. If N is 3, the block formatter 730 inputs the output bytes of the symbol-byte converter 720 to the first to fourth trellis encoders of the trellis encoder 256, and the symbol-byte converter ( The output bytes of 751) may be input to the fifth to eighth trellis encoders, and the output bytes of the symbol-byte converter 752 may be input to the ninth to twelfth trellis encoders.

이때 각 심볼-바이트 변환기의 출력 데이터 순서는 각 심볼-바이트 변환기에서 출력되는 모바일 서비스 데이터와 섞이게 되는 모바일 서비스 데이터 외의 데이터들의 데이터 그룹 내 위치에 따라 달라질 수 있다.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-symbol converter 810, a symbol-byte converter 820, 840, and a symbol interleaver 830. In this case, the output of each symbol-byte converter 820, 840 is input to the group formatter 850.

또한 상기 블록 처리기는 심볼 인터리버와 심볼-바이트 변환기를 더 추가하여 원하는 부호율을 얻을 수 있다. 만일 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 group formatter 850 as it is. (N-1) symbol interleavers and symbol-byte converters may be provided. At this time, the group formatter 850 inserts a position holder for securing the position for the MPEG header, the unstructured RS parity, and the main service data, and places the bytes output from each branch of the block processor at a predetermined position.

본 발명에서 제시하는 트렐리스 부호기의 개수, 심볼-바이트 변환기의 개수, 심볼 인터리버의 개수들은 바람직한 실시예이거나 단순한 예시인 바, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다. 또한 트렐리스 부호화부(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 trellis encoder 256 may vary according to the data group format. will be. Therefore, it is to be understood that the present invention is not limited to the above described embodiments.

상기와 같이 블록 처리기(303)에서 1/N 부호율로 부호화되어 출력되는 모바일 서비스 데이터는 그룹 포맷터(304)로 입력된다. 여기서는 상기 블록 처리기(303)의 블록 포맷터에서 출력 데이터 순서가 데이터 그룹 내 바이트 위치에 따라 배열되어 출력되는 것을 일 실시예로 설명한다.As described above, the mobile service data encoded and output at the 1 / N code rate by the block processor 303 is input to the group formatter 304. In this embodiment, the output data order in the block formatter of the block processor 303 is arranged and output according to the byte position in the data group.

시그널링Signaling 정보 처리 Information processing

본 발명에 따른 송신기(200)에서는 전송 파라미터를 여러 가지 방법, 및 위치에서 삽입하여 수신 시스템으로 전송할 수 있다. In the transmitter 200 according to the present invention, transmission parameters may be inserted in various methods and positions and transmitted to the receiving system.

본 발명의 이해를 돕기 위해 송신기에서 수신 시스템으로 전송해야 할 전송 파라미터에 대해 정의하기로 한다. 상기 전송 파라미터는 데이터 그룹 정보, 데이터 그룹 내 영역 정보, 수퍼 프레임을 구성하는 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 group formatter 304.

제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 group formatter 304 or the packet formatter 306.

제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 block processor 303 and the group formatter 304 is provided. Can be inserted into the unused area of the field sync signal. That is, in the receiving system, after acquiring the field sync using the field sync segment, the transmission parameter may be detected at the promised position. In the case of the third embodiment, the transmission parameter may be inserted and transmitted by the synchronous multiplexer 260.

제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 group formatter 304 and inserting the transmission parameter into the A region in the data group.

이때, 상기 그룹 포맷터(304)는 블록 처리기(303)로부터 모바일 서비스 데이 터를 입력받는다. 이에 반해 전송 파라미터는 데이터 랜더마이징 과정, RS 프레임 부호화 과정, 블록 처리 과정 중 적어도 하나의 과정을 거친 후 그룹 포맷터(304)로 입력될 수도 있고, 세 과정 모두를 거치지 않고 그룹 포맷터(304)로 입력될 수도 있다. 또한 상기 전송 파라미터는 서비스 다중화기(100)에서 제공될 수도 있고, 송신기(200) 내부에서 발생하여 제공될 수도 있다. At this time, the group formatter 304 receives the mobile service data from the block processor 303. In contrast, the transmission parameter may be input to the group formatter 304 after at least one of data rendering, RS frame encoding, and block processing, or input to the group formatter 304 without going through all three processes. May be In addition, the transmission parameter may be provided by the service multiplexer 100 or may be generated and provided within the transmitter 200.

상기 전송 파라미터는 수신 시스템에서 상기 데이터 그룹에 포함되는 데이터를 수신하여 처리하는데 필요한 정보들을 포함할 수 있다. 예를 들면, 상기 전송 파라미터는 데이터 그룹 정보, 다중화 정보 등을 포함할 수 있다. 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 block processor 303, the block processor 303 may also encode 1/2 or 1 / signaling information including the transmission parameter in the same manner as the mobile service data processing. 4 is encoded and then output to the group formatter 304. The signaling information is also regarded as mobile service data and processed.

도 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 information provider 411 and the multiplexer 412 are further included in the component of FIG. 23. An added example is shown.

즉, 시그널링 정보 제공부(411)에서는 전송 파라미터를 담고있는 시그널링 정보를 다중화기(412)로 출력한다. 상기 다중화기(412)는 시그널링 정보와 RS 프레임 부호기(302)의 출력을 다중화하여 바이트-비트 변환기(401)로 출력한다.That is, the signaling information provider 411 outputs the signaling information including the transmission parameter to the multiplexer 412. The multiplexer 412 multiplexes the signaling information and the output of the RS frame encoder 302 and outputs them to the byte-bit converter 401.

상기 바이트-비트 변환기(401)는 다중화기(412)에서 출력되는 모바일 서비스 데이터 바이트 또는 시그널링 정보 바이트를 비트로 구분하여 심볼 부호기(402)로 출력한다.The byte-bit converter 401 divides the mobile service data byte or signaling information byte output from the multiplexer 412 into bits and outputs the result to the symbol encoder 402.

이후의 동작은 상기된 도 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 block processor 303 applies at least one of FIGS. 26 and 29 to 31, the signaling information providing unit 411 and the multiplexer 412 may be provided in front of the bind-symbol converter. have.

또한 상기 시그널링 정보 제공부(411)에서 제공되는 전송 파라미터가 심볼 단위라면 상기 시그널링 정보 제공부(411)와 다중화기(412)는 바이트-심볼 변환기 후단에 구비될 수 있다.In addition, if the transmission parameter provided from the signaling information providing unit 411 is a symbol unit, the signaling information providing unit 411 and the multiplexer 412 may be provided after the byte-symbol converter.

제2 2nd 실시예Example

한편 상기 그룹 포맷터(304)에서 기 정해진 방법에 의해서 발생된 기지 데이터를 데이터 그룹 내 해당 영역에 삽입할 경우, 기지 데이터를 삽입할 수 있는 영역의 적어도 일부에 기지 데이터 대신 전송 파라미터를 삽입할 수도 있다. On the other hand, when the group formatter 304 inserts the known data generated by a predetermined method into a corresponding region in the data group, a transmission parameter may be inserted in place of the known data in at least a portion of the region where the known data can be inserted. .

예를 들어, 데이터 그룹 내 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 group formatter 304 inserts the known data position holder instead of the known data into an area in which the known data in the data group can be inserted, the transmission parameter may be inserted in the packet formatter 306.

즉, 상기 패킷 포맷터(306)는 상기 그룹 포맷터(304)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 기지 데이터를 대체하여 삽입할 수도 있고, 상기 그룹 포맷터(304)에서 기지 데이터를 삽입한 경우에는 그대로 출력할 수도 있다. That is, the packet formatter 306 may insert and replace the known data in the known data position holder when the known data position holder is inserted in the group formatter 304 or insert the known data in the group formatter 304. If inserted, it can be output as is.

도 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 packet formatter 306. The known data generator 351 and the signaling multiplexer 352 may be arranged in the packet formatter 306. ) Is further included. The transmission parameter input to the signaling multiplexer 352 includes information on the length of the current burst, information indicating the time of the next burst, the location and length of the groups in the burst, the current group to the next group in the burst. Time, known information about the data, and the like.

상기 시그널링 다중화기(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 packet formatter 306. The packet formatter 306 inserts and outputs known data or transmission parameters output from the signaling multiplexer 352 into a known data position holder output from the data deinterleaver 305. That is, the packet formatter 306 inserts and outputs transmission parameters instead of known data in at least a portion of the known data area.

예를 들어, 데이터 그룹 내 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 packet formatter 306. The packet formatter 306 removes the main service data location holder, the RS parity location holder from the output of the data deinterleaver 305, and sends 188 bytes of mobile to the output of the mobile service data, the MPEG header, and the signaling multiplexer 352. The service data packet is generated and output to the packet multiplexer 240.

이 경우 각 데이터 그룹 내 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 packet formatter 306, the group formatter 304, or the block processor 303 according to the design method of the transmission system, the known data is transmitted instead of the known data in the block in which the known data is inserted. You can insert a parameter.

상기 제2 실시예에서는 기지 데이터 영역 중 일부에 블록 처리기(303)의 처리 방법을 포함하는 전송 파라미터를 삽입하여 전송할 수 있다. 이 경우 전송 파라미터 심볼 자체를 위한 심볼 처리 방법과 그 위치가 정해져 있으며, 복호할 다른 데이터 심볼보다 시간적으로 먼저 송수신하도록 위치시켜야 한다. 그러면 수신 시스템에서 상기 전송 파라미터 심볼을 데이터 심볼 복호 전에 검출하여 데이터 심볼을 위한 복호에 사용할 수 있다. In the second embodiment, a transmission parameter including a processing method of the block processor 303 may be inserted into a part of the known data area and transmitted. In this case, a symbol processing method and its position for the transmission parameter symbol itself are determined and should be located so as to transmit and receive in time before other data symbols to be decoded. Then, the transmission parameter symbol may be detected before data symbol decoding by the receiving system and used for decoding for the data symbol.

제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 synchronous multiplexer 260 further includes a signaling multiplexer 261.

통상 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 multiplexer 261 multiplexes with the existing field sync segment symbols and outputs them to the sync multiplexer 260 so that transmission parameters are inserted into an unused area of the field sync segment. The synchronous multiplexer 260 configures a new transmission frame by multiplexing segment sync symbols, data symbols, and new field sync segments output from the signaling multiplexer 261. The transmission frame including the field sync segment in which the transmission parameter is inserted is input to the transmitter 270.

이때, 상기 전송 파라미터를 삽입하기 위한 필드 동기 세그먼트 내의 미사용 영역은 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 block processor 303 is transmitted as part of a transmission parameter, when the decoding corresponding to the block processor 303 is performed in the receiving system, the information on the block processing method should be known. Is possible. Therefore, the information on the processing method of the block processor 303 should be known before the block decoding.

따라서 상기 제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 tuner 901, a demodulator 902, an equalizer 903, a known data detector 904, a block decoder 905, a data formatter 906, an RS frame decoder 907 ), A derandomizer 908, a data deinterleaver 909, an RS decoder 910, and a data derandomizer 911. For convenience of description, the present invention refers to the data deformatter 906, the RS frame decoder 907, and the derandomizer 908 as a mobile service data processing unit, the data deinterleaver 909, the RS decoder 910, The data derandomizer 911 will be referred to as a main service data processor. If the receiving system is a mobile transmission receiving system, the main service data processing unit may not be included in the receiving system.

즉, 상기 튜너(901)는 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조기(902)와 기지 데이터 검출기(904)로 출력한다.That is, the tuner 901 tunes the frequency of a specific channel, down-converts the intermediate frequency (IF) signal, and outputs the demodulator 902 and the known data detector 904.

상기 복조기(902)는 입력되는 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 만든 후 등화기(903)와 기지 데이터 검출기(904)로 출력한다. The demodulator 902 performs automatic gain control, carrier recovery, and timing recovery on the input IF signal to generate a baseband signal and outputs the same to the equalizer 903 and the known data detector 904.

상기 등화기(903)는 상기 복조된 신호에 포함된 채널 상의 왜곡을 보상한 후 블록 복호기(905)로 출력한다. The equalizer 903 compensates for the distortion on the channel included in the demodulated signal and outputs it to the block decoder 905.

이때 상기 기지 데이터 검출기(904)는 상기 복조기(902)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 이루어진 후의 데이터로부터 송신측에서 삽입한 기지 데이터 위치를 검출하고, 검출된 기지 데이터 위치 정보(Known data position information)와 함께 그 위치에서 발생시킨 기지 데이터를 복조기(902)와 등화기(903)로 출력한다. At this time, the known data detector 904 detects the known data position inserted by the transmitting side from the input / output data of the demodulator 902, that is, data before demodulation or data after demodulation is performed, and the detected known data. The known data generated at the position together with the known data position information is output to the demodulator 902 and the equalizer 903.

또한 상기 기지 데이터 검출기(904)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 상기 블록 복호기(905)에 의해서 구분할 수 있도록 하기 위한 정보를 상기 블록 복호기(905)로 출력한다. 그리고 도 36의 도면에서 연결 상태를 도시하지는 않았지만 상기 기지 데이터 검출기(904)에서 검출된 정보는 수신 시스템에 전반적으로 사용이 가능하며, 데이터 디포맷터(906)와 RS 프레임 복호기(907) 등에서 사용할 수도 있다. In addition, the known data detector 904 is the block decoder 905 information for distinguishing the mobile service data with additional encoding and the main service data without additional encoding at the transmitting side by the block decoder 905. Will output Although the connection state is not illustrated in the diagram of FIG. 36, the information detected by the known data detector 904 may be generally used in the reception system, and may be used in the data deformatter 906 and the RS frame decoder 907. have.

상기 복조기(902)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 위치 정보 및 기지 데이터를 이용함으로써, 복조 성능을 향상시킬 수 있고, 등화기(903)에서도 마찬가지로 상기 기지 데이터 위치 정보 및 기지 데이터를 사용하여 등화 성능을 향상시킬 수 있다. 또한 상기 블록 복호기(905)의 복호 결과를 상기 등화기(903)로 피드백하여 등화 성능을 향상시킬 수도 있다. The demodulator 902 can improve demodulation performance by using the known data position information and known data at the time of timing restoration or carrier recovery, and the equalizer 903 uses the known data position information and known data as well. It is possible to improve the equalization performance. In addition, the equalization performance may be improved by feeding back the decoding result of the block decoder 905 to the equalizer 903.

상기 등화기(903)는 다양한 방법으로 채널 등화를 수행할 수 있다. 일 예로, 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행할 수 있다.The equalizer 903 may perform channel equalization in various ways. For example, channel equalization may be performed by estimating a channel impulse response (CIR).

본 발명에서는 전송 시스템에서 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(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 block decoder 905.

상기 블록 복호기(905)는 상기 등화기(903)에서 채널 등화된 후 입력되는 데이터가 송신측에서 추가적인 부호화와 트렐리스 부호화가 모두 수행된 데이터 그룹이면 송신측의 역 과정으로 트렐리스 복호 및 추가적인 복호를 수행한다. 또한 상기 블록 복호기(905)는 상기 등화기(903)에서 채널 등화된 후 입력되는 데이터가 추가적인 부호화는 수행되지 않고 트렐리스 부호화만 수행된 메인 서비스 데이터이면 트렐리스 복호만 수행한다. 상기 블록 복호기(905)에서 복호된 데이터 그룹은 데이터 디포맷터(906)로 입력되고, 메인 서비스 데이터는 데이터 디인터리버(909)로 입력된다. 다른 실시예로, 상기 메인 데이터는 상기 블록 복호기(905)에서 그대로 바이패스되어 데이터 디인터리버(909)로 입력될 수도 있다. 이 경우 상기 데이터 디인터리버(909) 전단에 메인 서비스 데이터를 위한 트렐리스 복호기를 구비하여야 한다.The block decoder 905 performs trellis decoding and reverse processing if the data inputted after channel equalization in the equalizer 903 is a data group in which both additional encoding and trellis encoding are performed at the transmitting side. Perform additional decoding. In addition, the block decoder 905 performs trellis decoding only if the data input after channel equalization in the equalizer 903 is main service data in which only trellis coding is performed without additional encoding. The data group decoded by the block decoder 905 is input to the data deformatter 906, and the main service data is input to the data deinterleaver 909. In another embodiment, the main data may be bypassed in the block decoder 905 and input to the data deinterleaver 909. In this case, a trellis decoder for main service data must be provided in front of the data deinterleaver 909.

상기 블록 복호기(905)는 상기 데이터 그룹을 데이터 디포맷터(906)로 출력할 때, 상기 데이터 그룹에 삽입되었던 기지 데이터, 트렐리스 초기화 데이터, MPEG 헤더 그리고 전송 시스템의 RS 부호기/비체계적 RS 부호기 또는 비체계적 RS 부호기에서 부가된 RS 패리티를 제거하여 데이터 디포맷터(906)로 출력한다. 여기서 데이터 제거는 블록 복호전에 이루어질 수도 있고, 블록 복호 중이나 블록 복호 후에 이루어질 수도 있다. 만일 송신측에서 시그널링 정보를 데이터 그룹에 포함하여 전송한다면, 상기 시그널링 정보는 데이터 디포맷터(906)로 출력된다.When the block decoder 905 outputs the data group to the data deformatter 906, the known data, trellis initialization data, the MPEG header, and the RS encoder / unstructured RS encoder of the transmission system have been inserted into the data group. Alternatively, the RS parity added by the unstructured RS encoder is removed and output to the data deformatter 906. Here, data removal may be performed before block decoding, or may be performed during or after block decoding. If the transmitting side includes signaling information in the data group and transmits the signaling information, the signaling information is output to the data deformatter 906.

상기 블록 복호기(905)는 입력된 데이터가 메인 서비스 데이터이면 입력 데이터에 대해 비터비 복호를 수행하여 하드 판정값을 출력하거나 또는 소프트 판정값을 하드 판정하고 그 결과를 출력할 수도 있다. If the input data is main service data, the block decoder 905 may perform Viterbi decoding on the input data to output a hard decision value or hard decision the soft decision value and output the result.

그리고 상기 블록 복호기(905)는 입력된 데이터가 데이터 그룹의 모바일 서비스 데이터이면 입력된 모바일 서비스 데이터에 대하여 하드 판정값 또는 소프트 판정값을 출력할 수 있다.If the input data is mobile service data of a data group, the block decoder 905 may output a hard decision value or a soft decision value with respect to the input mobile service data.

즉, 상기 블록 복호기(905)는 입력된 데이터가 모바일 서비스 데이터이면 전송 시스템의 블록 처리기와 트렐리스 부호화부에서 부호화된 데이터에 대해서 복호를 수행한다. 이때 송신측의 전처리기의 RS 프레임 부호기는 외부 부호가 되고, 블록 처리기와 트렐리스 부호화부는 하나의 내부 부호로 볼 수 있다. That is, if the input data is mobile service data, the block decoder 905 decodes the data encoded by the block processor and the trellis encoder of the transmission system. In this case, the RS frame coder of the preprocessor on the transmitting side becomes an external code, and the block processor and trellis coder can be regarded as one internal code.

이러한 연접 부호의 복호시에 외부 부호의 성능을 최대한 발휘하기 위해서는 내부 부호의 복호기에서 소프트 판정값을 출력해 주어야 한다. 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 block decoder 905 may output a hard decision value for the mobile service data, but preferably outputs a soft decision value.

한편 상기 데이터 디인터리버(909), RS 복호기(910), 및 디랜더마이저(911) 는 메인 서비스 데이터를 수신하기 위해 필요한 블록들로서, 오직 모바일 서비스 데이터만을 수신하기 위한 수신 시스템 구조에서는 필요하지 않을 수도 있다. Meanwhile, the data deinterleaver 909, the RS decoder 910, and the derandomizer 911 are blocks necessary for receiving main service data, and may not be necessary in a reception system structure for receiving only mobile service data. have.

상기 데이터 디인터리버(909)는 송신측의 데이터 인터리버의 역과정으로 상기 블록 복호기(905)에서 출력되는 메인 서비스 데이터를 디인터리빙하여 RS 복호기(910)로 출력한다. The data deinterleaver 909 deinterleaves the main service data output from the block decoder 905 in the reverse process of the data interleaver of the transmitting side, and outputs the main service data to the RS decoder 910.

상기 RS 복호기(910)는 디인터리빙된 데이터에 대해 체계적 RS 복호를 수행하여 디랜더마이저(911)로 출력한다. The RS decoder 910 performs systematic RS decoding on the deinterleaved data and outputs the deserializer 911.

상기 디랜더마이저(911)는 RS 복호기(910)의 출력을 입력받아서 송신기의 랜더마이저와 동일한 의사 랜덤(pseudo random) 바이트를 발생시켜 이를 bitwise XOR(exclusive OR)한 후 MPEG 동기 바이트를 매 패킷의 앞에 삽입하여 188 바이트 메인 서비스 데이터 패킷 단위로 출력한다. The derandomizer 911 receives the output of the RS decoder 910 to generate the same pseudo random bytes as the transmitter's renderer, bitwise XORs the MPEG sync bytes to each packet. Insert before and output in 188 byte main service data packet unit.

한편 상기 블록 복호기(905)에서 데이터 디포맷터(906)로 출력되는 데이터는 데이터 그룹 형태이다. 이때 상기 데이터 디포맷터(906)에서는 입력되는 데이터 그룹의 구성을 이미 알고 있기 때문에 데이터 그룹 내에서 전송 파라미터 등을 담고있는 시그널링 정보와 모바일 서비스 데이터를 구분한다. 그리고 구분된 시그널링 정보는 시그널링 정보를 처리하는 블록(도시되지 않음)으로 전달하고, 모바일 서비스 데이터는 RS 프레임 복호기(907)로 출력한다. Meanwhile, the data output from the block decoder 905 to the data formatter 906 is in the form of a data group. At this time, the data deformatter 906 knows the configuration of the input data group and distinguishes the signaling information including the transmission parameter and the mobile service data in the data group. The divided signaling information is transmitted to a block (not shown) that processes the signaling information, and the mobile service data is output to the RS frame decoder 907.

상기 RS 프레임 복호기(907)는 상기 데이터 디포맷터(906)로부터 RS 부호화 및/또는 CRC 부호화 및/또는 로우 섞음된 모바일 서비스 데이터만을 입력받는다. The RS frame decoder 907 receives only RS coded and / or CRC coded and / or raw mixed mobile service data from the data deformatter 906.

상기 RS 프레임 복호기(907)에서는 전송 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한 후, 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가하여 디랜더마이저(908)로 출력한다. 상기 RS 프레임 복호기(907)의 상세한 동작은 뒤에서 설명한다. The RS frame decoder 907 performs an inverse process in the RS frame encoder of the transmission system to correct errors in the RS frame, and then 1-byte MPEG synchronization that has been removed in the RS frame encoding process to the error corrected mobile service data packet. The bytes are added and output to the derandomizer 908. The detailed operation of the RS frame decoder 907 will be described later.

상기 디랜더마이저(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 frame decoder 907 does not add one byte of the MPEG sync byte, it may be added by the derandomizer 908. In the present invention, the addition by the RS frame decoder 907 will be described as an embodiment.

다음은 상기 RS 프레임 복호기(907)의 상세한 동작 설명이다. The following is a detailed operation of the RS frame decoder 907.

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 frame decoder 907 when RS frame encoding is performed as shown in FIG. 5.

즉, 상기 RS 프레임 복호기(907)는 데이터 디포맷터(906)로부터 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 부호화 및 CRC 부호화된 데이터이다. That is, the RS frame decoder 907 collects mobile service data received from the data formatter 906 to form an RS frame. The mobile service data is RS coded and CRC coded data in a transmission system.

도 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 RS frame decoder 907 may collect mobile service data in 18 data groups in one burst to configure an RS frame having a size of 540 * 235 bytes.

이때 상기 블록 복호기(905)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(907)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 버스트 안에 있는 18개의 데이터 그룹의 소프트 판정값에 대해 모두 수행하면 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In this case, assuming that the block decoder 905 outputs a decoding result as a soft decision value, the RS frame decoder 907 may determine 0 and 1 of the corresponding bit as a sign of the soft decision value. The eight are gathered together to form one byte. Performing this process on all of the soft decision values of 18 groups of data in one burst makes it possible to construct an RS frame of size 540 * 235 bytes.

또한 본 발명은 소프트 판정값을 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 frame decoder 907 checks whether an error occurs in each row by performing a CRC syndrome check on the RS frame having a size of (N + 2) * 235 bytes. Then, as shown in (b) of FIG. 37, an RS frame having a size of N * 235 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 * 235 credit information as shown in FIG. 37 (b ').

상기 RS 프레임 복호기(907)는 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 37의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수로서, 본 발명에서는 일 실시예로 각 컬럼마다 48개의 패리티 바이트가 부가되어 있다고 가정한다. After the CRC syndrome check is performed, the RS frame decoder 907 performs RS decoding 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. 37, the CRC error flag corresponding to each row in the RS frame is examined, so that the maximum number of RS erasure corrections can be performed when the number of rows having 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 number of errors is the number of parities inserted during RS encoding. In the present invention, it is assumed that 48 parity bytes are added to each column.

만일 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 RS frame decoder 907 compares the absolute value of the soft decision value of the block decoder 905 with a preset threshold value and determines the credit of the bit value determined by the sign of the soft decision value. Credit information for the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value was displayed on the credit map.

따라서 본 발명은 도 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 N 187 bytes in size. In this case, as shown in (g) of FIG. In addition, the mobile service data packet in units of 188 bytes is output.

도 38은 상기 도 6에서와 같이 RS 프레임 부호화되었을 때, RS 프레임 복호기(907)에서 수행하는 에러 정정 복호 과정의 일 실시예를 보인 도면이다. FIG. 38 is a diagram illustrating an embodiment of an error correction decoding process performed by the RS frame decoder 907 when RS frame encoding is performed as shown in FIG. 6.

상기 RS 프레임 복호기(907)는 데이터 디포맷터(906)로부터 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 부호화 및 CRC 부호화된 데이터이다. The RS frame decoder 907 collects mobile service data received from the data formatter 906 to form an RS frame. The mobile service data is RS coded and CRC coded data in a transmission system.

도 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 RS frame decoder 907 may collect mobile service data in 18 data groups in one burst to configure an RS frame having a size of 540 * 235 bytes.

이때 상기 블록 복호기(905)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(907)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 버스트 안에 있는 18개의 데이터 그룹의 소프트 판정값에 대해 모두 수행하면 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In this case, assuming that the block decoder 905 outputs a decoding result as a soft decision value, the RS frame decoder 907 may determine 0 and 1 of the corresponding bit as a sign of the soft decision value. The eight are gathered together to form one byte. Performing this process on all of the soft decision values of 18 groups of data in one burst makes it possible to construct an RS frame of size 540 * 235 bytes.

또한 본 발명은 소프트 판정값을 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 frame decoder 907 checks whether an error occurs in each row by performing a CRC syndrome check on the RS frame having a size of (N + 2) * 235 bytes. Then, as shown in (b) of FIG. 38, an RS frame of size N * 235 bytes is formed by removing the 2-byte CRC checksum, and an error flag corresponding to each row indicates whether or not an error is present. Similarly, since the portion of the credit map corresponding to the CRC checksum is not utilized, this portion is removed to leave only N * 235 credit information as shown in FIG. 38 (b ').

상기 RS 프레임 복호기(907)는 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 38의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수로서, 본 발명에서는 일 실시예로 각 컬럼마다 48개의 패리티 바이트가 부가되어 있다고 가정한다. After the CRC syndrome check is performed, the RS frame decoder 907 performs RS decoding 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. 38, the CRC error flag corresponding to each row in the RS frame is examined, so that the maximum number of RS erasure corrections can be performed when the number of rows having 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 number of errors is the number of parities inserted during RS encoding. In the present invention, it is assumed that 48 parity bytes are added to each column.

만일 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 RS frame decoder 907 compares the absolute value of the soft decision value of the block decoder 905 with a preset threshold value and determines the credit of the bit value determined by the sign of the soft decision value. Credit information for the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value was displayed on the credit map.

따라서 본 발명은 도 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 derandomizer 908. In this case, the RS frame decoder 907 transmits only information on a corresponding column or a packet.

여기서 패킷의 헤더 내 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 frame decoder 907, an RS frame having 187 N-byte rows can be obtained as shown in (f) of FIG.

그리고 상기 RS 복호가 완료된 N * 187 바이트 크기의 RS 프레임 내 N개의 187 바이트의 크기의 각 컬럼을 순서대로 출력한다. 즉, 출력되는 하나의 컬럼이 도 6의 (b)와 같은 187 바이트 크기를 갖는 패킷이 된다. Each column having N 187 byte size in the RS frame of which the RS decoding is completed is output in order. That is, one output column becomes a packet having a size of 187 bytes as shown in FIG.

이어 도 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 RS frame decoder 907 configures an RS frame by collecting the received mobile service data. The mobile service data is RS encoded in RS frames in the transmission system and interleaved in super frames. In this case, for example, CRC encoding may be performed (see FIG. 5) or omitted (see FIG. 7).

만일, 전송 시스템에서 (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 block decoder 905 outputs a decoding result as a soft decision value, the RS frame decoder 907 may determine 0 and 1 of the corresponding bit as a sign of the soft decision value. The eight are gathered together to form one byte. Performing this process on all of the soft decision values of the 18 data groups in one burst, it is possible to construct an RS frame of size (N + 2) * (187 + P) bytes.

또한 본 발명은 소프트 판정값을 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 block decoder 905 is compared with a preset threshold to determine the credit of the bit value determined by the sign of the soft decision value. Credit information for the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value was displayed on the credit map.

따라서 본 발명은 도 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 N 187 bytes, in which case, as shown in (f) of FIG. 40, each 187 byte packet contains one byte of MPEG sync bytes deleted by the transmission system. In addition, the mobile service data packet in units of 188 bytes is output.

다음은 도 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 block decoder 905 is compared with a preset threshold to determine the credit of the bit value determined by the sign of the soft decision value. Credit information for the corresponding byte formed by collecting eight bits determined by the sign of the soft decision value was displayed on the credit map.

따라서 본 발명은 도 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 frame decoder 907 when double error correction encoding is performed as shown in FIG. 11.

상기 RS 프레임 복호기(907)에서는 상기 이중 에러 정정 복호를 수행하기 전에, 먼저 입력되는 모바일 서비스 데이터를 모아 RS 프레임을 구성하고, 이러한 RS 프레임을 G개만큼 모아서 85*G개로 된 수퍼 프레임을 구성한다.In the RS frame decoder 907, before performing the double error correction decoding, first, input mobile service data is collected to form an RS frame, and G RSs are collected to form 85 * G super frames. .

이어 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 RS frame decoder 907 displays 1 in the column direction for each RS frame. Perform secondary RS decoding, and perform secondary RS decoding in the row direction on the result. The primary and secondary RS decoding processes are repeated or the decoding process is terminated according to preset conditions.

여기서 기 설정된 조건은 여러 가지가 있을 수 있으며, 본 발명에서는 일 실시예로, 기 설정된 반복 회수와 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 RS frame decoder 907 when double error correction encoding is performed as shown in FIG. 13. For example, when decoding is not performed only on the first RS subframe and all errors cannot be corrected, the decoding may be performed by using the second RS subframe together.

본 발명에서는 일 실시예로 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 RS frame decoder 907 collects G first RS subframes transmitted to the A and B regions to form a 85 * G first superframe. If a 1 byte (i.e. 8 bit) CRC checksum is used, each 188 byte packet is checked for error, and the 1 byte CRC checksum is removed, leaving only 187 bytes and indicating the error in the error flag corresponding to the packet. do.

만일 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 * G 187 bytes before the raw mixing process in the transmission system. In the order of (step 1901). Subsequently, it is divided into G first RS subframes composed of 85 187 bytes. When the row demixing process is performed, an error flag indicating whether each packet (or row) is in error is also converted and inherited. Each RS frame is configured in the form of a 187x85 byte matrix.

또한 상기 RS 프레임 복호기(907)에서는 C 영역으로 전송되는 제2 RS 서브 프레임들을 G개만큼 모아서 85*G개로 된 제2 수퍼 프레임을 형성하고, 상기 제2 수퍼 프레임에 대해 로우 섞음 과정의 역과정을 수행하여 전송 시스템에서 로우 섞음 과정을 거치기 전의 원래의 순서대로 정렬한다(단계 1901). 이어, 85개의 14바이트로 구성된 G개의 제2 RS 서브 프레임으로 구분한다. 이때 C 영역으로 전송되는 제2 수퍼 프레임에 대해서는 전송 시스템에서 CRC 부호화를 수행하지 않았으므로 수신 시스템에서도 CRC 복호를 수행하지 않는다.In addition, the RS frame decoder 907 collects G second RS subframes transmitted to the C region to form a 85 * G second superframe, and performs a reverse mixing process on the second superframe. In operation 1901, the transmission system arranges the original order before the row mixing process in the transmission system. Subsequently, it is divided into G second RS subframes consisting of 85 14 bytes. In this case, since the CRC encoding is not performed by the transmission system for the second super frame transmitted to the C region, the reception system does not perform CRC decoding.

상기 로우 섞음 역과정 후, 제 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 step 1903, the CRC error flag corresponding to each row in the first RS subframe is checked to correct an erasure when the number of rows having an error in the first RS subframe performs column direction RS decoding. It is determined whether the number is less than or equal to the maximum number of errors (= Nc-Kc) that can be performed. If it is determined to be the same or smaller, (85,67) -RS erasure decoding is performed in the column direction on the first RS subframe having 85 187-byte rows, and 18-byte parity data added at the end of each column is performed. Remove (steps 1904 and 1908).

그러면 단계 1908과 같이 67개의 187바이트 로우(즉, 패킷)된 RS 프레임을 얻을 수 있다. 그리고 단계 1909와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다.Then, as in step 1908, 67 187-byte row (ie, packet) RS frames can be obtained. In step 1909, 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.

한편 상기 단계 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 step 1903 that the number of rows having an error in the first RS subframe is larger than the maximum number of errors (= Nc-Kc) that can perform erasure correction when performing column-wise RS decoding. (85,67) -RS decoding is performed in the column direction for the first RS subframe having 85 187 byte rows (step 1905). As a result of performing the (85,67) -RS decoding, it is checked whether all errors in the first RS subframe are corrected (step 1906).

상기 단계 1906에서 상기 (85,67)-RS 복호의 결과, 모든 에러가 정정되었다고 판단되면 각 컬럼의 마지막에 부가되었던 18바이트의 패리티 데이터를 제거한다. 그러면 단계 1908과 같이 67개의 187바이트 로우(즉, 패킷)된 RS 프레임을 얻을 수 있다. 그리고 단계 1909와 같이 각 187 바이트 로우의 제일 앞에 송신측에서 제거한 MPEG 동기 바이트를 추가하여 188 바이트로 복구한 모바일 서비스 TS 패킷을 출력한다. If it is determined in step 1906 that all errors have been corrected as a result of the (85,67) -RS decoding, 18 bytes of parity data added to the end of each column are removed. Then, as in step 1908, 67 187-byte row (ie, packet) RS frames can be obtained. In step 1909, 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.

만약 단계 1906에서 상기 (85,67)-RS 복호의 결과, 모든 에러가 정정되지 못하였다고 판단되면 제1,제2 RS 서브 프레임을 조합하여 RS 복호를 수행한다(단계 1907).If it is determined in step 1906 that all errors have not been corrected as a result of the (85,67) -RS decoding, RS decoding is performed by combining the first and second RS subframes (step 1907).

도 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 step 1907.

상기 로우 섞음의 역과정이 각각 수행된 제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 RS frame decoder 907 also performs the double RS decoding in the reverse order of the double RS coding of the transmission system.

예를 들어, 도 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 frame decoder 907 of FIG. As shown in (a), (201,187) -RS decoding is performed in the row direction for each RS frame (first RS decoding), followed by (85,67) -RS decoding in the column direction as shown in (b) of FIG. 44. (Secondary RS decoding). At this time, (a) of FIG. 44 performs (201,187) -RS decoding in the row direction with respect to an RS frame having 85 201 byte rows, and FIG. 44 (b) shows an RS frame having 85 187 byte rows. Perform (85,67) -RS decoding in the column direction. The RS decoding process is repeated or the decoding process is terminated according to a preset condition.

반대로 로우 방향으로 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 RS frame decoder 907 first performs RS decoding in the column direction for each RS frame (primary RS decoding). RS decoding is performed in the row direction on the result (secondary RS decoding). Similarly, the row and column direction decoding processes are repeated or the decoding process is terminated according to preset conditions.

여기서 기 설정된 조건은 여러 가지가 있을 수 있으며, 본 발명에서는 일 실시예로, 기 설정된 반복 회수와 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 RS frame decoder 907 when double error correction encoding is performed as in FIG. 16.

본 발명은 데이터 그룹 내 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 RS frame decoder 907 collects G first RS subframes transmitted to the A and B regions to form 85 * G first superframes. At this time, one first RS subframe is composed of 85 187-byte rows (ie, packets) as shown in FIG.

그리고 전송 시스템에서 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 * G 187 bytes as shown in FIG. In the original order before the row shuffle process. Subsequently, it is divided into G first RS subframes composed of 85 187 bytes. When performing the reverse row mixing process, an error flag indicating whether each packet (or row) is in error is also converted and inherited.

또한 상기 RS 프레임 복호기(907)에서는 C 영역으로 전송된 제2 RS 서브 프 레임들을 G개만큼 모아서 6*G개의 제2 수퍼 프레임을 형성한다. 이때 하나의 제2 RS 서브 프레임은 도 44의 (a)와 같이 6개의 187바이트 로우(즉, 패킷)로 구성된다. In addition, the RS frame decoder 907 collects G second RS subframes transmitted to the C region to form 6 * G second superframes. At this time, one second RS subframe is composed of six 187-byte rows (ie, packets) as shown in FIG.

그리고 전송 시스템에서 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 * G 187 bytes as shown in FIG. In the original order before the row shuffle process. Subsequently, it is divided into G second RS subframes consisting of six 187 bytes. Similarly, when performing the reverse row mixing process, an error flag indicating whether an error occurs in each packet (or row) is also converted and inherited.

이때 상기 로우 섞음의 역과정이 수행된 제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 tuner 902 demodulator

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)

모바일 서비스 데이터를 포함하는 RS 프레임으로부터 M개의 데이터 그룹이 형성되고, 상기 M개의 데이터 그룹중 적어도 하나는 K개의 더미 바이트가 포함된 방송 신호를 수신하는 신호 수신부;A signal receiving unit configured to form M data groups from an RS frame including mobile service data, wherein at least one of the M data groups includes a broadcast signal including K dummy bytes; 상기 RS 프레임 데이터를 블록 단위로 터보 복호하는 블록 복호기; 및 A block decoder for turbo decoding the RS frame data in block units; And 상기 RS 프레임 내 각 모바일 서비스 데이터의 신용 정보를 표시하는 신용 맵을 생성하고, 상기 RS 프레임으로부터 산출된 에러의 개수와 상기 신용 맵의 신용 정보를 참조하여 상기 모바일 서비스 데이터에 발생된 에러를 정정하는 RS 프레임 복호기를 포함하는 것을 특징으로 하는 수신 시스템.Generating a credit map indicating credit information of each mobile service data in the RS frame, and correcting an error generated in the mobile service data by referring to the number of errors calculated from the RS frame and credit information of the credit map; A receiving system comprising an RS frame decoder. 제 1 항에 있어서, 상기 RS 프레임 복호기는 The method of claim 1, wherein the RS frame decoder 상기 RS 프레임에 대해 CRC 복호를 수행하여 에러의 개수를 산출하는 것을 특징으로 하는 수신 시스템.And a number of errors is calculated by performing CRC decoding on the RS frame. 제 1 항에 있어서, 상기 RS 프레임 복호기는The method of claim 1, wherein the RS frame decoder 상기 RS 프레임 내 각 로우에 대응되는 에러 플래그에 표시된 에러의 개수가 상기 RS 프레임의 컬럼 방향에 부가된 패리티의 개수보다 작거나 같다면 상기 RS 프레임의 모든 컬럼에 대해 컬럼 방향으로 RS 이레이저 복호를 수행하는 것을 특징으로 하는 수신 시스템.If the number of errors indicated in the error flag corresponding to each row in the RS frame is less than or equal to the number of parities added to the column direction of the RS frame, RS erasure decoding is performed in the column direction for all columns of the RS frame. A receiving system, characterized in that performing. 제 1 항에 있어서, 상기 RS 프레임 복호기는The method of claim 1, wherein the RS frame decoder 상기 RS 프레임 내 각 로우에 대응되는 에러 플래그에 표시된 에러의 개수가 상기 RS 프레임의 컬럼 방향에 부가된 패리티의 개수보다 크다면 상기 신용 맵의 신용 정보를 참조하여 각 컬럼별로 일반적인 RS 복호와 RS 이레이저 복호 중 하나를 결정하고, 그 컬럼에 대해 결정된 에러 정정 복호 방법으로 에러 정정을 수행하는 것을 특징으로 하는 수신 시스템.If the number of errors indicated in the error flag corresponding to each row in the RS frame is greater than the number of parity added in the column direction of the RS frame, RS decoding and RS are performed for each column by referring to the credit information of the credit map. Determining one of the laser decoding and performing error correction with the determined error correction decoding method for the column. 제 1 항에 있어서, 상기 RS 프레임 복호기는The method of claim 1, wherein the RS frame decoder 상기 RS 프레임 내 각 컬럼별로 그 컬럼에 포함되는 모바일 서비스 데이터 바이트의 신용 정보를 참조하여 신용이 낮다고 표시된 모바일 서비스 데이터 바이트의 개수가 그 컬럼에 부가된 패리티의 개수보다 작거나 같다면 그 컬럼에 대해 RS 이레이저 복호를 수행하고, 그렇지 않다면 일반적인 RS 복호를 수행하는 것을 특징으로 하는 수신 시스템.For each column in the RS frame, if the number of mobile service data bytes indicated as having low credit by referring to the credit information of the mobile service data byte included in the column is less than or equal to the number of parity added to the column, Receiving RS erasure decoding, otherwise performing normal RS decoding. 제 1 항에 있어서, 상기 RS 프레임 복호기는 The method of claim 1, wherein the RS frame decoder 입력된 모바일 서비스 데이터의 소프트 판정값의 절대값이 기 설정된 임계값보다 크면 상기 소프트 판정값의 부호로 결정된 모바일 서비스 데이터 비트의 신용이 높고, 그렇지 않으면 신용이 낮다고 판단하며, 이러한 모바일 서비스 데이터 비트를 8개 모아 구성된 한 바이트 내 한 비트라도 신용이 낮다고 판단된 경우, 해당 모바일 서비스 데이터 바이트의 신용이 낮다고 상기 신용 맵에 표시하는 것을 특징으로 하는 수신 시스템.If the absolute value of the soft decision value of the inputted mobile service data is larger than a preset threshold, it is determined that the credit of the mobile service data bit determined by the sign of the soft decision value is high, otherwise the credit is low. And if it is determined that the credit is low even for one bit in the eight bytes, the credit map indicates that the credit of the mobile service data byte is low. 제 1 항에 있어서, 상기 RS 프레임 복호기는The method of claim 1, wherein the RS frame decoder 입력된 모바일 서비스 데이터가 소프트 판정값이면, 상기 소프트 판정값의 부호로 해당 모바일 서비스 데이터 비트 값을 결정하고, 결정된 8개의 비트를 모아 한 바이트를 구성하는 과정을 반복하여 RS 프레임을 구성하는 것을 특징으로 하는 수신 시스템. If the inputted mobile service data is a soft determination value, the corresponding mobile service data bit value is determined by the sign of the soft determination value, and the process of collecting the determined eight bits to form one byte is repeated to form an RS frame. Receiving system. 제 1 항에 있어서, The method of claim 1, 상기 K개의 더미 바이트는 하기의 식을 적용하여 결정하는 것을 특징으로 하는 수신 시스템.The K dummy bytes are determined by applying the following equation. K = M * NoBytesPerGrp - (N+2)*(187+P)K = M * NoBytesPerGrp-(N + 2) * (187 + P) NoBytesPerGrp = 데이터 그룹에 포함되는 모바일 서비스 데이터의 바이트 수 NoBytesPerGrp = Number of bytes of mobile service data in the data group (N+2) = RS 프레임을 구성하는 각 로우의 바이트 수 (N + 2) = number of bytes in each row that make up an RS frame (187+P) = RS 프레임을 구성하는 각 컬럼의 바이트 수(187 + P) = number of bytes in each column that make up an RS frame N = 각 로우에 포함되는 모바일 서비스 데이터의 바이트 수N = number of bytes of mobile service data contained in each row P = 각 컬럼에 포함되는 패리티 데이터의 바이트 수P = number of bytes of parity data contained in each column 제 1 항에 있어서, The method of claim 1, 상기 데이터 그룹으로부터 기지 데이터 열을 검출하는 기지 데이터 검출부를 더 포함하는 것을 특징으로 하는 수신 시스템.And a known data detector for detecting a known data stream from the data group. 제 9 항에 있어서,The method of claim 9, 상기 검출된 기지 데이터 열을 이용하여 상기 데이터 그룹의 데이터에 발생된 채널 왜곡을 보상하는 등화기를 더 포함하는 것을 특징으로 하는 수신 시스템.And an equalizer for compensating for channel distortion generated in the data of the data group by using the detected known data sequence. 모바일 서비스 데이터를 포함하는 RS 프레임으로부터 M개의 데이터 그룹이 형성되고, 상기 M개의 데이터 그룹 중 적어도 하나는 K개의 더미 바이트가 포함된 방송 신호를 수신하는 단계;M data groups are formed from an RS frame including mobile service data, and at least one of the M data groups comprises: receiving a broadcast signal including K dummy bytes; 상기 RS 프레임 데이터를 블록 단위로 터보 복호하는 단계; 및 Turbo decoding the RS frame data in block units; And 상기 RS 프레임 내 각 모바일 서비스 데이터의 신용 정보를 표시하는 신용 맵을 생성하고, 상기 RS 프레임으로부터 산출된 에러의 개수와 상기 신용 맵의 신용 정보를 참조하여 상기 모바일 서비스 데이터에 발생된 에러를 정정하는 단계를 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.Generating a credit map indicating credit information of each mobile service data in the RS frame, and correcting an error generated in the mobile service data by referring to the number of errors calculated from the RS frame and credit information of the credit map; And a data processing method of a receiving system, comprising the steps of: 제 11 항에 있어서, 상기 에러 정정 단계는12. The method of claim 11 wherein the error correction step is 상기 RS 프레임에 대해 CRC 복호를 수행하여 에러의 개수를 산출하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.And counting the number of errors by performing CRC decoding on the RS frame. 제 11 항에 있어서, 상기 에러 정정 단계는12. The method of claim 11 wherein the error correction step is 상기 RS 프레임 내 각 로우에 대응되는 에러 플래그에 표시된 에러의 개수가 상기 RS 프레임의 컬럼 방향에 부가된 패리티의 개수보다 작거나 같다면 상기 RS 프레임의 모든 컬럼에 대해 컬럼 방향으로 RS 이레이저 복호를 수행하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.If the number of errors indicated in the error flag corresponding to each row in the RS frame is less than or equal to the number of parities added to the column direction of the RS frame, RS erasure decoding is performed in the column direction for all columns of the RS frame. A data processing method of a receiving system, characterized in that performing. 제 11 항에 있어서, 상기 에러 정정 단계는12. The method of claim 11 wherein the error correction step is 상기 RS 프레임 내 각 로우에 대응되는 에러 플래그에 표시된 에러의 개수가 상기 RS 프레임의 컬럼 방향에 부가된 패리티의 개수보다 크다면 상기 신용 맵의 신용 정보를 참조하여 각 컬럼별로 일반적인 RS 복호와 RS 이레이저 복호 중 하나를 결정하고, 그 컬럼에 대해 결정된 에러 정정 복호 방법으로 에러 정정을 수행하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.If the number of errors indicated in the error flag corresponding to each row in the RS frame is greater than the number of parity added in the column direction of the RS frame, RS decoding and RS are performed for each column by referring to the credit information of the credit map. A method of processing data in a receiving system, characterized in that one of laser decoding is determined, and error correction is performed by the error correction decoding method determined for the column. 제 11 항에 있어서, 상기 에러 정정 단계는12. The method of claim 11 wherein the error correction step is 상기 RS 프레임 내 각 컬럼별로 그 컬럼에 포함되는 모바일 서비스 데이터 바이트의 신용 정보를 참조하여 신용이 낮다고 표시된 모바일 서비스 데이터 바이트의 개수가 그 컬럼에 부가된 패리티의 개수보다 작거나 같다면 그 컬럼에 대해 RS 이레이저 복호를 수행하고, 그렇지 않다면 일반적인 RS 복호를 수행하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.For each column in the RS frame, if the number of mobile service data bytes indicated as having low credit by referring to the credit information of the mobile service data byte included in the column is less than or equal to the number of parity added to the column, Performing RS erasure decoding, otherwise performing normal RS decoding. 제 11 항에 있어서, 상기 에러 정정 단계는12. The method of claim 11 wherein the error correction step is 입력된 모바일 서비스 데이터의 소프트 판정값의 절대값이 기 설정된 임계값보다 크면 상기 소프트 판정값의 부호로 결정된 모바일 서비스 데이터 비트의 신용이 높고, 그렇지 않으면 신용이 낮다고 판단하며, 이러한 모바일 서비스 데이터 비트를 8개 모아 구성된 한 바이트 내 한 비트라도 신용이 낮다고 판단된 경우, 해당 모바일 서비스 데이터 바이트의 신용이 낮다고 상기 신용 맵에 표시하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.If the absolute value of the soft decision value of the inputted mobile service data is larger than a preset threshold, it is determined that the credit of the mobile service data bit determined by the sign of the soft decision value is high, otherwise the credit is low. And if it is determined that the credit is low even for one bit in the eight bytes, the credit map indicates that the credit of the mobile service data byte is low. 제 11 항에 있어서, 상기 에러 정정 단계는12. The method of claim 11 wherein the error correction step is 입력된 모바일 서비스 데이터가 소프트 판정값이면, 상기 소프트 판정값의 부호로 해당 모바일 서비스 데이터 비트 값을 결정하고, 결정된 8개의 비트를 모아 한 바이트를 구성하는 과정을 반복하여 RS 프레임을 구성하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법. If the inputted mobile service data is a soft determination value, the corresponding mobile service data bit value is determined by the sign of the soft determination value, and the process of collecting the determined eight bits to form one byte is repeated to form an RS frame. The data processing method of the receiving system. 제 11 항에 있어서, The method of claim 11, 상기 K개의 더미 바이트는 하기의 식을 적용하여 결정하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.The K dummy bytes are determined by applying the following equation. K = M * NoBytesPerGrp - (N+2)*(187+P)K = M * NoBytesPerGrp-(N + 2) * (187 + P) NoBytesPerGrp = 데이터 그룹에 포함되는 모바일 서비스 데이터의 바이트 수 NoBytesPerGrp = Number of bytes of mobile service data in the data group (N+2) = RS 프레임을 구성하는 각 로우의 바이트 수 (N + 2) = number of bytes in each row that make up an RS frame (187+P) = RS 프레임을 구성하는 각 컬럼의 바이트 수(187 + P) = number of bytes in each column that make up an RS frame N = 각 로우에 포함되는 모바일 서비스 데이터의 바이트 수N = number of bytes of mobile service data contained in each row P = 각 컬럼에 포함되는 패리티 데이터의 바이트 수P = number of bytes of parity data contained in each column 제 11 항에 있어서, The method of claim 11, 상기 데이터 그룹으로부터 기지 데이터 열을 검출하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.Detecting a known data stream from the data group. 제 19 항에 있어서,The method of claim 19, 상기 검출된 기지 데이터 열을 이용하여 상기 데이터 그룹의 데이터에 발생된 채널 왜곡을 보상하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.Compensating for channel distortion generated in the data of the data group by using the detected known data sequence.
KR1020090002362A 2009-01-12 2009-01-12 Digital broadcasting system and method of processing data in digital broadcasting system KR100921472B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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