KR20100015287A - Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system - Google Patents

Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system Download PDF

Info

Publication number
KR20100015287A
KR20100015287A KR1020090070870A KR20090070870A KR20100015287A KR 20100015287 A KR20100015287 A KR 20100015287A KR 1020090070870 A KR1020090070870 A KR 1020090070870A KR 20090070870 A KR20090070870 A KR 20090070870A KR 20100015287 A KR20100015287 A KR 20100015287A
Authority
KR
South Korea
Prior art keywords
data
frame
symbol
mobile service
block
Prior art date
Application number
KR1020090070870A
Other languages
Korean (ko)
Other versions
KR101622217B1 (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 US12/534,366 priority Critical patent/US8259869B2/en
Priority to PCT/KR2009/004336 priority patent/WO2010016705A1/en
Publication of KR20100015287A publication Critical patent/KR20100015287A/en
Application granted granted Critical
Publication of KR101622217B1 publication Critical patent/KR101622217B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/46Receiver circuitry for the reception of television signals according to analogue transmission standards for receiving on more than one standard at will
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/0803Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division using frequency interleaving, e.g. with precision offset

Abstract

PURPOSE: A transmitting/receiving system and a method of processing broadcast signal are provided to additionally encode mobile service data, and transmit the encoded data to the receiving system thereby improving a receiving performance of the receiving system. CONSTITUTION: A reliability adjusting unit adjusts the reliability of mobile service data based on the position of mobile service data within data group which is trellis-decoded. An outer decoder(5018) symbol-decodes the mobile service data outputted from the reliability adjusting unit. The outer decoder feeds back the decoded mobile service data into an inner decoder(5012). An error correction unit corrects the error created in the mobile service data outputted from the outer decoder.

Description

송/수신 시스템 및 방송 신호 처리 방법{Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system} Transmitting / receiving system and method of processing broadcast signal in transmitting / receiving system}

본 발명은 디지털 방송을 송신하고 수신하기 위한 디지털 방송 시스템에 관한 것으로서, 특히 디지털 방송을 처리하여 전송하기 위한 송신 시스템, 디지털 방송을 수신하여 처리하기 위한 수신 시스템, 및 방송 신호의 처리 방법에 관한 것이다. The present invention relates to a digital broadcasting system for transmitting and receiving digital broadcasting, and more particularly, to a transmission system for processing and transmitting digital broadcasting, a receiving system for receiving and processing digital broadcasting, and a processing method of a broadcast signal. .

디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 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 object of the present invention is to provide a transmission system, a reception system, and a broadcast signal processing method that are resistant to channel changes and noise.

본 발명의 다른 목적은 송신 시스템에서 모바일 서비스 데이터에 대해 추가의 부호화를 수행하여 수신 시스템으로 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 송신 시스템, 수신 시스템, 및 방송 신호 처리 방법을 제공함에 있다. Another object of the present invention is to provide a transmission system, a reception system, and a broadcast signal processing method for improving the reception performance of a reception system by performing additional encoding on mobile service data in a transmission system and transmitting the same to a reception system. have.

본 발명의 또 다른 목적은 송/수신측의 약속에 의해 알고 있는 기지 데이터를 데이터 영역의 소정 영역에 삽입하여 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 송신 시스템, 수신 시스템, 및 방송 신호 처리 방법을 제공함에 있다. Still another object of the present invention is to provide a transmission system, a reception system, and a broadcast signal 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. To provide a treatment method.

본 발명의 또 다른 목적은 데이터 그룹 내 데이터 위치에 따라 상기 데이터에 가중치를 부여하여 터보 복호를 수행함으로써, 터보 복호 성능을 향상시키도록 하는 수신 시스템, 및 방송 신호 처리 방법을 제공함에 있다. It is still another object of the present invention to provide a receiving system and a broadcast signal processing method for improving turbo decoding performance by performing turbo decoding by weighting the data according to data positions in a data group.

상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 송신 시스템은 서비스 다중화기와 송신기를 포함할 수 있다. 상기 서비스 다중화기는 모바일 서비스 데이터와 메인 서비스 데이터를 기 설정된 데이터 율로 다중화하여 송신기로 전송할 수 있다. 상기 송신기는 서비스 다중화기에서 전송되는 모바일 서비스 데이터 에 대해 추가의 부호화를 수행하고, 부호화가 수행된 다수개의 모바일 서비스 데이터 패킷을 모아 데이터 그룹을 형성할 수 있다. 상기 송신기는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷과 메인 서비스 데이터를 포함하는 메인 서비스 데이터 패킷을 다중화하여 수신 시스템으로 전송할 수 있다. 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 the mobile service data transmitted from the service multiplexer, and collect a plurality of mobile service data packets on which the encoding is performed to form a data group. The transmitter may multiplex the mobile service data packet including the mobile service data and the main service data packet including the main service data and transmit the multiplexed service to the receiving system.

상기 데이터 그룹은 메인 서비스 데이터의 간섭 정도에 따라 다수개의 영역으로 구분할 수 있다. 상기 메인 서비스 데이터의 간섭이 없는 영역에는 주기적으로 긴 기지 데이터 열을 삽입할 수 있다. 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.

본 발명의 다른 실시예에 따른 수신 시스템은 신호 수신부, 등화기, 이너 복호부, 신뢰도 조정부, 아웃터 복호부, 및 에러 정정부를 포함한다. 상기 신호 수신부는 모바일 서비스 데이터와 복수개의 기지 데이터 열을 포함하는 데이터 그룹이 포함된 방송 신호를 수신하여 복조한다. 상기 등화기는 상기 기지 데이터 열을 이용하여 상기 복조된 방송 신호에 포함된 데이터 그룹을 채널 등화한다. 상기 이너 복호부는 상기 등화기에서 터보 복호를 위한 블록 크기로 입력되는 데이터 그룹 내 모바일 서비스 데이터와 심볼 복호되어 피드백되는 모바일 서비스 데이터를 매칭하여 트렐리스 복호를 수행한다. 상기 신뢰도 조정부는 상기 트렐리스 복호된 모바일 서비스 데이터의 데이터 그룹 내 위치에 따라 상기 모바일 서비스 데이터의 신뢰도를 조정한다. 상기 아웃터 복호부는 상기 신뢰도 조정부에서 출력되는 모바일 서비스 데이터에 대해 심볼 복호를 수행하여 상기 이너 복호부로 피드백한다. 상기 에 러 정정부는 상기 아웃터 복호부에서 출력되는 모바일 서비스 데이터에 발생된 에러를 정정한다.A reception system according to another embodiment of the present invention includes a signal receiver, an equalizer, an inner decoder, a reliability controller, an outer decoder, and an error correction unit. The signal receiver receives and demodulates a broadcast signal including a data group including a mobile service data and a plurality of known data streams. The equalizer channel equalizes the data group included in the demodulated broadcast signal using the known data sequence. The inner decoder performs trellis decoding by matching the mobile service data in the data group inputted with the block size for turbo decoding by the equalizer with the mobile service data which is symbol-decoded and fed back. The reliability adjustment unit adjusts the reliability of the mobile service data according to the position in the data group of the trellis decoded mobile service data. The outer decoder performs symbol decoding on the mobile service data output from the reliability adjuster and feeds back the inner decoder. The error correcting unit corrects an error generated in the mobile service data output from the outer decoding unit.

상기 이너 복호부는 심볼 단위로 모바일 서비스 데이터에 대해 트렐리스 복호를 수행하고, 각 심볼의 소프트 판정값을 출력한다.The inner decoding unit performs trellis decoding on the mobile service data in symbol units, and outputs a soft decision value of each symbol.

상기 신뢰도 조정부는 상기 데이터 그룹 내 모바일 서비스 데이터의 위치에 따라 상기 심볼의 소프트 판정값에 1보다 작은 가중치를 곱하여 상기 심볼의 소프트 판정값의 신뢰도를 낮춘다. The reliability adjustment unit lowers the reliability of the soft decision value of the symbol by multiplying the soft decision value of the symbol by a weight less than 1 according to the position of the mobile service data in the data group.

본 발명의 다른 실시예에 따른 수신 시스템의 방송 신호 처리 방법은, 모바일 서비스 데이터와 복수개의 기지 데이터 열을 포함하는 데이터 그룹이 포함된 방송 신호를 수신하여 복조하는 단계, 상기 기지 데이터 열을 이용하여 상기 복조된 방송 신호에 포함된 데이터 그룹을 채널 등화하는 단계, 상기 채널 등화된 후 터보 복호를 위한 블록 크기로 입력되는 데이터 그룹 내 모바일 서비스 데이터와 심볼 복호되어 피드백되는 모바일 서비스 데이터를 매칭하여 트렐리스 복호를 수행하는 이너 복호 단계, 상기 트렐리스 복호된 모바일 서비스 데이터의 데이터 그룹 내 위치에 따라 상기 모바일 서비스 데이터의 신뢰도를 조정하는 신뢰도 조정 단계, 상기 신뢰도 조정 단계에서 출력되는 모바일 서비스 데이터에 대해 심볼 복호를 수행한 후 트렐리스 복호를 위해 피드백하는 아웃터 복호 단계, 및 상기 심볼 복호된 모바일 서비스 데이터에 발생된 에러를 정정하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of processing a broadcast signal in a receiving system, the method including receiving and demodulating a broadcast signal including a data group including a mobile service data and a plurality of known data streams, Channel equalizing the data group included in the demodulated broadcast signal, matching the mobile service data in the data group inputted to the block size for turbo decoding after the channel equalization with the mobile service data that is symbol-decoded and fed back, and trellis An inner decoding step of performing the decoding, a reliability adjustment step of adjusting the reliability of the mobile service data according to a position in the data group of the trellis-decoded mobile service data, and the mobile service data output from the reliability adjustment step. Trellis box after performing symbol decoding An outer decoding step for feeding to, and may comprise a step of correcting an error occurred in the mobile data service decoding the symbol.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다. 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 transmission / reception system and the broadcast signal processing method according to the present invention have advantages 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.

또한 본 발명은 모바일 채널과 같은 열악한 채널 환경에서 전송된 데이터를 터보 복호할 때 등화가 잘 되지 못한 데이터 그룹 내 M/H 블록(또는 영역)으로부터 얻어진 데이터에 1보다 작은 가중치를 부여하여 터보 복호를 수행함으로써, 터보 복호 성능을 높일 수 있다.In addition, the present invention provides turbo decoding by giving a weight less than 1 to data obtained from an M / H block (or region) in a data group that is not equalized well when turbo decoding data transmitted in a poor channel environment such as a mobile channel. By doing this, turbo decoding performance can be improved.

이러한 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다. 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.

본 발명에서 사용되는 용어 중 M/H(또는 MH라 함)는 모바일(Mobile), 핸드헬드(Handheld) 각각의 첫 글자이며, 고정형에 반대되는 개념이다. 그리고 M/H 서비스 데이터는 모바일(Mobile) 서비스 데이터, 핸드헬드(Handheld) 서비스 데이터 중 적어도 하나를 포함하며, 설명의 편의를 위해 본 발명에서는 M/H 서비스 데이터를 모바일 서비스 데이터라 하기도 한다. 이때 상기 모바일 서비스 데이터에는 M/H 서비스 데이터뿐만 아니라, 이동이나 휴대를 의미하는 서비스 데이터는 어느 것이나 포함될 수 있으며, 따라서 상기 모바일 서비스 데이터는 상기 M/H 서비스 데이터로 제한되지 않을 것이다. Among the terms used in the present invention, M / H (or MH) is the first letter of each of a mobile and a handheld, and is a concept opposite to a fixed form. The M / H service data includes at least one of mobile service data and handheld service data, and for convenience of description, the M / H service data may be referred to as mobile service data. In this case, the mobile service data may include not only M / H service data but also any service data indicating movement or portability, and thus the mobile service data will not be limited to the M / H 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), or the like 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 transmitted as mobile service data.

또한 상기 모바일 서비스 데이터를 이용한 데이터 서비스로는 날씨 서비스, 교통 서비스, 증권 서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임 서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공 서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공 서비스, 상품 정보 및 이에 대한 주문 등이 가능하도록 하는 서비스별, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으며, 본 발명은 이에 한정하지는 않는다. 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 transmission system of the present invention enables multiplexing of main service data and mobile service data on the same physical channel without any influence on receiving main service data from an existing receiving system.

본 발명의 송신 시스템은 모바일 서비스 데이터에 대해 추가적인 부호화를 수행하고, 송/수신측 모두가 미리 알고 있는 데이터 즉, 기지(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.

M/H 프레임 구조M / H frame structure

본 발명의 모바일 서비스 데이터는 M/H 프레임 단위로 메인 서비스 데이터와 다중화된 후 VSB 방식으로 변조되어 수신 시스템으로 전송되는 것을 일 실시예로 한다. According to an embodiment of the present invention, the mobile service data is multiplexed with main service data in units of M / H frames, and then modulated in a VSB scheme and transmitted to a receiving system.

이때 하나의 M/H 프레임은 K1개의 서브 프레임으로 구성되고, 하나의 서브 프레임은 K2개의 슬롯으로 구성될 수 있다. 또한 하나의 슬롯은 K3개의 데이터 패킷으로 구성될 수 있다. 본 발명에서 K1은 5, K2는 16, K3은 156으로 설정하는 것을 일 실시예로 한다. 본 발명에서 제시하는 K1,K2,K3의 값은 바람직한 실시예이거나 단순한 예시이며, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다. In this case, one M / H frame may consist of K1 subframes, and one subframe may consist of K2 slots. In addition, one slot may consist of K3 data packets. In the present invention, K1 is set to 5, K2 is set to 16, and K3 is set to 156 according to one embodiment. The values of K1, K2, and K3 presented in the present invention are preferred embodiments or simple examples, and the scope of the present invention is not limited to the above numerical values.

도 1은 본 발명에 따른 모바일 서비스 데이터를 송수신하기 위한 M/H 프레임 구조의 일 실시예를 보인 것이다. 도 1은 하나의 M/H 프레임이 5개의 서브 프레임으로 구성되고, 하나의 서브 프레임이 16개의 슬롯으로 구성되는 예를 보이고 있다. 이 경우 하나의 M/H 프레임은 5개의 서브 프레임, 80개의 슬롯을 포함함을 의미한다. 1 illustrates an embodiment of an M / H frame structure for transmitting and receiving mobile service data according to the present invention. FIG. 1 shows an example in which one M / H frame consists of five subframes and one subframe consists of 16 slots. In this case, one M / H frame means five subframes and 80 slots.

그리고 하나의 슬롯은 패킷 레벨에서는 156개의 데이터 패킷(즉, 트랜스포트 스트림 패킷)으로, 심볼 레벨에서는 156개의 데이터 세그먼트로 구성된다. 또는 VSB 필드의 반에 해당되는 크기를 갖는다. 즉, 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 데이터 패킷이 데이터 세그먼트의 개념으로 사용될 수 있다. One slot consists of 156 data packets (ie, transport stream packets) at the packet level and 156 data segments at the symbol level. Or half of the VSB field. That is, since one data packet of 207 bytes has the same amount of data as one data segment, the data packet before data interleaving can be used as the concept of the data segment.

이때 두개의 VSB 필드가 모여 하나의 VSB 프레임을 구성한다. At this time, two VSB fields are combined to form one VSB frame.

도 2는 VSB 프레임 구조의 일 예를 보인 것으로서, 하나의 VSB 프레임은 두 개의 VSB 필드(즉, odd field, even field)로 구성된다. 그리고 각 VSB 필드는 하나의 필드 동기 세그먼트와 312개의 데이터 세그먼트로 구성된다. 2 shows an example of a VSB frame structure, in which one VSB frame includes two VSB fields (ie, odd field and even field). Each VSB field consists of one field sync segment and 312 data segments.

상기 슬롯은 모바일 서비스 데이터와 메인 서비스 데이터의 다중화를 위한 기본 시간 주기이다. 하나의 슬롯은 모바일 서비스 데이터를 포함할 수도 있고, 메인 서비스 데이터로만 구성될 수도 있다. The slot is a basic time period for multiplexing the mobile service data and the main service data. One slot may include mobile service data or may consist only of main service data.

만일 모바일 서비스 데이터를 포함하는 데이터 그룹이 하나의 슬롯 동안 전송된다면, 슬롯 내 처음 118 데이터 패킷들이 하나의 데이터 그룹에 해당되고, 나머지 38 패킷들은 메인 서비스 데이터 패킷이 된다. 또 다른 예로, 하나의 슬롯에 데이터 그룹이 없다면, 해당 슬롯은 156개의 메인 서비스 데이터 패킷들로 구성된 다. If a data group containing mobile service data is transmitted during one slot, the first 118 data packets in the slot correspond to one data group and the remaining 38 packets become the main service data packet. As another example, if there is no data group in one slot, the slot is composed of 156 main service data packets.

한편 상기 슬롯들을 VSB 프레임에 할당할 때, 그 위치에 있어서 옵셋을 가지고 있다. On the other hand, when the slots are assigned to VSB frames, they have offsets in their positions.

도 3은 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 공간 영역에서 보이고 있다. 도 4는 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 시간 영역에서 보이고 있다. 3 shows an example of mapping of the first four slot positions of a subframe to a VSB frame in a spatial domain. 4 shows an example of mapping of the first four slot positions of a subframe to one VSB frame in the time domain.

도 3, 도 4를 보면, 첫 번째 슬롯(Slot #0)의 38번째 데이터 패킷(#37)이 오드 VSB 필드의 첫 번째 데이터 패킷에 매핑되고, 두 번째 슬롯(Slot #1)의 38번째 데이터 패킷(#37)이 상기 오드 VSB 필드의 157번째 데이터 패킷에 매핑된다. 또한, 세 번째 슬롯(Slot #2)의 38번째 데이터 패킷(#37)이 이븐 VSB 필드의 첫 번째 데이터 패킷에 매핑되고, 네 번째 슬롯(Slot #3)의 38번째 데이터 패킷(#37)이 상기 이븐 VSB 필드의 157번째 데이터 패킷에 매핑된다. 마찬가지로, 해당 서브 프레임 내 나머지 12 슬롯들도 이어지는 VSB 프레임에 같은 방식으로 매핑된다. 3 and 4, the 38 th data packet (# 37) of the first slot (Slot # 0) is mapped to the first data packet of the odd VSB field and the 38 th data of the second slot (Slot # 1). Packet # 37 is mapped to the 157th data packet of the order VSB field. In addition, the 38th data packet (# 37) of the third slot (Slot # 2) is mapped to the first data packet of the even VSB field, and the 38th data packet (# 37) of the fourth slot (Slot # 3) is It is mapped to the 157th data packet of the even VSB field. Similarly, the remaining 12 slots in that subframe are mapped in the same way to subsequent VSB frames.

한편 하나의 데이터 그룹은 하나 이상의 계층화된 영역으로 구분할 수 있고, 계층화된 각 영역의 특성에 따라 각 영역에 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다. 데이터 그룹 내 각 영역은 일 예로, 데이터 그룹 내에서 수신 성능을 기준으로 분류할 수 있다. Meanwhile, one data group may be divided into one or more layered areas, and the type of mobile service data inserted into each area may vary according to characteristics of each layered area. For example, each region in the data group may be classified based on reception performance in the data group.

본 발명에서는 데이터 인터리빙 후의 데이터 구성에서 하나의 데이터 그룹을 A,B,C,D 영역(Region)으로 구분하는 것을 일 실시예로 한다. According to an embodiment of the present invention, one data group is divided into A, B, C, and D regions in a data configuration after data interleaving.

도 5는 데이터 인터리빙 후의 데이터들이 구분되어 나열된 형태이고, 도 6은 본 발명의 이해를 돕기 위하여 도 5의 데이터 그룹의 일부를 확대한 것이다. 도 7은 데이터 인터리빙 전의 데이터들이 구분되어 나열된 형태이고, 도 8은 본 발명의 이해를 돕기 위하여 도 7의 데이터 그룹의 일부를 확대한 것이다. 즉, 도 5와 같은 데이터 구조가 수신 시스템으로 전송된다. 다시 말해, 한 개의 데이터 패킷이 데이터 인터리빙되고 여러개의 데이터 세그먼트에 분산되어 수신 시스템으로 전송된다. 도 5는 하나의 데이터 그룹이 170개의 데이터 세그먼트에 분산되는 예를 보인다. 이때 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 패킷이 세그먼트의 개념으로 사용되기도 한다. FIG. 5 is a diagram in which data after data interleaving is arranged separately, and FIG. 6 is an enlarged part of the data group of FIG. 5 for better understanding of the present invention. FIG. 7 is a diagram in which data before data interleaving is arranged separately, and FIG. 8 is an enlarged part of the data group of FIG. 7 for better understanding of the present invention. That is, the data structure as shown in FIG. 5 is transmitted to the receiving system. In other words, one data packet is data interleaved and distributed to several data segments and transmitted to a receiving system. 5 shows an example in which one data group is distributed to 170 data segments. In this case, since one data packet of 207 bytes has the same amount of data as one data segment, the packet before data interleaving may be used as a concept of a segment.

도 5는 데이터 인터리빙 후의 데이터 구성에서 데이터 그룹을 10개의 M/H 블록(MH 블록 B1~B10)으로 구분하는 예를 보이고 있다. 그리고 각 M/H 블록은 16 세그먼트의 길이를 갖는 것을 일 실시예로 한다. 도 5에서 M/H 블록 B1의 앞 5 세그먼트와 M/H 블록 B10 뒤의 5 세그먼트는 일부에 RS 패리티 데이터만 할당하며, 데이터 그룹의 A 영역 내지 D 영역에서 제외하는 것을 일 실시예로 한다. 5 shows an example of dividing a data group into 10 M / H blocks (MH blocks B1 to B10) in a data configuration after data interleaving. Each M / H block has a length of 16 segments. In FIG. 5, the first five segments of the M / H block B1 and the five segments after the M / H block B10 are allocated only RS parity data to a portion of the data segment, and are excluded from the areas A to D of the data group.

즉, 하나의 데이터 그룹이 적어도 A,B,C,D 영역을 포함한다고 가정하면, 데이터 그룹 내 각 M/H 블록의 특성에 따라 각 M/H 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시킬 수 있다. 이때 메인 서비스 데이터의 간섭 정도에 따라 각 M/H 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시키는 것을 일 실시예로 한다. In other words, assuming that one data group includes at least A, B, C, and D regions, each M / H block may be one of A to D regions according to characteristics of each M / H block in the data group. Can be included in At this time, according to an embodiment of the present invention, each M / H block is included in any one of the A region and the D region according to the interference level of the main service data.

여기서, 상기 데이터 그룹을 다수개의 영역으로 구분하여 사용하는 이유는 각각의 용도를 달리하기 위해서이다. 즉, 메인 서비스 데이터의 간섭이 없거나 적은 영역은 그렇지 않은 영역보다 강인한 수신 성능을 보일 수 있기 때문이다. 또한, 송/수신측의 약속에 의해 알고 있는 기지(known) 데이터를 데이터 그룹에 삽입하여 전송하는 시스템을 적용하는 경우, 모바일 서비스 데이터에 연속적으로 긴 기지 데이터를 주기적으로 삽입하고자 할 때, 메인 서비스 데이터의 간섭이 없는 영역(즉, 메인 서비스 데이터가 섞이지 않는 영역)에는 일정 길이의 기지 데이터를 주기적으로 삽입하는 것이 가능하다. 그러나 메인 서비스 데이터의 간섭이 있는 영역에는 메인 서비스 데이터의 간섭으로 기지 데이터를 주기적으로 삽입하는 것이 곤란하고 연속적으로 긴 기지 데이터를 삽입하는 것도 곤란하다. 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 case of applying a system for inserting and transmitting known data known to the data group by the transmission / reception side's promise, when the long service data is to be inserted periodically in the mobile service data, the main service It is possible to periodically insert known data of a certain length into an area where data does not interfere (that is, an area where main service data is not mixed). However, it is difficult to periodically insert known data into the area where the main service data interferes with the interference of the main service data, and also to insert long known data continuously.

도 5의 데이터 그룹 내 M/H 블록 B4 내지 M/H 블록 B7은 메인 서비스 데이터의 간섭이 없는 영역으로서 각 M/H 블록의 앞뒤에 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 본 발명에서는 상기 M/H 블록 B4 내지 M/H 블록 B7을 포함하여 A 영역(=B4+B5+B6+B7)이라 하기로 한다. 상기와 같이 각 M/H 블록마다 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, A 영역 내지 D 영역 중 가장 강인한 등화 성능을 얻을 수가 있다. The M / H blocks B4 to M / H block B7 in the data group of FIG. 5 show an example in which long known data strings are inserted before and after each M / H block as an area without interference of main service data. In the present invention, the M / H blocks B4 to M / H block B7 are referred to as an A region (= B4 + B5 + B6 + B7). As described above, in the case of the area A having a known data sequence back and forth for each M / H block, the receiving system can perform equalization using channel information obtained from the known data, and thus the strongest equalization among the areas A to D. You can get performance.

도 5의 데이터 그룹 내 M/H 블록 B3과 M/H 블록 B8은 메인 서비스 데이터의 간섭이 적은 영역으로서, 두 M/H 블록 모두 한쪽에만 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 즉, 메인 서비스 데이터의 간섭으로 인해 M/H 블록 B3은 해당 M/H 블록의 뒤에만 긴 기지 데이터 열이 삽입되고, M/H 블록 B8은 해당 M/H 블록의 앞에만 긴 기지 데이터 열이 삽입될 수 있다. 본 발명에서는 상기 M/H 블록 B3과 M/H 블록 B8을 포함하여 B 영역(=B3+B8)이라 하기로 한다. 상기와 같이 각 M/H 블록마다 어느 한쪽에만 기지 데이터 열을 갖는 B 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, C/D 영역보다 더 강인한 등화 성능을 얻을 수가 있다. The M / H block B3 and the M / H block B8 in the data group of FIG. 5 are regions in which main service data has little interference, and a long known data string is inserted into only one side of both M / H blocks. That is, due to the interference of the main service data, M / H block B3 is inserted with a long known data column only after the M / H block, and M / H block B8 is inserted with a long known data column only before the corresponding M / H block. Can be. In the present invention, the M / H block B3 and the M / H block B8 will be referred to as a B region (= B3 + B8). As described above, in the case of the B area having only one known data string in each M / H block, the receiving system can perform equalization using channel information obtained from the known data, which is more robust than the C / D area. Equalization performance can be obtained.

도 5의 데이터 그룹 내 M/H 블록 B2과 M/H 블록 B9은 메인 서비스 데이터의 간섭이 B 영역보다 더 많으며, 두 M/H 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 M/H 블록 B2와 M/H 블록 B9을 포함하여 C 영역(=B2+B9)이라 하기로 한다. The M / H block B2 and the M / H block B9 in the data group of FIG. 5 have more interference of the main service data than the B area, and both M / H blocks cannot insert a long known data stream back and forth. In the present invention, the M / H block B2 and the M / H block B9 are referred to as a C region (= B2 + B9).

도 5의 데이터 그룹 내 M/H 블록 B1과 M/H 블록 B10은 메인 서비스 데이터의 간섭이 C 영역보다 더 많으며, 마찬가지로 두 M/H 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 M/H 블록 B1과 M/H 블록 B10을 포함하여 D 영역(=B1+B10)이라 하기로 한다. 상기 C/D 영역은 기지 데이터 열로부터 많이 떨어져 있기 때문에 채널이 빠르게 변하는 경우에는 수신 성능이 안 좋을 수가 있다. The M / H block B1 and the M / H block B10 in the data group of FIG. 5 have more interference of the main service data than the C region, and likewise, both M / H blocks cannot insert a long known data string back and forth. In the present invention, the M / H block B1 and the M / H block B10 will be referred to as a D region (= B1 + B10). Since the C / D region is far from the known data stream, the reception performance may be poor when the channel changes rapidly.

도 7은 데이터 인터리빙 전의 데이터 구조로서, 118 패킷이 하나의 데이터 그룹으로 할당된 예를 보이고 있다. 도 7의 데이터 그룹은 VSB 프레임에 할당할 때의 기준 패킷 예를 들면, 필드 동기 후 첫 번째 패킷(또는 데이터 세그먼트) 또는 157번째 패킷(또는 데이터 세그먼트)을 기준으로 앞쪽으로 37 패킷을 포함하고, 뒤쪽으로 81 패킷(상기 기준 패킷 포함)을 포함하여 118 패킷을 구성하는 일 실시예 를 보이고 있다. 7 shows an example in which 118 packets are allocated to one data group as a data structure before data interleaving. The data group of FIG. 7 includes 37 packets forward based on a reference packet when allocating to a VSB frame, for example, the first packet (or data segment) or the 157th packet (or data segment) after field synchronization, An example of configuring 118 packets including 81 packets (including the reference packet) to the rear is shown.

즉, 도 5를 기준으로 M/H 블록 B2과 M/H 블록 B3 사이에 필드 동기가 위치하며, 이것은 슬롯이 해당 VSB 필드에 대해서 37 데이터 패킷의 옵셋을 가짐을 의미한다. That is, with reference to FIG. 5, field synchronization is located between M / H block B2 and M / H block B3, which means that the slot has an offset of 37 data packets for the corresponding VSB field.

지금까지 설명한 데이터 그룹의 크기, 데이터 그룹 내 계층화된 영역의 수와 각 영역의 크기, 각 영역에 포함되는 M/H 블록의 개수, 각 M/H 블록의 크기 등은 본 발명을 기술하기 위한 하나의 실시예일 뿐이므로 본 발명은 상기된 예로 제한되지 않을 것이다. The size of the data group described above, the number of layered regions in the data group and the size of each region, the number of M / H blocks included in each region, the size of each M / H block, and the like are one for describing the present invention. The present invention is not limited to the above-described example only because it is an embodiment of.

도 9는 M/H 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 할당 순서의 일 예를 보인다. 일 예로, 데이터 그룹들을 할당하는 방법은 모든 M/H 프레임에 동일하게 적용할 수도 있고, M/H 프레임마다 달라질 수도 있다. 또한 하나의 M/H 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 이때 데이터 그룹의 할당을 M/H 프레임 내 모든 서브 프레임에 동일하게 적용한다고 가정하면, 하나의 M/H 프레임에 할당되는 데이터 그룹의 수는 5의 배수가 된다. FIG. 9 shows an example of a data group allocation order allocated to one subframe among five subframes constituting an M / H frame. For example, the method of allocating data groups may be equally applied to all M / H frames or may be different for each M / H frame. In addition, the same may be applied to all subframes in one M / H frame or may be differently applied to each subframe. In this case, it is assumed that the data group allocation is equally applied to all subframes in the M / H frame, and the number of data groups allocated to one M / H frame is a multiple of five.

그리고 연속적인 복수개의 데이터 그룹들은 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다. According to an embodiment of the present invention, a plurality of consecutive data groups are allocated as far apart from each other as possible in a subframe. This makes it possible to respond strongly to burst errors that can occur within one subframe.

예를 들어, 하나의 서브 프레임에 3개의 그룹이 할당된다고 가정하면, 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯번째 슬롯(Slot #4), 아홉번째 슬 롯(Slot #8)에 할당된다. 도 9는 이러한 할당 규칙을 적용하여 하나의 서브 프레임에 16개의 데이터 그룹을 할당하였을 때의 예를 보인 것으로서, 0,8,4,12,1,9,5,13,2,10,6,14,3,11,7,15의 순으로 16개의 슬롯에 각각 할당됨을 알 수 있다. For example, assuming that three groups are allocated to one subframe, the first slot (Slot # 0), the fifth slot (Slot # 4), and the ninth slot (Slot # 8) in the subframe. Is assigned. FIG. 9 shows an example of allocating 16 data groups to one subframe by applying such an allocation rule, and includes 0, 8, 4, 12, 1, 9, 5, 13, 2, 10, 6, It can be seen that the slots are allocated to 16 slots in the order of 14,3,11,7,15.

다음의 수학식 1은 상기와 같이 데이터 그룹들을 하나의 서브 프레임에 할당할 때의 규칙을 수학식으로 표현한 것이다. Equation 1 below expresses a rule for allocating data groups to one subframe as described above.

j = (4i + O) mod 16 j = (4i + O) mod 16

여기서, O = 0 if i < 4, Where O = 0 if i <4,

        O = 2 else if i < 8, O = 2 else if i <8,

         O = 1 else if i < 12, O = 1 else if i <12,

        O = 3 else. O = 3 else.

그리고, 상기 j는 하나의 서브 프레임 내 슬롯 번호이며, 0~15 사이의 값을 가질 수 있다. 상기 i는 그룹 번호이며, 0~15 사이의 값을 가질 수 있다. In addition, j is a slot number in one subframe and may have a value between 0 and 15. I is a group number and may have a value between 0 and 15.

본 발명은 하나의 M/H 프레임에 포함되는 데이터 그룹들의 집합(collection)을 퍼레이드(Parade)라 하기로 한다. 상기 퍼레이드는 RS 프레임 모드에 따라 하나 이상의 특정 RS 프레임의 데이터를 전송한다. In the present invention, a collection of data groups included in one M / H frame will be referred to as a parade. The parade transmits data of one or more specific RS frames according to the RS frame mode.

하나의 RS 프레임 내 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역에 모두 할당될 수도 있고, A/B/C/D 영역 중 적어도 하나의 영역에 할당될 수도 있다. 본 발명은 하나의 RS 프레임 내 모바일 서비스 데이터를 A/B/C/D 영역에 모두 할당하거나, A/B 영역과 C/D 영역 중 어느 하나에만 할당하는 것을 일 실시예로 한다. 즉, 후자의 경우, 데이터 그룹 내 A/B 영역에 할당되는 RS 프레임과 C/D 영역에 할당되는 RS 프레임이 다르다. 본 발명은 설명의 편의를 위해, 데이터 그룹 내 A/B 영역에 할당되는 RS 프레임을 프라이머리 RS 프레임(Primary RS frame)이라 하고, C/D 영역에 할당되는 RS 프레임을 세컨더리 RS 프레임(Secondary RS frame)이라 하기로 한다. 그리고 프라이머리 RS 프레임과 세컨더리 RS 프레임이 하나의 퍼레이드(parade)를 구성한다. 즉, 하나의 RS 프레임 내 모바일 서비스 데이터가 데이터 그룹 내 A/B/C/D 영역에 모두 할당된다면, 하나의 퍼레이드는 하나의 RS 프레임을 전송한다. 이에 반해, 하나의 RS 프레임 내 모바일 서비스 데이터가 데이터 그룹 내 A/B 영역에 할당되고, 다른 하나의 RS 프레임 내 모바일 서비스 데이터가 해당 데이터 그룹 내 C/D 영역에 할당된다면, 하나의 퍼레이드는 두 개의 RS 프레임까지 전송할 수 있다. Mobile service data in one RS frame may be allocated to all of the A / B / C / D areas in the data group or may be allocated to at least one of the A / B / C / D areas. According to an embodiment of the present invention, mobile service data in one RS frame is allocated to all of the A / B / C / D areas or only to one of the A / B areas and the C / D areas. That is, in the latter case, the RS frame allocated to the A / B area in the data group and the RS frame allocated to the C / D area are different. In the present invention, for convenience of description, the RS frame allocated to the A / B area in the data group is called a primary RS frame, and the RS frame allocated to the C / D area is referred to as a secondary RS frame. frame). The primary RS frame and the secondary RS frame form one parade. That is, if the mobile service data in one RS frame are all allocated to the A / B / C / D areas in the data group, one parade transmits one RS frame. In contrast, if the mobile service data in one RS frame is allocated to the A / B area in the data group and the mobile service data in the other RS frame is allocated to the C / D area in the data group, Up to RS frames can be transmitted.

즉, RS 프레임 모드(RS frame mode)는 하나의 퍼레이드가 하나의 RS 프레임을 전송하는지, 두 개의 RS 프레임을 전송하는지를 지시한다. That is, the RS frame mode indicates whether one parade transmits one RS frame or two RS frames.

다음의 표 1은 RS 프레임 모드의 일 예를 보인다. Table 1 below shows an example of an RS frame mode.

RS Frame modeRS Frame mode DescriptionDescription 0000 There is only a primary RS Frame for all Group RegionsThere is only a primary RS Frame for all Group Regions 0101 There are two separate RS Frames - Primary RS Frame for Group Region A and B - Secondary RS Frame for Group Region C and DThere are two separate RS Frames-Primary RS Frame for Group Region A and B-Secondary RS Frame for Group Region C and D 1010 ReservedReserved 1111 ReservedReserved

상기 표 1은 RS 프레임 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 표 1을 보면, RS 프레임 모드 값이 00이면, 하나의 퍼레이드가 하나의 RS 프레임을 전송함을 지시하고, RS 프레임 모드 값이 01이면, 하나의 퍼레이드가 두개의 RS 프레임 즉, 프라이머리 RS 프레임(Primary RS frame)과 세컨더리 RS 프레임(Secondary RS frame)을 전송함을 지시한다. 즉, 상기 RS 프레임 모드 값이 01이면, 프라이머리 RS 프레임(Primary RS frame for region A/B)의 데이터는 데이터 그룹의 A/B 영역에 할당되어 전송되고, 세컨더리 RS 프레임(Secondary RS frame for region C/D)의 데이터는 해당 데이터 그룹의 C/D 영역에 할당되어 전송됨을 지시한다. In Table 1, 2 bits are allocated to indicate an RS frame mode. Referring to Table 1, when the RS frame mode value is 00, one parade transmits one RS frame. If the RS frame mode value is 01, one parade is two RS frames, that is, primary RS. Indicates that a frame (Primary RS frame) and a secondary RS frame (Secondary RS frame) is transmitted. That is, when the RS frame mode value is 01, data of a primary RS frame for region A / B is allocated to the A / B area of the data group and transmitted, and a secondary RS frame for region is transmitted. Data of the C / D) is allocated to the C / D area of the corresponding data group and transmitted.

상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다. Like the data group allocation, the parades may be allocated as far apart from each other as possible in the subframe. This makes it possible to respond strongly to burst errors that can occur within one subframe.

그리고 퍼레이드들의 할당 방법은 M/H 프레임을 기반으로 M/H 프레임마다 다르게 적용할 수 있고, 모든 M/H 프레임에 동일하게 적용할 수도 있다. 또한 하나의 M/H 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 본 발명은 M/H 프레임마다 달라질 수 있으며, 하나의 M/H 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. 즉, M/H 프레임 구조는 M/H 프레임 단위로 달라질 수 있으며, 이것은 앙상블 데이터 율을 자주 그리고, 탄력적으로 조정할 수 있게 한다. In addition, the method of allocating parades may be differently applied to every M / H frame based on the M / H frame, and may be equally applied to all M / H frames. In addition, the same may be applied to all subframes in one M / H frame or may be differently applied to each subframe. The present invention may vary for each M / H frame, and the same applies to all subframes in one M / H frame. That is, the M / H frame structure may vary in units of M / H frames, which allows the ensemble data rate to be adjusted frequently and flexibly.

도 10은 하나의 M/H 프레임에 단일 퍼레이드를 할당할 때의 예를 보인 도면이다. 즉, 도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 하나의 M/H 프레임에 할당할 때의 실시예를 보이고 있다. FIG. 10 is a diagram illustrating an example of allocating a single parade to one M / H frame. That is, FIG. 10 illustrates an embodiment when a single parade having a number of data groups included in one subframe is assigned to one M / H frame.

도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 M/H 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 M/H 프레임에 15개의 데이터 그룹이 할당된다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들이다. 따라서 하나의 서브 프레임은 4개의 VSB 프레임으로 구성되지만, 하나의 서브 프레임에는 3개의 데이터 그룹이 포함되므로, 하나의 서브 프레임 내 4개의 VSB 프레임 중 1개의 VSB 프레임에는 해당 퍼레이드의 데이터 그룹이 할당되지 않는다. Referring to FIG. 10, if three data groups are sequentially allocated to one subframe in four slot periods, and this process is performed for five subframes in the corresponding M / H frame, 15 data in one M / H frame The data group is assigned. The 15 data groups are data groups included in one parade. Therefore, one subframe is composed of four VSB frames, but one subframe includes three data groups. Therefore, one VSB frame among four VSB frames in one subframe is not assigned a data group of the corresponding parade. Do not.

예를 들어, 하나의 퍼레이드가 하나의 RS 프레임을 전송하고, 해당 RS 프레임에 대해 후단의 RS 프레임 부호기에서 RS 부호화를 수행하여 해당 RS 프레임에 24 바이트의 패리티 데이터를 부가하여 전송하였다고 가정하면, 이 경우 전체 RS 부호어(code word)의 길이 중에서 패리티 데이터가 차지하는 비중은 약 11.37 % (=24/(187+24) x 100) 정도 된다. 한편 하나의 서브 프레임에 3개의 데이터 그룹이 포함되면서, 도 10과 같이 하나의 퍼레이드 내 데이터 그룹들을 할당한 경우에 15개의 데이터 그룹이 하나의 RS 프레임을 형성하므로 채널에서 발생한 버스트 노이즈에 의해서 하나의 그룹이 모두 오류가 발생한 상황이라 하더라도 그 비중이 6.67 %(=1/15 x 100) 이 된다. 그러므로 수신 시스템에서는 erasure RS decoding 에 의해서 모든 에러를 정정할 수 있게 된다. 즉, erasure RS decoding 을 수행하면 RS 패리티 개수만큼의 채널 에러를 정정할 수가 있으므로, 한 RS 부호어 중에서 RS 패리티의 개수 이하의 바이트 에러는 모두 정정 가능하다. 이렇게 하면, 수신 시스템에서는 하나의 퍼레이드 내 적어도 하나의 데이터 그룹의 에러를 정정할 수 있다. 이와 같이 하나의 RS 프레임에 의해 정정될 수 있는 최소 버스트 노이즈 길이는 1 VSB 프레임 이상이다(Thus the minimum burst noise length correctable by a RS frame is over 1 VSB frame). For example, suppose that one parade transmits one RS frame, RS encoding is performed in a later RS frame encoder for the RS frame, and 24 bytes of parity data is added to the RS frame. In this case, the parity data occupies about 11.37% (= 24 / (187 + 24) x 100) of the length of all RS code words. Meanwhile, when three data groups are included in one subframe, and 15 data groups form one RS frame when data groups in one parade are allocated as shown in FIG. 10, one data is generated due to burst noise generated in a channel. Even if all of the groups had errors, the proportion would be 6.67% (= 1/15 x 100). Therefore, in the receiving system, all errors can be corrected by erasure RS decoding. That is, since erasure RS decoding can correct channel errors as many as the number of RS parities, all byte errors less than or equal to the number of RS parities in one RS codeword can be corrected. This allows the receiving system to correct errors in at least one data group in one parade. As such, the minimum burst noise length correctable by a RS frame is over 1 VSB frame.

한편, 도 10과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 할당되었을 때, 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터가 할당될 수도 있고, 다른 퍼레이드의 데이터 그룹들이 할당될 수도 있다. 즉, 하나의 M/H 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있다. Meanwhile, when data groups for one parade are allocated as shown in FIG. 10, main service data may be allocated between the data group and the data group, or data groups of another parade may be allocated. That is, data groups for a plurality of parades may be allocated to one M / H frame.

기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당은 단일 퍼레이드의 경우와 다르지 않다. 즉, 하나의 M/H 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당된다. Basically, the allocation of data groups for multiple parades is no different than for a single parade. That is, data groups in different parades allocated to one M / H frame are also allocated in four slot periods.

이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다. In this case, the data group of another parade may be allocated in a circular manner from a slot to which the data group of the previous parade is not allocated.

예를 들어, 하나의 퍼레이드에 대한 데이터 그룹의 할당이 도 10과 같이 이루어졌다고 가정할 때, 다음 퍼레이드에 대한 데이터 그룹은 하나의 서브 프레임 내 12번째 슬롯부터 할당된다. 이것은 하나의 실시예이며, 다른 예를 들면, 다음 퍼레이드의 데이터 그룹은 하나의 서브 프레임 내 다른 슬롯 예를 들어, 3번째 슬롯부터 4 슬롯 주기로 순차적으로 할당할 수도 있다. For example, assuming that data group allocation for one parade is performed as shown in FIG. 10, the data group for the next parade is allocated from the 12th slot in one subframe. This is one embodiment, and for example, the data group of the next parade may be sequentially assigned to another slot, for example, the third slot to the four slot period, in one subframe.

도 11은 하나의 M/H 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 전송하는 예를 보인 것으로서, 특히 M/H 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임의 퍼레이드 전송 예를 보이고 있다. FIG. 11 shows an example of transmitting three parades (Parade # 0, Parade # 1, Parade # 2) in one M / H frame. In particular, one subframe among five subframes constituting the M / H frame is illustrated in FIG. An example of parade transmission of frames is shown.

그리고 첫 번째 퍼레이드는 서브 프레임 당 3개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 0~2를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 첫 번째, 다섯 번째, 아홉 번째 슬롯(Slot #0, Slot #4, Slot #8)에 첫 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다. If the first parade includes three data groups per subframe, the positions of the groups in the subframe can be obtained by substituting 0 to 2 for the i value of Equation 1 above. That is, data groups of the first parade are sequentially allocated to the first, fifth, and ninth slots (Slot # 0, Slot # 4, Slot # 8) in the subframe.

두 번째 퍼레이드는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 3~4를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다. If the second parade includes two data groups per subframe, the positions of the groups in the subframe can be obtained by substituting 3 to 4 into the i value of Equation 1 above. That is, data groups of the second parade are sequentially allocated to the second and twelfth slots #Slot # 11 in the subframe.

또한 세 번째 퍼레이드는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 5~6을 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다. In addition, if the third parade includes two groups per subframe, the positions of the groups in the subframe can be obtained by substituting 5 to 6 into the i value of Equation 1 above. That is, data groups of the third parade are sequentially allocated to the seventh and eleventh slots (Slot # 6 and Slot # 10) in the subframe.

이와 같이 하나의 M/H 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 할당은 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행되고 있다. As such, data groups for a plurality of parades may be allocated to one M / H frame, and data group allocation in one subframe is performed serially from left to right with a group space of 4 slots.

따라서 하나의 서브 프레임에 할당될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 M/H 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 M/H 프레임에 할당될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다. Therefore, the number of groups of one parade per a sub-frame (NOG) that may be allocated to one subframe may be any one of integers from 1 to 8. Since one M / H frame includes five subframes, this means that the number of data groups of one parade that can be allocated to one M / H frame may be any one of multiples of 5 to 40. That means you can.

도 12는 도 11의 3개의 퍼레이드의 할당 과정을 하나의 M/H 프레임 내 5개의 서브 프레임으로 확장한 예를 보인 것이다. FIG. 12 illustrates an example in which the allocation process of the three parades of FIG. 11 is extended to five subframes within one M / H frame.

도 13은 본 발명의 일 실시예에 따른 데이터 전송 구조를 도시한 도면으로, 데이터 그룹 내에 시그널링 데이터가 포함되어 전송되는 모습을 도시한 도면이다. FIG. 13 is a diagram illustrating a data transmission structure according to an embodiment of the present invention and illustrates a state in which signaling data is included and transmitted in a data group.

상기에서 설명한 바와 같이, M/H 프레임은 5개의 서브 프레임으로 분할되며, 각각의 서브 프레임 내에 여러 개의 퍼레이드에 해당하는 데이터 그룹들이 섞여 존재한다. 그리고, 각각의 퍼레이드에 해당하는 데이터 그룹들이 M/H 프레임 단위로 묶여 하나의 퍼레이드를 구성하게 된다. As described above, the M / H frame is divided into five subframes, and data groups corresponding to several parades are mixed in each subframe. In addition, data groups corresponding to each parade are grouped into M / H frame units to form one parade.

도 13에서도 하나의 M/H 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)가 존재한다. 이때 각각의 데이터 그룹의 일정 부분(e.g. 37 bytes/데이터 그룹)은 모바일 서비스 데이터에 대한 RS 인코딩과 별도로 인코딩된 FIC(Fast Information Channel) 정보를 전달하는 용도로 사용된다. 각각의 데이터 그룹에 할당되는 FIC 영역은 하나의 FIC 세그먼트를 구성한다. In FIG. 13, three parades (Parade # 0, Parade # 1, and Parade # 2) exist in one M / H frame. At this time, a certain portion (e.g. 37 bytes / data group) of each data group is used for delivering fast information channel (FIC) information encoded separately from RS encoding for mobile service data. The FIC region allocated to each data group constitutes one FIC segment.

한편, 본 실시예에서는 M/H 앙상블(Ensemble) 개념을 도입하여, 서비스의 집합을 정의한다. 하나의 M/H 앙상블은 동일한 QoS를 가지며, 동일한 FEC 코드로 코딩된다. 또한 하나의 M/H 앙상블은 같은 고유 식별자(즉, ensemble id)를 가지며 연속하는 RS 프레임에 대응된다. Meanwhile, in the present embodiment, the concept of M / H ensemble is introduced to define a set of services. One M / H ensemble has the same QoS and is coded with the same FEC code. In addition, one M / H ensemble has the same unique identifier (ie, ensemble id) and corresponds to consecutive RS frames.

도 13에 도시된 바와 같이, 각각의 데이터 그룹에 대응되는 FIC 세그먼트는 해당 데이터 그룹이 속하는 M/H 앙상블의 서비스 정보를 기술한다. As shown in FIG. 13, the FIC segment corresponding to each data group describes service information of an M / H ensemble to which the data group belongs.

송신 시스템의 개략적인 설명Schematic description of the transmission system

도 14는 전술한 구조를 갖는 본 발명을 적용하기 위한 송신 시스템의 일 실시예를 보인 개략도로서, 서비스 다중화기(Service Multiplexer)(100)와 송신기(Transmitter or exciter)(200)를 포함할 수 있다. 14 is a schematic diagram illustrating an embodiment of a transmission system for applying the present invention having the above-described structure, and may include a service multiplexer 100 and a transmitter or exciter 200. .

여기서 상기 서비스 다중화기(100)는 각 방송국의 스튜디오에 위치하고, 송신기(200)는 스튜디오로부터 거리가 떨어진 지역(site)에 위치한다. 이때 상기 송신기(200)는 복수개의 서로 다른 지역에 위치할 수도 있다. 그리고 일 실시예로 상기 복수개의 송신기는 동일한 주파수를 공유할 수 있으며, 이 경우 복수개의 송신기는 모두 동일한 신호를 송신한다. 이것은 단일 주파수 망(Single Frequency Network ; SFN)을 이용한 데이터 전송에 해당된다. 그러면 수신 시스템에서는 채널 등화기가 반사파로 인한 신호 왜곡을 보상하여 원 신호를 복원할 수가 있다. 다른 실시예로, 상기 복수개의 송신기는 동일 채널에 대해 서로 다른 주파수를 가질 수도 있다. 이것은 멀티 주파수 망(Multi Frequency Network ; MFN)을 이용한 데이터 전송에 해당된다. 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. This corresponds to data transmission using a single frequency network (SFN). 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. This corresponds to data transmission using a multi frequency network (MFN).

상기 서비스 다중화기와 원격지에 위치한 각 송신기간의 데이터 통신은 여러 가지 방법이 이용될 수 있으며, 일 실시예로 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 existing 8VSB 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 multiplexed TS packet data is transmitted. The rate is about 19.39 Mbps.

이때 상기 서비스 다중화기(100)는 적어도 한 종류의 메인 서비스 데이터와 각 메인 서비스를 위한 테이블 정보 예를 들어, PSI/PSIP 테이블 데이터를 입력받아 TS 패킷으로 인캡슐레이션(encapsulation)한다. In this case, the service multiplexer 100 receives at least one kind of main service data and table information for each main service, for example, PSI / PSIP table data, and encapsulates them into TS packets.

또한 상기 서비스 다중화기(100)는 일 실시예로, 적어도 한 종류의 모바일 서비스 데이터와 각 모바일 서비스를 위한 테이블 정보 예를 들어, PSI(Program Specific Information)/PSIP(Program and System Information Protocol) 테이블 데이터를 입력받아 각각 트랜스포트 스트림(TS) 패킷 형태의 모바일 서비스 데이터 패킷으로 인캡슐레이션(encapsulation)한다. In addition, the service multiplexer 100 is, in one embodiment, at least one type of mobile service data and table information for each mobile service, for example, program specific information (PSI) / program and system information protocol (PSIP) table data. Receive encapsulation is encapsulated in each mobile service data packet in the form of a transport stream (TS) packet.

상기 서비스 다중화기(100)는 다른 실시예로, 적어도 한 종류의 모바일 서비스 데이터와 각 모바일 서비스를 위한 테이블 정보를 포함하여 구성된 RS 프레임을 입력받아 트랜스포트 스트림(TS) 패킷 형태의 모바일 서비스 데이터 패킷으로 인캡슐레이션할 수 있다. In another embodiment, the service multiplexer 100 receives an RS frame including at least one type of mobile service data and table information for each mobile service, and transmits a mobile service data packet in the form of a transport stream (TS) packet. You can encapsulate with.

그리고 상기 서비스 다중화기(100)는 인캡슐레이션된 상기 TS 패킷들을 기 설정된 다중화 규칙에 따라 다중화하여 송신기(200)로 출력한다. The service multiplexer 100 multiplexes the encapsulated TS packets according to a preset multiplexing rule and outputs the TS packets to the transmitter 200.

한편 상기 RS 프레임은 도 15에서와 같이 N (row) x 187 (column) 바이트 크기를 갖는다. 상기 N은 로우의 길이(즉 컬럼의 개수)이고, 187은 컬럼의 길이(즉, 로우의 개수)이다.Meanwhile, the RS frame has a size of N (row) x 187 (column) bytes as shown in FIG. N is the length of a row (ie, the number of columns), and 187 is the length of a column (ie, the number of rows).

본 발명에서는 상기 N 바이트로 된 각 로우를 설명의 편의를 위해 M/H 서비스 데이터 패킷이라 하기로 한다. 상기 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N-2 바이트의 M/H 페이로드로 구성될 수 있다. 여기서 M/H 헤더 영역을 2바이트로 할당하는 것은 하나의 실시예일 뿐이며, 이는 설계자에 의해 달라질 수 있으므로 본 발명은 상기 실시예로 제한되지 않을 것이다. In the present invention, each row of N bytes will be referred to as an M / H service data packet for convenience of description. The M / H service data packet may consist of an M / H header of 2 bytes and an M / H payload of N-2 bytes. In this case, the allocation of the M / H header area to two bytes is just one embodiment, and the present invention will not be limited to the above embodiment because it may be changed by a designer.

상기 RS 프레임은 N-2(row) x 187(column) 바이트 크기의 테이블 정보 및/또는 IP 데이터그램을 모아 생성된다. 또한 하나의 RS 프레임은 하나 이상의 모바일 서비스에 해당하는 테이블 정보와 IP 데이터그램을 포함할 수 있다. 예를 들어, 뉴스(예를 들어, IP datagram for mobile service 1)와 증권(예를 들어, IP datagram for mobile service 2)이라는 두 종류의 모바일 서비스의 IP 데이터그램과 테이블 정보가 하나의 RS 프레임에 포함될 수 있다. The RS frame is generated by collecting table information and / or IP datagrams having a size of N-2 (row) x 187 (column) bytes. In addition, one RS frame may include table information and IP datagram corresponding to one or more mobile services. For example, IP datagrams and table information of two kinds of mobile services, such as news (for example, IP datagram for mobile service 1) and securities (for example, IP datagram for mobile service 2), are stored in one RS frame. May be included.

즉, 상기 RS 프레임을 구성하는 M/H 서비스 데이터 패킷 내 M/H 페이로드에는 섹션 구조의 테이블 정보가 할당되거나, 모바일 서비스 데이터의 IP 데이터그램이 할당될 수 있다. That is, the M / H payload in the M / H service data packet constituting the RS frame may be assigned table information of a section structure or an IP datagram of mobile service data.

또는 상기 RS 프레임을 구성하는 M/H 서비스 데이터 패킷 내 M/H 페이로드에는 테이블 정보의 IP 데이터그램이 할당되거나, 모바일 서비스 데이터의 IP 데이터그램이 할당될 수 있다. Alternatively, an IP datagram of table information or an IP datagram of mobile service data may be allocated to an M / H payload in an M / H service data packet constituting the RS frame.

이때 M/H 서비스 데이터 패킷이 M/H 헤더를 포함하여 N 바이트가 되지 않는 경우가 발생할 수 있다. In this case, the M / H service data packet may not be N bytes including the M / H header.

이 경우, 해당 M/H 서비스 데이터 패킷의 나머지 페이로드 부분에 스터핑(stuffing) 바이트를 할당할 수 있다. 예를 들어, 하나의 M/H 서비스 데이터 패킷에 프로그램 테이블 정보를 할당하고 난 후, 그 M/H 서비스 데이터 패킷의 길이가 M/H 헤더를 포함하여 N-20 바이트라면, 나머지 20 바이트에 스터핑 바이트를 할당할 수 있다. In this case, stuffing bytes may be allocated to the remaining payload portion of the corresponding M / H service data packet. For example, after assigning program table information to one M / H service data packet, if the length of the M / H service data packet is N-20 bytes including the M / H header, stuffing the remaining 20 bytes You can allocate bytes.

도 16은 본 발명에 따른 M/H 서비스 데이터 패킷 내 M/H 헤더 영역에 할당되는 필드들의 예를 보인 것으로서, type_indicator 필드, error_indicator 필드, stuff_indicator 필드, 및 pointer 필드를 포함할 수 있다. FIG. 16 illustrates an example of fields allocated to an M / H header area in an M / H service data packet according to the present invention, and may include a type_indicator field, an error_indicator field, a stuff_indicator field, and a pointer field.

상기 type_indicator 필드는 일 실시예로 3비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷 내 페이로드에 할당되는 데이터의 타입을 표시한다. 즉, 상기 M/H 페이로드의 데이터가 IP 데이터그램인지, 테이블 정보를 포함하는 시그널링 정보인지를 지시한다. 이때 각각의 데이터 타입은 하나의 논리적 채널을 구성한다. IP 데이터그램을 전송하는 논리적 채널에서는 여러 개의 모바일 서비스가 다중화되어 전송되며, 각 모바일 서비스는 IP 계층에서 역다중화를 거친다. The type_indicator field may allocate 3 bits in one embodiment, and indicates a type of data allocated to a payload in a corresponding M / H service data packet. That is, it indicates whether the data of the M / H payload is an IP datagram or signaling information including table information. Each data type constitutes one logical channel. In the logical channel carrying IP datagram, multiple mobile services are multiplexed and transmitted, and each mobile service is demultiplexed in the IP layer.

상기 error_indicator 필드는 일 실시예로 1비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷의 에러 여부를 표시한다. 예를 들어, 상기 error_indicator 필드 값이 0일 경우는 해당 M/H 서비스 데이터 패킷에 에러가 없음을 의미하고, 1이면 에러가 있음을 의미한다. The error_indicator field may allocate 1 bit in one embodiment, and indicates whether an error of the corresponding M / H service data packet occurs. For example, when the error_indicator field value is 0, it means that there is no error in the corresponding M / H service data packet, and when 1, there is an error.

상기 stuff_indicator 필드는 일 실시예로 1비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷의 페이로드에 stuffing byte가 있는지 여부를 표시한다. 예를 들어, 상기 stuff_indicator 필드 값이 0이면 해당 M/H 서비스 데이터 패킷에 stuffing byte가 없음을 의미하고, 1이면 stuffing byte가 있음을 의미한다. The stuff_indicator field may allocate 1 bit as an embodiment and indicates whether a stuffing byte is present in the payload of the corresponding M / H service data packet. For example, if the value of the stuff_indicator field is 0, it means that there is no stuffing byte in the corresponding M / H service data packet, and 1 means that there is a stuffing byte.

상기 pointer 필드는 일 실시예로 11비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷에서 새로운 데이터(즉, 새로운 시그널링 정보 또는 새로운 IP 데이터그램)가 시작되는 위치 정보를 표시한다. In one embodiment, the pointer field may allocate 11 bits, and indicates location information at which new data (ie, new signaling information or new IP datagram) starts in a corresponding M / H service data packet.

예를 들어, 도 15와 같이 RS 프레임 내 첫 번째 M/H 서비스 데이터 패킷에 모바일 서비스 1을 위한 IP 데이터그램, 모바일 서비스 2를 위한 IP 데이터그램이 할당된다면, 상기 pointer 필드 값은 해당 M/H 서비스 데이터 패킷 내 모바일 서비스 2를 위한 IP 데이터그램의 시작 위치를 표시한다. For example, if an IP datagram for mobile service 1 and an IP datagram for mobile service 2 are allocated to the first M / H service data packet in an RS frame as shown in FIG. 15, the pointer field value corresponds to the corresponding M / H. Indicates the start position of the IP datagram for mobile service 2 in the service data packet.

또한 해당 M/H 서비스 데이터 패킷에 새로이 시작하는 데이터가 없으면 해당 pointer 필드 값을 최대값으로 표시하는 것을 일 실시예로 한다. 본 발명에서는 상기 pointer 필드에 11비트를 할당하는 것을 일 실시예로 하고 있으므로, 상기 pointer 필드 값에 2047이 표시되어 있으면 그 패킷에는 새로이 시작되는 데이터가 없음을 의미한다. 그리고 상기 pointer field가 0일 경우 가리키는 지점은 상기 type_indicator 필드 값과 stuff_indicator 필드 값에 따라서 달라질 수 있다. In addition, if there is no new data in the corresponding M / H service data packet, the corresponding pointer field value is displayed as the maximum value according to an embodiment. According to an embodiment of the present invention, 11 bits are allocated to the pointer field. Therefore, if 2047 is displayed in the pointer field value, it means that the packet has no new data. If the pointer field is 0, the point indicated may vary according to the type_indicator field value and the stuff_indicator field value.

상기 도 16에서 보이고 있는 M/H 서비스 데이터 패킷 내 M/H 헤더에 할당되는 필드의 순서, 위치, 의미는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 M/H 서비스 데이터 패킷 내 헤더에 할당되는 필드의 순서, 위치, 의미, 추가 할당되는 필드의 수는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.The order, location, and meaning of the fields allocated to the M / H headers in the M / H service data packet shown in FIG. 16 are merely an example for helping understanding of the present invention. The order, location, meaning of the fields to be allocated, and the number of additional fields to be allocated may be easily changed by those skilled in the art, and thus the present invention will not be limited to the above embodiments.

도 17의 (a),(b)는 본 발명에 따른 RS 프레임의 다른 실시예로서, 도 17의 (a)는 데이터 그룹 내 A/B 영역에 할당될 RS 프레임의 예를 보이고 있고, 도 17의 (b)는 해당 데이터 그룹 내 C/D 영역에 할당될 RS 프레임의 구성 예를 보인 것이다. 17 (a) and 17 (b) show another embodiment of an RS frame according to the present invention, and FIG. 17 (a) shows an example of an RS frame to be allocated to an A / B area within a data group. (B) shows an example of the configuration of the RS frame to be allocated to the C / D area in the data group.

도 17의 (a),(b)에서도 A/B 영역에 할당될 RS 프레임의 컬럼 길이(즉, 로우 개수)와 C/D 영역에 할당될 RS 프레임의 컬럼 길이(즉, 로우 개수)는 187로 동일하며, 다만 로우 길이(즉, 컬럼 개수)가 서로 다를 수 있다. In FIGS. 17A and 17B, the column length (ie, number of rows) of the RS frame to be allocated to the A / B area and the column length (ie, number of rows) of the RS frame to be allocated to the C / D area are 187. Are the same, but the row lengths (ie, the number of columns) may be different.

본 발명은 데이터 그룹 내 A/B 영역에 할당될 프라이머리 RS 프레임의 로우 길이는 N1 바이트, C/D 영역에 할당될 세컨더리 RS 프레임의 로우 길이는 N2 바이트라고 할 때, N1>N2 조건을 만족하는 것을 일 실시예로 한다. 여기서 상기 N1,N2는 전송 파라미터에 따라 또는 해당 RS 프레임이 데이터 그룹 내 어느 영역으로 전송될 지에 따라 달라질 수 있다. The present invention satisfies the condition N1> N2 when the row length of the primary RS frame to be allocated to the A / B area of the data group is N1 byte and the row length of the secondary RS frame to be allocated to the C / D area is N2 byte. In one embodiment. Here, N1 and N2 may vary according to transmission parameters or to which region in the data group the RS frame is transmitted.

상기 N1, N2 바이트로 된 각 로우도 본 발명에서는 설명의 편의를 위해 M/H 서비스 데이터 패킷이라 하기로 한다. 데이터 그룹 내 A/B 영역에 할당될 RS 프레임 내 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N1-2 바이트의 M/H 페이로드로 구성될 수 있다. 그리고 데이터 그룹 내 C/D 영역에 할당될 RS 프레임 내 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N2-2 바이트의 M/H 페이로드로 구성될 수 있다. Each row of the N1 and N2 bytes is also referred to as an M / H service data packet in the present invention for convenience of description. The M / H service data packet in the RS frame to be allocated to the A / B area in the data group may be composed of an M / H header of 2 bytes and an M / H payload of N1-2 bytes. The M / H service data packet in the RS frame to be allocated to the C / D area of the data group may be composed of a 2-byte M / H header and an N2-2 byte M / H payload.

본 발명에서 데이터 그룹 내 A/B 영역을 위한 프라이머리 RS 프레임과 C/D 영역을 위한 세컨더리 RS 프레임은 테이블 정보와 IP 데이터그램 중 적어도 하나를 포함할 수 있다. 또한 하나의 RS 프레임에는 하나 이상의 모바일 서비스에 해당하는 IP 데이터그램이 포함될 수 있다. In the present invention, the primary RS frame for the A / B region in the data group and the secondary RS frame for the C / D region may include at least one of the table information and the IP datagram. In addition, one RS frame may include an IP datagram corresponding to one or more mobile services.

도 17의 (a),(b)에서 설명되지 않은 부분은 도 15를 그대로 적용할 수 있다.Parts not described in FIGS. 17A and 17B can be applied to FIG. 15 as they are.

한편 하나의 RS 프레임 내 컬럼의 개수인 N은 하기의 수학식 2에 따라 결정된다.Meanwhile, N, the number of columns in one RS frame, is determined according to Equation 2 below.

Figure 112009047257918-PAT00001
Figure 112009047257918-PAT00001

상기 수학식 2에서 NoG는 하나의 서브 프레임에 할당되는 데이터 그룹의 개수, PL은 하나의 데이터 그룹에 할당되는 SCCC (Serial Concatenated Convolution Code) 페이로드 바이트의 개수, 그리고 P는 RS 프레임의 각 컬럼에 부가되는 RS 패리티 바이트의 개수이다. 그리고

Figure 112009047257918-PAT00002
는 X 이하의 가장 큰 정수이다. In Equation 2, NoG denotes the number of data groups allocated to one subframe, PL denotes the number of SCCC (Serial Concatenated Convolution Code) payload bytes allocated to one data group, and P denotes each column of the RS frame. The number of RS parity bytes added. And
Figure 112009047257918-PAT00002
Is the largest integer below X.

즉, 상기 수학식 2에서 PL(Portion Length)은 RS 프레임 포션 길이이며, 해당 데이터 그룹에 할당되는 SCCC 페이로드 바이트의 개수와 같다. 상기 PL은 RS 프 레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 달라질 수 있다. 하기의 표 2 내지 표 5은 RS 프레임 모드, SCCC 블록 모드, 및 SCCC 아웃터 코드 모드에 따라 달라지는 PL 값의 실시예들을 보인 것이다. 상기 SCCC 블록 모드, SCCC 아웃터 코드 모드의 상세한 설명은 후술할 것이다. That is, in Equation 2, the PL (Portion Length) is an RS frame portion length, which is equal to the number of SCCC payload bytes allocated to the corresponding data group. The PL may vary according to an RS frame mode, an SCCC block mode, and an SCCC outer code mode. Tables 2 to 5 below show embodiments of PL values depending on RS frame mode, SCCC block mode, and SCCC outer code mode. Detailed description of the SCCC block mode, SCCC outer code mode will be described later.

SCCC outer code modeSCCC outer code mode PLPL for Region Afor Region A for Region Bfor Region B for Region Cfor Region C for Region Dfor Region D 0000 0000 0000 0000 96249624 0000 0000 0000 0101 93729372 0000 0000 0101 0000 88868886 0000 0000 0101 0101 86348634 0000 0101 0000 0000 84038403 0000 0101 0000 0101 81518151 0000 0101 0101 0000 76657665 0000 0101 0101 0101 74137413 0101 0000 0000 0000 70237023 0101 0000 0000 0101 67716771 0101 0000 0101 0000 62856285 0101 0000 0101 0101 60336033 0101 0101 0000 0000 58025802 0101 0101 0000 0101 55505550 0101 0101 0101 0000 50645064 0101 0101 0101 0101 48124812 Others Other ReservedReserved

상기 표 2는 RS 프레임 모드 값이 00이고, SCCC 블록 모드 값이 00일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 RS 프레임 내 각 데이터 그룹의 PL 값의 예를 보이고 있다. Table 2 shows an example of the PL value of each data group in the RS frame that depends on the SCCC outer code mode value when the RS frame mode value is 00 and the SCCC block mode value is 00.

예를 들어, 데이터 그룹 내 A/B/C/D 영역의 SCCC 아웃터 코드 모드 값이 각각 00(즉, 후단의 블록 처리기(302)에서 1/2 부호율의 부호화가 수행됨)이라고 가정하면, 해당 RS 프레임의 각 데이터 그룹 내 PL 값은 9624 바이트가 될 수 있다. 즉, 하나의 RS 프레임 내 9624 바이트의 모바일 서비스 데이터가 해당 데이터 그룹의 A/B/C/D 영역에 할당될 수 있다. For example, assuming that the SCCC outer code mode values of the A / B / C / D areas in the data group are each 00 (that is, encoding at a 1/2 code rate is performed by the block processor 302 at the later stage), The PL value in each data group of the RS frame may be 9624 bytes. That is, 9624 bytes of mobile service data in one RS frame may be allocated to the A / B / C / D region of the corresponding data group.

SCCC outer code modeSCCC outer code mode PLPL 0000 96249624 0101 48124812 OthersOther ReservedReserved

상기 표 3은 RS 프레임 모드 값이 00이고, SCCC 블록 모드 값이 01일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 RS 프레임 내 각 데이터 그룹의 PL 값의 예를 보이고 있다. Table 3 shows an example of the PL value of each data group in the RS frame that depends on the SCCC outer code mode value when the RS frame mode value is 00 and the SCCC block mode value is 01.

SCCC outer code modeSCCC outer code mode PLPL For Region AFor Region A for Region Bfor Region B 0000 0000 76447644 0000 0101 64236423 0101 0000 50435043 0101 0101 38223822 OthersOther ReservedReserved

상기 표 4는 RS 프레임 모드 값이 01이고, SCCC 블록 모드 값이 00일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 프라이머리 RS 프레임의 PL 값의 예를 보이고 있다. 예를 들어, A/B 영역의 SCCC 아웃터 코드 모드 값이 각각 00이라면, 프라이머리 RS 프레임 내 7644 바이트의 모바일 서비스 데이터가 해당 데이터 그룹의 A/B 영역에 할당될 수 있다. Table 4 shows an example of the PL value of the primary RS frame that depends on the SCCC outer code mode value when the RS frame mode value is 01 and the SCCC block mode value is 00. For example, if the SCCC outer code mode values of the A / B area are each 00, 7644 bytes of mobile service data in the primary RS frame may be allocated to the A / B area of the corresponding data group.

SCCC outer code modeSCCC outer code mode PLPL For Region CFor Region C for Region Dfor Region D 0000 0000 19801980 0000 0101 17281728 0101 0000 12421242 0101 0101 990990 Others ReservedOthers Reserved

상기 표 5는 RS 프레임 모드 값이 01이고, SCCC 블록 모드 값이 00일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 세컨더리 RS 프레임의 PL 값의 예를 보이고 있다. 예를 들어, C/D 영역의 SCCC 아웃터 코드 모드 값이 각각 00이라면, 세컨더리 RS 프레임 내 1980 바이트의 모바일 서비스 데이터가 해당 데이터 그룹의 C/D 영역에 할당될 수 있다. Table 5 shows an example of the PL value of the secondary RS frame that depends on the SCCC outer code mode value when the RS frame mode value is 01 and the SCCC block mode value is 00. For example, if the SCCC outer code mode values of the C / D area are each 00, 1980 bytes of mobile service data in the secondary RS frame may be allocated to the C / D area of the corresponding data group.

서비스 다중화기Service multiplexer

도 18은 상기 서비스 다중화기의 일 실시예를 보인 상세 블록도로서, 상기 서비스 다중화기의 전반적인 동작을 제어하는 제어기(Controller)(110), 메인 서비스를 위한 테이블 정보 발생기(120), 널 패킷 발생기(130), 모바일 서비스 다중화기(150), 및 트랜스포트 다중화기(160)를 포함할 수 있다. FIG. 18 is a detailed block diagram illustrating an embodiment of the service multiplexer. The controller 110 controls the overall operation of the service multiplexer, a table information generator 120 for a main service, and a null packet generator. 130, mobile service multiplexer 150, and 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.

도 18을 보면, 적어도 한 종류의 압축 부호화된 메인 서비스 데이터와 상기 메인 서비스를 위해 테이블 정보 발생기(120)에서 발생된 테이블 데이터는 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161)로 입력된다. 상기 테이블 정보 발생기(120)는 MPEG-2 프라이빗 섹션(Private Section) 형태로 된 PSI/PSIP 테이블 데이터를 발생하는 것을 일 실시예로 한다.Referring to FIG. 18, at least one type of compressed coded main service data and table data generated by the table information generator 120 for the main service are input to the main service multiplexer 161 of the transport multiplexer 160. do. According to an embodiment of the present invention, the table information generator 120 generates PSI / PSIP table data in the form of MPEG-2 Private Section.

상기 메인 서비스 다중화기(161)는 입력되는 메인 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 메인 서비스 다중화기(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. Will output The data packet output from the main service multiplexer 161 will be referred to as a main service data packet for convenience of description.

상기 모바일 서비스 다중화기(150)는 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위한 테이블 정보 예를 들어, PSI/PSIP 테이블 데이터를 입력받아 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력할 수 있다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다. The mobile service multiplexer 150 receives at least one type of compression-coded mobile service data and table information for the mobile service, for example, PSI / PSIP table data, and encapsulates each in an MPEG-2 TS packet form. (encapsulation), and these TS packets may be multiplexed and output to the TS packet multiplexer 162. The data packet output from the mobile service multiplexer 150 will be referred to as a mobile service data packet for convenience of description.

또는 상기 모바일 서비스 다중화기(150)는 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위한 테이블 정보를 이용하여 생성된 RS 프레임을 입력받아 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 TS 패킷 다중화기(162)로 출력할 수 있다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다. Alternatively, the mobile service multiplexer 150 receives an RS frame generated using at least one type of compression-coded mobile service data and table information for the mobile service, and encapsulates it into an MPEG-2 TS packet. And output these TS packets to the TS packet multiplexer 162. The data packet output from the mobile service multiplexer 150 will be referred to as a mobile service data packet for convenience of description.

상기 모바일 서비스 다중화기(150)는 도 15 또는 도 17의 (a),(b) 중 하나의 형태로 입력되는 RS 프레임을 TS 패킷 형태로 인캡슐레이션하는 것을 일 실시예로 한다.According to an embodiment of the present invention, the mobile service multiplexer 150 encapsulates an RS frame input in one of FIGS. 15 or 17 (a) and (b) into a TS packet.

이때, 상기 송신기(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)를 할당하여 구분할 수 있다. 즉, 메인 서비스에 사용되지 않는 PID(또는 널 PID)를 모바일 서비스에 할당함으로써, 송신기(200)에서는 입력되는 데이터 패킷의 PID를 참조하여 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다.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. That is, by assigning a PID (or null PID) not used for the main service to the mobile service, the transmitter 200 may distinguish the main service data packet from the mobile service data packet by referring to the PID of the input data packet.

다른 실시예로, 모바일 서비스 데이터 패킷의 헤더 내 동기 바이트를 변형함에 의해, 해당 서비스 데이터 패킷의 동기 바이트 값을 이용하여 구분할 수도 있다. 예를 들어, 메인 서비스 데이터 패킷의 동기 바이트는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 변형없이 그대로 출력하고, 모바일 서비스 데이터 패킷의 동기 바이트는 변형시켜 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. 반대로 메인 서비스 데이터 패킷의 동기 바이트를 변형하고, 모바일 서비스 데이터 패킷의 동기 바이트를 변형없이 그대로 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. In another embodiment, by modifying the sync byte in the header of the mobile service data packet, the sync byte value of the corresponding service data packet may be used to distinguish. 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 (19.39-K) Mbps, and 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 to transmit to the transmitter 200.

그런데 상기 모바일 서비스 다중화기(150)의 출력 데이터 율이 K Mbps가 안되는 경우가 발생할 수 있다. 예를 들어, 상기 서비스 다중화기(100)에서 19.39 Mbps 중 K Mbps를 모바일 서비스 데이터에 할당하고, 그 나머지인 (19.39-K) Mbps를 메인 서비스 데이터에 할당한다고 하면, 실제로 상기 서비스 다중화기(100)에서 다중화되는 모바일 서비스 데이터의 데이터 율은 K Mbps보다 작아진다. 이는 상기 모바일 서비스 데이터의 경우, 송신기(200)의 전 처리기(pre-processor)에서 추가의 부호화를 수행하여 데이터 량을 늘리기 때문이다. 이로 인해 서비스 다중화기(100)에서 전송할 수 있는 모바일 서비스 데이터의 데이터 율(data rate)이 K Mbps보다 작아지게 된다. However, there may occur a case where the output data rate of the mobile service multiplexer 150 is not 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 &lt; RTI ID = 0.0 &gt; 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 200. As a result, the data rate of mobile service data that can be transmitted by the service multiplexer 100 becomes smaller than K Mbps.

일 예로, 상기 송신기(200)의 전처리기에서는 모바일 서비스 데이터에 대해 적어도 1/2 부호율 이하의 부호화를 수행하므로, 전처리기의 출력 데이터의 양은 입력 데이터의 양보다 2배 이상 많게 된다. 따라서 서비스 다중화기(100)에서 다중화되는 메인 서비스 데이터의 데이터 율과 모바일 서비스 데이터의 데이터 율의 합은 항상 19.39 Mbps 보다 작거나 같게 된다. As an example, since the preprocessor of the transmitter 200 performs encoding at least 1/2 of the code rate on the mobile service data, 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)는 모바일 서비스 다중화기(150)의 최종 출력 데이터 율을 K Mbps로 맞추기 위해 다양한 실시예들을 수행할 수 있다. The service multiplexer 100 of the present invention may perform various embodiments to adjust the final output data rate of the mobile service multiplexer 150 to K Mbps.

일 실시예로, 널 패킷 발생기(130)에서 널 데이터 패킷을 발생하여 모바일 서비스 다중화기(150)로 출력하고, 상기 모바일 서비스 다중화기(150)에서는 널 데이터 패킷과 모바일 서비스 데이터 패킷을 다중화하여 출력 데이터 율을 K Mbps로 맞출 수 있다. In one embodiment, the null packet generator 130 generates a null data packet and outputs it to the mobile service multiplexer 150, and the mobile service multiplexer 150 multiplexes and outputs a null data packet and a mobile service data packet. The data rate can be set to K Mbps.

이때 상기 널 데이터 패킷은 송신기(200)로 전송된 후 버려진다. 즉, 수신 시스템으로 전송되지 않는다. 이를 위해 상기 널 데이터 구분할 수 있는 식별 정보도 필요하다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보도 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있으며, 상기 널 데이터 패킷 내 기 설정된 위치의 값을 변형시켜 이용할 수도 있다. 예를 들어, 널 패킷 생성기(130)에서 상기 널 데이터 패킷의 헤더 내 동기 바이트 값을 변형시켜 식별 정보로 이용할 수도 있고, transport_error_indicator 플래그(flag)를 1로 세팅시켜 식별 정보로 이용할 수도 있다. 본 발명에서는 널 데이터 패킷 내 헤더의 transport_error_indicator 플래그를 널 데이터 패킷을 구분할 수 있는 식별 정보로 이용하는 것을 일 실시예로 한다. 이 경우, 상기 널 데이터 패킷의 transport_error_indicator 플래그는 1로 셋팅하고, 상기 널 데이터 패킷 이외의 모든 데이터 패킷들의 transport_error_indicator 플래그는 0으로 리셋시켜 상기 널 데이터 패킷을 구분하는 것을 일 실시예로 한다. 즉, 상기 널 패킷 발생기(130)에서 널 데이터 패킷을 발생시킬 때 널 데이터 패킷의 헤더의 필드 중에서 transport_error_indicator 플래그를 '1'로 세팅하여 전송한다면 송신기(200)에서 이를 구분하여 버릴 수 있다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보는 널 데이터 패킷을 구분할 수 있는 값은 어느 것이나 가능하므로 본 발명은 상기된 실시예로 한정되지 않을 것이다. At this time, the null data packet is discarded after being transmitted to the transmitter 200. That is, it is not transmitted to the receiving system. To this end, identification information for distinguishing the null data is also required. Identification information for distinguishing the null data packet may also 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 null data packet. It may be. For example, the null packet generator 130 may modify the sync byte value in the header of the null data packet as identification information, or may set the transport_error_indicator flag to 1 and use it as identification information. According to an embodiment of the present invention, a 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 130 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 it. The identification information for distinguishing the null data packet may be any value capable of distinguishing the null data packet, and thus the present invention will not be limited to the above-described embodiment.

상기 모바일 서비스 다중화기(150)의 최종 출력 데이터 율을 K Mbps로 맞추기 위한 다른 실시예로, OM 패킷(Operations and Maintenance Packet;OMP라 하기도 함.)을 이용할 수도 있다. 이 경우 상기 모바일 서비스 다중화기(150)에서는 모바일 서비스 데이터 패킷, 널 데이터 패킷, 및 OM 패킷을 다중화하여 출력 데이터 율을 K Mbps로 맞출 수 있다. As another embodiment for adjusting the final output data rate of the mobile service multiplexer 150 to K Mbps, an OM packet (also referred to as OMP) may be used. In this case, the mobile service multiplexer 150 may set the output data rate to K Mbps by multiplexing the mobile service data packet, the null data packet, and the OM packet.

한편, 송신기(200)에서 모바일 서비스 데이터를 처리하기 위해서는 전송 파라미터와 같은 시그널링 데이터가 필요하다. Meanwhile, signaling data such as a transmission parameter is required to process mobile service data in the transmitter 200.

본 발명은 일 실시예로, 상기 전송 파라미터를 상기 OM 패킷의 페이로드 영역에 삽입하여 송신기(200)로 전송하는 것을 일 실시예로 한다.According to an embodiment of the present invention, the transmission parameter is inserted into the payload region of the OM packet and transmitted to the transmitter 200.

이때 상기 송신기(200)에서 상기 OM 패킷에 전송 파라미터가 삽입되어 있음을 식별할 수 있도록 하기 위해, 해당 OM 패킷의 타입 필드(=OM_type 필드)에 전송 파라미터가 삽입되었음을 알 수 있는 식별 정보를 표시하는 것을 일 실시예로 한다. In this case, in order for the transmitter 200 to identify that the transmission parameter is inserted in the OM packet, identification information indicating that the transmission parameter is inserted in the type field (= OM_type field) of the corresponding OM packet is displayed. In one embodiment.

즉, 송신 시스템의 동작 및 관리를 위한 목적으로 OMP(Operations and Maintenance Packet) 라는 패킷이 정의되어 있다. 일 예로, 상기 OMP는 MPEG-2 TS 패킷의 형식을 따르며 해당 PID는 0x1FFA의 값을 가진다. 상기 OMP은 4바이트의 헤더와 184바이트의 페이로드로 구성된다. 상기 184 바이트 중 첫번째 바이트는 OM_type 필드로서 OM 패킷의 타입을 표시하고, 나머지 183 바이트는 OM_payload 필드로서 실제 데이터가 삽입된다. That is, for the purpose of operation and management of the transmission system, a packet called OMP (Operations and Maintenance Packet) is defined. 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 an OM packet type as an OM_type field, and the remaining 183 bytes are inserted with actual data as an OM_payload field.

본 발명에서는 상기 OM_type 필드의 미사용 필드 값들 중에서 미리 약속된 값을 사용하여, 해당 OM 패킷에 전송 파라미터가 삽입되었음을 알 수 있게 한다. 그러면, 송신기(200)에서는 PID를 보고 OMP를 찾을 수 있으며, 상기 OMP 내 OM_type 필드를 파싱하여 해당 OM 패킷에 전송 파라미터가 삽입되었는지 알 수 있게 된다. In the present invention, it is possible to know that a transmission parameter is inserted into a corresponding OM packet by using a predetermined value among unused field values of the OM_type field. Then, the transmitter 200 may find the OMP by looking at the PID, and parse the OM_type field in the OMP to know whether a transmission parameter is inserted into the corresponding OM packet.

상기 OM 패킷으로 전송할 수 있는 전송 파라미터로는 M/H 프레임 정보(예를 들어, M/H frame_index), FIC 정보(예를 들어, next_FIC_version_number), 퍼레이드 정보(예를 들어, number_of_parades, parade_id, parade_repetition_cycle, ensemble_id), 그룹 정보(예를 들어, number_of_group, start_group_number), SCCC 정보(예를 들어, SCCC_block_mode, SCCC_outer_code_mode), RS 프레임 정보(예를 들어, RS_Frame_mode, RS_frame_continuity_counter), RS 부호화 정보(예를 들어, RS_code_mode) 등이 있다. Transmission parameters that can be transmitted in the OM packet include M / H frame information (eg, M / H frame_index), FIC information (eg, next_FIC_version_number), parade information (eg, number_of_parades, parade_id, parade_repetition_cycle, ensemble_id), group information (e.g., number_of_group, start_group_number), SCCC information (e.g., SCCC_block_mode, SCCC_outer_code_mode), RS frame information (e.g., RS_Frame_mode, RS_frame_continuity_counter), RS encoding information (e.g., RS_code_mode) Etc.

이때 상기 전송 파라미터가 삽입되는 OM 패킷은 일정한 주기로 발생되어 모바일 서비스 데이터 패킷과 다중화될 수 있다.In this case, the OM packet in which the transmission parameter is inserted may be generated at regular intervals and multiplexed with the mobile service data packet.

상기 모바일 서비스 다중화기(150), 메인 서비스 다중화기(161), TS 패킷 다중화기(160)의 다중화 규칙 및 널 데이터 패킷의 발생은 제어부(110)의 제어에 의해 이루어진다. The multiplexing rule of the mobile service multiplexer 150, the main service multiplexer 161, and the TS packet multiplexer 160 and generation of null data packets are controlled by the controller 110.

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

송신기transmitter

도 19는 본 발명의 일 실시예에 따른 송신기(200)의 구성 블록도로서, 제어부(201), 역다중화기(210), 패킷 지터 경감기(Packet jitter mitigator)(220), 전 처리기(Pre-Processor)(230), 패킷 다중화기(240), 후처리기(Post-Processor)(250), 동기(Sync) 다중화기(260), 및 송신부(transmission unit)(270)를 포함할 수 있다. 19 is a block diagram illustrating a transmitter 200 according to an embodiment of the present invention. The controller 201, the demultiplexer 210, a packet jitter mitigator 220, and a pre-processor are illustrated in FIG. A 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.

만일 상기 수신된 데이터 패킷에 OM 패킷이 포함되어 있다면, 상기 OM 패킷도 수신된 데이터 패킷 내 PID를 이용하여 구분할 수 있다. 이때 구분된 OM 패킷 내 OM_type 필드를 이용하면 해당 OM 패킷의 페이로드 영역에 전송 파라미터가 포함되어 수신되는지를 알 수 있다.If the OM packet is included in the received data packet, the OM packet may also be classified using a PID in the received data packet. At this time, if the OM_type field in the divided OM packet is used, it can be known whether the transmission parameter is included in the payload region of the corresponding OM packet.

상기 역다중화기(210)에서 분리된 메인 서비스 데이터 패킷은 패킷 지터 경감기(220)로 출력되고, 모바일 서비스 데이터 패킷은 전처리기(230)로 출력되며, 널 데이터 패킷은 버려진다. 만일 상기 OM 패킷에 전송 파라미터가 포함되어 있다면 전송 파라미터가 추출되어 해당 블록으로 출력된 후 OM 패킷은 버려진다. 본 발명은 상기 OM 패킷에서 추출된 전송 파라미터는 제어부(201)를 통해 해당 블록으로 출력되는 것을 일 실시예로 한다.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 transmission parameter is included in the OM packet, the transmission parameter is extracted and output to the corresponding block, and then the OM packet is discarded. According to an embodiment of the present invention, the transmission parameter extracted from the OM packet is output to the corresponding block through the control unit 201.

상기 전처리기(230)는 역다중화기(210)에서 역다중화되어 출력되는 모바일 서비스 데이터 패킷 내 모바일 서비스 데이터에 대해 추가의 부호화 및 전송 프레임 상에 전송하고자 하는 데이터들의 용도에 따라 어느 특정 위치에 위치할 수 있도록 하는 데이터 그룹 형성 과정을 수행한다. 이는 상기 모바일 서비스 데이터가 노이즈 및 채널 변화에 빠르고 강력하게 대응하도록 하기 위해서이다. 상기 전처리기(230)는 추가의 부호화시에 상기 OM 패킷에서 추출된 전송 파라미터를 참조할 수도 있다. 또한 상기 전처리기(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 extracted from the OM packet upon 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 region in the data group.

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

도 20은 본 발명에 따른 전처리기(230)의 일 실시예를 보인 구성 블록도로서, M/H 프레임 부호기(301), 블록 처리기(302), 그룹 포맷터(303), 시그널링 부호기(305), 및 패킷 포맷터(305)를 포함할 수 있다. 20 is a block diagram showing an embodiment of the preprocessor 230 according to the present invention. The M / H frame encoder 301, the block processor 302, the group formatter 303, the signaling encoder 305, And a packet formatter 305.

이와 같이 구성된 전처리기(230) 내 M/H 프레임 부호기(301)는 역다중화기(210)를 통해 입력되는 모바일 서비스 데이터를 데이터 랜더마이징한 후 앙상블에 대응되는 RS 프레임을 형성하고, RS 프레임 단위로 에러 정정을 위한 부호화를 수행한다. 상기 M/H 프레임 부호기(301)는 하나 이상의 RS 프레임 부호기를 포함할 수 있다. 즉, 상기 RS 프레임 부호기는 M/H 프레임 내 퍼레이드의 수만큼 병렬로 구비될 수 있다. 전술한 바와 같이, M/H 프레임은 하나 이상의 퍼레이드를 전송하는 기본 시간 주기이다. 그리고 각 퍼레이드는 하나나 두 개의 RS 프레임으로 만들어진다. The M / H frame encoder 301 in the preprocessor 230 configured as described above performs data randomization on mobile service data input through the demultiplexer 210 and forms an RS frame corresponding to the ensemble, and in units of RS frames. Encoding for error correction is performed. The M / H frame encoder 301 may include one or more RS frame encoders. That is, the RS frame encoder may be provided in parallel by the number of parades in the M / H frame. As mentioned above, an M / H frame is a basic time period for transmitting one or more parades. Each parade is made of one or two RS frames.

도 21은 상기 M/H 프레임 부호기(301)의 일 실시예를 보인 개념 블록도이다. 상기 M/H 프레임 부호기(301)는 역다중화기(input demux)(309), M개의 RS 프레임 부호기(310~31M-1), 및 다중화기(output mux)(320)를 포함할 수 있다. 여기서 M은 하나의 M/H 프레임 내 퍼레이드의 개수이다. 21 is a conceptual block diagram illustrating an embodiment of the M / H frame encoder 301. The M / H frame coder 301 may include an input demux 309, M RS frame coders 310 ˜ 31M−1, and a multiplexer 320. Where M is the number of parades in one M / H frame.

상기 역다중화기(309)는 입력되는 모바일 서비스 데이터를 앙상블 단위로 M개의 RS 프레임 부호기 중 해당 RS 프레임 부호기로 출력한다.The demultiplexer 309 outputs the input mobile service data to a corresponding RS frame encoder among M RS frame encoders in an ensemble unit.

이때 앙상블은 RS 프레임 부호기 또는 퍼레이드에 매핑되도록 할 수 있다. 예를 들어, 하나의 퍼레이드가 하나의 RS 프레임으로 구성된다면, 앙상블과 RS 프레임과 퍼레이드는 각각 1:1:1로 매핑될 수 있다. In this case, the ensemble may be mapped to an RS frame encoder or parade. For example, if one parade is composed of one RS frame, the ensemble, RS frame, and parade may be mapped to 1: 1: 1, respectively.

상기 RS 프레임 부호기는 입력되는 앙상블의 모바일 서비스 데이터로 대응하는 RS 프레임을 형성하고, RS 프레임 단위로 에러 정정 부호화 과정을 수행한다. 이어 복수개의 데이터 그룹에 할당하기 위해 에러 정정 부호화가 수행된 RS 프레임을 복수개의 포션(portion)으로 구분한다. 이때 상기 표 1의 RS 프레임 모드에 따라 하나의 RS 프레임의 데이터는 복수개의 데이터 그룹 내 A/B/C/D 영역에 모두 할당될 수도 있고, A/B 영역이나 C/D 영역에 할당될 수도 있다. The RS frame encoder forms an RS frame corresponding to the mobile service data of the input ensemble, and performs an error correction encoding process in units of RS frames. Subsequently, RS frames in which error correction encoding is performed to be allocated to a plurality of data groups are divided into a plurality of portions. At this time, according to the RS frame mode of Table 1, the data of one RS frame may be allocated to all of the A / B / C / D region in the plurality of data groups, or may be allocated to the A / B region or C / D region have.

만일 RS 프레임 모드 값이 01라면 즉, 프라이머리 RS 프레임의 데이터가 데이터 그룹 내 A/B 영역에 할당되고, 세컨더리 RS 프레임 내 데이터가 해당 데이터 그룹 내 C/D 영역에 할당되는 모드라면, 각 RS 프레임 부호기는 각 퍼레이드에 대해 프라이머리 RS 프레임과 세컨더리 RS 프레임을 형성한다. 반대로 RS 프레임 모드 값이 00이라면, 즉 프라이머리 RS 프레임의 데이터가 데이터 그룹 내 A/B/C/D 영역에 모두 할당되는 모드라면, 각 RS 프레임 부호기는 각 퍼레이드에 대해 하나의 RS 프레임 즉, 프라이머리 RS 프레임을 형성한다. If the RS frame mode value is 01, that is, if the data of the primary RS frame is allocated to the A / B area in the data group and the data of the secondary RS frame is allocated to the C / D area in the data group, each RS The frame encoder forms a primary RS frame and a secondary RS frame for each parade. On the contrary, if the RS frame mode value is 00, that is, a mode in which the data of the primary RS frame is allotted to the A / B / C / D areas in the data group, each RS frame encoder is one RS frame for each parade, Form a primary RS frame.

그리고 상기 각 RS 프레임 부호기는 각 RS 프레임을 다수의 포션(several portions)으로 분리한다. 상기 RS 프레임의 각 포션은 하나의 데이터 그룹에 의해 전송될 수 있는 데이터 량에 대응된다. 상기 다중화기(320)는 M개의 RS 프레임(310~31M-1) 내 포션들을 다중화하여 블록 처리기(302)로 출력한다. Each RS frame encoder separates each RS frame into a plurality of portions. Each portion of the RS frame corresponds to the amount of data that can be transmitted by one data group. The multiplexer 320 multiplexes the portions of the M RS frames 310 to 31M-1 and outputs them to the block processor 302.

예를 들어, 하나의 퍼레이드가 두개의 RS 프레임을 전송한다면, M개의 RS 프레임(310~31M-1) 내 프라이머리 RS 프레임의 포션들끼리 다중화되어 출력되고, 세컨더리 RS 프레임의 포션들끼리 다중화되어 전송된다. For example, if one parade transmits two RS frames, the portions of primary RS frames in M RS frames 310-31M-1 are multiplexed and output, and the portions of secondary RS frames are multiplexed. Is sent.

상기 역다중화기(309)와 다중화기(320)는 제어부(201)의 제어 신호에 따라 동작한다. 상기 제어부(201)는 필요한 FEC 모드들을 각 RS 프레임 부호기에 제공할 수 있다. 상기 FEC 모드의 예로는 RS 코드 모드 등이 있으며, 뒤에서 상세히 설명하기로 한다. The demultiplexer 309 and the multiplexer 320 operate according to the control signal of the controller 201. The control unit 201 may provide the necessary FEC modes to each RS frame encoder. Examples of the FEC mode include an RS code mode and the like, which will be described in detail later.

도 22는 M/H 프레임 부호기 내 복수의 RS 프레임 부호기 중 하나의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도이다. FIG. 22 is a detailed block diagram illustrating an embodiment of one RS frame encoder among a plurality of RS frame encoders in an M / H frame encoder.

하나의 RS 프레임 부호기는 프라이머리 부호기(410)와 세컨더리 부호기(420)를 포함할 수 있다. 여기서 세컨더리 부호기(420)는 RS 프레임 모드에 따라 동작될 수도 있고, 동작되지 않을 수도 있다. 예를 들어, RS 프레임 모드가 상기 표 1과 같이 00라면, 상기 세컨더리 부호기(420)는 동작하지 않는다. One RS frame encoder may include a primary encoder 410 and a secondary encoder 420. Here, the secondary encoder 420 may or may not operate according to the RS frame mode. For example, if the RS frame mode is 00 as shown in Table 1, the secondary encoder 420 does not operate.

상기 프라이머리 부호기(410)는 데이터 랜더마이저(411), RS-CRC 부호기(412), 및 RS 프레임 디바이더(413)를 포함할 수 있다. 상기 세컨더리 부호기(420)는 데이터 랜더마이저(421), RS-CRC 부호기(422), 및 RS 프레임 디바이더(423)를 포함할 수 있다. The primary encoder 410 may include a data randomizer 411, an RS-CRC encoder 412, and an RS frame divider 413. The secondary encoder 420 may include a data randomizer 421, an RS-CRC encoder 422, and an RS frame divider 423.

즉, 상기 프라이머리 부호기(410)의 데이터 랜더마이저(411)는 역다중화기(309)에서 출력되는 프라이머리 앙상블의 모바일 서비스 데이터를 수신하여 랜더마이징한 후 RS-CRC 부호기(412)로 출력한다. 이때 상기 데이터 랜더마이저(411)에서 모바일 서비스 데이터에 대해 랜더마이징을 수행함으로써, 후처리기(250)의 데이터 랜더마이저(251)에서는 모바일 서비스 데이터에 대한 랜더마이징 과정을 생략할 수 있다. 상기 데이터 랜더마이저(411)는 모바일 서비스 데이터 패킷 내 동기 바이트를 버리고 랜더마이징을 수행할 수도 있다. 또는 상기 동기 바이트를 버리지 않고 랜더마이징을 수행할 수도 있으며, 이는 시스템 설계자의 선택 사항이다. 본 발명에서는 해당 모바일 서비스 데이터 패킷 내 동기 바이트를 버리지 않고 랜더마이징을 수행하는 것을 일 실시예로 한다. That is, the data randomizer 411 of the primary encoder 410 receives and renders the mobile service data of the primary ensemble output from the demultiplexer 309 and outputs it to the RS-CRC encoder 412. In this case, by performing the rendering on the mobile service data in the data randomizer 411, the data rendering 251 of the post processor 250 may omit the rendering process on the mobile service data. The data randomizer 411 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 system 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-CRC 부호기(412)는 랜더마이징된 프라이머리 앙상블에 대응하는 RS 프레임을 형성하고, RS 프레임 단위로 RS(Reed-Solomon)와 CRC(Cyclic Redundancy Check) 코드 중 적어도 하나를 사용하여 FEC(Forward Error Correction) 부호화한 후 RS 프레임 디바이더(413)로 출력한다. The RS-CRC encoder 412 forms an RS frame corresponding to the randomized primary ensemble, and uses FEC (Reed-Solomon) and CRC (Cyclic Redundancy Check) codes in units of RS frames. Forward Error Correction) and outputs the RS frame divider 413.

즉, 상기 RS-CRC 부호기(412)는 랜더마이즈되어 입력되는 모바일 서비스 데이터 패킷을 복수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 부호화(encoding) 과정, 에러 검출 부호화 과정 중 적어도 하나의 과정을 수행한다. 이렇게 하면 모바일 서비스 데이터에 강건성을 부여하면서 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다. That is, the RS-CRC encoder 412 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. Do this. 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-CRC 부호기(412)는 복수개의 RS 프레임을 모아 수퍼 프레임(Super Frame)을 구성하고, 수퍼 프레임 단위로 로우(row) 섞음(permutation)을 수행할 수도 있다. 상기 로우 섞음(permutation)은 로우 인터리빙(interleaving)이라고도 하며, 본 발명에서는 설명의 편의를 위해 로우 섞음이라 하기로 한다. 상기 로우 섞음 과정은 생략될 수도 있다.In addition, the RS-CRC encoder 412 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. The row mixing process may be omitted.

이때 상기 RS-CRC 부호기(412)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다. In this case, when the RS-CRC encoder 412 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-CRC 부호기(412)에서 에러 정정 부호화는 RS 부호화를 적용하고, 에러 검출 부호화는 CRC(Cyclic Redundancy Check) 부호화를 적용하는 것을 일 실시예로 한다. 상기 RS 부호화를 수행하면 에러 정정을 위해 사용될 패리티 데이터가 생성되고, CRC 부호화를 수행하면 에러 검출을 위해 사용될 CRC 데이터가 생성된다. In the RS-CRC coder 412, RS correction is applied to RS coding, and error detection encoding is applied to cyclic redundancy check (CRC) 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.

상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. 본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다. 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-CRC 부호기(412)는 상기 제어부(201)를 통해 제공되는 전송 파라미터를 참조하여 RS 프레임 구성, RS 부호화, CRC 부호화, 수퍼 프레임 구성, 수퍼 프레임 단위의 로우 섞음 등을 수행할 수 있다. Here, the RS-CRC encoder 412 may perform RS frame configuration, RS encoding, CRC encoding, super frame configuration, row mixing in units of super frames by referring to a transmission parameter provided through the control unit 201. have.

도 23의 (a),(b)는 RS 프레임 모드 값에 따라 하나 또는 두 개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션은 대응하는 데이터 그룹 내 해당 영역에 할당하는 과정을 보인 도면이다. 상기 데이터 그룹의 데이터 할당은 뒷단의 그룹 포맷터(303)에서 수행되는 것을 일 실시예로 한다.23 (a) and 23 (b) show a process of allocating one or two RS frames into a plurality of portions according to RS frame mode values, and assigning each portion to a corresponding region in a corresponding data group. According to an embodiment of the present invention, data allocation of the data group is performed by the group formatter 303 at the rear side.

즉, 도 23의 (a)는 RS 프레임 모드가 00인 경우로서, 도 22에서 프라이머리 부호기(410)만 동작하여 하나의 퍼레이드에 대해 하나의 RS 프레임을 형성한다. 그리고 하나의 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 데이터는 대응하는 데이터 그룹 내 A/B/C/D 영역에 할당된다. That is, FIG. 23A illustrates a case in which the RS frame mode is 00. In FIG. 22, only the primary encoder 410 operates to form one RS frame for one parade. One RS frame is divided into a plurality of portions, and the data of each portion is allocated to the A / B / C / D region in the corresponding data group.

도 23의 (b)는 RS 프레임 모드가 01인 경우로서, 도 22에서 프라이머리 부호기(410)와 세컨더리 부호기(420)가 모두 동작하여 하나의 퍼레이드에 대해 2개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 형성한다. 그리고 프라이머리 RS 프레임도 복수개의 포션으로 분할하고, 세컨더리 RS 프레임도 복수개의 포션으로 분할한다. 이때 각 프라이머리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되고, 각 세컨더리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 C/D 영역에 할당된다. FIG. 23B illustrates a case in which the RS frame mode is 01. In FIG. 22, both the primary encoder 410 and the secondary encoder 420 operate to operate two RS frames, that is, a primary RS frame for one parade. And a secondary RS frame. The primary RS frame is also divided into a plurality of potions, and the secondary RS frame is also divided into a plurality of potions. In this case, data of each primary RS frame portion is allocated to the A / B region in the corresponding data group, and data of each secondary RS frame portion is allocated to the C / D region in the corresponding data group.

RSRS 프레임의 구체적인 설명 Detailed description of the frame

도 24의 (a)는 본 발명의 RS-CRC 부호기(412)에서 생성되는 RS 프레임의 예를 보인 것이다. 24A illustrates an example of an RS frame generated by the RS-CRC encoder 412 of the present invention.

상기 RS-CRC 부호기(412)는 도 24의 (a)와 같이 RS 프레임이 형성되면, 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc(=P)개의 패리티 바이트를 생성하고, 생성된 P개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P) 바이트의 한 컬럼을 만들 수가 있다. 여기서, Kc는 도 24의 (a)에서와 같이 187이며, Nc는 187+P이다. The RS-CRC encoder 412 generates Nc-Kc (= P) parity bytes by performing (Nc, Kc) -RS encoding on each column when an RS frame is formed as shown in FIG. Then, you can create a column of (187 + P) bytes by adding the generated P parity bytes after the last byte of the column. Here, Kc is 187 as in FIG. 24A and Nc is 187 + P.

여기서, 상기 P 값은 RS 코드 모드 값에 따라 달라질 수 있다. Here, the P value may vary depending on the RS code mode value.

하기의 표 6은 RS 부호화 정보 중 하나인 RS 코드 모드의 일 예를 보이고 있다. Table 6 below shows an example of an RS code mode which is one of RS encoding information.

RS code modeRS code mode RS codeRS code Number of parity bytes (P)Number of parity bytes (P) 0000 (211,187)(211,187) 2424 0101 (223,187)(223,187) 3636 1010 (235,187)(235,187) 4848 1111 ReservedReserved ReservedReserved

상기 표 6은 RS 코드 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 RS 코드 모드는 대응하는 RS 프레임의 패리티 개수를 나타낸다. In Table 6, 2 bits are allocated to indicate an RS code mode. The RS code mode indicates the parity number of the corresponding RS frame.

예를 들어, RS 코드 모드 값이 10이라면, 도 24의 (a)의 RS 프레임에 대해 (235,187)-RS 부호화를 수행하여 48개의 패리티 바이트를 생성하고, 48개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 235 바이트의 한 컬럼을 만든다. For example, if the RS code mode value is 10, 48 parity bytes are generated by performing (235,187) -RS encoding on the RS frame of FIG. 24 (a), and 48 parity bytes are stored at the end of the corresponding column. Create a column of 235 bytes after the bytes.

그리고 상기 표 1의 RS 프레임 모드가 00 즉, 단일 RS 프레임을 표시하면 해당 RS 프레임에 대한 RS 코드 모드만 표시하면 된다. 하지만 상기 표 1의 RS 프레임 모드가 01 즉, 복수개의 분리된 RS 프레임을 표시하면, 프라이머리, 세컨더리 RS 프레임에 각각 대응하여 RS 코드 모드를 표시한다. 즉, 상기 RS 코드 모드는 프라이머리 RS 프레임과 세컨더리 RS 프레임에 독립적으로 적용되는 것이 바람직하다. When the RS frame mode of Table 1 indicates 00, that is, a single RS frame, only the RS code mode for the corresponding RS frame needs to be displayed. However, when the RS frame mode of Table 1 indicates 01, that is, a plurality of separate RS frames, the RS code mode is displayed corresponding to the primary and secondary RS frames, respectively. That is, the RS code mode is preferably applied independently to the primary RS frame and the secondary RS frame.

이러한 RS 부호화 과정을 N개의 모든 컬럼에 대해서 수행하면, 도 24 의 (b) 와 같이 N(row) x (187+P)(column) 바이트의 크기를 갖는 RS 프레임을 만들 수가 있다. If the RS encoding process is performed on all N columns, an RS frame having a size of N (row) x (187 + P) (column) bytes can be generated as shown in (b) of FIG. 24.

이때 RS 프레임의 각 로우(row)는 N 바이트로 이루어져 있다. 그런데 송/수신간의 채널 상황에 따라서 상기 RS 프레임에 에러가 포함될 수가 있다. 이렇게 에러가 발생하는 경우에 각 로우 단위로 에러 여부를 검사하기 위하여 CRC 데이터(또는 CRC 코드 또는 CRC 체크섬이라고도 함)를 사용하는 것이 가능하다. At this time, each row of the RS frame consists of 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-CRC 부호기(412)는 상기 CRC 데이터를 생성하기 위하여 RS 부호화된 모바일 서비스 데이터에 대해 CRC 부호화를 수행할 수 있다. 상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. The RS-CRC encoder 412 may perform 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.

도 24 의 (c)는 CRC 데이터로 2 바이트(즉, 16비트) CRC 체크섬(checksum)을 사용하는 예를 보인 것으로서, 각 로우의 N 바이트에 대한 2바이트 CRC 체크섬을 생성한 후 N 바이트 후단에 부가하고 있다. 이렇게 함으로써, 각 로우는 N+2 바이트로 확장이 된다. 24 (c) 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.

하기의 수학식 3은 N 바이트로 된 각 로우에 대해 2바이트 CRC 체크섬을 생성하는 다항식의 예를 보이고 있다. Equation 3 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 + 1 g (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 부호화 과정을 모두 거치게 되면, N x 187 바이트의 RS 프레임은 (N+2) x (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.

이렇게 확장된 한 개의 RS 프레임의 에러 정정 시나리오를 살펴보면, RS 프레임 내의 바이트들은 로우 방향으로 채널 상에 전송된다. 이때 한정된 전송 시간에 다량의 에러가 발생하면 수신 시스템의 복호 과정의 RS 프레임에 로우 방향으로 에러가 발생하게 된다. 하지만 컬럼 방향으로 수행된 RS 부호 관점에서는 에러가 분산된 효과가 나타나므로 효과적인 에러 정정 수행이 가능하다. 이때 보다 강력한 에러 정정을 위한 방법으로 패리티 바이트(P)를 증가시키는 것이 있지만 전송 효율을 떨어뜨리므로 적당한 타협점이 필요하다. 이밖에도 복호시에 이레이저(Erasure) 복호(decoding)을 사용하여 에러 보정 능력을 향상시킬 수 있다. Looking at the error correction scenario of this extended RS frame, the bytes in the RS frame is 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-CRC 부호기(412)에서는 RS 프레임의 에러 보정능력을 보다 향상시키기 위하여 수퍼 프레임 단위의 로우 섞음(permutation)을 수행할 수도 있다. In addition, in the RS-CRC encoder 412 of the present invention, in order to further improve the error correction capability of the RS frame, row permutation may be performed in a super frame unit.

도 25의 (a) 내지 (d)는 수퍼 프레임 단위의 로우 섞음 과정의 일 실시예를 보이고 있다. 25A to 25D illustrate an embodiment of a row mixing process in units of super frames.

즉, RS-CRC 부호화된 RS 프레임들을 도 25의 (a)와 같이 G개 모아 수퍼 프레임을 구성한다. 이때 각각의 RS 프레임은 (N+2)x(187+P)바이트로 이루어져 있으므로, 하나의 수퍼 프레임은 (N+2)x(187+P)xG 바이트 크기로 이루어진다. That is, G-frames of RS-CRC coded RS frames are collected as shown in FIG. At this time, since each RS frame is composed of (N + 2) x (187 + P) bytes, one super frame is composed of (N + 2) x (187 + P) xG bytes.

이렇게 구성된 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 도 25의 (b)와 같이 로우 섞음 전 수퍼 프레임의 i번째 로우는 로우 섞음이 수행되고 나면 도 25의 (c)와 같이 동일한 수퍼 프레임의 j번째 로우에 위치하게 된다. 이러한 i와 j의 관계는 하기의 수학식 4와 같은 로우 섞음 규칙을 통해서 알 수 있다. 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. 25, 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. This relationship between i and j can be known through a row mixing rule as shown in Equation 4 below.

Figure 112009047257918-PAT00003
Figure 112009047257918-PAT00003

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

그리고 상기 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 다시 도 25의 (d)와 같이 G개의 로우 섞음된 RS 프레임으로 나누어 RS 프레임 디바이더(413)로 제공한다. After all the row mixing in the super frame unit is performed, the R frame divider is divided into G row mixed RS frames and provided to the RS frame divider 413 as shown in (d) of FIG. 25.

여기에서 주의할 점은 한 개의 수퍼 프레임을 구성하는 각각의 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.

지금까지는 하나의 데이터 그룹을 A/B/C/D 영역으로 나눌 때, 하나의 RS 프레임의 데이터를 데이터 그룹 내 A/B/C/D 영역에 모두 할당할 때의 RS 프레임 형성 및 부호화 과정을 설명하였다. 즉, 하나의 퍼레이드로 하나의 RS 프레임을 전송할 때의 실시예로서, 이 경우 세컨더리 부호기(420)는 동작되지 않는다. So far, RS frame formation and encoding process when allocating data of one RS frame to A / B / C / D area in data group when dividing one data group into A / B / C / D area Explained. That is, as an embodiment when transmitting one RS frame in one parade, in this case, the secondary encoder 420 is not operated.

한편 하나의 퍼레이드로 2개의 RS 프레임을 전송할 때, 프라이머리 RS 프레임의 데이터는 데이터 그룹 내 A/B 영역에, 세컨더리 RS 프레임의 데이터는 해당 데이터 그룹 내 C/D 영역에 할당하여 전송할 수 있다. 이때 프라이머리 부호기(410)는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터를 입력받아 프라이머리 RS 프레임을 형성하고, RS 부호화와 CRC 부호화를 수행한다. 그리고 세컨더리 부호기(420)는 데이터 그룹 내 C/D 영역에 할당될 모바일 서비스 데이터를 입력받아 세컨더리 RS 프레임을 형성하고, RS 부호화와 CRC 부호화를 수행한다. 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임의 부호화는 서로 독립적으로 이루어진다. Meanwhile, when transmitting two RS frames in one parade, data of the primary RS frame may be allocated to the A / B area of the data group and data of the secondary RS frame may be allocated to the C / D area of the data group. At this time, the primary encoder 410 receives the mobile service data to be allocated to the A / B area in the data group, forms a primary RS frame, and performs RS encoding and CRC encoding. The secondary encoder 420 receives the mobile service data to be allocated to the C / D region in the data group, forms a secondary RS frame, and performs RS encoding and CRC encoding. That is, encoding of the primary RS frame and the secondary RS frame is performed independently of each other.

도 26의 (a),(b)는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터 를 입력받아 프라이머리 RS 프레임을 구성하고, C/D 영역에 할당될 모바일 서비스 데이터를 모아 세컨더리 RS 프레임을 구성하여 각각 에러 정정 부호화 및 에러 검출 부호화를 수행한 예를 보이고 있다. (A) and (b) of FIG. 26 configure a primary RS frame by receiving mobile service data to be allocated to the A / B area in the data group, and collect the mobile service data to be allocated to the C / D area. Shows an example in which error correction encoding and error detection encoding are performed.

즉, 도 26 의 (a)는 프라이머리 부호기(410)의 RS-CRC 부호기(412))에서 데이터 그룹 내 A/B 영역에 할당될 프라이머리 앙상블의 모바일 서비스 데이터를 입력받아 N1(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P1개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다. That is, (a) of FIG. 26 receives N1 (row) x mobile service data of a primary ensemble to be allocated to an A / B area within a data group from the RS-CRC encoder 412 of the primary encoder 410. An RS frame having a size of 187 (column) bytes is configured, RS coding is performed on each column of the RS frame thus configured, P1 parity data is added to each column, and CRC coding is performed on each row. An example of adding a 2-byte CRC checksum per row is shown.

도 26 의 (b)는 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 데이터 그룹 내 C/D 영역에 할당될 세컨더리 앙상블의 모바일 서비스 데이터를 입력받아 N2(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P2개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다. FIG. 26 (b) shows N2 (row) × 187 (column) bytes of the secondary ensemble's mobile service data to be allocated to the C / D area in the data group from the RS-CRC encoder 422 of the secondary encoder 420. An RS frame having a size of? Is configured, RS coding is performed on each column of the RS frame thus configured, P2 parity data is added to each column, and CRC coding is performed on each row, thereby performing 2-byte CRC for each row. An example of adding a checksum is shown.

이때 상기 각 RS-CRC 부호기(412,422)는 제어부(201)를 통해 제공되는 전송 파라미터를 참조하면 M/H 프레임 정보, FIC 정보, RS 프레임 정보(RS 프레임 모드 포함), RS 부호화 정보(RS 코드 모드 포함), SCCC 정보(SCCC 블록 모드 정보, SCCC 아웃터 코드 모드 정보 포함), 데이터 그룹 정보, 데이터 그룹 내 영역 정보 등을 알 수 있다. 상기 전송 파라미터는 각 RS-CRC 부호기(412,422)에서 RS 프레임 구 성, 에러 정정 부호화, 에러 검출 부호화를 위해 참조될 뿐만 아니라, 수신 시스템에서의 정상적인 복호를 위해 수신 시스템으로 전송되어야 한다. 본 발명에서 상기 전송 파라미터는 전송 파라미터 채널(Transmission Parameter Channel ; TPC)을 통해 수신 시스템으로 전송되는 것을 일 실시예로 한다. 상기 TPC에 대해서는 뒤에서 상세히 설명하기로 한다.In this case, the RS-CRC encoders 412 and 422 refer to M / H frame information, FIC information, RS frame information (including RS frame mode), and RS encoding information (RS code mode) by referring to transmission parameters provided through the control unit 201. ), SCCC information (including SCCC block mode information, SCCC outer code mode information), data group information, area information in the data group, and the like. The transmission parameters are not only referred to for RS frame configuration, error correction encoding, and error detection encoding in each RS-CRC encoder 412 and 422, but must be transmitted to the receiving system for normal decoding in the receiving system. According to an embodiment of the present invention, the transmission parameter is transmitted to a receiving system through a transmission parameter channel (TPC). The TPC will be described in detail later.

그리고 상기 프라이머리 부호기(410)의 RS-CRC 부호기(412)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 프라이머리 RS 프레임의 데이터는 RS 프레임 디바이더(413)로 출력된다. 만일 상기 세컨더리 부호기(420)가 동작하였다면, 상기 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 세컨더리 RS 프레임의 데이터는 RS 프레임 디바이더(423)로 출력된다. In the RS-CRC encoder 412 of the primary encoder 410, data of a primary RS frame in which encoding in units of RS frames and row mixing in units of super frames is performed is output to the RS frame divider 413. If the secondary encoder 420 is operated, the data of the secondary RS frame in which the RS-CRC encoder 422 of the secondary encoder 420 performs the mixing of the RS frame unit and the raw mixing of the super frame unit is RS frame divider. It is output to 423.

상기 프라이머리 부호기(410)의 RS 프레임 디바이더(413)는 프라이머리 RS 프레임을 다수의 포션(several portions)으로 분리한 후 다중화기(320)로 출력한다. 상기 프라이머리 RS 프레임의 각 포션은 하나의 데이터 그룹에 의해 전송될 수 있는 데이터 량에 대응된다. 마찬가지로, 세컨더리 부호기(420)의 RS 프레임 디바이더(423)는 세컨더리 RS 프레임을 다수의 포션(several portions)으로 분리한 후 다중화기(320)로 출력한다. The RS frame divider 413 of the primary encoder 410 separates the primary RS frame into a plurality of portions and outputs the same to the multiplexer 320. Each portion of the primary RS frame corresponds to the amount of data that can be transmitted by one data group. Similarly, the RS frame divider 423 of the secondary encoder 420 divides the secondary RS frame into a plurality of portions and outputs the secondary RS frame to the multiplexer 320.

본 발명은 프라이머리 부호기(410)의 RS 프레임 디바이더(413)에 대해 상세히 설명하기로 한다. 그리고 설명의 편의를 위해 도 24의 (a) 내지 (c)와 같이 N(row) x 187(column) 바이트의 크기를 갖는 RS 프레임이 형성되고, 상기 RS 프레 임에 RS 부호화를 통해 각 컬럼에 P 바이트의 패리티 데이터가 부가되고, CRC 부호화를 통해 각 로우에 2바이트의 CRC 체크섬이 부가되었다고 가정하자. The present invention will be described in detail with respect to the RS frame divider 413 of the primary encoder 410. For convenience of description, an RS frame having a size of N (row) x 187 (column) bytes is formed as shown in FIGS. 24A to 24C, and the RS frame is assigned to each column through RS encoding. Assume that P bytes of parity data are added and 2 bytes of CRC checksums are added to each row through CRC encoding.

그러면, RS 프레임 디바이더(413)는 N+2(row) x 187+P(column) 바이트의 크기를 갖는 부호화된 RS 프레임을 PL(여기서 PL은 상기 RS 프레임 포션 길이) 사이즈를 갖는 복수개의 포션으로 분할(partition)한다. The RS frame divider 413 then converts the encoded RS frame having a size of N + 2 (row) x 187 + P (column) bytes into a plurality of portions having a PL size, where PL is the RS frame portion length. Partition

이때 상기 PL 값은 표 2 내지 표 5에서 본 바와 같이, RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 달라질 수 있다. 또한 RS 및 CRC 부호화가 수행된 RS 프레임의 전체 바이트 수는 5 x NoG x PL과 같거나 조금 작다. 이 경우 상기 RS 프레임은 PL 사이즈의 ((5 x NoG) - 1)개의 포션과 PL 사이즈이거나 더 작은 사이즈의 1개의 포션으로 분할된다. 즉, 하나의 RS 프레임으로부터 분할되는 포션들 중 마지막 포션을 제외한 각 포션의 사이즈는 PL과 같다. In this case, the PL value may vary according to RS frame mode, SCCC block mode, and SCCC outer code mode as shown in Tables 2 to 5. In addition, the total number of bytes of the RS frame in which RS and CRC encoding is performed is equal to or slightly smaller than 5 x NoG x PL. In this case, the RS frame is divided into ((5 x NoG)-1) portions of PL size and one portion of PL size or smaller size. That is, the size of each portion except the last portion among the portions divided from one RS frame is equal to PL.

만일 마지막 포션의 사이즈가 PL보다 작다면, 부족한 바이트 수만큼 스터핑(stuffing) 바이트(또는 더미 바이트)를 마지막 포션에 삽입하여, 마지막 포션의 사이즈가 최종적으로 PL이 되도록 한다. If the size of the last potion is smaller than PL, stuffing bytes (or dummy bytes) are inserted into the last potion by the number of insufficient bytes so that the size of the last potion is finally PL.

하나의 RS 프레임으로부터 분할되는 각 포션은 하나의 퍼레이드의 단일 데이터 그룹으로 SCCC 부호화 및 매핑되도록 하기 위한 데이터 량에 대응된다(each portion of a RS frame corresponds to the amount of data to be SCCC-encoded and mapped into a single data group of a Parade). Each portion divided from one RS frame corresponds to an amount of data for SCCC encoding and mapping into a single data group in one parade. (Each portion of a RS frame corresponds to the amount of data to be SCCC-encoded and mapped into a single data group of a Parade).

도 27의 (a), (b)는 (N+2) x (187+P) 크기의 RS 프레임을 PL 사이즈를 갖는 (5 x NoG)개의 포션으로 분할할 때, S개의 스터핑 바이트를 마지막 포션에 추가하 는 실시예를 보이고 있다. 27 (a) and 27 (b) show the last stuffing of S stuffing bytes when a RS frame of size (N + 2) x (187 + P) is divided into (5 x NoG) potions having a PL size An example is added to the drawing.

즉, 도 27의 (a)와 같이 RS 및 CRC 부호화된 RS 프레임은 도 27 의 (b)와 같이 복수개의 포션으로 분할된다. 상기 RS 프레임으로부터 분할되는 포션의 개수는 (5 x NoG)가 된다. 그리고 처음 ((5 x NoG) - 1)개의 포션들은 PL 사이즈를 포함하지만, 마지막 1개의 포션은 PL 사이즈와 같거나 작을 수 있다. 만일 PL 사이즈보다 작다면 마지막 포션은 PL 사이즈가 되도록 하기의 수학식 5와 같이 S개의 스터핑 바이트를 구하여 채울 수 있다. That is, RS and CRC coded RS frames as shown in FIG. 27A are divided into a plurality of portions as shown in FIG. 27B. The number of portions divided from the RS frame is (5 x NoG). And the first ((5 x NoG)-1) potions contain a PL size, but the last one potion can be less than or equal to the PL size. If the size is smaller than the PL size, the last portion may be filled by obtaining S stuffing bytes as shown in Equation 5 below to make the PL size.

S = (5 x NoG x PL) - ((N+2) x (187+P)) S = (5 x NoG x PL)-((N + 2) x (187 + P))

상기 PL 사이즈의 데이터를 포함하는 각 포션은 M/H 프레임 부호기(301)의 다중화기(320)를 거쳐 블록 처리기(302)로 출력된다. Each portion including the PL size data is output to the block processor 302 via the multiplexer 320 of the M / H frame encoder 301.

이때 상기 RS 프레임 포션들을 하나의 퍼레이드의 데이터 그룹들에 매핑하는 순서는 수학식 1에 정의된 데이터 그룹의 할당 순서와 동일하지 않다(The mapping order of the RS Frame Portions to a Parade of Groups is not identical with the Group assignment order defined in Equation 1). 즉, 하나의 M/H 프레임 내 퍼레이드의 데이터 그룹 위치가 주어지면, 상기 SCCC 부호화된 RS 프레임 포션들은 시간 순서로 할당된다(Given the Group positions of a Parade in an M/H Frame, the SCCC-encoded RS Frame Portions shall be mapped in time order). The mapping order of the RS Frame Portions to a Parade of Groups is not identical in order of mapping the RS frame portions to data groups of a parade. with the Group assignment order defined in Equation 1). In other words, given the data group position of the parade within one M / H frame, the SCCC coded RS frame portions are allocated in time order (Given the Group positions of a Parade in an M / H Frame, the SCCC-encoded RS Frame Portions shall be mapped in time order).

도 11을 예로 들면, 퍼레이드 #1 (the second Parade that is allocated )의 데이터 그룹들은 13번째 슬롯(Slot #12)에 먼저 할당되고, 그 다음에 3번째 슬 롯(Slot #2)에 할당된다. 하지만 데이터를 이들 할당된 슬롯들에 배치한다면, 그 데이터는 왼쪽에서 오른쪽으로 시간 순서로 배치된다. 즉, 퍼레이드 #1의 첫 번째 데이터 그룹은 세 번째 슬롯(Slot #2)에 배치되고, 상기 퍼레이드 #1의 두 번째 데이터 그룹은 13번째 슬롯(Slot #13)에 배치된다. Referring to FIG. 11, the data groups of parade # 1 (the second Parade that is allocated) are first allocated to the 13th slot (Slot # 12), and then to the third slot (Slot # 2). However, if data is placed in these allocated slots, the data is placed in chronological order from left to right. That is, the first data group of parade # 1 is placed in the third slot (Slot # 2), and the second data group of parade # 1 is placed in the 13th slot (Slot # 13).

블록 처리기Block handler

한편, 상기 블록 처리기(302)는 상기 M/H 프레임 부호기(301)의 출력에 대해 SCCC 아웃터 부호화를 수행한다. 즉, 상기 블록 처리기(302)는 에러 정정 부호화되어 입력되는 각 포션의 데이터를 다시 1/H(여기서 H는 2 이상의 자연수) 부호율로 부호화하여 그룹 포맷터(303)로 출력한다. 본 발명은 입력 데이터를 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함)와 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함) 중 어느 하나로 부호화하여 출력하는 것을 일 실시예로 한다. 상기 M/H 프레임 부호기(301)에서 출력되는 각 포션의 데이터는 순수한 모바일 서비스 데이터, RS 패리티 데이터, CRC 데이터, 스터핑 데이터 중 적어도 하나를 포함하지만, 넓은 의미에서는 모바일 서비스를 위한 데이터들이다. 그러므로 각 포션의 데이터는 모두 모바일 서비스 데이터로 간주되어 설명될 것이다. Meanwhile, the block processor 302 performs SCCC outer coding on the output of the M / H frame encoder 301. That is, the block processor 302 encodes the data of each portion inputted by error correction encoding at a code rate of 1 / H (where H is a natural number of 2 or more) and outputs the encoded data to the group formatter 303. The present invention encodes and outputs input data using either one of half code rate encoding (or half encoding) and one quarter code rate encoding (or quarter encoding). It is set as an Example. The data of each portion output from the M / H frame encoder 301 includes at least one of pure mobile service data, RS parity data, CRC data, and stuffing data, but broadly, they are data for mobile service. Therefore, the data of each portion will be described as all mobile service data.

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

본 발명에서 데이터 그룹은 도 5에서와 같이 데이터 인터리빙 후를 기준으로 10개의 M/H 블록(B1~B10)으로 이루어지고, 4개의 영역(A,B,C,D)으로 구분된다. In the present invention, as shown in FIG. 5, the data group is composed of ten M / H blocks B1 to B10 on the basis of data interleaving, and is divided into four regions A, B, C, and D.

그리고 도 5와 같이 데이터 그룹을 다수개의 계층화된 영역으로 구분한다고 가정하면, 블록 처리기(302)에서는 계층화된 영역의 특성에 따라 각 영역에 삽입될 모바일 서비스 데이터를 다른 부호율로 부호화할 수도 있다. Further, as shown in FIG. 5, it is assumed that a data group is divided into a plurality of layered areas, and the block processor 302 may encode mobile service data to be inserted into each area at a different code rate according to the characteristics of the layered area.

예를 들어, 데이터 그룹 내 A/B 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(302)에서 1/2 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 상기 A/B 영역에 삽입하도록 할 수 있다. 또한 데이터 그룹 내 C/D 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(302)에서 1/2 부호율보다 에러 정정 능력이 높은 1/4 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 상기 C/D 영역에 삽입하도록 할 수 있다. 또 다른 예로, C/D 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(302)에서 1/4 부호율보다 더 강력한 에러 정정 능력을 갖는 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 데이터를 상기 그룹 포맷터(303)에서 상기 C/D 영역에 삽입하도록 할 수도 있고, 추후의 사용을 위해서 미사용(reserve) 영역으로 남겨둘 수도 있다. For example, the mobile service data to be inserted into the A / B area in the data group is encoded by the block processor 302 at a 1/2 code rate, and the encoded mobile service data is encoded by the group formatter 303. It can be inserted into the A / B area. In addition, the mobile service data to be inserted into the C / D area of the data group is encoded by the block processor 302 at a 1/4 code rate which is higher in error correction capability than the 1/2 code rate. May be inserted into the C / D area by the group formatter 303. As another example, the mobile service data to be inserted into the C / D region is encoded by the block processor 302 at a code rate having a stronger error correction capability than that of the 1/4 code rate, and the encoded data is then grouped. The formatter 303 may be inserted into the C / D region, or may be left as a reserved region for later use.

또한 상기 블록 처리기(302)는 다른 실시예로서, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 상기 SCCC 블록은 적어도 하나의 M/H 블록을 포함한다. In another embodiment, the block processor 302 may perform 1 / H encoding on a SCCC block basis. The SCCC block includes at least one M / H block.

이때 1/H 부호화가 하나의 M/H 블록 단위로 이루어진다면, M/H 블록(B1~B10)과 SCCC 블록(SCB1~SCB10)은 동일하다(SCB1=B1, SCB2=B2, SCB3=B3, SCB4=B4, SCB5=B5, SCB6=B6, SCB7=B7, SCB8=B8, SCB9=B9, SCB10=B10). 예를 들어, M/H 블록 B1은 1/2 부호율로, M/H 블록 B2은 1/4 부호율로, M/H 블록 B3은 1/2 부호율로 부호화를 수행할 수 있다. 나머지 M/H 블록에 대해서도 마찬가지이다. In this case, if 1 / H encoding is performed in one M / H block unit, the M / H blocks B1 to B10 and the SCCC blocks SCB1 to SCB10 are the same (SCB1 = B1, SCB2 = B2, SCB3 = B3, SCB4 = B4, SCB5 = B5, SCB6 = B6, SCB7 = B7, SCB8 = B8, SCB9 = B9, SCB10 = B10). For example, M / H block B1 may be encoded at 1/2 code rate, M / H block B2 at 1/4 code rate, and M / H block B3 at 1/2 code rate. The same applies to the remaining M / H blocks.

또는 A,B,C,D 영역 내 복수개의 M/H 블록을 하나의 SCCC 블록으로 묶어, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 이렇게 하면 C/D 영역의 수신 성능을 향상시킬 수 있게 된다. 예를 들어, M/H 블록 B1부터 M/H 블록 B5까지를 하나의 SCCC 블록으로 묶어 1/2 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 M/H 블록 B1부터 M/H 블록 B5까지 삽입하도록 할 수 있다. Alternatively, a plurality of M / H blocks in the A, B, C, and D regions may be bundled into one SCCC block, and 1 / H encoding may be performed in units of SCCC blocks. This can improve the reception performance of the C / D domain. For example, 1/2 coding is performed by combining M / H blocks B1 to M / H blocks B5 into one SCCC block, and the mobile service data encoded as described above is converted into M / H of the data group in the group formatter 303. It is possible to insert from H block B1 to M / H block B5.

또한 M/H 블록 B6부터 M/H 블록 B10까지를 다른 SCCC 블록으로 묶어 1/4 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 M/H 블록 B6부터 M/H 블록 B10까지 삽입하도록 할 수 있다. 이 경우 하나의 데이터 그룹은 두개의 SCCC 블록으로 구성된다. In addition, 1/4 encoding is performed by binding M / H blocks B6 to M / H block B10 with other SCCC blocks, and the mobile service data encoded in the group formatter 303 starts from M / H blocks B6 of the data group. Up to M / H block B10 can be inserted. In this case, one data group consists of two SCCC blocks.

또 다른 실시 예로써 M/H 블록을 2개씩 묶어서 하나의 SCCC 블록으로 구성할 수도 있다. 예를 들어서 M/H 블록 B1과 M/H 블록 B6을 묶어 하나의 SCCC(SCB1) 블록을 구성할 수 있다. 마찬가지로 M/H 블록 B2과 M/H 블록 B7을 묶어 다른 하나의 SCCC(SCB2) 블록, M/H 블록 B3과 블록 B8을 묶어 또 다른 하나의 SCCC(SCB3) 블록, M/H 블록 B4과 블록 B9을 묶어 또 다른 하나의 SCCC(SCB4) 블록, M/H 블록 B5과 M/H 블록 B10을 묶어 또 다른 하나의 SCCC(SCB5) 블록을 구성할 수 있다. 이 경우는 10개의 M/H 블록을 5개의 SCCC 블록으로 구성한 예이다. 이렇게 하면 채널 변화가 매우 심한 수신 환경에서 A 영역에 비해서 상대적으로 수신 성능이 떨어지는 C와 D 영역의 수신 성능을 보완할 수가 있다. 또한 A 영역에서 D 영역으로 갈수록 메인 서비스 데이터 심볼의 수가 점점 많아지게 되고 이것이 에러 정정 부호의 성능 저하를 가져오는데, 상기와 같이 복수개의 M/H 블록을 하나의 SCCC 블록으로 구성함으로써, 이러한 성능 저하를 줄일 수가 있다 As another embodiment, two M / H blocks may be bundled and configured as one SCCC block. For example, one SCCC (SCB1) block may be configured by combining the M / H block B1 and the M / H block B6. Similarly, tie M / H block B2 and M / H block B7 to tie another SCCC (SCB2) block, tie M / H block B3 and block B8 to another SCCC (SCB3) block, M / H block B4 and block B9 may be bundled to bind another SCCC (SCB4) block, M / H block B5, and M / H block B10 to configure another SCCC (SCB5) block. In this case, 10 M / H blocks are composed of 5 SCCC blocks. This can compensate for the reception performance of the C and D areas where the reception performance is relatively lower than that of the A area in a reception environment with a severe channel change. In addition, as the number of main service data symbols increases from the A area to the D area, this causes a performance degradation of the error correction code. As described above, the performance degradation is achieved by configuring a plurality of M / H blocks into one SCCC block. Can reduce

상기와 같이 블록 처리기(302)에서 1/H 부호화가 이루어지면, 모바일 서비스 데이터를 정확하게 복원하기 위하여 SCCC 관련 정보가 수신 시스템으로 전송되어야 한다. When 1 / H encoding is performed in the block processor 302 as described above, SCCC related information should be transmitted to the receiving system in order to correctly restore the mobile service data.

하기의 표 7은 SCCC 관련 정보 중 M/H 블록과 SCCC 블록 사이의 관계를 보인 SCCC 블록 모드의 일 예를 보이고 있다. Table 7 below shows an example of an SCCC block mode showing a relationship between an M / H block and an SCCC block among SCCC related information.

SCCC Block ModeSCCC Block Mode 0000 0101 1010 1111 DescriptionDescription One M/H Block per SCCC blockOne M / H Block per SCCC block Two M/H Blocks per SCCC blockTwo M / H Blocks per SCCC block reservedreserved reservedreserved SCBSCB SCB input, M/H BlockSCB input, M / H Block SCB input, M/H BlocksSCB input, M / H Blocks     SCB1SCB1 B1B1 B1 + B6B1 + B6     SCB2SCB2 B2B2 B2 + B7B2 + B7     SCB3SCB3 B3B3 B3 + B8B3 + B8     SCB4SCB4 B4B4 B4 + B9B4 + B9     SCB5SCB5 B5B5 B5 + B10B5 + B10     SCB6SCB6 B6B6 --     SCB7SCB7 B7B7 --     SCB8SCB8 B8B8 --     SCB9SCB9 B9B9 --     SCB10SCB10 B10B10 --    

상기 표 7은 SCCC 블록 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 블록 모드 값이 00이면 SCCC 블록과 M/H 블록이 동일함의 표시한다. 또한 상기 SCCC 블록 모드 값이 01이면 각 SCCC 블록이 2개의 M/H 블록으로 구성됨을 표시한다. Table 7 according to an embodiment shows that two bits are allocated to indicate the SCCC block mode. For example, if the SCCC block mode value is 00, this indicates that the SCCC block and the M / H block are the same. In addition, if the SCCC block mode value is 01, this indicates that each SCCC block is composed of two M / H blocks.

만일 전술한 바와 같이 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성된다면 표 7에서는 표시하지 않았지만 SCCC 블록 모드로 이 정보도 표시할 수 있다. 예를 들어, SCCC 블록 모드 값이 10일 때는 각 SCCC 블록이 5개의 M/H 블록으로 구성되며, 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성됨을 표시할 수 있다. 여기서, SCCC 블록에 포함되는 M/H 블록의 개수 및 M/H 블록의 위치는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이며, 또한 SCCC 모드 정보의 확장도 가능하다. As described above, if one data group is composed of two SCCC blocks, this information may also be displayed in SCCC block mode although not shown in Table 7. For example, when the SCCC block mode value is 10, this may indicate that each SCCC block is composed of five M / H blocks and one data group is composed of two SCCC blocks. Here, the number of M / H blocks included in the SCCC block and the position of the M / H block may be changed by the system designer, and thus, the present invention is not limited to the above embodiment, and the SCCC mode information may be extended.

하기의 표 8은 SCCC 관련 정보 중 SCCC 블록의 부호율 정보 즉, SCCC 아웃터 코드 모드의 일 예를 보이고 있다. Table 8 below shows an example of code rate information of the SCCC block, that is, the SCCC outer code mode among SCCC related information.

SCCC outer code modeSCCC outer code mode DescriptionDescription 0000 The outer code rate of a SCCC Block is 1/2   rateThe outer code rate of a SCCC Block is 1/2 rate 0101 The outer code rate of a SCCC Block is 1/4   rateThe outer code rate of a SCCC Block is 1/4 rate 1010 ReservedReserved 1111 ReservedReserved

상기 표 8은 SCCC 블록의 부호율 정보를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 아웃터 코드 모드 값이 00이면 해당 SCCC 블록의 부호율은 1/2을 지시하고, 01이면 1/4을 지시한다. In Table 8, 2 bits are allocated to indicate the code rate information of the SCCC block. For example, if the SCCC outer code mode value is 00, the code rate of the corresponding SCCC block indicates 1/2, and if 01, 1/4 indicates.

만일 상기 표 7의 SCCC 블록 모드 값이 00을 표시하면, 상기 SCCC 아웃터 코드 모드는 각 M/H 블록에 대응하여 각 M/H 블록의 부호율을 표시할 수 있다. 이 경우 하나의 데이터 그룹은 10개의 M/H 블록을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 10개의 M/H 블록에 대한 SCCC 블록 모드를 표시하기 위해 20비트가 필요하다. If the SCCC block mode value of Table 7 indicates 00, the SCCC outer code mode may display a code rate of each M / H block corresponding to each M / H block. In this case, since one data group includes 10 M / H blocks and each SCCC block mode is assumed to have 2 bits, 20 bits are required to indicate the SCCC block mode for 10 M / H blocks. .

다른 예로, 상기 표 7의 SCCC 블록 모드 값이 00을 표시하면, 상기 SCCC 아웃터 코드 모드는 데이터 그룹 내 각 영역에 대응하여 각 영역의 부호율을 표시할 수도 있다. 이 경우 하나의 데이터 그룹은 A,B,C,D 4개의 영역을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 4개의 영역에 대한 SCCC 블록 모드를 표시하기 위해 8비트가 필요하다. As another example, when the SCCC block mode value of Table 7 indicates 00, the SCCC outer code mode may display the code rate of each region corresponding to each region in the data group. In this case, since one data group includes four areas A, B, C, and D, and each SCCC block mode is assumed to have 2 bits, 8 bits are required to indicate the SCCC block mode for the four areas. Do.

또 다른 예로, 상기 표 7의 SCCC 블록 모드 값이 01을 표시하면, 상기 데이터 그룹 내 A,B,C,D 영역은 동일한 SCCC 아웃터 코드 모드를 갖게 된다. As another example, when the SCCC block mode value of Table 7 indicates 01, the A, B, C, and D areas in the data group have the same SCCC outer code mode.

한편 하기의 표 9는 SCCC 블록 모드 값이 00일 때, 각 SCCC 블록에 대한 SCCC 출력 블록 길이(SCCC Output Block Length ; SOBL)의 일 예를 보이고 있다. Meanwhile, Table 9 below shows an example of an SCCC output block length (SOBL) for each SCCC block when the SCCC block mode value is 00.

SCCC BlockSCCC Block SOBLSOBL SIBLSIBL 1/2 rate1/2 rate 1/4 rate1/4 rate SCB1(B1)SCB1 (B1) 528528 264264 132132 SCB2(B2)SCB2 (B2) 15361536 768768 384384 SCB3(B3)SCB3 (B3) 23762376 11881188 594594 SCB4(B4)SCB4 (B4) 23882388 11941194 597597 SCB5(B5)SCB5 (B5) 27722772 13861386 693693 SCB6(B6)SCB6 (B6) 24722472 12361236 618618 SCB7(B7)SCB7 (B7) 27722772 13861386 693693 SCB8(B8)SCB8 (B8) 25082508 12541254 627627 SCB9(B9)SCB9 (B9) 14161416 708708 354354 SCB10(B10)SCB10 (B10) 480480 240240 120120

즉, 각 SCCC 블록에 대한 SCCC 출력 블록 길이(SCCC Output Block Length ; SOBL)를 알면, 각 SCCC 블록의 아웃터 부호율에 따라 해당 SCCC 블록에 대한 SCCC 입력 블록 길이(SCCC Input Block Length ; SIBL)를 결정할 수 있다. 상기 SOBL은 각 SCCC 블록에 대한 SCCC 출력(또는 outer encoded) 바이트의 개수와 같고, SIBL은 각 SCCC 블록에 대한 SCCC 입력(or payload) 바이트의 개수와 같다. That is, if the SCCC Output Block Length (SOBL) is known for each SCCC block, the SCCC Input Block Length (SIBL) for the corresponding SCCC block is determined according to the outer code rate of each SCCC block. Can be. The SOBL is equal to the number of SCCC output (or outer encoded) bytes for each SCCC block, and the SIBL is equal to the number of SCCC or payload bytes for each SCCC block.

하기의 표 10은 SCCC 블록 모드 값이 01일 때, 각 SCCC 블록에 대한 SOBL과 SIBL의 일 예를 보이고 있다. Table 10 below shows an example of SOBL and SIBL for each SCCC block when the SCCC block mode value is 01.

SCCC BlockSCCC Block SOBLSOBL             SIBLSIBL 1/2 rate1/2 rate 1/4 rate1/4 rate SCB1 (B1+B6)SCB1 (B1 + B6) 30003000 15001500 750750 SCB2 (B2+B7)SCB2 (B2 + B7) 43084308 21542154 10771077 SCB3 (B3+B8)SCB3 (B3 + B8) 48844884 24422442 12211221 SCB4 (B4+B9)SCB4 (B4 + B9) 38043804 19021902 951951 SCB5 (B5+B10)SCB5 (B5 + B10) 32523252 16261626 813813

이를 위해 상기 블록 처리기(302)는 도 28 과 같이 RS 프레임 포션-SCCC 블록 변환기(511), 바이트-비트 변환기(512), 콘볼루션 부호기(513), 심볼 인터리버(514), 심볼-바이트 변환기(515), 및 SCCC 블록-MH 블록 변환기(516)를 포함할 수 있다. To this end, the block processor 302 uses an RS frame portion-SCCC block converter 511, a byte-bit converter 512, a convolutional encoder 513, a symbol interleaver 514, and a symbol-byte converter (Fig. 28). 515, and SCCC block-MH block converter 516.

상기 콘볼루션 부호기(513)와 심볼 인터리버(514)는 SCCC를 구성하기 위해 트렐리스 부호화 모듈(256)과 가상으로 연접된다(The convolutional encoder 513 and the symbol interleaver 514 are virtually concatenated with the trellis encoder in the post-processor to construct the SCCC). The convolutional encoder 513 and the symbol interleaver 514 are virtually concatenated with the trellis coding module 256 to form an SCCC.The convolutional encoder 513 and the symbol interleaver 514 are virtually concatenated with the trellis encoder in the post-processor to construct the SCCC).

즉, 상기 RS 프레임 포션-SCCC 블록 변환기(511)는 입력되는 RS 프레임 포션을 RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 표 9, 표 10의 SIBL을 사용함으로써, 복수의 SCCC 블록으로 분할한다. 여기서 상기 M/H 프레임 부호기(301)는 RS 프레임 모드에 따라 프라이머리 RS 프레임 포션을 출력하거나, 프라이머리 RS 프레임 포션과 세컨더리 RS 프레임 포션을 출력한다. That is, the RS frame potion-SCCC block converter 511 uses the SIBLs of Tables 9 and 10 according to RS frame mode, SCCC block mode, and SCCC outer code mode to input a plurality of SCCC blocks. Divide. The M / H frame encoder 301 outputs a primary RS frame portion or a primary RS frame portion and a secondary RS frame portion according to the RS frame mode.

상기 RS 프레임 모드가 00이라면, 프라이머리 RS 프레임의 포션은 블록 처리기(302)에서 SCCC 아웃터 부호화되어 하나의 데이터 그룹 내 10개의 M/H 블록에 매핑된 데이터 량과 같다. 만일 상기 SCCC 블록 모드가 00이라면, 상기 프라이머리 RS 프레임은 표 9에 따라 10개의 SCCC 블록으로 분할된다. 만일 SCCC 블록 모드가 01이라면, 상기 프라이머리 RS 프레임 포션은 표 10에 따라 5개의 SCCC 블록으로 분할된다. 한편 상기 RS 프레임 모드가 01이라면, 상기 블록 처리기(302)는 두개의 RS 프레임 포션을 입력받는다. 상기 RS 프레임 모드가 01인 경우, SCCC 블록 모드 값으로 01이 사용되지 않는다. 상기 프라이머리 RS 프레임으로터 분할된 프라이머리 포션은 블록 처리기(302)에서 SCCC 블록 SCB3, SCB4, SCB5, SCB6, SCB7, 및 SCB8으로서 SCCC 아웃터 부호화된다. 상기 SCCC 블록 SCB3, SCB8은 그룹 포맷터(303)에서 데이터 그룹 내 영역 B에 매핑되고, 상기 SCCC 블록 SCB4, SCB5, SCB6, SCB7은 영역 A에 매핑된다. 상기 세컨더리 RS 프레임으로부터 분할된 세컨더리 포션은 블록 처리기(302)에 의해 SCCC 블록 SCB1, SCB2, SCB9, 및 SCB10으로서 SCCC 아웃터 부호화된다. 상기 그룹 포맷터(303)는 상기 SCCC 블록 SCB1, SCB10은 해당 데이터 그룹 내 영역 D에 각각 매핑하고, 상기 SCCC 블록 SCB2, SCB9은 영역 C에 매핑된다. If the RS frame mode is 00, the portion of the primary RS frame is equal to the amount of data mapped to 10 M / H blocks in one data group by SCCC outer coding in the block processor 302. If the SCCC block mode is 00, the primary RS frame is divided into 10 SCCC blocks according to Table 9. If the SCCC block mode is 01, the primary RS frame portion is divided into five SCCC blocks according to Table 10. Meanwhile, if the RS frame mode is 01, the block processor 302 receives two RS frame portions. If the RS frame mode is 01, 01 is not used as the SCCC block mode value. The primary portion divided from the primary RS frame is SCCC outer coded as the SCCC blocks SCB3, SCB4, SCB5, SCB6, SCB7, and SCB8 in the block processor 302. The SCCC blocks SCB3 and SCB8 are mapped to the region B in the data group in the group formatter 303, and the SCCC blocks SCB4, SCB5, SCB6 and SCB7 are mapped to the region A. The secondary portion divided from the secondary RS frame is SCCC outer coded by the block processor 302 as SCCC blocks SCB1, SCB2, SCB9, and SCB10. The group formatter 303 maps the SCCC blocks SCB1 and SCB10 to the region D in the data group, and maps the SCCC blocks SCB2 and SCB9 to the region C. FIG.

상기 바이트-비트 변환기(512)는 상기 RS 프레임 포션-SCCC 블록 변환기(511)에서 출력되는 각 SCCC 블록의 모바일 서비스 데이터 바이트를 비트로 구분하여 콘볼루션 부호기(513)로 출력한다. The byte-bit converter 512 divides the mobile service data byte of each SCCC block output from the RS frame portion-SCCC block converter 511 into bits and outputs the bits to the convolutional encoder 513.

상기 콘볼루션 부호기(513)는 입력되는 모바일 서비스 데이터 비트에 대해 1/2 부호화 또는 1/4 부호화를 수행한다. The convolutional encoder 513 performs 1/2 encoding or 1/4 encoding on the input mobile service data bit.

도 29는 상기 콘볼루션 부호기(513)의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(521,523)와 3개의 가산기(522,524,525)로 구성되어, 입력 데이터 비트 U를 부호화하여 5비트(u0~u4)로 출력한다. 이때 입력 데이터 비트 U는 최상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1u2u3u4로 출력된다. FIG. 29 is a detailed block diagram showing an embodiment of the convolutional encoder 513. The delay block 521 is composed of two delayers 521 and 523 and three adders 522, 524 and 525. output as ~ u4). At this time, the input data bit U is output as it is as the most significant bit u0 and is encoded and output as the lower bits u1u2u3u4.

즉, 입력 데이터 비트 U는 그대로 최상위 비트 u0로 출력됨과 동시에 제1,제3 가산기(522,525)로 출력된다. 상기 제1 가산기(522)는 입력 데이터 비트 U와 제1 지연기(521)의 출력을 더하여 제2 지연기(523)로 출력하며, 상기 제2 지연기(523)에서 일정 시간(예를 들어 1 클럭) 지연된 데이터는 하위 비트 u1로 출력됨과 동시에 제1 지연기(521)로 피드백된다. 상기 제1 지연기(521)는 상기 제2 지연기(523)에서 피드백되는 데이터를 일정 시간(예를 들어, 1 클럭) 지연시켜 하위 비트 u2로 출력함과 동시에 제1 가산기(522)와 제 2 가산기(524)로 출력한다. That is, the input data bits U are output as the most significant bit u0 and output to the first and third adders 522 and 525. The first adder 522 adds the input data bit U and the output of the first delayer 521 and outputs the result to the second delayer 523. The delayed data is outputted to the lower bit u1 and fed back to the first delayer 521. The first delayer 521 delays the data fed back from the second delayer 523 by a predetermined time (for example, one clock) and outputs the lower bit u2 to the first adder 522 and the first adder 522. 2 is output to the adder 524.

상기 제2 가산기(524)는 제1,제2 지연기(521,523)의 출력을 더하여 하위 비트 u3로 출력한다. 상기 제3 가산기(525)는 입력 데이터 비트 U와 제2 가산기(524)의 출력을 더하여 최하위 비트 u4로 출력한다. The second adder 524 adds outputs of the first and second delayers 521 and 523 to output the lower bit u3. The third adder 525 adds the input data bit U and the output of the second adder 524 and outputs the least significant bit u4.

이때 제1,제2 지연기(521,523)는 각 SCCC 블록의 시작시에 0으로 리셋된다. 도 29의 콘볼루션 부호기(513)는 1/2 부호기로 사용할 수도 있고, 1/4 부호기로 사용할 수도 있다. At this time, the first and second delayers 521 and 523 are reset to zero at the start of each SCCC block. The convolution encoder 513 of FIG. 29 may be used as a 1/2 encoder, or may be used as a 1/4 encoder.

즉, 도 29의 콘볼루션 부호기(513)의 일부 출력 비트를 선택하여 출력하면, 1/2 부호기 또는 1/4 부호기로 사용할 수 있다. That is, when some output bits of the convolutional encoder 513 of FIG. 29 are selected and outputted, they can be used as 1/2 encoder or 1/4 encoder.

하기의 표 11은 콘볼루션 부호기(513)의 출력 심볼의 일 예를 보인 것이다. Table 11 below shows an example of an output symbol of the convolution encoder 513.

RegionRegion 1/2 rate1/2 rate 1/4 rate1/4 rate SCCC Block mode = ‘00’SCCC Block mode = ‘00’ SCCC Block mode = ‘01’SCCC Block mode = ‘01’ A, BA, B (u0, u1)(u0, u1) (u0, u2), (u1, u4)(u0, u2), (u1, u4) (u0, u2), (u1, u4)(u0, u2), (u1, u4) C, DC, D (u0, u1), (u3, u4)(u0, u1), (u3, u4)

예를 들어, 1/2 부호율인 경우, 1 출력 심볼 즉, u0,u1 비트를 선택하여 출력하면 된다. 또한, 1/4 부호율인 경우 SCCC 블록 모드에 따라 2 출력 심볼 즉, 4개의 비트를 선택하여 출력하면 된다. 예를 들어, SCCC 블록 모드가 01이라고 하면, u0,u2로 된 출력 심볼, u1,u4로 된 출력 심볼을 선택하여 출력하면 1/4 부호화의 결과를 얻게 된다. For example, in the case of 1/2 code rate, one output symbol, i.e., u0, u1 bits, may be selected and output. In the case of the 1/4 code rate, two output symbols, that is, four bits, may be selected and output according to the SCCC block mode. For example, if the SCCC block mode is 01, selecting and outputting an output symbol of u0, u2 and an output symbol of u1, u4 results in quarter coding.

상기 콘볼루션 부호화부(513)에서 1/2 또는 1/4 부호율로 부호화된 모바일 서비스 데이터 심볼은 심볼 인터리버(514)로 출력된다. The mobile service data symbols encoded by the convolutional encoder 513 at 1/2 or 1/4 code rates are output to the symbol interleaver 514.

상기 심볼 인터리버(514)는 상기 콘볼루션 부호기(513)의 출력 데이터 심볼에 대해 심볼 단위로 블록 인터리빙을 수행한다. 즉, 심볼 인터리버(514)는 블록 인터리버의 한 유형이다. 상기 심볼 인터리버(514)는 구조적으로 어떤 순서 재배열을 하는 인터리버이면 어느 인터리버라도 적용될 수 있다. 본 발명에서는 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버를 사용하는 것을 일 실시예로 설명한다. The symbol interleaver 514 performs block interleaving on a symbol unit basis for the output data symbols of the convolutional encoder 513. That is, symbol interleaver 514 is a type of block interleaver. The symbol interleaver 514 may be applied to any interleaver as long as the interleaver is structurally arranged in any order. According to an embodiment of the present invention, the use of a variable length symbol interleaver applicable to a case in which the lengths of symbols to be rearranged are various will be described.

도 30 은 본 발명에 따른 심볼 인터리버의 일 실시예를 보인 도면으로서, B는 2112이고, L은 4096일 때의 심볼 인터리빙의 예이다. 30 shows an embodiment of a symbol interleaver according to the present invention, where B is 2112 and L is 4096 an example of symbol interleaving.

여기서 상기 B는 콘볼루션 부호기(513)에서 심볼 인터리빙을 위해 출력되는 심볼 단위의 블록 길이(Block length in symbols)이고, L은 심볼 인터리버(514)에서 실제로 인터리빙이 되는 심볼 단위의 블록 길이이다. 이때 심볼 인터리버(514)로 입력되는 심볼 단위의 블록 길이 B는 4 x SOBL과 같다. 즉, 한 심볼은 2비트로 구성되므로, B는 4 x SOBL로 설정될 수 있다. Here, B is a block length in symbols output from the convolutional encoder 513 for symbol interleaving, and L is a block length in symbol units actually interleaved in the symbol interleaver 514. At this time, the block length B in symbol units input to the symbol interleaver 514 is equal to 4 × SOBL. That is, since one symbol consists of 2 bits, B can be set to 4 x SOBL.

그리고 심볼 인터리빙시에, L = 2m(여기서 m은 자연수)이면서 L ≥ B 조건을 만족하여야 한다. 만일 B와 L의 값이 차이가 나게 되면, 차이나는 개수(=L-B)만큼 널(null 또는 dummy) 심볼이 추가되어 도 30 의 P'(i)와 같이 인터리빙 패턴이 만들어진다. In symbol interleaving, L = 2 m (where m is a natural number) while satisfying the condition L ≥ B. If the values of B and L differ, a null (or null) symbol is added by the number of differences (= LB), thereby creating an interleaving pattern as shown in P '(i) of FIG.

그러므로 상기 B는 인터리빙을 위해 상기 심볼 인터리버(514)로 입력되는 실제 심볼들의 블록 크기가 되고, L은 상기 심볼 인터리버(514)에서 생성된 인터리빙 패턴에 의해 실제 인터리빙이 이루어지는 인터리빙 단위가 된다. Therefore, B is a block size of actual symbols input to the symbol interleaver 514 for interleaving, and L is an interleaving unit in which actual interleaving is performed by an interleaving pattern generated by the symbol interleaver 514.

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

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

P'(i) = { 89 x i x (i+1) / 2 } mod L P '(i) = {89 x i x (i + 1) / 2} mod L

여기서 L ≥ B , L = 2m이고, m은 자연수이다. Where L ≧ B, L = 2 m and m is a natural number.

상기 수학식 6, 도 30 의 P'(i)와 같이 L 심볼 단위로 B개의 입력 심볼과 (L-B)개의 널 심볼의 순서를 재배열한 후 도 30 의 P(i)와 같이 널 심볼의 위치를 제거하고 다시 정렬한다. 즉, 가장 낮은 i부터 시작하여, 제거된 널 심볼의 위치를 채우기 위해 P(i) 엔트리들을 왼쪽으로 쉬프트한다(Starting with the lowest i, shift the P(i) entries to the left to fill the empty entry locations). 그리고 정렬된 인터리빙 패턴 P(i)의 심볼들을 순서대로 심볼-바이트 변환기(515)로 출력한다. After rearranging the order of the B input symbols and the (LB) null symbols in units of L symbols as shown in Equation 6 and P '(i) of FIG. 30, the position of the null symbol is shown as P (i) of FIG. Remove and reorder. That is, starting with the lowest i, shift the P (i) entries to the left to fill the empty entry locations). The symbols of the aligned interleaving pattern P (i) are sequentially output to the symbol-byte converter 515.

상기 심볼-바이트 변환기(515)는 상기 심볼 인터리버(514)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 바이트로 변환하여 SCCC 블록-MH 블록 변환기(516)로 출력한다. 상기 SCCC 블록-MH 블록 변환기(516)는 심볼 인터리빙된 SCCC 블록을 M/H 블록으로 변환하여 그룹 포맷터(303)로 출력한다. The symbol-byte converter 515 converts the mobile service data symbols outputted after the sequence rearrangement is completed in the symbol interleaver 514 to bytes and outputs the converted bytes to the SCCC block-MH block converter 516. The SCCC block-MH block converter 516 converts the symbol interleaved SCCC block into an M / H block and outputs the result to the group formatter 303.

만일 SCCC 블록 모드가 00이라면, 상기 SCCC 블록은 데이터 그룹 내 각 M/H 블록에 1:1로 매핑된다. 다른 예로, SCCC 블록 모드가 01이라면, 상기 SCCC 블록은 데이터 그룹 내 두개의 대응하는 M/H 블록에 매핑된다. 예를 들어, SCCC 블록 SCB1은 (B1,B6)에, SCB2는 (B2,B7)에, SCB3은 (B3,B8)에, SCB4는 (B4,B9)에, 그리고 SCB5는 (B5,B10)에 매핑된다. 상기 SCCC 블록-MH 블록 변환기(516)에서 출력되는 M/H 블록은 모바일 서비스 데이터와 FEC 리더던시(redundancy)로 이루어진다. 본 발명은 M/H 블록의 모바일 서비스 데이터 뿐만 아니라 FEC 리더던시(redundancy)도 모바일 서비스 데이터로 간주하여 설명한다. If the SCCC block mode is 00, the SCCC block is mapped 1: 1 to each M / H block in the data group. As another example, if the SCCC block mode is 01, the SCCC block is mapped to two corresponding M / H blocks in the data group. For example, the SCCC block SCB1 is in (B1, B6), SCB2 is in (B2, B7), SCB3 is in (B3, B8), SCB4 is in (B4, B9), and SCB5 is in (B5, B10) Is mapped to. The M / H block output from the SCCC block-MH block converter 516 is composed of mobile service data and FEC redundancy. The present invention considers not only mobile service data of M / H block but also FEC redundancy as mobile service data.

그룹 group 포맷터Formatter

상기 그룹 포맷터(303)는 상기 블록 처리기(302)에서 출력되는 M/H 블록의 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 M/H 블록에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다. The group formatter 303 inserts data of the M / H block output from the block processor 302 into a corresponding M / H block in a data group formed according to a predefined rule, and also relates to data deinterleaving. Various position holders or known data (or known data position holders) are also inserted into the corresponding area in the data group.

즉, 상기 그룹 포맷터(303)에서는 블록 처리기(302)에서 출력되는 부호화된 모바일 서비스 데이터들 외에도 도 5에서 보이는 것과 같이 후단의 데이터 디인터리빙과 관련하여 MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더를 데이터 그룹의 해당 영역에 삽입한다. 여기서 메인 서비스 데이터 위치 홀더를 삽입하는 이유는 도 5와 같이 데이터 인터리빙 후를 기준으로 B 영역 내지 D 영역에서는 모바일 서비스 데이터와 메인 서비스 데이터가 사이 사이에 서로 섞이게 되기 때문이다. 일 예로 상기 MPEG 헤더를 위한 위치 홀더는 상기 데이터 디인터리빙 후의 출력 데이터를 기준으로 볼 때, 각 패킷의 제일 앞에 할당될 수 있다. 또한 의도된 그룹 포맷을 구성하기 위해 더미 바이트를 삽입할 수도 있다. 또한 상기 그룹 포맷터(303)에서는 트렐리스 부호화부(Trellis Encoding Module)(256)의 초기화를 위한 위치 홀더를 해당 영역에 삽입한다. 일 실시예로, 상기 초기화 데이터 위치 홀더는 상기 기지 데이터 열의 앞에 삽입할 수 있다. That is, in the group formatter 303, in addition to the encoded mobile service data output from the block processor 302, an MPEG header position holder, an unstructured RS parity position holder, Insert the main service data location holder into the corresponding area of the data group. The reason for inserting the main service data location holder is that the mobile service data and the main service data are intermingled in the areas B to D based on the data interleaving as shown in FIG. 5. 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. It is also possible to insert dummy bytes to construct the intended group format. In addition, the group formatter 303 inserts a position holder for initializing the trellis encoding module 256 into the corresponding region. In one embodiment, the initialization data location holder may be inserted before the known data stream.

그리고 상기 그룹 포맷터(303)에서는 시그널링 부호기(304)에서 부호화되어 출력되는 시그널링 정보도 데이터 그룹의 해당 영역에 삽입할 수 있다. The group formatter 303 may also insert signaling information encoded and output by the signaling encoder 304 into a corresponding region of the data group.

이때 상기 시그널링 정보는 상기 그룹 포맷터(303)에서 각 데이터 및 위치 홀더를 데이터 그룹에 삽입할 때 참조될 수 있다. 상기 시그널링 정보의 부호화 및 데이터 그룹에 삽입하는 과정은 뒤에서 상세히 설명할 것이다. In this case, the signaling information may be referenced when inserting each data and position holder into the data group in the group formatter 303. Encoding of the signaling information and insertion into the data group will be described later in detail.

그리고 상기 그룹 포맷터(303)에서는 각종 데이터 및 위치 홀더를 데이터 그룹의 해당 영역에 삽입한 후, 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙하여 패킷 포맷터(305)로 출력한다. 즉, 도 5와 같은 형태로 구성된 데이터 그룹 내 데이터 및 위치 홀더가 상기 그룹 포맷터(303)에서 디인터리빙되면 패킷 포맷터(305)로 출력되는 데이터 그룹은 도 7과 같은 구조를 갖게 된다. 이를 위해 상기 그룹 포맷터(303)는 도 31과 같이 그룹 포맷 형성부(Group format organizer)(527), 및 데이터 디인터리버(529)를 포함할 수 있다. 상기 그룹 포맷 형성부(527)는 상기와 같이 데이터 그룹 내 해당 영역에 데이터 및 위치 홀더를 삽입하고, 데이터 디인터리버(529)는 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙한다. The group formatter 303 inserts various data and position holders into a corresponding region of the data group, and then deinterleaves the data and position holders in the data group in a reverse process of data interleaving and outputs the data to the packet formatter 305. That is, when the data and position holder in the data group configured as shown in FIG. 5 are deinterleaved by the group formatter 303, the data group output to the packet formatter 305 has the structure as shown in FIG. 7. To this end, the group formatter 303 may include a group format organizer 527 and a data deinterleaver 529 as shown in FIG. 31. The group format forming unit 527 inserts data and position holders into the corresponding regions in the data group as described above, and the data deinterleaver 529 deinterleaves the data and position holders in the data group in a reverse process of data interleaving. .

상기 패킷 포맷터(305)는 디인터리빙되어 입력된 데이터 중에서 디인터리빙을 위해 할당되었던 메인 서비스 데이터 위치 홀더와 RS 패리티 위치 홀더를 제거하고, 나머지 부분들을 모은 후, 3바이트의 MPEG 헤더 위치 홀더에 널 패킷 PID(또는 메인 서비스 데이터 패킷에서 사용하지 않는 PID)를 갖는 MPEG 헤더를 삽입한다. 그리고 각 187 바이트의 데이터 패킷의 시작 부분에 동기 바이트를 추가한다. The packet formatter 305 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 3-byte MPEG header location holder. Insert an MPEG header with a PID (or a PID not used in the main service data packet). A sync byte is added at the beginning of each 187 byte data packet.

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

그리고 나서 상기 패킷 포맷터(305)는 상기와 같이 패킷 포맷팅된 데이터 그룹 내 데이터들을 188바이트 단위의 모바일 서비스 데이터 패킷(즉, MPEG TS 패킷)으로 구분하여 패킷 다중화기(240)에 제공한다. Then, the packet formatter 305 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)는 상기 제어부(201)의 제어에 의해 패킷 포맷터(305)에서 패킷 포맷팅되어 출력되는 데이터 그룹과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 즉, 상기 제어부(201)는 패킷 다중화기(240)의 시간 다중화를 제어한다. 만일 상기 패킷 다중화기(240)가 상기 패킷 포맷터(305)로부터 118개의 모바일 서비스 데이터 패킷을 입력받는다면, 118개 중 37 모바일 서비스 데이터 패킷은 VSB 필드 동기 삽입 위치 앞에 배치되고(place), 또 다른 81 모바일 서비스 데이터 패킷은 상기 VSB 필드 동기 삽입 위치 뒤에 배치된다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의해서 조정이 가능하다. 상기 패킷 다중화기(240)에서의 다중화 방법 및 다중화 규칙에 대해서는 뒤에서 상세히 설명하기로 한다. The packet multiplexer 240 multiplexes the data group output from the packet formatter 305 and the main service data packet output from the packet jitter reducer 220 under the control of the control unit 201. The data is output to the data renderer 251 of (Post-Processor) 250. That is, the controller 201 controls the time multiplexing of the packet multiplexer 240. If the packet multiplexer 240 receives 118 mobile service data packets from the packet formatter 305, 37 of the 118 mobile service data packets are placed before the VSB field sync insertion position, and another A 81 mobile service data packet is placed after the VSB field sync insertion position. The multiplexing method can be adjusted by various variables of the system design. The multiplexing method and multiplexing rule in the packet multiplexer 240 will be described in detail later.

그리고 상기 패킷 다중화 과정에서 메인 서비스 데이터 사이사이에 모바일 서비스 데이터를 포함하는 데이터 그룹이 다중화(또는 할당)되기 때문에 메인 서비스 데이터 패킷의 시간적인 위치가 상대적으로 이동하게 된다. 그런데 수신 시스템 의 메인 서비스 데이터 처리를 위한 시스템 목표 디코더(즉, MPEG 디코더)에서는 메인 서비스 데이터만을 수신하여 복호하고 모바일 서비스 데이터 패킷은 널 데이터 패킷으로 인식하여 버리게 된다. In the packet multiplexing process, since a data group including mobile service data is multiplexed (or allocated) between main service data, the temporal position of the main service data packet is relatively moved. However, 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 in the system target decoder 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.

또한 메인 서비스 데이터 패킷의 위치를 상대적으로 재조정하게 되면 그에 따른 PCR(Program Clock Reference) 값을 수정해 주어야 한다. PCR 값은 MPEG 디코더의 시간을 맞주기 위한 시간 기준값으로 TS 패킷의 특정 영역에 삽입되어 전송된다. 상기 패킷 지터 경감기(220)에서 PCR 값 수정도 수행하는 것을 일 실시예로 한다. In addition, when the location of the main service data packet is relatively readjusted, 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 one embodiment, the packet jitter reducer 220 also performs 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 according to a preset multiplexing rule as described above. The data is output to the data randomizer 251 of 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 pseudo random bytes generated therein, 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 substituent 255 selects the output of the data interleaver 253 for the 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)는 패리티 치환기(254)에서 출력되는 바이트 단위의 데이터를 심볼 단위로 바꾸고 12-way 인터리빙하여 트렐리스 부호화한 후 동기 다중화기(260)로 출력한다. The trellis encoder 256 converts the data of the byte unit output from the parity substituent 254 into symbol units, performs 12-way interleaving, trellis-codes, and outputs the trellis to the synchronous multiplexer 260.

도 32는 트렐리스 부호화부(256) 내 12개의 트렐리스 부호기 중 하나의 트렐리스 부호기의 상세 도면이다. 상기 트렐리스 부호기는 2개의 다중화기(531,541), 2개의 가산기(532,543), 및 3개의 메모리(533,542,544)를 포함할 수 있다. 32 is a detailed diagram of one trellis encoder out of twelve trellis encoders in the trellis encoder 256. FIG. The trellis coder may include two multiplexers 531, 541, two adders 532, 543, and three memories 533, 542, 544.

즉, 상기 패리티 치환기(254)에서 초기화 데이터 위치 홀더에 삽입되어 출력되는 트렐리스 초기화 데이터에 의해 상기 제1 내지 제3 메모리(533,542,544)는 초기화된다. 다시 말해, 각 트렐리스 초기화 데이터 바이트로부터 변환된 처음 두 심볼(즉, 4비트)이 입력되면, 트렐리스 부호기의 입력 비트들은 도 32 에서 보는 바와 같이 트렐리스 부호기의 메모리 값들에 의해 재배열된다(More specifically, when the first two 2-bit symbols converted from each trellis initialization byte are inputted, the input bits of the trellis encoder shall be replaced by the memory values of the trellis encoder, as shown in Figure 28). That is, the first to third memories 533, 542, and 544 are initialized by trellis initialization data inserted into the initialization data position holder by the parity substituent 254. In other words, when the first two symbols (i.e., 4 bits) converted from each trellis initialization data byte are input, the input bits of the trellis encoder are rewritten by the memory values of the trellis encoder as shown in FIG. (More specifically, when the first two 2-bit symbols converted from each trellis initialization byte are inputted, the input bits of the trellis encoder shall be replaced by the memory values of the trellis encoder, as shown in Figure 28).

그리고 두 심볼(즉, 4비트)이 트렐리스 초기화를 위해 요구되기 때문에, 트 렐리스 초기화 데이터 바이트들의 마지막 2 심볼은 트렐리스 초기화를 위해 사용되지 않으며, 기지 데이터 바이트의 심볼로 취급된다(Since 2 symbols (4 bits) are required for trellis initialization, the last 2 symbols (4 bits) from trellis initialization bytes are not used for trellis initialization and are treated like a symbol from a known data byte). And since two symbols (i.e. 4 bits) are required for trellis initialization, the last two symbols of trellis initialization data bytes are not used for trellis initialization and are treated as symbols of known data bytes ( Since 2 symbols (4 bits) are required for trellis initialization, the last 2 symbols (4 bits) from trellis initialization bytes are not used for trellis initialization and are treated like a symbol from a known data byte).

도 32 의 트렐리스 부호기는 초기화 모드이면, 상기 트렐리스 부호기의 입력은 패리티 치환기(254)의 출력 대신 내부 트렐리스 상태에서 온다(When the trellis encoder is in initialization mode, the input comes from an internal trellis state instead of from the parity replacer 254). 그리고 노말 모드이면, 상기 트렐리스 부호기는 상기 패리티 치환기(254)로부터 입력 심볼을 제공받아 처리한다(When the trellis encoder is in the normal mode, the input symbol from the parity replacer 254 shall be processed). 상기 트렐리스 부호기는 트렐리스 초기화를 위해 변경된 입력 데이터를 상기 비체계적 RS 부호기(255)로 제공된다(The trellis encoder provides the modified input data for trellis initialization to the non-systematic RS encoder 255). When the trellis encoder of FIG. 32 is in initialization mode, the input of the trellis encoder is in the internal trellis state instead of the output of the parity substituent 254. internal trellis state instead of from the parity replacer 254). When the trellis encoder is in the normal mode, the input symbol from the parity replacer 254 shall be processed. The trellis encoder provides the modified input data for trellis initialization to the non-systematic RS encoder 255 for trellis initialization.

즉, 상기 제1 다중화기(531)는 선택 신호가 노말 모드(normal mode)를 지시하면 입력 심볼의 상위 비트 X2를 선택하고, 초기화 모드(initialization mode)를 지시하면 제1 메모리(533)의 출력을 선택하여 제1 가산기(532)로 출력한다. 상기 제1 가산기(532)는 상기 제1 다중화기(531)의 출력과 제1 메모리(533)의 출력을 더하여 제1 메모리(533)로 출력함과 동시에 최상위 비트 Z2로 출력한다. 상기 제1 메 모리(533)는 상기 제1 가산기(532)의 출력 데이터를 1 클럭 지연시킨 후 제1 다중화기(531)와 제1 가산기(532)로 출력한다. 한편 상기 제2 다중화기(541)는 선택 신호가 노말 모드(normal mode)를 지시하면 입력 심볼의 하위 비트 X1을 선택하고, 초기화 모드(initialization mode)를 지시하면 제2 메모리(542)의 출력을 선택하여 제2 가산기(543)로 출력함과 동시에 하위 비트 Z1로 출력한다. 상기 제2 가산기(543)는 제2 다중화기(541)의 출력과 제2 메모리(542)의 출력을 더하여 제3 메모리(544)로 출력한다. 상기 제3 메모리(544)는 상기 제2 가산기(543)의 출력을 1 클럭 지연시킨 후 제2 메모리(542)로 출력함과 동시에 최하위 비트 Z0로 출력한다. 상기 제2 메모리(542)는 제3 메모리(544)의 출력을 1 클럭 지연시킨 후 제2 가산기(543)와 제2 다중화기(541)로 출력한다. That is, the first multiplexer 531 selects the upper bit X2 of the input symbol when the selection signal indicates the normal mode, and outputs the first memory 533 when the initialization signal indicates the initialization mode. Is selected and output to the first adder 532. The first adder 532 adds the output of the first multiplexer 531 and the output of the first memory 533 to the first memory 533 and outputs the most significant bit Z2. The first memory 533 delays the output data of the first adder 532 by one clock and then outputs the same to the first multiplexer 531 and the first adder 532. On the other hand, the second multiplexer 541 selects the lower bit X1 of the input symbol when the selection signal indicates the normal mode, and outputs the output of the second memory 542 when the selection signal indicates the initialization mode. It selects and outputs to the second adder 543 and to the lower bit Z1. The second adder 543 adds the output of the second multiplexer 541 and the output of the second memory 542 and outputs the output to the third memory 544. The third memory 544 delays the output of the second adder 543 by one clock, outputs the result to the second memory 542, and outputs the least significant bit Z0. The second memory 542 delays the output of the third memory 544 by one clock and outputs the result to the second adder 543 and the second multiplexer 541.

상기 동기 다중화기(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.

패킷 다중화기(240)의 다중화 방법Multiplexing Method of Packet Multiplexer 240

즉, 에러 정정 부호화 및 1/H 부호화된 프라이머리 RS 프레임(즉, RS 프레임 모드가 00) 또는 프라이머리/세컨더리 RS 프레임(즉, RS 프레임 모드가 01)의 데이터는 그룹 포맷터(303)에서 복수개의 데이터 그룹에 분할되어 각 데이터 그룹의 A 내지 D 영역 중 적어도 하나의 영역에 할당되거나, M/H 블록 B1 내지 B10 중 적어도 하나의 M/H 블록에 할당되어 디인터리빙된다. 그리고 디인터리빙된 데이터 그룹은 패킷 포맷터(305)를 거쳐 패킷 다중화기(240)에서 메인 서비스 데이터와 기 정해진 다중화 규칙에 따라 다중화된다. That is, the data of the error correction encoding and 1 / H coded primary RS frame (ie, RS frame mode is 00) or primary / secondary RS frame (ie, RS frame mode is 01) is plural in the group formatter 303. It is divided into three data groups and allocated to at least one of the areas A to D of each data group, or assigned to at least one M / H block of the M / H blocks B1 to B10 and deinterleaved. The deinterleaved data group is multiplexed according to a predetermined multiplexing rule with the main service data in the packet multiplexer 240 via the packet formatter 305.

상기 패킷 다중화기(240)는 연속적인 복수개의 데이터 그룹들이 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화하여 출력한다. 예를 들어, 하나의 서브 프레임에 3개의 데이터 그룹을 다중화하여 전송한다고 가정하면, 3개의 데이터 그룹은 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯번째 슬롯(Slot #4), 아홉번째 슬롯(Slot #8)에 순차적으로 할당되어 출력된다. The packet multiplexer 240 multiplexes and outputs a plurality of consecutive data groups as far as possible from each other in a subframe. For example, assuming that three data groups are multiplexed and transmitted in one subframe, the three data groups include the first slot (Slot # 0), the fifth slot (Slot # 4), and the ninth in the subframe. Slots # 8 are sequentially assigned and output.

상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화되어 출력된다. 상기 데이터 그룹 및 퍼레이드들의 할당 방법은 M/H 프레임을 기반으로 M/H 프레임마다 다르게 적용할 수 있고, 하나의 M/H 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. Like the data group allocation, the parades are output as multiplexed as far as possible from each other in the subframe. The method of allocating the data group and the parades may be differently applied to each M / H frame based on the M / H frame, and the same may be applied to all subframes in one M / H frame.

도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 상기 패킷 다중화기(240)에서 하나의 M/H 프레임에 할당할 때의 실시예를 보이고 있다. 도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 M/H 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 M/H 프레임에 15개의 데이터 그룹이 할당됨을 알 수 있다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들 이다. FIG. 10 shows an embodiment when the packet multiplexer 240 allocates a single parade having the number of data groups included in one subframe to one M / H frame. Referring to FIG. 10, if three data groups are sequentially allocated to one subframe in four slot periods, and this process is performed for five subframes in the corresponding M / H frame, 15 data in one M / H frame You can see that a data group is assigned. The 15 data groups are data groups included in one parade.

상기 도 10과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 M/H 프레임에 할당되었을 때, 상기 패킷 다중화기(240)는 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터를 할당할 수도 있고, 다른 퍼레이드의 데이터 그룹들을 할당할 수도 있다. 즉, 상기 패킷 다중화기(240)는 하나의 M/H 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 할당할 수 있다. When data groups for one parade are allocated to M / H frames as shown in FIG. 10, the packet multiplexer 240 may allocate main service data between the data group and the data group, and data of another parade. You can also assign groups. That is, the packet multiplexer 240 may allocate data groups for a plurality of parades in one M / H frame.

기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당 방법도 단일 퍼레이드의 경우와 다르지 않다. 즉, 상기 패킷 다중화기(240)는 하나의 M/H 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당한다. Basically, the method of assigning data groups for multiple parades is also no different from that of a single parade. That is, the packet multiplexer 240 also allocates data groups in another parade allocated to one M / H frame in four slot periods.

이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다. In this case, the data group of another parade may be allocated in a circular manner from a slot to which the data group of the previous parade is not allocated.

예를 들어, 하나의 퍼레이드에 대한 데이터 그룹의 할당이 도 10과 같이 이루어졌다고 가정할 때, 다음 퍼레이드에 대한 데이터 그룹은 하나의 서브 프레임 내 12번째 슬롯부터 할당할 수 있다. For example, assuming that data group allocation for one parade is performed as shown in FIG. 10, the data group for the next parade may be allocated from the 12th slot in one subframe.

도 11은 상기 패킷 다중화기(240)에서 하나의 M/H 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 할당하여 전송하는 예를 보인 것이다. FIG. 11 shows an example of allocating three parades (Parade # 0, Parade # 1, Parade # 2) to one M / H frame in the packet multiplexer 240 and transmitting the same.

일 예로, 첫 번째 퍼레이드(Parade #0)는 서브 프레임 당 3개의 데이터 그룹을 포함한다고 가정하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 0~2를 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 첫 번째, 다섯 번째, 아홉 번째 슬롯(Slot #0, Slot #4, Slot #8)에 첫 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다. For example, assuming that the first parade (Parade # 0) includes three groups of data per subframe, the packet multiplexer 240 substitutes 0 to 2 for the i value of Equation 1 to allow the user to enter the subframe. The location of the data groups can be found. That is, data groups of the first parade are sequentially allocated to the first, fifth, and ninth slots (Slot # 0, Slot # 4, Slot # 8) in the subframe and output.

두 번째 퍼레이드(Parade #1)는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 3~4를 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다. If a second parade (Parade # 1) includes two data groups per subframe, the packet multiplexer 240 assigns 3 to 4 to the i value of Equation 1 to locate the data groups in the subframe. Can be obtained. That is, data groups of the second parade are sequentially allocated to the second and twelfth slots (Slot # 1, Slot # 11) in the subframe and output.

또한 세 번째 퍼레이드(Parade #2)는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 5~6을 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다. In addition, if the third parade (Parade # 2) includes two groups per subframe, the packet multiplexer 240 substitutes 5 to 6 for the i value of Equation 1 to locate the data groups in the subframe. Can be obtained. That is, data groups of the third parade are sequentially allocated to the seventh and eleventh slots (Slot # 6, Slot # 10) in the subframe and output.

이와 같이 상기 패킷 다중화기(240)는 하나의 M/H 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 다중화하여 출력할 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 다중화는 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행한다. 따라서 하나의 서브 프레임에 다중화될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 M/H 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 M/H 프레임에 다중화될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다. As such, the packet multiplexer 240 may multiplex and output data groups for a plurality of parades in one M / H frame, and the multiplexing of data groups in one subframe has a group space of 4 slots and is left. To the right from the serial. Therefore, the number of groups of one parade per a sub-frame (NOG) that can be multiplexed into one subframe may be any one of integers from 1 to 8. Since one M / H frame includes five subframes, this means that the number of data groups of one parade that can be multiplexed into one M / H frame may be any one of multiples of 5 to 40. Means that you can.

시그널링Signaling 정보 처리 Information processing

본 발명은 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 각 데이터 그룹 내 일부 영역(area)에 할당하는 것을 일 실시예로 한다. According to an embodiment of the present invention, a signaling information area for inserting signaling information is allocated to some areas in each data group.

도 33은 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 데이터 그룹 내 M/H 블록 B4의 첫 번째 세그먼트부터 두 번째 세그먼트의 일부까지 할당한 예를 보이고 있다. 즉, 각 데이터 그룹의 M/H 블록 B4의 276(=207+69) 바이트가 시그널링 정보를 삽입하기 위한 영역으로 할당된 예이다. 다시 말해, 상기 시그널링 정보 영역은 M/H 블록 B4의 첫 번째 세그먼트인 207 바이트와 두 번째 세그먼트의 처음 69 바이트로 구성된다. 일 예로, 상기 M/H 블록 B4의 첫 번째 세그먼트는 VSB 필드의 17번째 또는 173번째 세그먼트에 해당한다. 33 shows an example in which a signaling information area for inserting signaling information is allocated from a first segment to a part of a second segment of an M / H block B4 in a data group. That is, 276 (= 207 + 69) bytes of the M / H block B4 of each data group are allocated as an area for inserting signaling information. In other words, the signaling information area is composed of 207 bytes, which is the first segment of M / H block B4, and the first 69 bytes of the second segment. For example, the first segment of the M / H block B4 corresponds to the 17th or 173th segment of the VSB field.

상기 시그널링 정보 영역에 삽입될 시그널링 정보는 시그널링 부호기(304)에서 FEC 부호화되어 그룹 포맷터(303)로 입력된다. 상기 시그널링 정보는 OM 패킷의 페이로드 영역에 삽입되어 역다중화기(210)로 수신된 전송 파라미터를 포함할 수 있다. The signaling information to be inserted into the signaling information region is FEC coded by the signaling encoder 304 and input to the group formatter 303. The signaling information may include a transmission parameter inserted into the payload region of the OM packet and received by the demultiplexer 210.

상기 그룹 포맷터(303)에서는 상기 시그널링 부호기(304)에서 FEC 부호화되어 출력되는 시그널링 정보를 데이터 그룹 내 시그널링 정보 영역에 삽입한다. The group formatter 303 inserts signaling information, which is FEC coded and output by the signaling encoder 304, into a signaling information region of a data group.

상기 시그널링 정보는 크게 두 종류의 시그널링 채널로 구분할 수 있다. 하나는 전송 파라미터 채널(Transmission Parameter Channel ; TPC)이고, 다른 하나 는 고속 정보 채널(Fast Information Channel ; FIC)이다. The signaling information can be largely divided into two types of signaling channels. One is a Transmission Parameter Channel (TPC) and the other is a Fast Information Channel (FIC).

상기 TPC 데이터는 RS 프레임 정보, RS 부호화 정보, FIC 정보, 데이터 그룹 정보, SCCC 정보, M/H 프레임 정보 등과 같은 전송 파라미터를 포함하는 시그널링 정보이다. 상기 TPC 데이터는 본 발명의 이해를 돕기 위한 일 실시예일뿐이며, 상기 TPC에 포함되는 시그널링 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The TPC data is signaling information including transmission parameters such as RS frame information, RS coding information, FIC information, data group information, SCCC information, M / H frame information, and the like. The TPC data is only an embodiment for better understanding of the present invention, and the present invention will not be limited to the above embodiment since addition and deletion of signaling information included in the TPC can be easily changed by those skilled in the art.

상기 FIC 데이터는 수신기에서 빠른 서비스 획득(fast service acquisition)이 가능하도록 하기 위해 제공되며, 물리 계층과 상위 계층 사이의 크로스 계층 정보를 포함한다(The FIC is provided to enable the fast service acquisition of receivers and it contains cross layer information between the physical layer and the upper layer(s)). The FIC data is provided to enable fast service acquisition in a receiver, and includes cross layer information between a physical layer and a higher layer.The FIC is provided to enable the fast service acquisition of receivers and it contains cross layer information between the physical layer and the upper layer (s)).

도 34는 시그널링 부호기(304)의 일 실시예를 보인 상세 블록도이다. 34 is a detailed block diagram of one embodiment of a signaling encoder 304.

상기 시그널링 부호기(304)는 TPC 부호기(561), FIC 부호기(562), 블록 인터리버(563), 다중화기(564), 시그널링 랜덤마이저(565), 및 회귀적 터보 부호기(Iterative Turbo Encoder) (566)를 포함할 수 있다. The signaling encoder 304 includes a TPC encoder 561, an FIC encoder 562, a block interleaver 563, a multiplexer 564, a signaling randomizer 565, and an iterative turbo encoder 566. ) May be included.

상기 TPC 부호기(561)는 10 바이트의 TPC 데이터를 입력받아 (18,10)-RS 부호화를 수행하여 10 바이트의 TPC 데이터에 8바이트의 패리티 데이터를 부가한다. 상기 RS-부호화된 18 바이트의 TPC 데이터는 다중화기(564)로 출력된다. The TPC encoder 561 receives 10 bytes of TPC data and performs (18,10) -RS encoding to add 8 bytes of parity data to the 10 bytes of TPC data. The RS-coded 18 bytes of TPC data is output to multiplexer 564.

상기 FIC 부호기(562)는 37 바이트의 FIC 데이터를 입력받아 (51,37)-RS 부호화를 수행하여 37 바이트의 FIC 데이터에 14바이트의 패리티 데이터를 부가한다. 상기 RS-부호화된 51 바이트의 FIC 데이터는 블록 인터리버(563)로 입력되어 기 설정된 블록 단위로 인터리빙된다. 일 예로, 상기 블록 인터리버(563)는 가변 길이 블록 인터리버이며, RS 부호화되어 입력되는 각 서브 프레임 내 FIC 데이터를 TNoG (column) x 51 (row) 블록 단위로 인터리빙한 후 다중화기(564)로 출력한다. 여기서 상기 TNoG는 하나의 서브 프레임에 할당되는 전체 데이터 그룹의 개수이다. 상기 블록 인터리버(563)는 각 서브 프레임의 처음 FIC 데이터에 동기된다. The FIC encoder 562 receives 37 bytes of FIC data and performs (51,37) -RS encoding to add 14 bytes of parity data to 37 bytes of FIC data. The RS-encoded 51-byte FIC data is input to the block interleaver 563 and interleaved in predetermined block units. For example, the block interleaver 563 is a variable length block interleaver, and interleaves FIC data in each subframe input by RS coding in units of TNoG (column) x 51 (row) blocks and outputs the result to the multiplexer 564. do. Here, the TNoG is the number of all data groups allocated to one subframe. The block interleaver 563 is synchronized to the first FIC data of each subframe.

상기 블록 인터리버(563)는 51 바이트의 RS 코드워드를 로우 단위로 왼쪽으로 오른쪽으로, 위에서 아래로 쓰고, 컬럼 단위로 위에서 아래로, 왼쪽에서 오른쪽으로 읽어 51 바이트 단위로 출력한다(The Block interleaver shall write the incoming RS codewords of 51 bytes row-by-row from left to right and top-to-bottom and shall output the data in units of 51 bytes by reading column by column from top-to-bottom and left-to-right). The block interleaver 563 writes an RS codeword of 51 bytes from left to right, top to bottom in row units, and reads from top to bottom in columns and from left to right in units of 51 bytes (The Block interleaver shall write the incoming RS codewords of 51 bytes row-by-row from left to right and top-to-bottom and shall output the data in units of 51 bytes by reading column by column from top-to-bottom and left-to-right ).

상기 다중화기(564)는 상기 TPC 부호기(561)에서 RS 부호화된 TPC 데이터와 블록 인터리버(563)에서 블록 인터리빙된 FIC 데이터를 시간축으로 다중화하고, 다중화된 69 바이트의 데이터를 시그널링 랜덤마이저(565)로 출력한다. The multiplexer 564 multiplexes the TPC data encoded by the TPC encoder 561 with the FIC data block interleaved by the block interleaver 563 on a time axis, and signals the multiplexed 69 bytes of data by the randomization signal 565. Will output

상기 시그널링 랜덤마이저(565)는 다중화된 데이터를 랜덤마이징하여 회귀적 터보 부호기(566)로 출력한다. 상기 시그널링 랜덤마이저(565)는 모바일 서비스 데이터를 위한 랜덤마이저의 생성 다항식을 그대로 이용할 수 있다. 또한 초기화는 매 데이터 그룹마다 일어난다(occur). The signaling randomizer 565 randomizes the multiplexed data and outputs the same to the recursive turbo coder 566. The signaling randomizer 565 may use the generated polynomial of the randomizer for mobile service data as it is. Initialization also occurs in every data group (occur).

상기 회귀적 터보 부호기(566)는 랜더마이징된 데이터 즉, 시그널링 정보 데 이터에 PCCC 방식으로 회귀적 터보 부호화를 수행하는 인너 부호기이다. 상기 회귀적 터보 부호기(566)는 6개의 이븐 컨포넌트 부호기와 6개의 오드 컨포넌트 부호기로 구성될 수 있다. The recursive turbo coder 566 is an inner coder that performs recursive turbo coding on randomized data, that is, signaling information data, using the PCCC scheme. The recursive turbo encoder 566 may be composed of six even component encoders and six odd component encoders.

도 35는 상기 TPC 부호기(561)로 입력되는 TPC 데이터의 신택스 구조의 일 실시예를 보인 도면이다. 상기 TPC 데이터는 각 데이터 그룹의 시그널링 정보 영역에 삽입되어 전송된다. FIG. 35 is a diagram illustrating an embodiment of a syntax structure of TPC data input to the TPC encoder 561. The TPC data is inserted into the signaling information area of each data group and transmitted.

상기 TPC 데이터는 Sub-Frame_number 필드, Slot_number 필드, Parade_id 필드, starting_Group_number (SGN) 필드, number_of_Group (NoG) 필드, Parade_repetition_cycle (PRC) 필드, RS_Frame_mode 필드, RS_code_mode_primary 필드, RS_code_mode_secondary 필드, SCCC_Block_mode 필드, SCCC_outer_code_mode_A 필드, SCCC_outer_code_mode_B 필드, SCCC_outer_code_mode_C 필드, SCCC_outer_code_mode_D 필드, FIC_version 필드, Parade_continuity_counter 필드, TNoG 필드 등을 포함할 수 있다. The TPC data includes Sub-Frame_number field, Slot_number field, Parade_id field, starting_Group_number (SGN) field, number_of_Group (NoG) field, Parade_repetition_cycle (PRC) field, RS_Frame_mode field, RS_code_mode_primary field, RS_code_mode_secondary field, SCCC_Block_mode field, SC_CC__lock_mode field, SC_CC__lock_mode field It may include a SCCC_outer_code_mode_C field, a SCCC_outer_code_mode_D field, a FIC_version field, a Parade_continuity_counter field, a TNoG field, and the like.

상기 Sub-frame_number 필드는 해당 M/H 프레임 내 현재 서브 프레임의 개수를 표시하며, M/H 프레임 동기화를 위해 전송된다. 상기 Sub-frame_number 필드 값은 0~4 사이의 값을 가질 수 있다(The Sub-Frame_number field shall be the current Sub-Frame number within the M/H Frame, which is transmitted for M/H Frame synchronization. Its value shall range from 0 to 4). The Sub-frame_number field indicates the number of current subframes in the corresponding M / H frame and is transmitted for M / H frame synchronization. The Sub-Frame_number field shall be the current Sub-Frame number within the M / H Frame, which is transmitted for M / H Frame synchronization.Its value shall range from 0 to 4).

상기 Slot_number 필드는 해당 서브 프레임 내 현재 슬롯의 개수를 표시하며, M/H 프레임 동기화를 위해 전송된다. 상기 Slot_number 필드 값은 0~15 사이의 값을 가질 수 있다(The Slot_number field is the current Slot number within the Sub-Frame, which is transmitted for M/H Frame synchronization. Its value shall range from 0 to 15). The Slot_number field indicates the number of current slots in a corresponding subframe and is transmitted for M / H frame synchronization. The Slot_number field value may have a value between 0 and 15 (The Slot_number field is the current Slot number within the Sub-Frame, which is transmitted for M / H Frame synchronization. Its value shall range from 0 to 15).

상기 Parade_id 필드는 해당 데이터 그룹이 속한 퍼레이드를 식별하기 위한 식별자를 표시한다. 상기 Parade_id 필드값은 7비트로 표시할 수 있다. 하나의 M/H 전송에서 각 퍼레이드는 유일한 Parade_id을 갖는다(The Parade_id field identifies the Parade to which this Group belongs. The value of this field may be any 7-bit value.  Each Parade in a M/H transmission shall have a unique Parade_id).  이때 물리 계층과 상위 계층 사이에서 Parade_id 의 통신은 상기 Parade_id 의 왼쪽에 1비트를 추가함에 의해 형성되는 Ensemble_id에 의해 이루어진다(Communication of the Parade_id between the physical layer and the management layer shall be by means of an Ensemble_id formed by adding one bit to the left of the Parade_id). 상기 퍼레이드를 통해 전송되는 프라이머리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 0을 표시하여 형성되고, 세컨더리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 1을 표시하여 형성될 수 있다(If the Ensemble_id is for the primary Ensemble delivered through this Parade, the added MSB shall be ‘0’. Otherwise, if it is for the secondary Ensemble, the added MSB shall be ‘1’). The Parade_id field indicates an identifier for identifying a parade to which the corresponding data group belongs. The Parade_id field value may be represented by 7 bits. The Parade_id field identifies the Parade to which this Group belongs.The value of this field may be any 7-bit value. Each Parade in a M / H transmission shall have a unique Parade_id). Communication of the Parade_id between the physical layer and the upper layer is made by Ensemble_id formed by adding 1 bit to the left of the Parade_id (Communication of the Parade_id between the physical layer and the management layer shall be by means of an Ensemble_id formed by adding one bit to the left of the Parade_id). Ensemble_id for identifying the primary ensemble transmitted through the parade may be formed by displaying 0 in the added MSB, and Ensemble_id for distinguishing the secondary ensemble may be formed by displaying 1 in the added MSB. the Ensemble_id is for the primary Ensemble delivered through this Parade, the added MSB shall be '0'.Otherwise, if it is for the secondary Ensemble, the added MSB shall be' 1 ').

상기 SGN 필드는 상기 데이터 그룹이 속한 퍼레이드에 대한 첫 번째 슬롯 번호를 표시한다(The starting_Group_number (SGN) field shall be the first Slot_number for a Parade to which this Group belongs, as determined by Equation 1 (after the Slot numbers for all preceding Parades have been calculated).) 상기 SGN와 NoG 필드는 수학식 1을 적용하여, 해당 서브 프레임 내 하나의 퍼레이드에 할당된 슬롯 번호를 얻기 위해 사용된다. The starting_Group_number (SGN) field shall be the first Slot_number for a Parade to which this Group belongs, as determined by Equation 1 (after the Slot numbers For all preceding Parades have been calculated).) The SGN and NoG fields are used to obtain a slot number assigned to one parade in the corresponding subframe by applying Equation 1.

상기 NoG 필드는 상기 데이터 그룹이 속한 퍼레이드에 할당된 그룹들의 번호를 표시한다(The number_of_Groups (NoG) field shall be the number of Groups in a Sub-Frame assigned to the Parade to which this Group belongs, minus 1, e.g., NoG = 0 implies that one Group is allocated to this Parade in a Sub-Frame). 상기 NoG 필드 값은 0~7 사이의 값을 가질 수 있다. 대응하는 퍼레이드에 할당된 슬롯 번호들은 수학식 1을 사용하여 SGN과 NoG로부터 산출될 수 있다. The number_of_Groups (NoG) field shall be the number of Groups in a Sub-Frame assigned to the Parade to which this Group belongs, minus 1, eg, NoG = 0 implies that one Group is allocated to this Parade in a Sub-Frame). The NoG field value may have a value between 0 and 7. Slot numbers assigned to the corresponding parade may be calculated from SGN and NoG using Equation 1.

상기 PRC 필드는 M/H 프레임 단위로 전송되는 퍼레이드의 반복 주기를 하기의 표 12와 같이 지시한다(The Parade_repetition_cycle (PRC) field shall be the cycle time over which the Parade is transmitted, minus 1, specified in units of M/H Frames, as described in 표 12). The PRC field indicates a repetition period of a parade transmitted in M / H frame units as shown in Table 12 below. (The Parade_repetition_cycle (PRC) field shall be the cycle time over which the Parade is transmitted, minus 1, specified in units of M / H Frames, as described in Table 12).

PRCPRC DescriptionDescription 000000 This Parade shall be transmitted once every   M/H Frame. This Parade shall be transmitted once every M / H Frame. 001001 This Parade shall be transmitted once every 2   M/H Frames. This Parade shall be transmitted once every 2 M / H Frames. 010010 This Parade shall be transmitted once every 3   M/H Frames. This Parade shall be transmitted once every 3 M / H Frames. 011011 This Parade shall be transmitted once every 4   M/H Frames. This Parade shall be transmitted once every 4 M / H Frames. 100100 This Parade shall be transmitted once every 5   M/H Frames. This Parade shall be transmitted once every 5 M / H Frames. 101101 This Parade shall be transmitted once every 6   M/H Frames. This Parade shall be transmitted once every 6 M / H Frames. 110110 This Parade shall be transmitted once every 7   M/H Frames. This Parade shall be transmitted once every 7 M / H Frames. 111111 ReservedReserved

예를 들어, 상기 PRC 필드 값이 001이라면, 상기 퍼레이드는 2 M/H 프레임마다 한번씩 전송됨을 지시한다. For example, if the PRC field value is 001, the parade indicates that transmission is performed once every 2 M / H frames.

상기 RS_Frame_mode 필드는 하나의 퍼레이드로 하나의 RS 프레임을 전송하는지, 2개의 RS 프레임을 전송하는지를 표시하며, 표 1과 같이 정의된다. The RS_Frame_mode field indicates whether one RS frame or two RS frames are transmitted in one parade, and is defined as shown in Table 1 below.

상기 RS_code_mode_primary 필드는 프라이머리 RS 프레임에 대한 RS 코드 모드를 표시하며, 표 6과 같이 정의될 수 있다. The RS_code_mode_primary field indicates an RS code mode for a primary RS frame and may be defined as shown in Table 6.

상기 RS_code_mode_secondary 필드는 세컨더리 RS 프레임에 대한 RS 코드 모드를 표시하며, 표 6과 같이 정의될 수 있다. The RS_code_mode_secondary field indicates an RS code mode for a secondary RS frame and may be defined as shown in Table 6.

상기 SCCC_Block_mode는 데이터 그룹 내 M/H 블록들이 SCCC 블록에 어떻게 할당되는지를 표시하며, 표 7과 같이 정의될 수 있다. The SCCC_Block_mode indicates how M / H blocks in the data group are allocated to the SCCC block and may be defined as shown in Table 7.

상기 SCCC_outer_code_mode_A 필드는 데이터 그룹 내 영역 A에 대한 SCCC 아웃터 코드 모드를 표시하며, 표 8과 같이 정의될 수 있다. The SCCC_outer_code_mode_A field indicates the SCCC outer code mode for the area A in the data group and may be defined as shown in Table 8.

상기 SCCC_outer_code_mode_B 필드는 데이터 그룹 내 영역 B에 대한 SCCC 아웃터 코드 모드를 표시한다. The SCCC_outer_code_mode_B field indicates the SCCC outer code mode for the area B in the data group.

상기 SCCC_outer_code_mode_C 필드는 데이터 그룹 내 영역 C에 대한 SCCC 아웃터 코드 모드를 표시한다. The SCCC_outer_code_mode_C field indicates the SCCC outer code mode for the area C in the data group.

상기 SCCC_outer_code_mode_D 필드는 데이터 그룹 내 영역 D에 대한 SCCC 아웃터 코드 모드를 표시한다. The SCCC_outer_code_mode_D field indicates the SCCC outer code mode for the area D in the data group.

상기 FIC_version 필드는 FIC 데이터의 버전을 표시한다. The FIC_version field indicates a version of FIC data.

상기 Parade_continuity_counter 필드는 0~15까지 증가하며,  (PRC+1) M/H 프레임마다 1씩 증가한다. 예를 들어, PRC = 011라면, 상기 Parade_continuity_counter 필드는 4번째 M/H 프레임마다 증가한다. The Parade_continuity_counter field increases from 0 to 15, and increases by 1 for each (PRC + 1) M / H frame. For example, if PRC = 011, the Parade_continuity_counter field is incremented every fourth M / H frame.

상기 TNoG 필드는 하나의 서브 프레임 내에 할당되는 전체 데이터 그룹의 개수를 표시한다. The TNoG field indicates the number of all data groups allocated in one subframe.

상기 TPC 데이터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TPC 데이터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The information included in the TPC data is only an embodiment for better understanding of the present invention, and the present invention is not limited to the above embodiments because addition and deletion of the information included in the TPC data can be easily changed by those skilled in the art. Will not.

이때 각 퍼레이드에 대한 TPC 데이터(Sub-Frame_number 필드, Slot_number 필드는 제외)는 하나의 M/H 프레임 동안 그 값들이 변경되지 않는다. 그리고 같은 정보가 하나의 M/H 프레임 동안 해당 퍼레이드 내 모든 데이터 그룹을 통해 반복적으로 전송된다. 이렇게 함으로써, TPC 데이터의 수신이 매우 로버스트하게 되어, 수신 성능을 높일 수 있다. 그리고 상기 Sub-Frame_number 필드, Slot_number 필드 값은 증가하는 카운터 값들이므로, 상기 필드들은 규치적으로 기대되는 값들의 전송으로 인해 로버스트하다(Since the TPC parameters (except Sub-Frame_number and Slot_number) for each Parade do not change their values during an M/H Frame, the same information is transmitted repeatedly through all M/H Groups belonging to that Parade during an M/H Frame. This allows very robust and reliable reception of the TPC data. Because the Sub-Frame_number and the Slot_number are increasing counter values, they also are robust due to the transmission of regularly expected values). At this time, the TPC data for each parade (except for the Sub-Frame_number field and the Slot_number field) does not change their values during one M / H frame. The same information is repeatedly transmitted through all data groups in the parade for one M / H frame. By doing so, reception of TPC data is extremely robust, and reception performance can be improved. Since the Sub-Frame_number field and the Slot_number field values are incremented counter values, the fields are robust due to transmission of values that are regularly expected (Since the TPC parameters (except Sub-Frame_number and Slot_number) for each Parade do not change their values during an M / H Frame, the same information is transmitted repeatedly through all M / H Groups belonging to that Parade during an M / H Frame.This allows very robust and reliable reception of the TPC data.Because the Sub- Frame_number and the Slot_number are increasing counter values, they also are robust due to the transmission of regularly expected values).

상기 FIC 데이터는 빠른 모바일 서비스 획득을 위해 크로스 계층 정보를 전송한다. 상기 FIC 데이터는 앙상블과 모바일 서비스 사이의 채널 결합 정보를 포함할 수 있다. The FIC data transmits cross layer information for fast mobile service acquisition. The FIC data may include channel combining information between the ensemble and the mobile service.

도 36은 TPC 데이터와 FIC 데이터의 전송 시나리오의 예를 보인 도면이다. 상기 도 35의 Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter 정보는 특정 M/H 프레임 내 5개의 서브 프레임을 통해 현재 M/H 프레임에 대응하는 그들의 값을 갖는다(Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter shall have their values corresponding to the current M/H Frame throughout the 5 Sub-Frames within a particular M/H Frame). 상기 TPC 데이터의 일부 그리고, FIC 데이터는 미리 시그널링된다(Some of TPC parameters and FIC data are signaled in advance). 36 is a diagram illustrating an example of a transmission scenario of TPC data and FIC data. The Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter information of FIG. 35 have their values corresponding to the current M / H frame through five subframes within a specific M / H frame (Sub-Frame_number, Slot_number, Parade_id , Parade_repetition_cycle, and Parade_continuity_counter shall have their values corresponding to the current M / H Frame throughout the 5 Sub-Frames within a particular M / H Frame). Some of the TPC parameters and FIC data are signaled in advance.

 상기 SGN, NoG, 및 모든 FEC 모드들은 처음 2개의 서브 프레임에서 현재 M/H 프레임에 대응하는 값들을 갖는다. 상기 SGN, NoG, 및 모든 FEC 모드들은 현재 M/H 프레임의 3,4,5번째 서브 프레임을 통해 다음 퍼레이드가 나타나는 M/H 프레임에 대응하는 값들을 갖는다. 이렇게 함으로써, 수신기는 신뢰성 높은 전송 파라미터를 미리 얻을 수 있다(SGN, NoG and all FEC modes shall have values corresponding to the current M/H Frame in the first two Sub-Frames. SGN, NoG and all FEC modes shall have values corresponding to the Frame in which the Parade next appears throughout the 3rd, 4th and 5th Sub-Frames of the current M/H Frame. This enables the M/H receivers to get the transmission parameters in advance very reliably.). The SGN, NoG, and all FEC modes have values corresponding to the current M / H frame in the first two subframes. The SGN, NoG, and all FEC modes have values corresponding to the M / H frame in which the next parade appears in the third, fourth, and fifth subframes of the current M / H frame. By doing so, the receiver can obtain reliable transmission parameters in advance (SGN, NoG and all FEC modes shall have values corresponding to the current M / H Frame in the first two Sub-Frames.SGN, NoG and all FEC modes shall have values corresponding to the Frame in which the Parade next appears throughout the 3 rd , 4 th and 5 th Sub-Frames of the current M / H Frame. This enables the M / H receivers to get the transmission parameters in advance very reliably.).

 예를 들어, Parade_repetition_cycle = ‘000’이면, 현재 M/H 프레임의 3,4,5번째 서브 프레임의 값들은 다음 M/H 프레임에 대응한다. 상기 Parade_repetition_cycle = ‘011’이면, 현재 M/H 프레임의 3,4,5번째 서브 프레임의 값들은 네 번째 이후 M/H 프레임에 대응한다. For example, if Parade_repetition_cycle = '000', the values of the third, fourth, and fifth subframes of the current M / H frame correspond to the next M / H frame. If Parade_repetition_cycle = '011', the values of the third, fourth, and fifth subframes of the current M / H frame correspond to the fourth and subsequent M / H frames.

상기 FIC_version와 FIC_data는 현재 M/H 프레임의 1,2번째 서브 프레임 동안에 현재 M/H 프레임에 적용되는 값을 갖는다. 그리고 상기 FIC_version와 FIC_data는 현재 M/H 프레임의 3,4,5번째 서브 프레임 동안에 바로 다음 M/H 프레임에 적용되는 값을 갖는다(FIC_version and FIC_data shall have values that apply to the current M/H Frame during the 1st Sub-Frame and the 2nd Sub-Frame, and they shall have value s corresponding to the immediately following M/H Frame during the 3rd, 4th and 5th Sub-Frames of the current M/H Frame.). The FIC_version and FIC_data have a value applied to the current M / H frame during the first and second subframes of the current M / H frame. The FIC_version and FIC_data have a value applied to the next M / H frame during the 3rd, 4th, and 5th subframes of the current M / H frame (FIC_version and FIC_data shall have values that apply to the current M / H Frame during the 1 st Sub-Frame and the 2 nd Sub-Frame, and they shall have value s corresponding to the immediately following M / H Frame during the 3 rd , 4 th and 5 th Sub-Frames of the current M / H Frame.).

한편 수신 시스템에서는 원하는 퍼레이드의 데이터 그룹이 할당된 구간에서만 전원을 온시켜 데이터를 수신하고 그 외 구간에서는 전원을 오프시키도록 함으로써, 수신 시스템의 소모 전력을 줄일 수가 있다. 이러한 특성은 전력 소모가 적어야하는 휴대용 수신기에서 특히 유용하다. 예를 들어, 하나의 M/H 프레임에 NOG가 3인 제1 퍼레이드, NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 37과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 수신 시스템에서는 도 37 과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서 전원을 온 시키고, 나머지 슬롯에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다. 이때 수신을 원하는 실제 데이터 그룹이 할당된 슬롯보다 조금 일찍 전원을 온 시킬 필요가 있는데 이는 튜너나 복조기(demodulator)가 미리 수렴하도록 하기 위함이다. On the other hand, the receiving system can reduce power consumption of the receiving system by turning on the power only in a section to which a data group of a desired parade is allocated to receive data and turning off the power in other sections. This feature is particularly useful in portable receivers that require low power consumption. For example, assume that data groups of the first parade with NOG 3, the second parade with NOG 2, and the third parade with NOG 2 are allocated to one M / H frame as shown in FIG. 37. In addition, it is assumed that the user selects the mobile service included in the first parade through a remote controller or a keypad provided in the terminal. In this case, the power consumption can be reduced by turning on the power in the slot to which the data group of the first parade is allocated and turning off the power in the remaining slots as shown in FIG. 37. In this case, the actual data group to be received needs to be powered on a little earlier than the allocated slot so that the tuner or demodulator converges in advance.

기지 데이터(Known data ( knownknown datadata oror trainingtraining signalsignal ) 영역 할당Zone allocation

상기 송신 시스템은 길고 규칙적인 길이의 트레이닝 시퀀스를 각 데이터 그룹에 삽입한다. 각 데이터 그룹은 6개의 트레이닝 시퀀스를 포함하는 것을 일 실시예로 한다. 상기 트레이닝 시퀀스들은 트렐리스 부호화 전에 특정화된다(specified). 상기 트레이닝 시퀀스는 트렐리스 부호화되고, 트렐리스 부호화된 시퀀스들은 기지 데이터 시퀀스가 된다. 이는 상기 트렐리스 부호기의 메모리들이 각 시퀀스의 시작 위치에시 기 설정된 값들에 따라 초기화되기 때문이다. 도 38은 트렐리스 부호화되기 전 바이트 레벨에서 6개의 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 38은 그룹 포맷터(303)에서 수행된 트레이닝 시퀀스의 배열 예이다. The transmission system inserts a long, regular length of training sequence into each data group. In one embodiment, each data group includes six training sequences. The training sequences are specified before trellis coding. The training sequence is trellis coded, and the trellis coded sequences become known data sequences. This is because the memories of the trellis encoder are initialized according to the values set at the beginning of each sequence. 38 shows an example of inserting six training sequences at the byte level before trellis coding. 38 is an example of the arrangement of training sequences performed in the group formatter 303.

제1 트레이닝 시퀀스는 M/H 블록 B3의 마지막 2 세그먼트에 삽입된다.  제2 트레이닝 시퀀스는 M/H 블록 B4의 두 번째와 세 번째 세그먼트에 삽입된다. 상기 제2 트레이닝 시퀀스는 도 5에서와 같이 시그널링 정보 영역 다음이다. 제3 내지 제6 트레이닝 시퀀스는 M/H 블록 B4,B5,B6, B7의 마지막 2 세그먼트에 각각 삽입된다. The first training sequence is inserted into the last two segments of M / H block B3. The second training sequence is inserted into the second and third segments of the M / H block B4. The second training sequence is next to the signaling information region as shown in FIG. 5. The third to sixth training sequences are inserted into the last two segments of the M / H blocks B4, B5, B6 and B7, respectively.

도 38 에서와 같이, 상기 제1, 제3 내지 제 6 트레이닝 시퀀스는 16 세그먼트만큼 떨어져있다.  도 38 에서, 도트된 영역(dotted area)은 트렐리스 데이터 바이트를 지시하고, 줄을 친 영역(lined area)은 트레이닝 데이터 바이트를 지시한다. 그리고 하얀 영역(white area)은 FEC 부호화된 모바일 서비스 데이터 바이트 또는 더미 데이터 바이트와 같은 다른 데이터를 지시한다. As in FIG. 38, the first, third to sixth training sequences are spaced 16 segments apart. In FIG. 38, a dotted area indicates a trellis data byte, and a lined area indicates a training data byte. And the white area indicates other data, such as FEC encoded mobile service data bytes or dummy data bytes.

도 39는 트렐리스 부호기에 의해 트레리스 부호화된 후 심볼 레벨에서 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 39에서, 도트된 영역은 세그먼트 동기 심볼을 지시하고, 줄을 친 영역은 트레이닝 데이터 심볼들을 지시한다. 그리고 하얀 영역은 FEC 부호화된 모바일 서비스 데이터 심볼들, FEC 부호화된 시그널링 데이터 심볼들, 메인 서비스 데이터 심볼들, RS 패리티 데이터 심볼들, 더미 데이터 심볼들, 트렐리스 초기화 심볼들 및/또는 초기 트레이닝 시퀀스 데이터 심볼들과 같은 다른 데이터 심볼을 지시한다. 39 shows an example of inserting training sequences at a symbol level after trellis coding by a trellis encoder. In FIG. 39, a dotted area indicates a segment sync symbol, and a lined area indicates training data symbols. And the white area is for FEC coded mobile service data symbols, FEC coded signaling data symbols, main service data symbols, RS parity data symbols, dummy data symbols, trellis initialization symbols and / or initial training sequence. Indicates other data symbols, such as data symbols.

상기 트렐리스 부호화 후에, 제1, 제3, 제4, 제5, 제6 트레이닝 시퀀스의 마지막 1416(=588+828) 심볼들은 통상 동일한 데이터 패턴을 가질 수 있다. After the trellis coding, the last 1416 (= 588 + 828) symbols of the first, third, fourth, fifth, and sixth training sequences may normally have the same data pattern.

상기 제2 트레이닝 시퀀스는 처음 528-심볼 시퀀스와 두 번재 528-심볼 시퀀스를 가질 수 있으며, 두 시퀀스는 동일한 패턴이다. 즉, 상기 528-심볼 시퀀스는 4-심볼 데이터 세그먼트 동기 신호 후에 반복된다. 그리고 각 트레이닝 시퀀스의 끝에서, 12개의 트렐리스 부호기의 메모리 값은 0으로 리셋된다. The second training sequence may have a first 528-symbol sequence and a second 528-symbol sequence, the two sequences being the same pattern. That is, the 528-symbol sequence is repeated after the 4-symbol data segment sync signal. And at the end of each training sequence, the memory values of the 12 trellis encoders are reset to zero.

수신 시스템Receiving system

도 40은 본 발명의 일 실시예에 따른 수신 시스템의 구성 블록도이다. 40 is a block diagram illustrating a receiving system according to an embodiment of the present invention.

도 40 의 수신 시스템은 튜너(1301), 복조부(1302), 역다중화기(1303), 프로그램 테이블 버퍼(1304), 프로그램 테이블 복호기(1305), 프로그램 테이블 저장부(1306), 데이터 핸들러(data handler)(1307), 미들웨어 엔진(1308), A/V 복호기(1311), A/V 후처리기(post processor)(1310), 어플리케이션 매니저(1313), 및 유저 인터페이스(1314)를 포함할 수 있다. 상기 어플리케이션 매니저(1313)는 채널 매니저(1312), 및 서비스 매니저(1313)를 포함할 수 있다. The receiving system of FIG. 40 includes a tuner 1301, a demodulator 1302, a demultiplexer 1303, a program table buffer 1304, a program table decoder 1305, a program table storage 1306, and a data handler. 1307, middleware engine 1308, A / V decoder 1311, A / V post processor 1310, application manager 1313, and user interface 1314. The application manager 1313 may include a channel manager 1312 and a service manager 1313.

도 40 에서 데이터의 흐름은 실선으로 표시하고, 제어(control)의 흐름은 점선으로 표시하고 있다. In FIG. 40, the flow of data is indicated by a solid line, and the flow of control is indicated by a dotted line.

상기 튜너(1301)는 안테나, 케이블, 위성 중 어느 하나를 통해 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조부(1302)로 출력한다. 이때 상기 튜너(1301)는 어플리케이션 매니저(1313) 내 채널 매니저(1312)의 제어를 받으며, 또한 튜닝되는 채널의 방송 신호의 결과(result)와 강도(strength)를 상기 채널 매니저(1312)에 보고한다. 상기 특정 채널의 주파수로 수신되는 데이터는 메인 서비스 데이터, 모바일 서비스 데이터, 상기 메인 서비스 데이터와 모바일 서비스 데이터의 복호(decoding)를 위한 프로그램 테이블 정보 데이터, 전송 파라미터 등이 있다. The tuner 1301 tunes the frequency of a specific channel through any one of an antenna, a cable, and a satellite to down-convert to an intermediate frequency (IF) signal and outputs the demodulator 1302. At this time, the tuner 1301 is controlled by the channel manager 1312 in the application manager 1313 and also reports the result and strength of the broadcast signal of the channel being tuned to the channel manager 1312. . The data received at the frequency of the specific channel includes main service data, mobile service data, program table information data for decoding of the main service data and mobile service data, and transmission parameters.

상기 복조부(1302)는 상기 튜너(1301)에서 출력되는 신호에 대해 VSB 복조, 채널 등화 등을 수행하고 메인 서비스 데이터와 모바일 서비스 데이터로 구분하여 출력한다. 상기 복조부(1302)는 뒤에서 상세히 설명하기로 한다.The demodulator 1302 performs VSB demodulation, channel equalization, etc. on the signal output from the tuner 1301, and outputs the main service data and the mobile service data. The demodulator 1302 will be described in detail later.

한편, 송신기에서는 시그널링 정보 영역, 필드 동기 영역, 기지 데이터 영역, 및 모바일 서비스 데이터 영역 중 적어도 하나의 영역에 전송 파라미터를 포함하는 시그널링 정보(또는 TPC 정보)를 삽입하여 전송할 수 있다. 따라서 상기 복조부(1302)에서는 시그널링 정보 영역, 필드 동기 영역, 기지 데이터 영역, 및 모바일 서비스 데이터 영역 중 적어도 하나의 영역으로부터 전송 파라미터를 추출할 수 있다.  Meanwhile, the transmitter may insert and transmit signaling information (or TPC information) including a transmission parameter in at least one of the signaling information area, the field synchronization area, the known data area, and the mobile service data area. Accordingly, the demodulator 1302 can extract a transmission parameter from at least one of a signaling information area, a field synchronization area, a known data area, and a mobile service data area.

상기 전송 파라미터는 M/H 프레임 정보, 서브 프레임 정보, 슬롯 정보, 퍼레이드 관련 정보(예를 들어 퍼레이드 ID, 퍼레이드 반복 주기 등), 서브 프레임 내 데이터 그룹 정보, RS 프레임 모드 정보, RS 코드 모드 정보, SCCC 블록 정보, SCCC 아웃터 코드 모드 정보, FIC 버전 정보 등을 포함할 수 있다. The transmission parameters include M / H frame information, subframe information, slot information, parade related information (for example, parade ID, parade repetition period, etc.), data group information in subframe, RS frame mode information, RS code mode information, SCCC block information, SCCC outer code mode information, FIC version information, and the like may be included.

상기 복조부(1302)는 추출된 전송 파라미터를 이용하여 블록 복호, RS 프레임 복호 등을 수행한다. 예를 들어, 전송 파라미터 내 SCCC 관련 정보(예를 들면, SCCC 블록 정보, SCCC 아웃터 코드 모드)를 참조하여 데이터 그룹 내 각 영역의 블록 복호를 수행하고, RS 관련 정보(예를 들어, RS 코드 모드)를 참조하여 데이터 그룹 내 각 영역의 RS 프레임 복호를 수행한다. The demodulator 1302 performs block decoding, RS frame decoding, etc. using the extracted transmission parameters. For example, referring to SCCC related information (eg, SCCC block information, SCCC outer code mode) in a transmission parameter, block decoding of each area in the data group is performed, and RS related information (eg, RS code mode). RS frame decoding of each region in the data group is performed with reference to.

본 발명에서는 상기 복조부(1302)에서 복조된 모바일 서비스 데이터를 포함하는 RS 프레임이 역다중화기(1303)로 입력되는 것을 일 실시예로 설명한다. In the present invention, an RS frame including the mobile service data demodulated by the demodulator 1302 is input to the demultiplexer 1303 according to an embodiment.

즉, 상기 역다중화기(1303)로 입력되는 데이터는 도 17의 (a)나 (b) 와 같은 RS 프레임 데이터 형태이다. 다시 말해, 상기 복조부(1302) 내 RS 프레임 복호기에서는 송신 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한 후 데이터 디랜더마이저로 출력한다. 상기 데이터 디랜더마이저에서 에러 정정된 RS 프레임에 대해 송신 시스템의 역과정으로 디랜더마이징을 수행하게 되면, 도 17의 (a)나 (b) 와 같은 RS 프레임을 얻게 된다. That is, the data input to the demultiplexer 1303 is in the form of RS frame data as shown in FIGS. 17A and 17B. In other words, the RS frame decoder in the demodulator 1302 performs an inverse process in the RS frame encoder of the transmission system, corrects errors in the RS frame, and outputs the errors in the RS. When de-rendering is performed in the reverse process of the transmission system with respect to an error-corrected RS frame in the data derandomizer, an RS frame such as (a) or (b) of FIG. 17 is obtained.

상기 역다중화기(1303)는 모든 퍼레이드의 RS 프레임을 입력받을 수도 있고, 전원 제어에 의해 수신을 원하는 모바일 서비스를 포함하는 퍼레이드의 RS 프레임만 입력받을 수도 있다. 예를 들어, 상기 역다중화기(1303)는 모든 퍼레이드의 RS 프레임을 입력받는다면, parade_id를 이용하여 수신을 원하는 모바일 서비스를 포함하는 퍼레이드를 역다중화할 수 있다. The demultiplexer 1303 may receive RS frames of all parades or may receive only RS frames of a parade including a mobile service desired to be received by power control. For example, if the demultiplexer 1303 receives the RS frames of all parades, the demultiplexer 1303 may demultiplex a parade including a mobile service to be received using parade_id.

또한 하나의 퍼레이드는 하나나 두개의 RS 프레임을 전송하고, 하나의 앙상블은 하나의 RS 프레임에 매핑되므로, 하나의 퍼레이드가 두개의 RS 프레임을 전송한다면 상기 역다중화기(1303)는 수신을 원하는 모바일 서비스를 포함하는 퍼레이드로부터 복호될 모바일 서비스 데이터를 포함하는 앙상블을 전송하는 RS 프레임을 구분할 필요가 있다. 즉, 상기 역다중화기(1303)는 입력된 하나의 퍼레이드 또는 복수개의 퍼레이드 중 역다중화된 퍼레이드가 프라이머리 앙상블과 세컨더리 앙상블을 전송한다면, 이 중 하나를 선택한다. In addition, since one parade transmits one or two RS frames and one ensemble is mapped to one RS frame, the demultiplexer 1303 may receive a mobile service if one parade transmits two RS frames. It is necessary to distinguish an RS frame for transmitting an ensemble including mobile service data to be decoded from a parade including a. That is, the demultiplexer 1303 selects one of the inputted parade or a plurality of parade if the demultiplexed parade transmits the primary ensemble and the secondary ensemble.

일 실시예로, 상기 역다중화기(1303)는 상기 parade_id의 왼쪽에 한 비트를 추가하여 만든 ensemble_id를 이용하여 복호될 모바일 서비스 데이터를 포함하는 앙상블을 전송하는 RS 프레임을 역다중화할 수 있다. In one embodiment, the demultiplexer 1303 may demultiplex an RS frame that transmits an ensemble including mobile service data to be decoded by using an ensemble_id created by adding one bit to the left side of the parade_id.

상기 역다중화기(1303)는 복호될 모바일 서비스 데이터를 포함하는 앙상블에 대응하는 RS 프레임 내 M/H 서비스 데이터 패킷의 M/H 헤더를 참조하여 해당 M/H 서비스 데이터 패킷이 프로그램 테이블 정보인지, 모바일 서비스 데이터의 IP 데이터그램인지를 구분할 수 있다. 또는 프로그램 테이블 정보와 모바일 서비스 데이터가 모두 IP 데이터그램 형태라면, IP 어드레스를 이용하여 프로그램 테이블 정보와 모바일 서비스 데이터의 IP 데이터그램을 구분할 수도 있다. The demultiplexer 1303 refers to the M / H header of the M / H service data packet in the RS frame corresponding to the ensemble containing the mobile service data to be decoded, and determines whether the corresponding M / H service data packet is program table information. It can be identified whether it is an IP datagram of service data. Alternatively, if both the program table information and the mobile service data are in the form of IP datagrams, the IP datagrams of the program table information and the mobile service data may be distinguished using an IP address.

이때 구분된 프로그램 테이블 정보는 프로그램 테이블 버퍼(1304)로 출력한다. 그리고 구분된 모바일 서비스 데이터의 IP 데이터그램 중 수신을 원하는 모바일 서비스 데이터의 IP 데이터그램으로부터 오디오/비디오/데이터 스트림을 분리하여 A/V 복호기(1309) 및/또는 데이터 핸들러(1307)로 각각 출력한다.In this case, the divided program table information is output to the program table buffer 1304. The audio / video / data streams are separated from the IP datagrams of the mobile service data to be received among the separated IP datagrams of the mobile service data and output to the A / V decoder 1309 and / or the data handler 1307, respectively. .

이때 상기 역다중화기(1303)는 M/H 서비스 데이터 패킷의 M/H 헤더 내 stuff_indicator 필드가 해당 M/H 서비스 데이터 패킷의 페이로드에 스터핑 바이트가 삽입되어 있음을 표시하면, 해당 M/H 서비스 데이터 패킷의 페이로드로부터 스터핑 바이트를 제거한 후 프로그램 테이블 정보와 모바일 서비스 데이터를 구분하고, 구분된 모바일 서비스 데이터로부터 A/V/D를 구분하는 것을 일 실시예로 한다. At this time, the demultiplexer 1303 indicates that the stuff_indicator field in the M / H header of the M / H service data packet indicates that a stuffing byte is inserted into the payload of the corresponding M / H service data packet. According to an embodiment of the present invention, after removing the stuffing byte from the payload of the packet, program table information and mobile service data are distinguished, and A / V / D is classified from the separated mobile service data.

상기 프로그램 테이블 버퍼(1304)는 섹션 형태의 프로그램 테이블 정보를 일시 저장한 후 프로그램 테이블 복호기(1305)로 출력한다. The program table buffer 1304 temporarily stores program table information in a section form and outputs the program table decoder 1305 to the program table decoder 1305.

상기 프로그램 테이블 복호기(1305)는 프로그램 테이블 정보 내 table id와 section length를 이용해서 테이블들을 구분한 후, 구분된 테이블들의 섹션을 파싱하고 파싱 결과를 프로그램 테이블 저장부(1306)에 데이터베이스화한다. 일 예로, 상기 프로그램 테이블 복호기(1305)는 동일한 테이블 식별자(table_id)를 갖는 섹션들을 모아 테이블을 구성하여 파싱하고, 파싱 결과를 프로그램 테이블 저장부(1306)에 데이터베이스화한다. The program table decoder 1305 classifies the tables using the table id and the section length in the program table information. The program table decoder 1305 parses the sections of the divided tables and databases the parsing results in the program table storage unit 1306. As an example, the program table decoder 1305 collects sections having the same table identifier (table_id), constructs a table, parses the database, and stores the parsing result in the program table storage unit 1306.

상기 A/V 복호기(1309)는 상기 역다중화기(1303)에서 출력되는 오디오, 비디오 스트림을 각각의 복호 알고리즘을 통해 복호한 후 A/V 후처리기(1310)로 출력한다. 일 예로, 오디오 복호 알고리즘은 AC-3 복호 알고리즘, MPEG 2 audio 복호 알고리즘, MPEG 4 audio 복호 알고리즘, AAC 복호 알고리즘, AAC+ 복호 알고리즘, HE AAC 복호 알고리즘, AAC SBR 복호 알고리즘, MPEG surround 복호 알고리즘, BSAC 복호 알고리즘 중 적어도 하나를 적용하고, 비디오 복호 알고리즘은 MPEG 2 video 복호 알고리즘, MPEG 4 video 복호 알고리즘, H.264 복호 알고리즘, SVC 복호 알고리즘, VC-1 복호 알고리즘 중 적어도 하나를 적용할 수 있다. The A / V decoder 1309 decodes the audio and video streams output from the demultiplexer 1303 through respective decoding algorithms, and outputs the decoded audio and video streams to the A / V postprocessor 1310. For example, the audio decoding algorithm may include an AC-3 decoding algorithm, an MPEG 2 audio decoding algorithm, an MPEG 4 audio decoding algorithm, an AAC decoding algorithm, an AAC + decoding algorithm, an HE AAC decoding algorithm, an AAC SBR decoding algorithm, an MPEG surround decoding algorithm, and a BSAC decoding. At least one of the algorithm may be applied, and the video decoding algorithm may apply at least one of the MPEG 2 video decoding algorithm, the MPEG 4 video decoding algorithm, the H.264 decoding algorithm, the SVC decoding algorithm, and the VC-1 decoding algorithm.

상기 데이터 핸들러(1307)는 역다중화기(1303)에서 구분된 데이터 스트림 패킷 중에서 데이터 방송에 필요한 데이터 스트림 패킷들을 처리한 후 미들웨어 엔진(1308)을 통해 A/V 데이터와 혼합되도록 한다. 상기 미들웨어 엔진(1308)은 자바(JAVA) 미들웨어 엔진인 것을 일 실시예로 한다.The data handler 1307 processes the data stream packets necessary for data broadcasting among the data stream packets separated by the demultiplexer 1303 and then mixes the A / V data through the middleware engine 1308. In an embodiment, the middleware engine 1308 is a JAVA middleware engine.

상기 어플리케이션 매니저(1311)는 유저 인터페이스(UI)를 통해 TV 시청자의 키 입력을 받아 TV 화면 상의 그래픽 유저 인터페이스(GUI)로 시청자 요구에 응한다. 또한 TV 전체의 GUI 제어, 유저 요구 및 TV 시스템 상태를 메모리(예, NVRAM or Flash)에 저장 및 복원한다. 또한 상기 어플리케이션 매니저(1311)는 복조부(1302)로부터 퍼레이드 관련 정보 예를 들어, parade_id를 입력받아 필요한 모바일 서비스가 존재하는 퍼레이드의 RS 프레임을 선택하도록 역다중화기(1303)를 제어할 수 있다. 또한 ensemble_id를 입력받아 상기 퍼레이드로부터 복호할 모바일 서비스 데이터를 포함하는 앙상블의 RS 프레임을 선택하도록 역다중화기(1303)를 제어할 수 있다. 그리고 채널 매니저(1312)를 제어하여 채널 관련 운영(채널 MAP 관리 및 프로그램 테이블 복호기 운영)을 시킨다. The application manager 1311 receives a key input of a TV viewer through a user interface (UI) and responds to a viewer's request with a graphical user interface (GUI) on a TV screen. It also saves and restores the GUI control, user requests and TV system state of the entire TV in memory (e.g. NVRAM or Flash). In addition, the application manager 1311 may control the demultiplexer 1303 to receive parade-related information, for example, parade_id from the demodulator 1302, and select an RS frame of a parade in which a required mobile service exists. In addition, the demultiplexer 1303 may be controlled to receive an ensemble_id and select an RS frame of an ensemble including mobile service data to be decoded from the parade. The channel manager 1312 is controlled to perform channel related operations (channel MAP management and program table decoder operation).

상기 채널 매니저(1312)는 물리적 채널 및 논리적 채널 맵을 관리하고, 튜너(1301)와 프로그램 테이블 복호기(1305)를 제어하여 시청자의 채널 요구에 응한다. 또한 프로그램 테이블 복호기(1305)에 튜닝할 채널의 채널 관련 테이블의 파싱 요구 및 결과를 받는다. The channel manager 1312 manages a physical channel and a logical channel map, and controls a tuner 1301 and a program table decoder 1305 to respond to a viewer's channel request. Also, the program table decoder 1305 receives a parsing request and a result of a channel related table of a channel to be tuned.

수신 시스템 내 Within the receiving system 복조부Demodulator

도 41은 본 발명에 따른 수신 시스템 내 복조부의 일 실시예를 보인 구성 블록도이다. 도 41 의 복조부에서는 송신 시스템에서 모바일 서비스 데이터 구간에 삽입하여 전송하는 기지 데이터 정보를 이용하여 반송파 동기 복원, 프레임 동기 복원 및 채널 등화 등을 수행함으로써, 수신 성능을 향상시킬 수 있다. 또한 복조부에서는 수신을 원하는 모바일 서비스를 포함하는 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온함으로써, 수신 시스템의 소모 전력을 줄일 수 있다. FIG. 41 is a block diagram illustrating an embodiment of a demodulator in a reception system according to the present invention. FIG. In the demodulation unit of FIG. 41, the reception performance can be improved by performing carrier synchronization recovery, frame synchronization recovery, channel equalization, etc. using known data information inserted and transmitted in a mobile service data section by a transmission system. In addition, the demodulator may reduce power consumption of the reception system by turning on the power only in the slot to which the data group of the parade including the mobile service desired to be received is allocated.

이를 위한 본 발명에 따른 복조부는 오프레이션 제어기(2000), 복조기(2002), 등화기(2003), 기지 데이터 검출기(2004), 블록 복호기(2005), 및 RS 프레임 복호기(2006)을 포함할 수 있다. 상기 복조부는 메인 서비스 데이터 처리부(2008)를 더 포함할 수 있다. 상기 메인 서비스 데이터 처리부는 데이터 디인터리버, RS 복호기, 및 데이터 디랜더마이저를 포함할 수 있다. 상기 복조부는 시그널링 복호부(2013)를 더 포함할 수 있다. 또한 수신 시스템은 복조부의 전원 공급을 제어하는 전원 제어기(5000)를 더 포함할 수 있다. The demodulator according to the present invention may include an operation controller 2000, a demodulator 2002, an equalizer 2003, a known data detector 2004, a block decoder 2005, and an RS frame decoder 2006. have. The demodulator may further include a main service data processor 2008. The main service data processor may include a data deinterleaver, an RS decoder, and a data derandomizer. The demodulator may further include a signaling decoder 2013. In addition, the receiving system may further include a power controller 5000 for controlling the power supply of the demodulator.

즉, 튜너를 통해 튜닝된 특정 채널의 주파수는 중간 주파수(IF) 신호로 다운 컨버전되고, 다운 컨버전된 데이터(2001)는 복조기(2002)와 기지 데이터 검출기(2004)로 출력한다. 이때 다운 컨버전된 데이터(2001)는 통과대역의 아날로그 IF 신호를 디지털 IF 신호로 변환하는 아날로그/디지털 변환기(Analog/Digital Converter ; ADC, 도시되지 않음)을 거쳐 복조기(2002)와 기지 데이터 검출기(2004)로 입력되는 것을 일 실시예로 한다. That is, the frequency of a specific channel tuned through the tuner is down converted to an intermediate frequency (IF) signal, and the down converted data 2001 is output to the demodulator 2002 and the known data detector 2004. The down-converted data 2001 is a demodulator 2002 and a known data detector 2004 through an analog / digital converter (ADC, not shown) which converts an analog IF signal of a passband into a digital IF signal. In an embodiment, the input is performed by

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

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

이때 상기 기지 데이터 검출기(2004)는 상기 복조기(2002)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 일부 이루어진 데이터로부터 송신측에서 삽입한 기지 데이터 위치를 검출하고 위치 정보와 함께 그 위치에서 발생시킨 기지 데이터의 심볼 열(sequence)을 복조기(2002), 등화기(2003), 시그널링 복호기(2013), 및 오퍼레이션 제어기(2000)로 출력한다. 또한 상기 기지 데이터 검출기(2004)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 상기 블록 복호기(2005)에 의해서 구분할 수 있도록 하기 위한 정보를 상기 블록 복호기(2005)로 출력한다. At this time, the known data detector 2004 detects the known data position inserted by the transmitting side from the input / output data of the demodulator 2002, that is, the data before the demodulation is performed or the data which has been partially demodulated, A symbol sequence of known data generated at the position is output to the demodulator 2002, the equalizer 2003, the signaling decoder 2013, and the operation controller 2000. In addition, the known data detector 2004 may provide information for allowing the transmitting decoder to distinguish mobile service data that has undergone additional encoding and main service data that does not undergo additional encoding by the block decoder 2005. Will output

그리고 도 41 의 도면에서 연결 상태를 도시하지는 않았지만 상기 기지 데이터 검출기(2004)에서 검출된 정보는 수신 시스템에 전반적으로 사용이 가능하며, RS 프레임 복호기(2006) 등에서 사용할 수도 있다. Although the connection state is not illustrated in the diagram of FIG. 41, the information detected by the known data detector 2004 may be used in the reception system as a whole and may be used in the RS frame decoder 2006.

상기 복조기(2002)에서 복조된 데이터 또는 등화기(2003)에서 채널 등화된 데이터도 시그널링 복호부(2013)로 입력된다. 또한 기지 데이터 검출기(2004)에서 검출된 기지 데이터 위치 정보도 시그널링 복호부(2013)로 입력된다. Data demodulated by the demodulator 2002 or channel equalized data by the equalizer 2003 are also input to the signaling decoder 2013. In addition, the known data position information detected by the known data detector 2004 is also input to the signaling decoder 2013.

상기 시그널링 복호부(2013)는 입력되는 데이터로부터 송신측에서 삽입하여 전송한 시그널링 정보(예를 들어, TPC 정보)를 추출하여 복호한 후, 복호된 시그널링 정보를 필요한 블록으로 제공한다. The signaling decoder 2013 extracts and decodes the signaling information (for example, TPC information) inserted and transmitted by the transmitter from the input data, and provides the decoded signaling information as a necessary block.

즉, 상기 시그널링 복호기(2013)는 상기 등화된 데이터로부터 송신측에서 삽입하여 전송한 TPC 데이터와 FIC 데이터를 추출하고 복호하여 Operation Controller(2000), 기지 데이터 검출기(2004), 전원 제어기(5000)로 출력한다. 일 예로, 상기TPC 데이터와 FIC 데이터는 각 데이터 그룹의 시그널링 정보 영역에 삽입되어 수신된다. That is, the signaling decoder 2013 extracts and decodes the TPC data and the FIC data inserted and transmitted by the transmitter from the equalized data to the operation controller 2000, the known data detector 2004, and the power controller 5000. Output For example, the TPC data and the FIC data are inserted and received in the signaling information region of each data group.

상기 시그널링 복호기(2013)는 도 34의 시그널링 부호기의 역과정으로 시그널링 복호를 수행하여 TPC 데이터와 FIC 데이터를 추출한다. 예를 들어, 입력되는 데이터를 PCCC 방식으로 복호하고, 디랜더마이징을 수행한 후 TPC 데이터와 FIC 데이터로 분리한다. 이때 분리된 TPC 데이터에 RS 복호를 수행하여 상기 TPC에 발생된 에러를 정정한다. 그리고, 상기 분리된 FIC 데이터에 대해 디인터리빙을 수행한 후 RS 복호를 수행하여 상기 FIC 데이터에 발생된 에러를 정정한다. 상기 에러 정정된 TPC 데이터가 Operation Controller(2000), 기지 데이터 검출기(2004), 전원 제어기(5000)로 출력된다.The signaling decoder 2013 performs signaling decoding in a reverse process of the signaling encoder of FIG. 34 to extract TPC data and FIC data. For example, the input data is decoded by the PCCC scheme, de-randomized, and separated into TPC data and FIC data. In this case, RS decoding is performed on the separated TPC data to correct an error generated in the TPC. After the deinterleaving is performed on the separated FIC data, RS decoding is performed to correct an error generated in the FIC data. The error corrected TPC data is output to the operation controller 2000, the known data detector 2004, and the power controller 5000.

상기 TPC 데이터는 서비스 다중화기(100)에서 OM 패킷의 페이로드 영역에 삽입하여 송신기(200)로 전송한 전송 파라미터를 포함할 수 있다. The TPC data may include a transmission parameter transmitted by the service multiplexer 100 to the transmitter 200 by inserting the payload region of the OM packet.

여기서 TPC 데이터는 도 35에서와 같이 RS 프레임 정보, SCCC 정보, M/H 프레임 정보 등을 포하할 수 있다. 상기 RS 프레임 정보는 RS 프레임 모드 정보와 RS 코드 모드 정보를 포함할 수 있다. 상기 SCCC 정보는 SCCC 블록 모드 정보와 SCCC 아웃터 코드 모드 정보를 포함할 수 있다. 상기 M/H 프레임 정보는 M/H 프레임 인덱스 정보를 포함할 수 있다. 또한 상기 TPC 데이터는 서브 프레임 카운트 정보, 슬롯 카운트 정보, parade_id 정보, SGN 정보, NOG 정보 등을 포함할 수 있다.Here, the TPC data may include RS frame information, SCCC information, M / H frame information, and the like as shown in FIG. 35. The RS frame information may include RS frame mode information and RS code mode information. The SCCC information may include SCCC block mode information and SCCC outer code mode information. The M / H frame information may include M / H frame index information. The TPC data may include subframe count information, slot count information, parade_id information, SGN information, NOG information, and the like.

이때 상기 기지 데이터 검출기(2004)에서 출력되는 기지 데이터 정보를 이용하면 데이터 그룹 내 시그널링 정보 영역을 알 수 있다. 즉, 제1 기지 데이터 열(sequence)(또는 트레이닝 시퀀스라 함)은 데이터 그룹 내 M/H 블록 B3의 마지막 2 세그먼트에 삽입되고, 제2 기지 데이터 열은 M/H 블록 B4의 두 번째와 세 번째 세그먼트 사이에 삽입된다. 이때 제2 기지 데이터 열은 시그널링 정보 영역 다음에 삽입되어 수신되므로, 상기 시그널링 복호부(2013)는 복조기(2002) 또는 채널 등화기(2003)에서 출력되는 데이터로부터 시그널링 정보 영역의 시그널링 정보를 추출하여 복호할 수 있다. In this case, if the known data information output from the known data detector 2004 is used, the signaling information region in the data group can be known. That is, the first known data sequence (or training sequence) is inserted into the last two segments of M / H block B3 in the data group, and the second known data column is inserted into the second and three of the M / H block B4. Is inserted between the first segment. In this case, since the second known data stream is inserted and received after the signaling information area, the signaling decoder 2013 extracts signaling information of the signaling information area from data output from the demodulator 2002 or the channel equalizer 2003. It can be decoded.

상기 전원 제어기(5000)는 시그널링 복호부(2013)로부터 M/H 프레임 관련 정보를 입력받아 튜너 및 복조부의 전원을 제어한다. 상기 전원 제어기(5000)는 오퍼레이션 제어기(2000)로부터 전력 제어 정보를 입력받아 튜너 및 복조부의 전원을 제어할 수도 있다.The power controller 5000 receives M / H frame related information from the signaling decoder 2013 to control power of the tuner and the demodulator. The power controller 5000 may control the power of the tuner and the demodulator by receiving power control information from the operation controller 2000.

상기 전원 제어기(5000)는 유저가 원하는 모바일 서비스를 포함하는 퍼레이드의 데이터 그룹이 할당된 슬롯에서 전원을 온시켜 데이터를 수신하고 그 외 슬롯에서는 전원을 오프시키는 것을 일 실시예로 한다. According to an embodiment of the present invention, the power controller 5000 receives data by turning on power in a slot to which a data group of a parade including a mobile service desired by a user is allocated, and turns off power in other slots.

예를 들어, 하나의 M/H 프레임에 NOG가 3인 제1 퍼레이드와 NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 37과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 전원 제어기(5000)에서는 도 37과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서 전원을 온 시키고, 나머지 구간에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다. 이때 수신을 원하는 실제 데이터 그룹이 할당된 슬롯보다 조금 일찍 전원을 온 시킬 필요가 있는데 이는 튜너나 복조기(demodulator)가 미리 수렴하도록 하기 위함이다.For example, assume that data groups of the first parade having NOG 3, the second parade having NOG 2, and the third parade having NOG 2 are allocated to one M / H frame as shown in FIG. 37. In addition, it is assumed that the user selects the mobile service included in the first parade through a remote controller or a keypad provided in the terminal. In this case, the power controller 5000 may reduce power consumption by turning on the power in the slot to which the data group of the first parade is allocated as shown in FIG. 37 and turning off the power in the remaining sections. In this case, the actual data group to be received needs to be powered on a little earlier than the allocated slot so that the tuner or demodulator converges in advance.

상기 복조기(2002)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 심볼열을 이용함으로써, 복조 성능을 향상시킬 수 있고, 등화기(2003)에서도 마찬가지로 상기 기지 데이터를 사용하여 등화 성능을 향상시킬 수 있다. 또한 상기 블록 복호기(2005)의 복호 결과를 상기 등화기(2003)로 피드백하여 등화 성능을 향상시킬 수도 있다. The demodulator 2002 can improve the demodulation performance by using the known data symbol string at the time of timing recovery or carrier recovery, and the equalization performance can be improved using the known data in the equalizer 2003 as well. . In addition, the equalization performance may be improved by feeding back the decoding result of the block decoder 2005 to the equalizer 2003.

복조기 및 기지 데이터 검출기Demodulator and known data detector

이때, 수신 시스템에서는 도 5와 같이 기지 데이터 열이 주기적으로 삽입된 데이터 그룹을 포함하는 데이터 프레임(or VSB frame)을 수신할 수 있다. 상기 데이터 그룹은 도 5와 같이 A 내지 D 영역으로 구분되고, A 영역은 M/H 블록 B4 내지 M/H 블록 B7을, B 영역은 M/H 블록 B3 과 M/H 블록 B8을, C 영역은 M/H 블록 B2과 M/H 블록 B9을, D 영역은 M/H 블록 B1과 M/H 블록 B10을 포함하는 것을 일 실시예로 한다. In this case, as shown in FIG. 5, the reception system may receive a data frame (or VSB frame) including a data group in which a known data string is periodically inserted. The data group is divided into areas A through D as shown in FIG. 5, where area A is M / H blocks B4 to M / H block B7, area B is M / H blocks B3 and M / H block B8, and area C According to the embodiment of the present invention, M includes an M / H block B2 and an M / H block B9, and a D region includes an M / H block B1 and an M / H block B10.

도 38, 도 39에서와 같이 기지 데이터 열이 주기적으로 삽입되는 기지 데이터 구간에는 동일한 패턴의 기지 데이터 열이 포함되는데, 동일한 패턴의 기지 데이터 열과 해당 기지 데이터 구간의 전체 기지 데이터 열의 길이는 같을 수도 있고, 다를 수도 있다. 다른 경우, 전체 기지 데이터 열은 동일한 패턴의 기지 데이터 열보다 길으며, 전체 기지 데이터 열에 동일한 패턴의 기지 데이터 열이 포함된다. As shown in FIGS. 38 and 39, the known data section in which the known data columns are periodically inserted includes the known data columns of the same pattern. The known data columns of the same pattern and the total known data columns of the known data sections may have the same length. May be different. In other cases, the entire known data columns are longer than the known data columns of the same pattern, and the entire known data columns contain the same pattern of known data columns.

이렇게 기지 데이터가 주기적으로 모바일 서비스 데이터들 사이에 삽입될 경우 수신 시스템의 채널 등화기에서는 상기 기지 데이터를 훈련 열(training sequence)로 이용하여 정확한 판별값으로 사용할 수 있다. 다른 실시예로, 상기 채널 등화기에서는 채널의 임펄스 응답을 추정하는데 상기 기지 데이터를 사용할 수도 있다. 또 다른 실시예로, 상기 채널 등화기에서는 필터 계수(즉, 등화 필터)를 업데이트하는데 상기 기지 데이터를 이용할 수 있다. When the known data is periodically inserted between the mobile service data, the channel equalizer of the receiving system can use the known data as a training sequence and use it as an accurate determination value. In another embodiment, the channel equalizer may use the known data to estimate the impulse response of the channel. In another embodiment, the channel equalizer may use the known data to update filter coefficients (ie, equalization filters).

한편 동일한 패턴의 기지 데이터가 주기적으로 삽입될 경우에는 각 기지 데이터 구간이 본 발명에 따른 채널 등화기에서 가드 구간(guard interval)으로 사용될 수 있다. 상기 가드 구간은 다중 경로 채널에 의해서 발생하는 블록 간의 간섭을 방지하는 역할을 한다. 이는 모바일 서비스 데이터 구간(즉, 데이터 블록)의 뒤에 있는 기지 데이터가 상기 모바일 서비스 데이터 구간의 앞에 복사된 것으로 생각할 수 있기 때문이다.Meanwhile, when known data of the same pattern is inserted periodically, each known data section may be used as a guard interval in the channel equalizer according to the present invention. The guard interval serves to prevent interference between blocks generated by the multipath channel. This is because known data behind the mobile service data section (i.e., data block) can be considered copied in front of the mobile service data section.

이러한 구조를 사이클릭 프리픽스(Cyclic Prefix)라 하기도 하며, 이러한 구조는 송신 시스템에서 전송한 데이터 블록과 채널의 임펄스 응답이 시간 영역에서 원형 길쌈(circular convolution)되도록 해준다. 따라서 수신 시스템의 채널 등화기에서는 FFT(Fast Fourier Transform)와 IFFT(Inverse FFT)를 사용하여 주파수 영역에서 채널 등화를 하기에 용이하다. Such a structure is also called a cyclic prefix, which allows the impulse response of data blocks and channels transmitted from a transmission system to be circular convolution in the time domain. Therefore, in the channel equalizer of the receiving system, it is easy to perform channel equalization in the frequency domain using fast fourier transform (FFT) and inverse FFT (IFFT).

즉, 수신 시스템에서 받은 데이터 블록이 주파수 영역에서 보면 데이터 블록과 채널 임펄스 응답(Channel Impulse Response ; CIR)의 곱으로 표현되기 때문에, 채널 등화시 주파수 영역에서 채널의 역을 곱해줌으로써, 간단히 채널 등화가 가능하다. That is, since the data block received from the receiving system is expressed as the product of the data block and the channel impulse response (CIR) in the frequency domain, the channel equalization is simply performed by multiplying the inverse of the channel in the frequency domain during channel equalization. It is possible.

상기 기지 데이터 검출기(2004)에서는 이렇게 주기적으로 삽입되어 전송되는 기지 데이터 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(2002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다. The known data detector 2004 may detect the known data position periodically inserted and transmitted, and may estimate an initial frequency offset in the process of detecting the known data. In this case, the demodulator 2002 may more accurately estimate and compensate carrier frequency offset from the known data position information and the initial frequency offset estimate.

한편 도 5와 같은 구조로 기지 데이터가 전송되는 경우, 상기 기지 데이터 검출기(2004)에서는 먼저, 동일한 패턴이 두 번 반복되는 제2 기지 데이터 영역의 기지 데이터를 이용하여 제2 기지 데이터 영역의 위치를 검출한다. On the other hand, when the known data is transmitted in the structure as shown in FIG. 5, the known data detector 2004 first determines the position of the second known data area using the known data of the second known data area where the same pattern is repeated twice. Detect.

이때, 상기 기지 데이터 검출기(2004)는 데이터 그룹의 구조를 알고 있으므로, 상기 제2 기지 데이터 영역의 위치가 검출되면, 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 해당 데이터 그룹 내 제1, 제3 내지 제6 기지 데이터 영역 위치를 추정할 수 있다. 만일 해당 데이터 그룹이 필드 동기를 포함하는 데이터 그룹이라면 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 상기 제2 기지 데이터 영역보다 시간적으로 앞에 위치한 해당 데이터 그룹 내 필드 동기의 위치를 추정할 수 있다. 또한 상기 기지 데이터 검출기(2004)는 시그널링 복호부(2013)로부터 입력되는 M/H 프레임 관련 정보를 참조하여 유저가 선택한 모바일 서비스를 포함한 퍼레이드에서 기지 데이터 위치 정보, 필드 동기 위치 정보를 출력할 수 있다. In this case, since the known data detector 2004 knows the structure of the data group, when the location of the second known data area is detected, the symbol or segment is counted based on the location of the second known data area, and thus the known data detector 2004 is located in the data group. The first, third to sixth known data area positions can be estimated. If the data group is a data group including field synchronization, the symbol or segment is counted based on the position of the second known data area to estimate the position of the field sync in the corresponding data group located temporally before the second known data area. can do. In addition, the known data detector 2004 may output the known data position information and the field sync position information in the parade including the mobile service selected by the user with reference to the M / H frame related information input from the signaling decoder 2013. .

이렇게 추정된 기지 데이터 위치 정보, 필드 동기 위치 정보 중 적어도 하나는 복조기(2002), 채널 등화기(2003), 시그널링 복호부(2013), 및 오퍼레이션 제어기(2000)로 제공된다. At least one of the estimated known data position information and the field sync position information is provided to the demodulator 2002, the channel equalizer 2003, the signaling decoder 2013, and the operation controller 2000.

또한 상기 기지 데이터 검출기(2004)는 상기 제2 기지 데이터 영역 즉, ACQ 기지 데이터 영역에 삽입된 기지 데이터를 이용하여 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(2002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다. In addition, the known data detector 2004 may estimate an initial frequency offset using known data inserted into the second known data area, that is, the ACQ known data area. In this case, the demodulator 2002 may more accurately estimate and compensate carrier frequency offset from the known data position information and the initial frequency offset estimate.

OperationOperation ControllerController

상기 Operation Controller(2000)는 상기 기지 데이터 위치 정보 및 전송 파라미터 정보를 입력받아 M/H 프레임 시간 정보, 선택된 Parade의 데이터 그룹 존재 유무, 데이터 그룹 내의 기지 데이터의 위치 정보, 전력 제어 정보 등을 복조부의 각 블록에 전달한다. 상기 Operation Controller(2000)는 도 41의 도면에서 나타낸 바와 같이 상기 복조기(2002), 등화기(2003), 블록 복호기(2005) 및 RS 프레임 복호기(2006)의 동작을 제어하며, 도시하지는 않았지만 이 외의 복조부 전반의 동작을 제어할 수 있다. 상기 Operation Controller(8000)는 별도의 블록으로 구현될 수 있고, 도 도 41과 같이 복조부의 내부에 포함될 수도 있다. The operation controller 2000 receives the known data position information and transmission parameter information, and outputs M / H frame time information, presence or absence of a data group of a selected Parade, position information of known data in a data group, power control information, and the like. Pass in each block. The operation controller 2000 controls the operations of the demodulator 2002, the equalizer 2003, the block decoder 2005 and the RS frame decoder 2006 as shown in FIG. 41, but is not illustrated. The operation of the entire demodulator can be controlled. The operation controller 8000 may be implemented as a separate block or may be included in the demodulator as shown in FIG. 41.

도 42는 Operation Controller(2000)의 전체 블록도이다. 42 is an overall block diagram of the operation controller 2000.

상기 Operation Controller(2000)는 퍼레이드 ID 체커(Parade ID Checker)(3101), 프레임 동기부(Frame Synchronizer)(3102), 퍼레이드 매퍼(Parade Mapper)(3103), 그룹 콘트롤러(3104), 및 기지 시퀀스 지시 콘트롤러(Known Sequence Indication Controller)(3105)를 포함할 수 있다. The Operation Controller 2000 indicates a Parade ID Checker 3101, a Frame Synchronizer 3102, a Parade Mapper 3103, a Group Controller 3104, and known sequence instructions. It may include a controller (Known Sequence Indication Controller) 3105.

상기 Operation Controller(2000)는 기지 데이터 검출기(2004)로부터 기지 데이터 위치 정보를, 시그널링 복호기(2013)로부터 전송 파라미터 정보를 입력으로 받아 수신 시스템의 복조부에 필요한 제어 신호를 만들어낸다. 일 예로, 기지 데이터 검출기(2004)에서 검출된 기지 데이터 위치 정보는 기지 시퀀스 지시 콘트롤러(Known Sequence Indication Controller)(3105)로 입력되고, 시그널링 복호기(2013)에서 복호된 전송 파라미터 정보(즉, TPC 데이터)는 퍼레이드 ID 체커(Parade ID Checker)(3101)로 입력된다. The operation controller 2000 receives the known data position information from the known data detector 2004 and the transmission parameter information from the signaling decoder 2013 to generate a control signal necessary for the demodulation unit of the receiving system. For example, the known data position information detected by the known data detector 2004 is input to a known sequence indication controller 3105 and transmitted parameter information (ie, TPC data) decoded by the signaling decoder 2013. ) Is entered into the Parade ID Checker 3101.

상기 Parade ID Checker(3101)는 상기 User control 신호에 포함된 Parade ID (User가 선택한 Parade ID)와 시그널링 복호기(2013)로부터 입력되는 Parade ID를 비교한다. 이때 두 Parade ID가 동일하지 않을 경우 상기 Parade ID Checker(3101)는 상기 시그널링 복호기(2013)로부터 다음 전송 파라미터가 입력될 때까지 기다린다. The Parade ID Checker 3101 compares a Parade ID (parade ID selected by a user) included in the user control signal with a Parade ID input from the signaling decoder 2013. If the two Parade IDs are not the same, the Parade ID Checker 3101 waits until the next transmission parameter is input from the signaling decoder 2013.

한편 두 Parade ID가 동일할 경우, 상기 Parade ID Checker(3101)는 전송 파라미터 정보를 Operation Controller(2000) 내부의 블록 및 시스템 전반에 출력한다. Meanwhile, when two Parade IDs are the same, the Parade ID Checker 3101 outputs transmission parameter information to a block inside the Operation Controller 2000 and the system as a whole.

즉, 상기 Parade ID checker(3101)에 입력되는 전송 파라미터 정보 중 Parade ID가 User가 선택한 Parade ID와 동일한 것으로 확인되면, 상기 Parade ID Checker(3101)는 퍼레이드 매퍼(Parade Mapper)(3103)로 starting_group_number (SGN)와 number_of_groups(NoG)를 출력한다. 또한 상기 Parade ID Checker(3101)는 프레임 동기부(Frame Synchronizer)(3102)로 sub_frame_number, slot_number, parade_repetition_cycle (PRC)을 출력하고, 블록 복호기(2005)로 SCCC_block_mode, SCCC_outer_code_mode_A, SCCC_outer_code_mode_B, SCCC_outer_code_mode_C, SCCC_outer_code_mode_D를 출력하고, RS 프레임 복호기(2006)로 RS_frame_mode, RS_code_mode_primary, RS_code_mode_secondary를 출력한다. That is, when the Parade ID of the transmission parameter information input to the Parade ID checker 3101 is determined to be the same as the Parade ID selected by the user, the Parade ID Checker 3101 starts the group_number_number (parade Mapper 3103) with a Parade Mapper 3103. SGN) and number_of_groups (NoG) are printed. In addition, the Parade ID Checker 3101 outputs sub_frame_number, slot_number, parade_repetition_cycle (PRC) to the frame synchronizer 3102, and outputs SCCC_block_mode, SCCC_outer_code_mode_A, SCCC_outer_codemode_B, SCCC_out_code_code_outer_code_outer_code to the block decoder 2005. RS_frame_mode, RS_code_mode_primary, and RS_code_mode_secondary are output to the RS frame decoder 2006.

상기 퍼레이드 매퍼(3103)는 상기 Parade ID Checker(3101)로부터 SGN과 NoG를 입력으로 받아 Sub-frame내의 16개 Slot 중 어느 Slot에 데이터 그룹이 전송되는지 판단해 해당 정보를 출력한다. Sub-frame 마다 전송되는 데이터 그룹 번호(Group number)는 SGN부터 (SGN+NoG-1)까지의 연속되는 정수로 정해진다. 예를 들어 SGN = 3, NoG = 4 라면 Group number가 3,4,5,6 인 4개의 데이터 Group이 각 Sub-frame마다 전송되게 된다. 상기 Parade Mapper(3103)는 SGN과 NoG로부터 얻어낸 Group number i를 가지고 상기 수학식 1에 따라 데이터 그룹이 전송되는 Slot number j를 구한다. The parade mapper 3103 receives SGN and NoG as inputs from the Parade ID Checker 3101 and determines which slot among the 16 slots in the sub-frame is transmitted to output the corresponding information. The data group number transmitted for each sub-frame is determined by a continuous integer from SGN to (SGN + NoG-1). For example, if SGN = 3 and NoG = 4, four data groups with group numbers 3, 4, 5, and 6 will be transmitted for each sub-frame. The Parade Mapper 3103 calculates the slot number j through which the data group is transmitted according to Equation 1 with Group number i obtained from SGN and NoG.

상기 예에서와 같이 SGN = 3, NoG = 4 인 경우, 이를 수학식 1에 대입하여 보면, 전송되는 데이터 그룹의 슬롯 번호(Slot number)는 차례대로 12,2,6,10 이 된다. In the case of SGN = 3 and NoG = 4 as in the above example, by substituting this in Equation 1, the slot number of the transmitted data group becomes 12, 2, 6, 10 in order.

상기 Parade Mapper(3103)는 구해낸 슬롯 번호 정보를 출력한다. The Parade Mapper 3103 outputs the obtained slot number information.

상기 슬롯 번호를 출력하는 일 실시예로, 16 Bit 을 가지는 Bit vector를 사용할 수 있다. As an embodiment of outputting the slot number, a bit vector having 16 bits may be used.

Bit vector SNi (i= 0 ~ 15) 는 i 번째 Slot에 전송되는 데이터 그룹이 있으면 1, 없으면 0으로 설정될 수 있고, 이 Bit vector를 Slot number 정보로 출력할 수 있다. Bit vector SNi (i = 0 ~ 15) can be set to 1 if there is a data group to be transmitted in the i th slot and 0 if not, and this bit vector can be output as slot number information.

상기 Frame Synchronizer(3102)는 상기 Parade ID Checker(3101)로부터 sub_frame_number, slot_number, PRC를 입력 받아 slot_counter와 frame_mask 신호를 연산하여 출력으로 내보낸다. 상기 slot_counter는 수신기가 동작하는 현 시점의 slot_number를 나타내고, frame_mask는 현재 Frame에 해당 Parade가 전송되는지 알려주는 신호이다. 상기 Frame Synchronizer(3102)는 처음 시그널링 정보를 받을 때 slot_counter와 sub_frame_counter, frame_counter를 초기화시키는 과정을 수행한다. 이 과정에서 입력된 시그널링 정보와 함께 복조부터 시그널링이 복호될 때까지 걸리는 시간에 따라 지연되는 Slot 개수 L 을 더하여 현 시점의 counter 값을 생성한다. 초기화 과정 이후에는 한 Slot 주기마다 slot_counter를 업데이트하고, slot_counter 값의 주기마다 sub_frame_counter를 업데이트하며, sub_frame_counter의 주기마다 frame_counter를 업데이트 한다. 그리고 상기 frame_counter 정보와 PRC 정보를 참조하여 frame_mask 신호를 생성하게 된다. 실시 예로 현재 프레임에 해당 Parade가 전송되고 있으면 frame_mask로 1을 출력하고, 아닐 경우 0을 출력할 수 있다. The Frame Synchronizer 3102 receives sub_frame_number, slot_number, and PRC from the Parade ID Checker 3101 to calculate slot_counter and frame_mask signals and output them to the output. The slot_counter represents a slot_number at the present time of operation of the receiver, and the frame_mask is a signal indicating whether the corresponding Parade is transmitted to the current Frame. The Frame Synchronizer 3102 initializes slot_counter, sub_frame_counter, and frame_counter when first receiving signaling information. In addition, the counter value at the present time is generated by adding the slot number L which is delayed according to the time taken from the demodulation to the signaling is decoded together with the signaling information input in this process. After the initialization process, the slot_counter is updated at every slot period, the sub_frame_counter is updated at every cycle of the slot_counter value, and the frame_counter is updated at every cycle of the sub_frame_counter. The frame_mask signal is generated with reference to the frame_counter information and the PRC information. In an embodiment, if a corresponding Parade is transmitted in the current frame, 1 may be output as a frame_mask, and 0 may be output if not.

상기 그룹 콘트롤러(Group Controller)(3104)는 상기 Parade Mapper(3103)로부터 Slot number 정보를 입력 받고, 상기 Frame Synchronizer(3102)로부터 slot_counter 와 frame_mask 정보를 입력 받아 현재 데이터 그룹이 전송되는지 알려주는 group_presence_indicator를 출력한다. 예를 들어 상기 Parade Mapper(3103)로부터 입력되는 Slot number 정보가 12,2,6,10이라면, 상기 Frame Synchronizer(3102)로부터 입력되는 frame_mask 정보가 1이고 slot_counter가 2,6,10,12일 때는 group_presence_indicator로 1을 출력하고 그 밖의 값일 때는 0을 출력할 수 있다.The Group Controller 3104 receives Slot number information from the Parade Mapper 3103, receives slot_counter and frame_mask information from the Frame Synchronizer 3102, and outputs a group_presence_indicator indicating whether a current data group is transmitted. do. For example, if the slot number information input from the Parade Mapper 3103 is 12, 2, 6, 10, the frame_mask information input from the Frame Synchronizer 3102 is 1 and the slot_counter is 2, 6, 10, 12. You can output 1 as the group_presence_indicator, and 0 otherwise.

상기 Known Sequence Indication Controller(3105)는 입력되는 특정 기지 데이터의 위치 정보를 가지고 다른 기지 데이터의 위치 정보 및 데이터 그룹 시작 위치 정보 등을 출력한다. 이때, 데이터 그룹 내에서 기지 데이터는 미리 약속된 위치에 존재하므로 복수개의 기지 데이터 열 중 하나의 기지 데이터 열의 위치 정보를 알면 다른 기지 열의 데이터 위치 정보 및 데이터 그룹 시작 위치 정보 등을 알 수 있다. 상기 Known Sequence Indication Controller(3105)는 상기group_presence_indicator 정보를 이용해 데이터 그룹이 전송되는 경우에만 수신 시스템의 복조부에서 필요한 기지 데이터 및 데이터 그룹 위치 정보를 출력하도록 할 수도 있다. 상기 Known Sequence Indication Controller(3105)의 역할은 기지 데이터 검출기(2004)에서 수행할 수도 있다.The Known Sequence Indication Controller 3105 outputs position information of other known data, data group start position information, etc. with position information of specific known data inputted. In this case, since the known data exists in a predetermined position in the data group, when the position information of one known data column of the plurality of known data columns is known, the data position information and the data group start position information of another known column can be known. The Known Sequence Indication Controller 3105 may output the known data and the data group position information required by the demodulator of the receiving system only when the data group is transmitted using the group_presence_indicator information. The role of the Known Sequence Indication Controller 3105 may be performed by the known data detector 2004.

채널 등화기Channel equalizer

상기 복조기(2002)에서 기지 데이터를 이용하여 복조된 데이터는 등화기(2003)로 입력된다. 또한 상기 복조된 데이터는 기지 데이터 검출기(2004)로 입력될 수도 있다. The demodulated data using the known data in the demodulator 2002 is input to the equalizer 2003. The demodulated data may also be input to a known data detector 2004.

이때 등화를 위해 입력된 하나의 데이터 그룹은 도 5와 같이, A 내지 D 영역으로 구분되고, A 영역은 M/H 블록 B4 내지 M/H 블록 B7을, B 영역은 M/H 블록 B3과 M/H 블록 B8을, C 영역은 M/H 블록 B2과 M/H 블록 B9을, D 영역은 M/H 블록 B1과 M/H 블록 B10을 포함하는 것을 일 실시예로 한다. 즉, 하나의 데이터 그룹은 B1부터 B10까지 각 16 세그먼트 길이의 M/H 블록으로 구분되며 M/H 블록 B4~B8의 시작 부분에 긴 트레이닝 시퀀스(long training sequence, 즉, 기지 데이터 시퀀스)가 삽입된다. 또한 1개의 VSB 필드에는 2개의 데이터 그룹이 할당될 수 있으며, 이때 두 데이터 그룹 중 하나는 데이터 그룹의 37번째 세그먼트 다음에 필드 동기가 위치한다. At this time, one data group input for equalization is divided into areas A to D, as shown in FIG. 5, where A is an M / H block B4 to M / H block B7, and B is an M / H block B3 and M. In an embodiment, the / H block B8, the C region includes the M / H block B2 and the M / H block B9, and the D region includes the M / H block B1 and the M / H block B10. That is, one data group is divided into M / H blocks each 16 segments long from B1 to B10, and a long training sequence (that is, a known data sequence) is inserted at the beginning of the M / H blocks B4 to B8. do. In addition, two data groups may be allocated to one VSB field. In this case, one of the two data groups has a field synchronization after the 37th segment of the data group.

본 발명은 송/수신측의 약속에 의해 위치와 내용을 알고 있는 기지 데이터 및/또는 필드 동기를 채널 등화에 이용할 수 있다. The present invention can utilize known data and / or field synchronization for knowing the position and contents by the transmission / reception side's promise for channel equalization.

본 발명은 기지 데이터 및/또는 필드 동기를 이용하여 CIR을 추정하는 것을 채널 등화기의 일 실시예로 설명하기로 한다. The present invention will be described as an embodiment of a channel equalizer for estimating CIR using known data and / or field synchronization.

상기 채널 등화기(2003)는 다양한 방법으로 채널 등화를 수행할 수 있는데, 본 발명에서는 기지 데이터 및/또는 필드 동기를 이용하여 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행하는 것을 일 실시예로 설명한다. The channel equalizer 2003 may perform channel equalization in various ways. In the present invention, channel equalization is performed by estimating a channel impulse response (CIR) using known data and / or field synchronization. It will be described in an embodiment.

특히 본 발명에서는 송신 시스템에서 계층화되어 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 것을 일 실시예로 설명한다. In particular, the present invention describes that the estimation and application of the channel impulse response (CIR) are different according to each region in the data group layered and transmitted in the transmission system.

이때 데이터 그룹은 하나의 VSB 프레임에 최대 4개까지 할당되어 전송될 수 있으므로, 이 경우 모든 데이터 그룹이 필드 동기를 포함하지는 않는다. 본 발명은 필드 동기를 포함하는 데이터 그룹은 필드 동기와 기지 데이터를 이용하여 CIR을 추정하고, 필드 동기를 포함하지 않는 데이터 그룹은 기지 데이터만을 이용하여 CIR을 추정하는 것을 일 실시예로 한다. In this case, up to four data groups may be allocated and transmitted in one VSB frame. In this case, not all data groups include field synchronization. According to an embodiment of the present invention, a data group including field synchronization estimates a CIR using field synchronization and known data, and a data group not including field synchronization estimates CIR using only known data.

일 예로, 필드 동기를 포함하는 데이터 그룹의 경우 M/H 블록 B3의 데이터는 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용해서 채널 등화할 수 있다. 또한 M/H 블록 B1, B2의 데이터도 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다. 그러나 필드 동기를 포함하지 않는 데이터 그룹의 경우 필드 동기로부터 CIR을 구할 수 없으므로, M/H 블록 B1~B3의 데이터는 제1 기지 데이터 영역과 제3 기지 데이터 영역에서 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다. For example, in the case of a data group including field synchronization, the data of the M / H block B3 may be channel equalized using the CIR obtained from the field synchronization and the CIR obtained from the known data of the first known data area. The data of the M / H blocks B1 and B2 can also be compensated for the channel distortion by using the CIR obtained from the field synchronization and the CIR obtained from the known data of the first known data area. However, in the case of the data group that does not include the field synchronization, the CIR cannot be obtained from the field synchronization. Therefore, the data of the M / H blocks B1 to B3 are used to correct the channel distortion using the CIR obtained from the first known data region and the third known data region. You can compensate.

본 발명은 상기 기지 데이터 영역에서 추정된 CIR을 이용하여 데이터 그룹 내 데이터에 대해 채널 등화를 수행하는데, 이때 데이터 그룹의 각 영역의 특징에 따라 상기 추정된 CIR들 중 하나를 그대로 사용하기도 하고, 적어도 복수개 이상의 CIR을 보간(interpolation)하거나, 외삽(extrapolation)하여 생성된 CIR을 사용하기도 한다. The present invention performs channel equalization on data in a data group using the CIR estimated in the known data region, wherein one of the estimated CIRs may be used as it is, depending on the characteristics of each region of the data group. A CIR generated by interpolating or extrapolating a plurality of CIRs may be used.

여기서 보간(interpolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 어떤 시점에서의 함수값을 추정하는 것을 의미하며, 상기 보간의 가장 간단한 예로 선형 보간(Linear Interpolation)이 있다. 도 43은 선형 보간의 일례를 보인 도면이다. 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. 43 shows an example of linear interpolation.

즉, 임의의 함수 F(x)에서 x=Q의 함수값 F(Q)와 x=S의 함수값 F(S)가 주어졌을 경우 x=P에서의 함수값의 추정치

Figure 112009047257918-PAT00004
는 다음의 수학식 7과 같이 추정할 수 있다. 다시 말해, 시점 Q, S에서의 함수값 F(Q), F(S)를 알고 있으므로 두 지점을 지나는 직선을 구해서 P시점에서의 함수값의 근사값
Figure 112009047257918-PAT00005
를 구할 수 있다. 이때, (Q,F(Q)), (S,F(S))를 지나는 직선의 수식은 다음의 수학식 7과 같다. In other words, given a function value F (Q) of x = Q and a function value F (S) of x = S in any function F (x), the estimate of the function value at x = P
Figure 112009047257918-PAT00004
Can be estimated as in Equation 7 below. In other words, since we know the function values F (Q) and F (S) at time points Q and S, we find a straight line passing through two points and approximate the function value at point P.
Figure 112009047257918-PAT00005
Can be obtained. At this time, the equation of the straight line passing through (Q, F (Q)), (S, F (S)) is expressed by the following equation (7).

Figure 112009047257918-PAT00006
Figure 112009047257918-PAT00006

따라서 상기 수학식 7의 x에 P를 대입하여, P 시점에서의 함수값

Figure 112009047257918-PAT00007
의 근사값 을 구하면 다음의 수학식 8과 같다. Therefore, by substituting P into x in Equation 7, the function value at the time point P
Figure 112009047257918-PAT00007
The approximation of is given by Equation 8 below.

Figure 112009047257918-PAT00008
Figure 112009047257918-PAT00008

Figure 112009047257918-PAT00009
Figure 112009047257918-PAT00009

상기 수학식 8의 선형 보간 기법은 수많은 보간 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. The linear interpolation technique of Equation 8 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)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 구간이 아닌 바깥 쪽의 시점에서의 함수값을 추정하는 것을 의미한다. 상기 외삽의 가장 간단한 예로 선형 외삽(Linear Extrapolation)이 있다. Also, extrapolation means that when a function value F (Q) at time Q and a function value F (S) at time S are known for a function F (x), It means to estimate the function value at the time point. The simplest example of such extrapolation is linear extrapolation.

도 44는 선형 외삽의 일례를 보인 도면이다. 상기 선형 보간의 예와 마찬가지로, 상기 선형 외삽의 경우에도 임의의 함수 F(x)에서 시점 Q, S에서의 함수값 F(Q), F(S)를 알고 있다면 두 지점을 지나는 직선을 구해서 P시점에서의 함수값의 근사값

Figure 112009047257918-PAT00010
를 구할 수 있다.44 shows an example of linear extrapolation. Similar to the linear interpolation example, in the case of the linear extrapolation, if a function value F (Q) and F (S) at the point of time Q and S are known at any function F (x), a straight line passing through two points is obtained and P is obtained. Approximation of function values at the time
Figure 112009047257918-PAT00010
Can be obtained.

상기 선형 외삽 기법은 수많은 외삽 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 외삽 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. 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.

도 45는 본 발명에 따른 채널 등화기의 일 실시예이다. 45 is an embodiment of a channel equalizer in accordance with the present invention.

도 45는 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도로서, 제1 주파수 영역 변환부(4100), 채널 추정부(4110), 제2 주파수 영역 변환부(4121), 계수 계산부(4122), 왜곡 보상부(4130), 및 시간 영역 변환부(4140)를 포함하여 구성된다. 45 is a block diagram illustrating an embodiment of a channel equalizer according to the present invention, wherein a first frequency domain transform unit 4100, a channel estimator 4110, a second frequency domain transform unit 4121, and coefficient calculations are shown. The unit 4122, the distortion compensator 4130, and the time domain converter 4140 are configured.

상기 채널 등화기는 잔류 반송파 위상 에러 제거부, 잡음 제거부(Noise Canceller ; NC), 및 결정(Decision)부를 더 포함할 수 있다. The channel equalizer may further include a residual carrier phase error canceller, a noise canceller (NC), and a decision section.

상기 제1 주파수 영역 변환부(4100)는 입력 데이터를 중첩하는 중첩(overlap)부(4101), 및 중첩부(4101)의 출력 데이터를 주파수 영역으로 변환하는 FFT(Fast Fourier Transform)부(4102)를 포함하여 구성된다. The first frequency domain transform unit 4100 includes an overlap unit 4101 that overlaps input data, and a fast fourier transform unit 4102 that converts output data of the overlap unit 4101 into a frequency domain. It is configured to include.

상기 채널 추정부(4110)는 입력 데이터로부터 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하는 CIR 추정기(4111), 제1 클리너(Pre-CIR Cleaner)(4113), CIR 연산기(4114), 제2 클리너(Post-CIR Cleaner)(4115), 및 제로 패딩(zero-padding)부(4116)를 포함할 수 있다. The channel estimator 4110 may include a CIR estimator 4111, a first cleaner (Pre-CIR Cleaner) 4113, a CIR calculator 4114, and a first estimator for estimating a channel impulse response (CIR) from input data. Post-CIR cleaner 4115, and a zero-padding unit 4116.

상기 채널 추정부(4110)는 상기 CIR 추정기(4111)에서 추정된 CIR의 위상을 보상하는 위상 보상기를 더 포함할 수 있다. The channel estimator 4110 may further include a phase compensator for compensating the phase of the CIR estimated by the CIR estimator 4111.

상기 제2 주파수 영역 변환부(4121)는 상기 채널 추정부(4110)에서 출력되는 CIR을 주파수 영역으로 변환하는 FFT부를 포함하여 구성된다. The second frequency domain converter 4121 includes an FFT unit for converting the CIR output from the channel estimator 4110 into a frequency domain.

상기 시간 영역 변환부(4140)는 상기 왜곡 보상부(4130)에서 왜곡이 보상된 데이터를 시간 영역으로 변환하는 IFFT부(4141), 및 상기 IFFT부(4141)의 출력 데이터로부터 유효 데이터만을 추출하는 세이브(save)부(4142)를 포함하여 구성된다. 상기 세이브부(4142)의 출력 데이터가 채널 등화된 데이터다. The time domain converter 4140 extracts only valid data from the IFFT unit 4141 and the output data of the IFFT unit 4141 to convert the data whose distortion is compensated by the distortion compensation unit 4130 into the time domain. It includes a save unit (4142). The output data of the save unit 4422 is channel equalized data.

이때 상기 시간 영역 변환부(4140)의 출력단에 잔류 반송파 위상 에러 제거부를 더 구비하여, 채널 등화된 데이터에 포함된 잔류 반송파 위상 에러를 추정하여 제거할 수 있다. In this case, a residual carrier phase error removing unit may be further provided at an output terminal of the time domain converter 4140 to estimate and remove the residual carrier phase error included in the channel equalized data.

또한 상기 시간 영역 변환부(4140)의 출력단에 잡음 제거부를 더 구비하여, 채널 등화된 데이터에 포함된 잡음을 추정하여 제거할 수 있다.In addition, a noise removing unit may be further provided at an output terminal of the time domain converter 4140 to estimate and remove noise included in channel equalized data.

상기 왜곡 보상부(4130)는 복소수 곱셈 역할을 수행하는 소자는 어느 것이나 가능하다. The distortion compensator 4130 may be any element that performs a complex multiplication role.

즉, 도 45를 보면, 복조되어 입력되는 데이터는 제1 주파수 영역 변환 부(4100)의 중첩부(4101)에서 기 설정된 중첩 비율로 중첩되어 FFT부(4102)로 출력된다. 상기 FFT부(4102)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜곡 보상부(4130)로 출력된다. That is, referring to FIG. 45, the demodulated data is superimposed at the overlapping ratio 4101 of the first frequency domain transforming unit 4100 at a preset overlap ratio and output to the FFT unit 4102. The FFT unit 4102 converts the overlapped data in the time domain into overlapped data in the frequency domain through an FFT and outputs the overlapped data in the distortion compensator 4130.

상기 왜곡 보상부(4130)는 상기 제1 주파수 영역 변환부(4100)의 FFT부(4102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(4122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(4102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(4140)의 IFFT부(4141)로 출력한다. 상기 IFFT부(4141)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(4142)로 출력한다. 상기 세이브부(4142)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출하여 출력한다. The distortion compensator 4130 complexly multiplies the equalization coefficient calculated by the coefficient calculator 4122 with the overlapped data of the frequency domain output from the FFT unit 4102 of the first frequency domain transform unit 4100. After compensating for the channel distortion of the superimposed data output at 4102, the channel distortion is output to the IFFT unit 4141 of the time domain transform unit 4140. The IFFT unit 4141 IFFTs the overlapped data whose distortion of the channel is compensated, converts the data into a time domain, and outputs the converted data to the save unit 4422. The save unit 4422 extracts and outputs only valid data from the overlapped data of the channel equalized time domain.

한편 복조된 수신 데이터는 채널 등화기 내 제1 주파수 영역 변환부(4100)의 중첩부(4101)로 입력됨과 동시에 채널 추정부(4110)의 CIR 추정기(4111)로도 입력된다. On the other hand, the demodulated received data is input to the overlapping portion 4101 of the first frequency domain transformer 4100 in the channel equalizer and also to the CIR estimator 4111 of the channel estimator 4110.

상기 CIR 추정기(4111)는 트레이닝 시퀀스를 이용하여 CIR을 추정한다. 만일 채널 등화할 데이터가 필드 동기를 포함하는 데이터 그룹 내 데이터라면 상기 CIR 추정기(4111)에서 이용되는 트레이닝 시퀀스는 필드 동기 데이터와 기지 데이터가 될 수 있다. 하지만 채널 등화할 데이터가 필드 동기를 포함하지 않는 데이터 그룹 내 데이터라면 상기 트레이닝 시퀀스는 기지 데이터만 될 수 있다. The CIR estimator 4111 estimates the CIR using the training sequence. If the data to be channel equalized is data in a data group including field synchronization, the training sequence used in the CIR estimator 4111 may be field synchronization data and known data. However, if the data to be channel equalized is data in a data group that does not include field synchronization, the training sequence may be known data only.

일 예로, 상기 CIR 추정기(4111)는 기지 데이터 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 기지 데이터를 이용하여 채널 임펄스 응답(CIR)을 추정한다. 이를 위해 상기 CIR 추정기(4111)는 상기 기지 데이터 검출기(2004)로부터 기지 데이터 위치 정보(Known Data Position Information)를 제공받는다. As an example, the CIR estimator 4111 estimates a channel impulse response (CIR) using data received during a known data interval and reference known data generated at a receiving side by an appointment of the transmitting / receiving side. To this end, the CIR estimator 4111 is provided with known data position information from the known data detector 2004.

또한 상기 CIR 추정기(4111)는 필드 동기가 포함되는 데이터 그룹이라면 필드 동기 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 채널의 임펄스 응답(CIR_FS)을 추정할 수 있다. 이를 위해 상기 CIR 추정기(4111)는 상기 기지 데이터 검출기(2004)로부터 필드 동기 위치 정보(Field Sync Position Information)를 제공받을 수도 있다. In addition, if the CIR estimator 4111 is a data group including field synchronization, an impulse response (CIR_FS) of the channel using data received during the field synchronization period and reference field synchronization data generated at the receiving side by the promise of the transmitting / receiving side. ) Can be estimated. To this end, the CIR estimator 4111 may be provided with field sync position information from the known data detector 2004.

상기와 같이 추정된 CIR은 제1 클리너(4113)를 거쳐 또는 제1 클리너(4113)를 바이패스하여 CIR 연산기(4114)로 입력된다. 상기 CIR 연산기(4114)는 추정된 CIR에 대해 보간 또는 외삽하여 제2 클리너(4115)로 출력한다. The estimated CIR is input to the CIR calculator 4114 via the first cleaner 4113 or bypasses the first cleaner 4113. The CIR operator 4114 interpolates or extrapolates the estimated CIR to the second cleaner 4115.

상기 CIR 연산기(4114)가 추정된 CIR에 대해 보간을 하는지, 외삽을 하는지에 따라 제1 클리너(4113)가 동작할 수도 있고, 동작하지 않을 수도 있다. 예를 들어, 추정된 CIR에 대해 보간을 수행하면 제1 클리너(4113)가 동작 안하고, 추정된 CIR에 대해 외삽을 수행하면 제1 클리너(4113)가 동작한다. Depending on whether the CIR operator 4114 interpolates or extrapolates the estimated CIR, the first cleaner 4113 may or may not operate. For example, when the interpolation is performed on the estimated CIR, the first cleaner 4113 is not operated. When the extrapolation is performed on the estimated CIR, the first cleaner 4113 is operated.

즉, 기지 데이터로부터 추정된 CIR에는 구하고자 하는 채널 성분뿐만 아니라 잡음에 의한 지터(jitter) 성분도 포함된다. 이러한 지터 성분은 등화기 성능을 저하하는 요인이 되므로 계수 계산부(4122)에서 CIR을 사용하기 전에 제거하는 것이 좋다. 따라서 상기 제1,제2 클리너(4113,4115)에서는 입력되는 CIR 성분 중 파워(power)가 기 설정된 임계값(threshold) 이하인 부분을 제거(즉, '0'으로 만듦) 하는 것을 일 실시예로 한다. 그리고 이러한 제거 과정을 CIR cleaning이라 한다. That is, the CIR estimated from the known data includes not only the channel component to be obtained but also the jitter component due to noise. Since this jitter component is a factor that degrades the equalizer performance, it is preferable to remove the jitter component before using the CIR in the coefficient calculator 4122. Therefore, in the embodiment, the first and second cleaners 4113 and 4115 remove a portion of the input CIR component whose power is equal to or less than a predetermined threshold (ie, make it '0'). do. This removal process is called CIR cleaning.

즉, 상기 CIR 연산기(4114)에서 CIR 보간(interpolation)은, 상기 CIR 추정기(4112)에서 추정된 두 개의 CIR에 각각 계수를 곱하고 더하여 이루어진다. 이때 CIR의 잡음 성분 중 일부는 서로 더해져 상쇄된다. 따라서 상기 CIR 연산기(4114)에서 CIR 보간을 하는 경우에는 잡음 성분이 남아있는 원래의 CIR을 사용한다. 즉, 상기 CIR 연산기(4114)에서 CIR 보간을 하는 경우, 상기 추정된 CIR은 제1 클리너(4113)를 바이패스하여 CIR 연산기(4114)로 입력된다. 그리고 상기 CIR 연산기(4114)에서 보간된 CIR은 제2 클리너(4115)에서 클리닝한다. That is, CIR interpolation in the CIR calculator 4114 is performed by multiplying and adding a coefficient to two CIRs estimated by the CIR estimator 4112, respectively. At this time, some of the noise components of the CIR are added to each other to cancel. Accordingly, when CIR interpolation is performed in the CIR calculator 4114, the original CIR in which the noise component remains is used. That is, when CIR interpolation is performed in the CIR calculator 4114, the estimated CIR bypasses the first cleaner 4113 and is input to the CIR calculator 4114. The CIR interpolated by the CIR calculator 4114 cleans the second cleaner 4115.

반면 상기 CIR 연산기(4114)에서 CIR 외삽은, 상기 CIR 추정기(4112)에서 추정된 두 CIR의 차를 이용해 두 CIR 바깥에 위치한 CIR을 추정하여 이루어진다. 그러므로 이때는 CIR의 잡음 성분이 오히려 증폭된다. 따라서 상기 CIR 연산기(4114)에서 CIR 외삽을 하는 경우에는 상기 제1 클리너(4113)에서 클리닝된 CIR를 사용한다. 즉, 상기 CIR 연산기(4114)에서 CIR 외삽을 하는 경우, 상기 외삽된 CIR은 제2 클리너(4115)를 거쳐 제로 패딩부(4116)로 입력된다. On the other hand, the CIR extrapolation in the CIR calculator 4114 is performed by estimating the CIR located outside the two CIRs by using the difference between the two CIRs estimated by the CIR estimator 4112. Therefore, the noise component of the CIR is amplified at this time. Accordingly, when CIR extrapolation is performed in the CIR calculator 4114, the CIR cleaned by the first cleaner 4113 is used. That is, when CIR extrapolation is performed by the CIR calculator 4114, the extrapolated CIR is input to the zero padding unit 4116 via the second cleaner 4115.

한편 상기 제2 클리너(4115)에서 클링닝되어 출력되는 CIR을 상기 제2 주파수 영역 변환부(4121)에서 주파수 영역으로 변환할 때 입력되는 CIR의 길이와 FFT 사이즈(Size)가 일치하지 않는 경우가 발생할 수 있다. 즉, CIR의 길이가 FFT 사이즈보다 작은 경우가 발생할 수 있다. 이 경우 제로 패딩부(4116)에서는 FFT 사이즈와 입력되는 CIR 길이의 차이만큼 CIR에 '0'을 첨가하여 상기 제2 주파수 영역 변환부(4121)로 출력한다. 여기서 제로 패딩되는 CIR은 보간된 CIR, 외삽된 CIR, 기 지 데이터 구간에서 추정된 CIR 중 하나가 될 수 있다. On the other hand, the length of the CIR input and the FFT size do not coincide when the CIR, which is clinked and output by the second cleaner 4115, is converted into the frequency domain by the second frequency domain converter 4121. May occur. That is, a case where the length of the CIR is smaller than the FFT size may occur. In this case, the zero padding unit 4116 adds '0' to the CIR by the difference between the FFT size and the input CIR length and outputs the same to the second frequency domain transforming unit 4121. The zero-padded CIR may be one of interpolated CIRs, extrapolated CIRs, and CIRs estimated from a base data interval.

상기 제2 주파수 영역 변환부(4121)는 입력되는 시간 영역의 CIR를 FFT하여 주파수 영역의 CIR로 변환한 후 계수 계산부(4122)로 출력한다. The second frequency domain converter 4121 converts the input CIR of the time domain into FIR by converting the received CIR into the CIR of the frequency domain, and outputs the CIR to the coefficient calculator 4122.

상기 계수 계산부(4122)는 상기 제2 주파수 영역 변환부(4121)에서 출력되는 주파수 영역의 CIR을 이용하여 등화 계수를 계산한 후 왜곡 보상부(4130)로 출력한다. 이때 상기 계수 계산부(4122)는 일 실시예로, 상기 주파수 영역의 CIR로부터 평균 자승 에러를 최소화(Minimum Mean Square Error : MMSE)하는 주파수 영역의 등화 계수를 구하여 왜곡 보상부(4130)로 출력한다. The coefficient calculator 4122 calculates an equalization coefficient by using the CIR of the frequency domain output from the second frequency domain converter 4121 and outputs the equalization coefficient to the distortion compensator 4130. In this example, the coefficient calculator 4122 obtains an equalization coefficient of a frequency domain that minimizes a mean square error (MMSE) from the CIR of the frequency domain and outputs the equalization coefficient to the distortion compensator 4130. .

상기 왜곡 보상부(4130)는 상기 제1 주파수 영역 변환부(4100)의 FFT부(4102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(4122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(4102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한다. The distortion compensator 4130 complexly multiplies the equalization coefficient calculated by the coefficient calculator 4122 with the overlapped data of the frequency domain output from the FFT unit 4102 of the first frequency domain transform unit 4100. Compensate for the channel distortion of the overlapping data output at 4102.

블록 복호기Block decoder

한편 상기 등화기(2003)에서 채널 등화된 후 블록 복호기(2005)로 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터(예를 들어, RS 프레임 내 데이터)이면 송신측의 역으로 트렐리스 복호 및 블록 복호가 수행되고, 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터(예를 들어, 메인 서비스 데이터)이면 트렐리스 복호만 수행된다. On the other hand, if the data inputted to the block decoder 2005 after channel equalization in the equalizer 2003 is data in which both block coding and trellis coding are performed at the transmitting side (for example, data in an RS frame), the transmitting side is performed. In contrast, if trellis decoding and block decoding are performed, and block encoding is not performed and only trellis encoding is performed (for example, main service data), only trellis decoding is performed.

상기 블록 복호기(2005)에서 트렐리스 복호 및 블록 복호된 데이터는 RS 프 레임 복호기(2006)로 출력된다. 즉, 상기 블록 복호기(2005)는 데이터 그룹 내 데이터들 중 기지 데이터, 트렐리스 초기화에 이용된 데이터, 시그널링 정보 데이터, MPEG 헤더 그리고 송신 시스템의 RS 부호기/비체계적 RS 부호기 또는 비체계적 RS 부호기에서 부가된 RS 패리티 데이터들을 제거하고 RS 프레임 복호기(2006)로 출력한다. 여기서 데이터 제거는 블록 복호전에 이루어질 수도 있고, 블록 복호 중이나 블록 복호 후에 이루어질 수도 있다. The trellis decoded and block decoded data by the block decoder 2005 is output to the RS frame decoder 2006. That is, the block decoder 2005 may be configured in the known data, the data used for trellis initialization, the signaling information data, the MPEG header, and the RS encoder / unstructured RS encoder or unstructured RS encoder of the transmission group. The added RS parity data is removed and output to the RS frame decoder 2006. Here, data removal may be performed before block decoding, or may be performed during or after block decoding.

한편 상기 블록 복호기(2005)에서 트렐리스 복호된 데이터는 메인 서비스 데이터 처리부(2008)의 데이터 디인터리버로 출력된다. 이때 상기 블록 복호기(2005)에서 트렐리스 복호되어 데이터 디인터리버로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, RS 프레임 내 데이터, 시그널링 정보도 포함될 수 있다. 또한 송신측에서 전처리기(230) 이후에 부가되는 RS 패리티 데이터도 상기 데이터 디인터리버로 출력되는 데이터에 포함될 수 있다. Meanwhile, the trellis decoded data by the block decoder 2005 is output to the data deinterleaver of the main service data processor 2008. In this case, the data trellis decoded by the block decoder 2005 and output to the data deinterleaver may include not only main service data but also data in RS frames and signaling information. In addition, RS parity data added after the preprocessor 230 may be included in the data output to the data deinterleaver.

다른 실시예로, 송신측에서 블록 부호화는 수행되지 않고, 트렐리스 부호화만 수행된 데이터는 상기 블록 복호기(2005)에서 그대로 바이패스되어 데이터 디인터리버로 출력될 수도 있다. 이 경우 상기 데이터 디인터리버 전단에 트렐리스 복호기를 더 구비하여야 한다. In another embodiment, the block encoding is not performed at the transmitting side, and the data having only trellis encoding may be bypassed in the block decoder 2005 as it is and output to the data deinterleaver. In this case, a trellis decoder must be further provided in front of the data deinterleaver.

상기 블록 복호기(2005)는 입력되는 데이터가 송신측에서 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터라면, 입력 데이터에 대해 비터비(또는 트렐리스) 복호를 수행하여 하드 판정값을 출력하거나, 또는 소프트 판정값을 하드 판정하고 그 결과를 출력할 수도 있다. The block decoder 2005 performs a Viterbi (or trellis) decoding on the input data to obtain a hard decision value if the input data is data which is not performed by the block encoding but only the trellis encoding. Alternatively, the soft decision value may be hard determined and the result may be output.

상기 블록 복호기(2005)는 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터라면, 입력 데이터에 대하여 소프트 판정값을 출력한다. The block decoder 2005 outputs a soft decision value with respect to the input data if the input data is data in which both block coding and trellis coding are performed at the transmitting side.

즉, 상기 블록 복호기(2005)는 입력되는 데이터가 송신측의 블록 처리기(302)에서 블록 부호화가 수행되고, 트렐리스 부호화부(256)에서 트렐리스 부호화가 수행된 데이터라면, 송신측의 역으로 트렐리스 복호와 블록 복호를 수행한다. 이때 송신측의 블록 처리기는 외부 부호기로 볼 수 있고, 트렐리스 부호화부는 내부 부호기로 볼 수 있다. That is, if the input data is block encoding performed by the block processor 302 on the transmitting side and trellis encoding is performed by the trellis coding unit 256, Conversely, trellis decoding and block decoding are performed. At this time, the block processor on the transmitting side can be seen as an external encoder, and the trellis encoder can be seen as an internal encoder.

이러한 연접 부호의 복호시에 외부 부호의 복호 성능을 최대한 발휘하기 위해서는 내부 부호의 복호기에서 소프트 판정값을 출력하는 것이 좋다. In order to maximize the decoding performance of the outer code at the time of decoding the concatenated code, it is preferable to output the soft decision value from the decoder of the inner code.

도 46은 본 발명에 따른 블록 복호기(2005)의 일 실시예를 보인 상세 블록도로서, 피드백 제어기(5010), 입력 버퍼(5011), 트렐리스 복호부(5012), 심볼-바이트 변환기(5013), 외부 블록 추출기(Outer Block Extractor)(5014), 피드백 디포맷터(5015), 심볼 디인터리버(5016), 외부 심볼 매퍼(Outer Symbol Mapper)(5017), 심볼 복호기(5018), 내부 심볼 매퍼(Inner Symbol Mapper)(5019), 심볼 인터리버(5020), 피드백 포맷터(5021), 출력 버퍼(5022)를 포함할 수 있다. 송신측과 마찬가지로, 상기 트렐리스 복호부(5012)는 내부 복호기로 볼 수 있고, 심볼 복호기(5018)는 외부 복호기로 볼 수 있다. 46 is a detailed block diagram illustrating an embodiment of a block decoder 2005 according to the present invention, and includes a feedback controller 5010, an input buffer 5011, a trellis decoder 5012, and a symbol-byte converter 5013. ), Outer block extractor 5014, feedback deformatter 5015, symbol deinterleaver 5016, outer symbol mapper 5017, symbol decoder 5018, internal symbol mapper ( An inner symbol mapper 5019, a symbol interleaver 5020, a feedback formatter 5021, and an output buffer 5022 may be included. Like the transmitting side, the trellis decoder 5012 can be viewed as an internal decoder, and the symbol decoder 5018 can be viewed as an external decoder.

상기 입력 버퍼(5011)는 등화기(2003)에서 채널 등화되어 출력되는 심볼값 들 중에서 블록 부호화된 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값들을 일시 저장하며, 저장된 심볼값들을 터보 복호를 위한 터보 복호 크기(TDL)로 트렐리스 복호부(5012)에 M번 반복 출력한다. 상기 터보 복호 크기(TDL)를 터보 블록이라 하기도 한다. 여기서 TDL은 최소한 하나 이상의 SCCC 블록 크기를 포함할 수 있어야 한다. 그러므로 도 5에 정의된 바와 같이, 하나의 M/H 블록이 16 세그먼트 단위이고, 10개의 M/H 블록들의 조합으로 한 개의 SCCC 블록이 구성된다고 가정하면, TDL은 그 조합 가능한 최대 크기보다 크거나 같아야 한다. 예를 들어 2개의 M/H 블록이 1개의 SCCC 블록을 구성한다고 가정하면, TDL은 32 세그먼트(828x32 = 26496 심볼) 이상이 될 수 있다. The input buffer 5011 temporarily stores block coded mobile service data symbols (including RS parity data symbols and CRC data symbols added during RS frame encoding) among symbol values output by channel equalization by the equalizer 2003. The stored symbol values are repeatedly output M times to the trellis decoder 5012 in turbo decoding size (TDL) for turbo decoding. The turbo decoding size (TDL) is also called a turbo block. Here, the TDL should be able to include at least one SCCC block size. Therefore, as defined in FIG. 5, assuming that one M / H block is 16 segment units, and one SCCC block is configured by a combination of ten M / H blocks, the TDL is larger than the maximum possible combination size. Should be the same. For example, assuming that two M / H blocks constitute one SCCC block, the TDL may be 32 segments or more (828x32 = 26496 symbols).

상기 M은 피드백 제어기(5010)에서 미리 정한 터보 복호의 반복 횟수이다. M is a repetition number of turbo decoding predetermined by the feedback controller 5010.

또한 상기 입력 버퍼(5011)는 등화기(2003)에서 채널 등화되어 출력되는 심볼값 중에 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값이 전혀 포함되지 않은 구간에서의 입력 심볼값들은 저장하지 않고 바이패스한다. 즉, SCCC 블록 부호화가 수행되지 않았던 구간의 입력 심볼값에 대해서는 트렐리스 복호만 수행하므로 입력 버퍼(5011)는 상기 입력에 대해 저장 및 반복 출력 과정을 수행하지 않고 그대로 트렐리스 복호부(5012)로 입력시킨다.In addition, the input buffer 5011 does not include a mobile service data symbol (including RS parity data symbols and CRC data symbols added at the time of RS frame encoding) among symbol values output by channel equalization by the equalizer 2003. Input symbol values in the section are bypassed without being stored. That is, since the trellis decoding is performed only on the input symbol value of the section in which the SCCC block encoding is not performed, the input buffer 5011 does not perform the storing and repetitive output process on the input. ).

상기 입력 버퍼(5011)의 저장, 반복, 및 출력은 피드백 제어기(5010)의 제어에 의해 이루어진다. 상기 피드백 제어기(5010)는 오퍼레이션 제어기(2000) 또는 시그널링 복호부(2013)에서 출력되는 SCCC 관련 정보 예를 들어, SCCC 블록 모드와 SCCC 아웃터 코드 모드를 참조하여 입력 버퍼(5011)의 저장 및 출력을 제어할 수 있다. The storage, repetition, and output of the input buffer 5011 is performed by the control of the feedback controller 5010. The feedback controller 5010 stores and outputs the input buffer 5011 with reference to SCCC related information output from the operation controller 2000 or the signaling decoder 2013, for example, the SCCC block mode and the SCCC outer code mode. Can be controlled.

상기 트렐리스 복호부(5012)는 12-way 트렐리스 부호기와 대응하기 위해서 12-way TCM(Trellis Coded Modulation) 복호기를 포함한다. 그리고 상기 12-way 트렐리스 부호기의 역과정으로 입력 심볼값에 대해 12-way 트렐리스 복호를 수행한다. The trellis decoder 5012 includes a 12-way Trellis Coded Modulation (TCM) decoder to correspond to the 12-way trellis encoder. The 12-way trellis decoding is performed on the input symbol value in a reverse process of the 12-way trellis encoder.

즉, 상기 트렐리스 복호부(5012)는 입력 버퍼(5011)의 출력 심볼값과 피드백 포맷터(5021)의 소프트 판정값(soft-decision value)을 각각 TDL만큼 입력받아 각 심볼의 TCM 복호를 수행한다. That is, the trellis decoder 5012 receives the output symbol value of the input buffer 5011 and the soft-decision value of the feedback formatter 5021 by TDL, and performs TCM decoding of each symbol. do.

이때, 상기 피드백 포맷터(5021)에서 출력되는 소프트 판정값들은 상기 피드백 제어기(5010)의 제어에 의해 상기 입력 버퍼(5011)에서 출력되는 TDL만큼의 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(5012)로 입력된다. 즉, 상기 입력 버퍼(5011)에서 출력되는 심볼값과 터보 복호되어 입력되는 데이터는 해당 터보 블록(TDL) 내 같은 위치끼리 매칭되어 트렐리스 복호부(5012)로 출력된다. 예를 들어, 상기 터보 복호된 데이터가 터보 블록 내 세 번째 심볼값이라면 상기 입력 버퍼(5011)에서 출력되는 터보 블록 내 세 번째 심볼값과 매칭되어 트렐리스 복호부(5012)로 출력된다. In this case, the soft determination values output from the feedback formatter 5021 are matched one-to-one with symbol positions corresponding to the TDL output from the input buffer 5011 under the control of the feedback controller 5010, and thus the trellis decoder ( 5012). That is, the symbol value output from the input buffer 5011 and the data decoded by turbo decoding are matched to the same position in the corresponding turbo block TDL and output to the trellis decoder 5012. For example, if the turbo decoded data is the third symbol value in the turbo block, the turbo decoded data is matched with the third symbol value in the turbo block output from the input buffer 5011 and output to the trellis decoder 5012.

이를 위해 상기 피드백 제어기(5010)는 회귀적인 터보 복호가 이루어지는 동안 상기 입력 버퍼(5011)에서 해당 터보 블록 데이터를 저장하도록 제어하며, 지연 등을 통해 심볼 인터리버(5020)의 출력 심볼의 소프트 판정값(예를 들어, LLR)과 상기 출력 심볼의 블록 내 같은 위치에 해당하는 입력 버퍼(5011)의 심볼값이 일대일 매칭되어 해당 경로(way)의 TCM 복호기로 입력될 수 있도록 제어한다. 이때 블록 부호화된 심볼값이 아닌 경우, 터보 복호되지 않기 때문에 상기 피드백 포맷터(5021)에서 매칭되는 출력 위치에 널(null)을 입력한다.To this end, the feedback controller 5010 controls to store the corresponding turbo block data in the input buffer 5011 during recursive turbo decoding, and delays the soft decision value of the output symbol of the symbol interleaver 5020 through delay or the like. For example, the LLR and the symbol value of the input buffer 5011 corresponding to the same position in the block of the output symbol are controlled to be input to the TCM decoder of the corresponding path by one-to-one matching. In this case, if the symbol value is not a block coded symbol, since it is not turbo decoded, null is input to a matching output position in the feedback formatter 5021.

이러한 과정이 터보 복호의 기 설정된 반복 횟수동안 진행되고 나면, 다음 터보 블록의 데이터가 입력 버퍼(5011)로부터 출력되어 상기 터보 복호 과정을 반복한다. After this process is performed for a predetermined number of iterations of turbo decoding, data of the next turbo block is output from the input buffer 5011 to repeat the turbo decoding process.

상기 트렐리스 복호부(5012)의 출력은 전송된 심볼들에 대해서 송신측 트렐리스 부호기에 입력된 심볼들의 신뢰도를 의미한다. 예를 들어 송신측의 트렐리스 부호화부(256)의 입력은 두 비트가 한 심볼이므로 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(Log Likelihood Ratio ; LLR)를 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)할 수 있다. 상기 LLR(Log Likelihood Ratio)이란 입력 비트가 1일 확률값과 0일 확률값의 비율에 대한 로그값을 의미한다. 또는 2비트 즉, 한 심볼이 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 4개의 조합(00,01,10,11)에 대해 모두 출력(심볼단위 출력)할 수 있다. 이것은 결국 수신한 심볼에 대한 소프트 판정값으로서, 트레릴스 부호기에 입력되었던 비트들의 신뢰도를 나타낸다. 상기 트렐리스 복호부(5012) 내 각 TCM 복호기의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.The output of the trellis decoder 5012 means the reliability of symbols input to the transmitting trellis encoder with respect to the transmitted symbols. For example, since the input of the trellis encoder 256 on the transmitting side has two bits as one symbol, the log bit between the probability that the bit is '1' and the probability that the bit is '0' is higher than the log likelihood ratio (LLR). Output (bitwise output) can be done for and low bit respectively. The Log Likelihood Ratio (LLR) refers to a log value of a ratio between a probability value of 1 and a probability value of 0. Or outputs the logarithm ratio (LLR) of the probability values that two bits, i.e., a symbol is "00", "01", "10", or "11", for all four combinations (00,01,10,11) Symbol unit output). This is, in turn, a soft decision value for the received symbol, which represents the reliability of the bits that have been entered into the trellis encoder. As a decoding algorithm of each TCM decoder in the trellis decoder 5012, MAP (Maximum A posteriori Probability), SOVA (Soft-Out Viterbi Algorithm), and the like may be used.

상기 트렐리스 복호부(5012)의 출력은 심볼-바이트 변환기(5013)와 외부 블 록 추출기(5014)로 출력된다. The output of the trellis decoder 5012 is output to the symbol-byte converter 5013 and the external block extractor 5014.

상기 심볼-바이트 변환기(5013)는 상기 트렐리스 복호부(5012)에서 트렐리스 복호되어 출력되는 소프트 판정값을 하드 판정(hard-decision)한 후 4 심볼을 하나의 바이트 단위로 묶어 도 41의 메인 서비스 데이터 처리부(2008)의 데이터 디인터리버로 출력한다. 즉, 상기 심볼-바이트 변환기(5013)는 트렐리스 복호부(5012)의 출력 심볼의 소프트 판정값에 대해 비트 단위의 하드 판정을 수행한다. 그러므로 상기 심볼-바이트 변환기(5013)에서 하드 판정되어 바이트 단위로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등이 포함된다.The symbol-byte converter 5013 hard-decisions the soft decision value output by trellis decoding by the trellis decoder 5012, and then binds four symbols into one byte unit. The data is output to the data deinterleaver of the main service data processing unit 2008. That is, the symbol-byte converter 5013 performs a hard decision in bits on the soft decision value of the output symbol of the trellis decoder 5012. Therefore, data hard-determined by the symbol-byte converter 5013 and output in byte units include not only main service data but also mobile service data, known data, signaling information data, RS parity data, and MPEG header.

상기 외부 블록 추출기(5014)는 상기 트렐리스 복호부(5012)의 TDL만큼의 소프트 판정값들 중 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터, CRC 데이터 심볼들을 포함)에 해당하는 B 만큼의 소프트 판정값들을 구분하여 피드백 디포맷터(5015)로 출력한다. 즉, 상기 외부 블록 추출기(5014)에서 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등의 소프트 판정값은 피드백 디포맷터(5015)로 출력되지 않고 버려진다. The outer block extractor 5014 corresponds to a mobile service data symbol (including RS parity data and CRC data symbols added at the time of RS frame encoding) among soft decision values equal to the TDL of the trellis decoder 5012. The B soft decision values are divided and output to the feedback deformatter 5015. That is, in the external block extractor 5014, soft decision values such as main service data, known data, signaling information data, RS parity data, and MPEG header are discarded without being output to the feedback deformatter 5015.

상기 피드백 디포맷터(5015)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)로 입력되는 중간 과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 모바일 서비스 데이터 심볼의 처리 순서 변화의 역과정으로 모바일 서비스 데이터 심볼의 소프트 판정 값의 처리 순서를 변경(reordering)한 후 심볼 디인터리버(5016)로 출력한다. 이는 송신 측의 블록 처리기(302)의 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하며, 이 블록들로 인해 블록 처리기(302)에서 출력되는 모바일 서비스 데이터 심볼의 순서와 트렐리스 부호화부(256)로 입력되는 모바일 서비스 데이터 심볼의 순서가 달라지기 때문이다. 따라서 상기 피드백 디포맷터(5015)는 상기 심볼 디인터리버(5016)로 입력되는 모바일 서비스 데이터 심볼의 순서가 송신측의 블록 처리기(302)의 출력 순서와 일치하도록 상기 외부 블록 추출기(5014)에서 출력되는 모바일 서비스 데이터 심볼의 순서를 재배열(reordering)한다. 이러한 재배열(reordering) 과정은 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다.The feedback deformatter 5015 may perform an intermediate process (eg, a group formatter, a data deinterleaver, a packet formatter, and a data interleaver) in which an output symbol of the transmitting block processor 302 is input to the trellis encoder 256. In a reverse process of the processing order change of the mobile service data symbol generated in the Rx, the processing order of the soft decision value of the mobile service data symbol is reordered and output to the symbol deinterleaver 5016. This is because a plurality of blocks exist between the trellis encoders 256 of the block processor 302 on the transmitting side, and the order and trellis of the mobile service data symbols output from the block processor 302 due to these blocks. This is because the order of the mobile service data symbols input to the encoder 256 is different. Accordingly, the feedback deformatter 5015 is output from the external block extractor 5014 so that the order of the mobile service data symbols inputted to the symbol deinterleaver 5016 matches the output order of the block processor 302 on the transmitting side. Reorder the mobile service data symbols. This reordering process may be implemented in at least one of software, hardware, and middleware.

상기 심볼 디인터리버(5016)는 송신측의 심볼 인터리버(514)의 심볼 인터리빙의 역과정으로, 상기 피드백 디포맷터(5015)에서 순서가 변경되어 출력되는 데이터 심볼의 소프트 판정값에 대해 디인터리빙한다. 상기 심볼 디인터리버(5016)에서 디인터리빙시 사용되는 블록의 크기는 송신측의 심볼 인터리버의 실제 심볼의 인터리빙 크기(즉, B)와 동일하며 이것은 터보 복호가 트렐리스 복호부(5012)와 심볼 복호기(5018) 간에 이루어지기 때문이다. The symbol deinterleaver 5016 is a reverse process of symbol interleaving of the symbol interleaver 514 on the transmitting side. The symbol deinterleaver 5016 deinterleaves the soft decision value of the data symbols outputted after the order is changed by the feedback deformatter 5015. The block size used for deinterleaving in the symbol deinterleaver 5016 is equal to the interleaving size (ie, B) of the actual symbol of the symbol interleaver on the transmitting side, which is a turbo decoding trellis decoder 5012 and a symbol. This is because it is made between the decoders 5018.

상기 심볼 디인터리버(5016)의 입력과 출력은 모두 소프트 판정값이며, 상기 디인터리빙된 소프트 판정값은 외부 심볼 매퍼(5017)로 출력된다. Both the input and output of the symbol deinterleaver 5016 are soft decision values, and the deinterleaved soft decision values are output to an external symbol mapper 5017.

상기 외부 심볼 매퍼(5017)는 송신측의 콘볼루션 부호기(513)의 구성 및 부호율에 따라 그 동작이 달라질 수 있다. 예를 들어, 상기 콘볼루션 부호기(513)에서 1/2 부호화되어 전송된 데이터라면 상기 외부 심볼 매퍼(5017)는 입력 데이터를 그대로 심볼 복호기(5018)로 출력한다. 다른 예로, 상기 콘볼루션 부호기(513)에서 1/4 부호화되어 전송된 데이터라면 심볼 복호기(5018)의 입력 형식에 맞게 입력 데이터를 변환하여 심볼 복호기(5018)로 출력한다. 이를 위해 상기 외부 심볼 매퍼(5017)는 시그널링 복호부(2013)로부터 SCCC 관련 정보 예를 들어, SCCC 블록 모드와 SCCC 아웃터 코드 모드를 입력받을 수 있다.The operation of the external symbol mapper 5017 may vary depending on the configuration and the code rate of the convolutional encoder 513 of the transmitting side. For example, the external symbol mapper 5017 outputs the input data to the symbol decoder 5018 as it is if the data is ½ encoded by the convolutional encoder 513. As another example, if the data is coded by the convolutional encoder 513 and transmitted, the input data is converted to the symbol decoder 5018 according to the input format of the symbol decoder 5018. To this end, the external symbol mapper 5017 may receive SCCC-related information, for example, the SCCC block mode and the SCCC outer code mode, from the signaling decoder 2013.

상기 심볼 복호기(5018, 즉 외부 복호기)는 송신측의 콘볼루션 부호기(513)의 역과정으로, 외부 심볼 매퍼(5017)의 출력에 대해 심볼 복호를 수행한다. 이때 상기 심볼 복호기(5018)에서는 2가지 소프트 판정값이 출력된다. 하나는 콘볼루션 부호기(513)의 출력 심볼과 매칭되는 소프트 판정 값(이하, 제1 소프트 판정값이라 함)이고 다른 하나는 콘볼루션 부호기(513)의 입력 비트와 매칭되는 소프트 판정 값(이하, 제2 소프트 판정값이라 함)이다. 상기 제1 소프트 판정값은 콘볼루션 부호기(513)의 출력 심볼 즉, 두 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)를 심볼을 구성하는 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)하거나, 2비트가 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 모든 조합에 대해 출력(심볼단위 출력)할 수 있다. 상기 제1 소프트 판정값은 내부 심볼 매퍼(5019)와 심볼 인터리버(5020), 및 피드백 포맷터(5021)를 통해 트렐리스 복호부(5012)로 피드백된다. 상기 제2 소프트 판정값은 송신측의 콘볼루션 부호기(513)의 입력 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)로 표현되어 외부 버퍼(5022)로 출력된다. 상기 심볼 복호기(5018)의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.The symbol decoder 5018 (that is, the external decoder) performs a symbol decoding on the output of the external symbol mapper 5017 as a reverse process of the convolutional encoder 513 of the transmitting side. At this time, the symbol decoder 5018 outputs two soft determination values. One is a soft decision value (hereinafter referred to as a first soft decision value) that matches the output symbol of the convolutional encoder 513 and the other is a soft decision value (hereinafter, referred to as a first soft decision value) that matches the input bit of the convolution encoder 513. Second soft determination value). The first soft decision value represents an output symbol of the convolutional encoder 513, that is, the reliability of two bits, and constitutes a log ratio (LLR) between a probability of '1' and a probability of '0' of one bit. Output (bitwise output) for the upper and lower bits respectively, or output the logarithm ratio (LLR) of the probability values that the 2 bits will be "00", "01", "10", and "11". (Symbol unit output) The first soft decision value is fed back to the trellis decoder 5012 through the internal symbol mapper 5019, the symbol interleaver 5020, and the feedback formatter 5021. The second soft decision value represents the reliability of the input bit of the convolutional encoder 513 of the transmitting side, and is expressed as a logarithm ratio (LLR) between a probability of '1' and a probability of '0' of one bit. Is output to 5022. As a decoding algorithm of the symbol decoder 5018, MAP (Maximum A posteriori Probability), SOVA (Soft-Out Viterbi Algorithm), or the like may be used.

상기 심볼 복호기(5018)에서 출력되는 제1 소프트 판정값은 내부 심볼 매퍼(5019)로 입력된다. 상기 내부 심볼 매퍼(5019)는 제1 소프트 판정값을 트렐리스 복호부(5012)의 입력 형식에 맞게 변환하여 심볼 인터리버(5020)로 출력한다. 상기 내부 심볼 매퍼(5019)도 송신측의 콘볼루션 부호기(513)의 구조 및 부호율에 따라 그 동작이 달라질 수 있다. The first soft decision value output from the symbol decoder 5018 is input to the internal symbol mapper 5019. The internal symbol mapper 5019 converts the first soft decision value according to the input format of the trellis decoder 5012 and outputs the converted soft signal to the symbol interleaver 5020. The operation of the internal symbol mapper 5019 may vary according to the structure and the code rate of the convolutional encoder 513 of the transmitting side.

상기 심볼 인터리버(5020)는 상기 내부 심볼 매퍼(5019)에서 출력되는 제1 소프트 판정값에 대해 도 30과 같이 심볼 인터리빙하여 피드백 포맷터(5021)로 출력한다. 상기 심볼 인터리버(5020)의 출력도 소프트 판정값이 된다.The symbol interleaver 5020 performs symbol interleaving on the first soft decision value output from the internal symbol mapper 5019 and outputs the result to the feedback formatter 5021. The output of the symbol interleaver 5020 also becomes a soft determination value.

상기 피드백 포맷터(5021)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)에 입력되는 중간과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 심볼의 처리 순서 변화에 맞춰 상기 심볼 인터리버(5020)의 출력 값들의 순서를 변경한 후 트렐리스 복호부(5012)로 출력한다. 상기 피드백 포맷터(5021)의 재배열(reordering) 과정도 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다. The feedback formatter 5021 is an intermediate process (eg, a group formatter, a data deinterleaver, a packet formatter, and a data interleaver) in which an output symbol of the block processor 302 on the transmitting side is input to the trellis encoder 256. The order of the output values of the symbol interleaver 5020 is changed in accordance with the change in the processing order of the symbols generated in the subfield, and then output to the trellis decoder 5012. The reordering process of the feedback formatter 5021 may also be implemented by at least one of software, hardware, and middleware.

상기 심볼 인터리버(5020)에서 출력되는 소프트 판정 값들은 입력 버퍼(5011)에서 출력되는 TDL만큼의 모바일 서비스 데이터 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(5012)로 입력된다. 이때 메인 서비스 데이터 심볼이나 메인 서비스 데이터의 RS 패리티 심볼, 기지 데이터 심볼, 시그널링 정보 데이터 등은 모바일 서비스 데이터 심볼이 아니므로, 상기 피드백 포맷터(5021)는 해당 위치 에 널 데이터를 삽입하여 트렐리스 복호부(5012)로 출력한다. 또한 상기 TDL 크기의 심볼들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 심볼 인터리버(5020)로 부터 피드백되는 값이 없으므로, 상기 피드백 포맷터(5021)는 피드백 제어기(5010)의 제어를 받아 모바일 서비스 데이터 심볼을 포함한 모든 심볼 위치에 널 데이터를 삽입하여 트렐리스 복호부(5012)로 출력한다.The soft decision values output from the symbol interleaver 5020 are input to the trellis decoder 5012 in one-to-one correspondence with mobile service data symbol positions corresponding to the TDL output from the input buffer 5011. In this case, since the main service data symbol, the RS parity symbol of the main service data, the known data symbol, the signaling information data, etc. are not the mobile service data symbols, the feedback formatter 5021 inserts null data into the corresponding position and trellis decodes the data. Output to the part 5012. In addition, since there is no value fed back from the symbol interleaver 5020 at the first decoding start every time the turbo decoding of the TDL size symbols is performed, the feedback formatter 5021 is controlled by a feedback controller 5010 to provide mobile service data. Null data is inserted into all symbol positions including the symbol and outputted to the trellis decoder 5012.

상기 출력 버퍼(5022)는 피드백 제어기(5010)의 제어에 따라 상기 심볼 복호기(5018)에서 제2 소프트 판정값을 입력받아 일시 저장한 후 RS 프레임 복호기(2006)로 출력한다. 일 예로, 상기 출력 버퍼(5022)는 M번의 터보 복호가 수행될 때까지 상기 심볼 복호기(5018)의 제2 소프트 판정값을 오버라이트하고 있다가, 하나의 TDL에 대해 M번의 터보 복호가 모두 수행되면, 그때의 제2 소프트 판정값을 RS 프레임 복호기(2006)로 출력한다. The output buffer 5022 receives the second soft decision value from the symbol decoder 5018 under the control of the feedback controller 5010, temporarily stores the second soft decision value, and outputs the second soft decision value to the RS frame decoder 2006. For example, the output buffer 5022 is overwriting the second soft decision value of the symbol decoder 5018 until M turbo decoding is performed, and then M turbo decoding is performed for one TDL. If so, the second soft decision value at that time is output to the RS frame decoder 2006.

상기 피드백 제어기(5010)는 도 46과 같은 블록 복호기 전체의 터보 복호 및 터보 복호 반복 횟수를 제어한다.The feedback controller 5010 controls the number of times of turbo decoding and turbo decoding repetition of the entire block decoder as shown in FIG. 46.

즉, 기 설정된 반복 횟수동안 터보 복호가 이루어지고 나면, 심볼 복호기(5018)의 제2 소프트 판정값은 출력 버퍼(5022)를 통해 RS 프레임 복호기(2006)로 출력되고, 한 터보 블록에 대한 블록 복호 과정이 완료된다.That is, after turbo decoding is performed for a predetermined number of repetitions, the second soft decision value of the symbol decoder 5018 is output to the RS frame decoder 2006 through the output buffer 5022, and block decoding for one turbo block is performed. The process is complete.

이를 본 발명에서는 설명의 편의를 위해 회귀적인 터보 복호 과정이라 한다.This is referred to as a regressive turbo decoding process for convenience of description in the present invention.

이때 상기 트렐리스 복호부(5012)와 심볼 복호기(5018) 사이의 회귀적인 터보 복호 횟수는 하드웨어 복잡도와 에러정정 성능을 고려하여 정의할 수 있는데 횟수가 증가하면 에러 정정 능력은 우수해지지만 하드웨어는 복잡해지는 단점이 있 다. At this time, the number of recursive turbo decoding between the trellis decoder 5012 and the symbol decoder 5018 may be defined in consideration of hardware complexity and error correction performance. It has the disadvantage of being complicated.

한편, 데이터 그룹(또는 M/H 그룹이라 함) 내의 기지 데이터 위치에 따라 각 M/H 블록은 다른 등화 성능을 가질 수 있다. 즉, 수신 시스템은 기지 데이터로부터 얻은 채널 정보를 이용하여 채널 등화를 수행하므로 각 M/H 블록마다 앞뒤로 긴 기지 데이터 열을 갖는 A영역에 비해 기지 데이터로부터 상대적으로 멀리 떨어진 영역일수록 빠른 채널변화에 의한 등화 성능이 나빠질 수 있다. On the other hand, each M / H block may have different equalization performance depending on the known data position in the data group (or M / H group). That is, since the receiving system performs channel equalization using the channel information obtained from the known data, an area relatively far from the known data is faster than a region A having a long sequence of known data back and forth for each M / H block. Equalization performance can deteriorate.

본 발명에서는 데이터 그룹 내 M/H 블록 B4 내지 M/H 블록 B7을 A 영역(=B4+B5+B6+B7)이라 하고, M/H 블록 B3와 M/H 블록 B8을 B 영역(=B3+B8)이라 하고, M/H 블록 B2와 M/H 블록 B9을 C 영역(=B2+B9)이라 하고, M/H 블록 B1와 M/H 블록 B10을 B 영역(=B1+B10)이라 한다. In the present invention, the M / H blocks B4 to M / H blocks B7 in the data group are referred to as the A area (= B4 + B5 + B6 + B7), and the M / H blocks B3 and M / H block B8 are referred to as the B area (= B3). M / H block B2 and M / H block B9 are called C regions (= B2 + B9), and M / H block B1 and M / H block B10 are referred to as B regions (= B1 + B10). do.

상기 A 영역의 M/H 블록 B4 내지 M/H 블록 B7은 메인 서비스 데이터의 간섭이 없으면서, 각 M/H 블록의 앞뒤에 긴 기지 데이터 열이 삽입된다. 그러므로 상기 A 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻은 채널 정보를 이용하여 등화를 수행할 수 있으므로, A 영역 내지 D 영역 중 가장 강인한 등화 성능을 얻을 수가 있다. The M / H blocks B4 to M / H block B7 in the area A are inserted with long known data strings before and after each M / H block without interference of main service data. Therefore, in the case of the area A, since the equalization can be performed using the channel information obtained from the known data, the reception system can obtain the strongest equalization performance among the areas A to D.

상기 B 영역의 M/H 블록 B3와 M/H 블록 B8은 메인 서비스 데이터의 간섭이 적으면서, 두 M/H 블록 모두 한쪽에만 긴 기지 데이터 열이 삽입된다. 상기와 같이 각 M/H 블록마다 어느 한쪽에만 기지 데이터 열을 갖는 B 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, C/D 영역보다 더 강인한 등화 성능을 얻을 수가 있다. The M / H block B3 and the M / H block B8 in the region B have little interference with main service data, and a long known data string is inserted into only one side of both M / H blocks. As described above, in the case of the B area having only one known data string in each M / H block, the receiving system can perform equalization using channel information obtained from the known data, which is more robust than the C / D area. Equalization performance can be obtained.

상기 C 영역의 M/H 블록 B2과 M/H 블록 B9은 메인 서비스 데이터의 간섭이 B 영역보다 더 많으며, 두 M/H 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 상기 D 영역의 M/H 블록 B1과 M/H 블록 B10은 메인 서비스 데이터의 간섭이 C 영역보다 더 많으며, 마찬가지로 두 M/H 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 상기 C/D 영역은 기지 데이터 열로부터 많이 떨어져 있기 때문에 채널이 빠르게 변하는 경우에는 수신 성능이 안 좋을 수가 있다. In the M / H block B2 and the M / H block B9 of the C region, the interference of the main service data is greater than that of the B region, and both M / H blocks cannot insert a long known data string back and forth. In the M / H block B1 and the M / H block B10 of the D area, the interference of the main service data is more than that of the C area, and similarly, both M / H blocks cannot insert a long known data stream back and forth. Since the C / D region is far from the known data stream, the reception performance may be poor when the channel changes rapidly.

즉, 데이터 그룹 내 A>B>C>D영역 순으로 등화 성능이 우수하다. 이와 같이 기지 데이터로부터 상대적으로 멀리 떨어진 영역일수록 빠른 채널 변화에 의한 등화 성능이 나빠질 수 있다.That is, the equalization performance is excellent in the order of A> B> C> D in the data group. As described above, an area relatively far from the known data may deteriorate the equalization performance due to a fast channel change.

또한, 본 발명은 표7에서와 같이 두 가지 SCCC 블록 모드를 지원한다. 표 7을 보면, 상기 SCCC 블록 모드 값이 00이면 SCCC 블록과 M/H 블록이 동일하다. 그런데 상기 SCCC 블록 모드 값이 01이면 각 SCCC 블록이 2개의 M/H 블록으로 구성된다. 즉, 상기 SCCC 블록 모드 값이 01이면, 송신 시스템에서 SCCC 블록으로 부호화된 심볼들이 두개의 M/H 블록을 통해 전송된다. In addition, the present invention supports two SCCC block modes as shown in Table 7. Referring to Table 7, if the SCCC block mode value is 00, the SCCC block and the M / H block are the same. However, if the SCCC block mode value is 01, each SCCC block is composed of two M / H blocks. That is, when the SCCC block mode value is 01, the symbols encoded by the SCCC block in the transmission system are transmitted through two M / H blocks.

도 47은 상기 SCCC 블록 모드 값이 01일 때의 M/H 블록의 결합 규칙의 예를 보이고 있다. 즉, 송신 시스템에서 1번 M/H 블록과 6번 M/H 블록을 결합하여 SCCC 부호화하고, 2번 M/H 블록과 7번 M/H블록을 결합하여 SCCC 블록 부호화한다. 그리고, 3번 M/H 블록과 8번 M/H 블록을 결합하여 SCCC 부호화하고, 4번 M/H 블록과 9번 M/H 블록을 결합하여 SCCC 부호화한다. 또한, 5번 M/H 블록과 10번 M/H 블록을 결합하여 SCCC 부호화한다. 이러한 결합 규칙을 적용하여 SCCC 부호화된 데이터가 전송되면, 수신 시스템에서는 등화 성능이 나쁜 영역의 심볼들을 등화 성능이 우수한 영역의 심볼들과 결합하여 터보 복호함으로써 전체적인 오류 정정 능력을 개선할 수 있다. 47 shows an example of a combining rule of an M / H block when the SCCC block mode value is 01. That is, in the transmission system, SCCC encoding is performed by combining M / H block 1 and M / H block 6, and SCCC block encoding is performed by combining M / H block 2 and M / H block 7. In addition, SCCC encoding is performed by combining the 3rd M / H block and the 8th M / H block, and combining the 4th M / H block and the 9th M / H block by SCCC encoding. In addition, SCCC encoding is performed by combining the 5th M / H block and the 10th M / H block. When the SCCC coded data is transmitted by applying the combination rule, the reception system may improve the overall error correction capability by combining and decoding the symbols of the region having poor equalization performance with the symbols of the region having excellent equalization performance.

그러면 도 46의 블록 복호기 내 피드백 제어기(5010)는 M/H 블록의 결합 규칙에 따라 입력 버퍼(5011)에 저장된 심볼들의 출력 순서를 조정한다. 상기 입력 버퍼(5011)에서 출력되는 심볼은 TCM 복호기(5012)로 입력된다. 예를 들어, 1번 M/H 블록, 6번 M/H 블록, 2번 M/H 블록, 7번 M/H블록, 3번 M/H 블록, 8번 M/H 블록, 4번 M/H 블록, 9번 M/H 블록, 5번 M/H 블록, 10번 M/H 블록 순으로 상기 TCM 복호기(5012)로 입력된다. Then, the feedback controller 5010 in the block decoder of FIG. 46 adjusts the output order of the symbols stored in the input buffer 5011 according to the combining rule of the M / H block. The symbol output from the input buffer 5011 is input to the TCM decoder 5012. For example, 1st M / H block, 6th M / H block, 2nd M / H block, 7th M / H block, 3rd M / H block, 8th M / H block, 4th M / H block The H block, the M / H block 9, the M / H block 5, and the M / H block 10 are input to the TCM decoder 5012 in this order.

상기 TCM 복호기(5012)는 입력되는 M/H 블록별로 복호를 수행하여 외부 블록 추출기(5014)로 출력한다. 상기 외부 블록 추출기(5014)에서 추출된 모바일 서비스를 위한 데이터는 전술한 바와 같이 피드백 디포맷터(5015), 심볼 디인터리버(5016), 외부 심볼 매퍼(5017), 심볼 복호기(5018), 내부 심볼 매퍼(5019), 심볼 인터리버(5020), 및 피드백 포맷터(5021)를 거쳐 상기 TCM 복호기(5012)로 피드백된다. The TCM decoder 5012 decodes each input M / H block and outputs the decoded data to an external block extractor 5014. As described above, the data for the mobile service extracted by the external block extractor 5014 includes a feedback deformatter 5015, a symbol deinterleaver 5016, an external symbol mapper 5017, a symbol decoder 5018, and an internal symbol mapper. 5019, a symbol interleaver 5020, and a feedback formatter 5021 are fed back to the TCM decoder 5012.

그리고, 상기 모바일 서비스를 위한 데이터가 피드백 포맷터(5021)에서 TCM 복호기(5012)로 피드백될 때, 상기 피드백 포맷터(5021)는 상기 입력 버퍼(5011)에서 출력되는 각 M/H 블록별로 모바일 서비스를 위한 데이터의 위치를 맞춰 상기 TCM 복호기(5012)로 피드백한다. 이때 한 개의 SCCC 블록으로 부호화된 2개의 M/H 블록들을 순서상으로 연이어 복호하지 않으면 피드백 복호화 과정중 각 복호기의 입출력의 중간에 M/H 블록 순서를 조정하는 임시 버퍼가 추가로 필요할 수 있다. When the data for the mobile service is fed back from the feedback formatter 5021 to the TCM decoder 5012, the feedback formatter 5021 may provide a mobile service for each M / H block output from the input buffer 5011. The TCM decoder 5012 is fed back to match the position of the data. In this case, if two M / H blocks encoded by one SCCC block are not sequentially decoded sequentially, a temporary buffer for adjusting the order of M / H blocks may be additionally required in the middle of input / output of each decoder during a feedback decoding process.

또한, 결합 모드에 의한 블록 복호시 등화성능이 나쁜 M/H 블록내의 심볼이 등화성능이 좋은 M/H 블록내의 심볼들과 엮이면서 오류정정 능력이 향상될 수도 있지만 반대로 등화성능이 나쁜 M/H 블록내의 심볼이 인접하고 있는 등화능력이 좋은 M/H 심볼들의 복호화에 악영향을 미칠 수 있다. In addition, when the block decoding is performed by the combined mode, the symbol in the M / H block having poor equalization performance may be intertwined with the symbols in the M / H block having good equalization performance, and the error correction capability may be improved. A symbol in a block may adversely affect decoding of adjacent M / H symbols having good equalization capability.

따라서 본 발명은 각 M/H 블록별로, 또는 각 영역별로 모바일 서비스를 위한 데이터의 심볼들에 가중치를 부가함으로써, 복호시 등화 능력이 떨어지는 심볼들의 영향을 감소시킬 수 있다. 여기서 가중치는 각 심볼에 더해질 수도 있고, 각 심볼에 곱해질 수도 있다. 본 발명은 각 심볼에 곱해지는 것을 일 실시예로 한다.Therefore, according to the present invention, by adding weights to the symbols of the data for the mobile service for each M / H block or for each region, the influence of the symbols having poor equalization capability during decoding can be reduced. The weight may be added to each symbol or multiplied by each symbol. According to an embodiment of the present invention, each symbol is multiplied.

또한 본 발명은 TCM 복호되어 출력되는 심볼의 소프트 판정 값에 기 설정된 가중치를 곱하여 심볼 복호기(5018)에서 이용하는 것을 일 실시예로 한다. According to an embodiment of the present invention, the soft decision value of the TCM decoded and output symbol is multiplied by a predetermined weight to be used in the symbol decoder 5018.

여기서, 상기 가중치는 각 영역별로 다를 수도 있고, 각 M/H 블록별로 다를 수도 있다. 또는 복수개의 영역 중 일부 영역에서는 가중치가 같고, 나머지 영역에서는 가중치를 다르게 설정할 수도 있다. 또는 복수개의 M/H 블록 중 일부 M/H 블록에서는 가중치가 같고, 나머지 M/H 블록에서는 가중치를 다르게 설정할 수도 있다. Here, the weight may be different for each region or may be different for each M / H block. Alternatively, some regions of the plurality of regions may have the same weight, and others may have different weights. Alternatively, some M / H blocks of the plurality of M / H blocks may have the same weight, and other M / H blocks may have different weights.

이때, 등화 성능이 좋은 영역(또는 M/H)의 가중치보다 등화 성능이 좋지 않은 영역(또는 M/H 블록)의 가중치가 더 작은 값을 갖는 것을 일 실시예로 한다.At this time, according to an embodiment of the present invention, the weight of the region (or M / H block) having poor equalization performance is smaller than the weight of the region (or M / H) having good equalization performance.

예를 들어, A 영역<B 영역< C 영역< D 영역 순으로 가중치를 설정할 수도 있다. 이 경우의 예로, A 영역의 가중치는 1, B 영역의 가중치는 0.5, C 영역의 가중 치는 0.25, D 영역의 가중치는 0.125로 설정할 수 있다. 다른 예로, A,B 영역의 가중치를 동일하게 설정하고, C,D 영역의 가중치를 동일하게 설정하면서, A.B 영역의 가중치보다 C,D 영역의 가중치를 더 작은 값으로 설정할 수도 있다. 이 경우의 예로, A,B 영역의 가중치는 1, C,D 영역의 가중치는 0.25로 설정할 수 있다. 또 다른 예로, 4번 M/H 블록, 5번 M/H 블록, 6번 M/H 블록, 7번 M/H블록 < 3번 M/H 블록, 8번 M/H 블록 < 1번 M/H 블록, 2번 M/H 블록, 9번 M/H 블록, 10번 M/H 블록 순으로 가중치를 설정할 수도 있다. For example, the weights may be set in the order of A area <B area <C area <D area. As an example of this case, the weight of the region A may be set to 1, the weight of the region B to 0.5, the weight of the region C to 0.25, and the weight of the region D to 0.125. As another example, the weights of the A and B regions may be set to be the same, and the weights of the C and D regions are set to be the same, and the weights of the C and D regions may be set to be smaller than the weights of the A and B regions. As an example of this case, the weights of the A and B regions may be set to 1, and the weights of the C and D regions may be set to 0.25. As another example, 4th M / H block, 5th M / H block, 6th M / H block, 7th M / H block <3rd M / H block, 8th M / H block <1st M / The weights may be set in the order of the H block, the 2nd M / H block, the 9th M / H block, and the 10th M / H block.

지금까지 설명한 데이터 그룹 내 영역별 또는 M/H 블록별로 가중치를 설정하는 방법, 가중치로 설정된 수치는 본 발명의 이해를 돕기위한 실시예들이며, 상기 가중치 설정 방법과 가중치로 설정된 수치는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명의 권리 범위가 상기 실시예들로 한정되지 않을 것이다.The method of setting weights for each region or M / H block in the data group described above, and the numerical values set as weights are embodiments to help the understanding of the present invention. The scope of the present invention will not be limited to the above embodiments as it may be changed.

본 발명은 A,B 영역의 가중치를 동일하게 설정하고(β1), C,D 영역의 가중치를 동일하게 설정하면서(β2), A.B 영역의 가중치(β1)보다 C,D 영역의 가중치(β2)를 더 작은 값으로 설정하는 것(즉, β1 <β2)을 일 실시예로 한다. 그리고, β1은 1, β2는 0.25로 설정하는 것을 일 실시예로 한다.According to the present invention, the weights of the A and B regions are set equally (β1), and the weights of the C and D regions are equally set (β2), while the weights of the C and D regions (β2) are greater than the weights of the AB regions (β1). Is set to a smaller value (ie, β1 < β2) in one embodiment. In an embodiment, β1 is set to 1 and β2 is set to 0.25.

또한 본 발명은 TCM 복호기(5012)에서 TCM 복호된 심볼의 소프트 판정값에 가중치를 곱하는 것을 일 실시예로 한다. 더욱 상세하게는 TCM 복호된 심볼 LLR에 가중치를 곱하는 것을 일 실시예로 한다.According to an embodiment of the present invention, the soft decision value of the TCM decoded symbol is multiplied by the weight in the TCM decoder 5012. More specifically, multiplying the TCM decoded symbol LLR by the weight is an embodiment.

즉, 상기 TCM 복호기(5012)의 출력은 전송된 심볼들에 대해서 송신측 트렐리스 부호기에 입력된 심볼들의 신뢰도를 의미한다. 이때, 송신측의 트렐리스 부호화 부(256)의 입력은 두 비트가 한 심볼이므로, 본 발명은 TCM 복호기(5012)에서 한 심볼이 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 각각 출력하고, 각 심볼별로 4개의 LLR에 기 설정된 가중치를 곱하는 것을 일 실시예로 한다.That is, the output of the TCM decoder 5012 means the reliability of the symbols input to the transmitting trellis encoder for the transmitted symbols. At this time, since the two bits are one symbol of the input of the trellis encoder 256 on the transmitting side, in the present invention, one symbol in the TCM decoder 5012 is "00", "01", "10", or "11". According to an embodiment of the present invention, a logarithm ratio LLR of a probability value to be output is output and four LLRs are multiplied by a predetermined weight for each symbol.

상기 각각 가중치가 곱해진 심볼들의 LLR은 심볼 디인터리버(5016)에서 등화 능력이 좋은 영역의 심볼 위치와 등화 능력이 나쁜 영역의 심볼 위치가 뒤섞이면서 심볼 복호기(5018)에 입력되어 심볼 복호가 이루어진다. 상기 심볼 복호기(5018)에서는 심볼 단위로 복호를 할 때 등화능력이 나쁜 영역의 심볼 복호에서는 TCM복호화되어 입력된 심볼 LLR보다는 트렐리스 상태 전이(trellis state transition)상에서 앞과 뒤 상태의 확률치에 의해 심볼 복호가 이루어질 확률이 커지므로, 등화 능력이 나쁜 영역의 심볼에 의한 영향을 감소시킬 수 있다.The LLRs of the symbols multiplied by the weights are input to the symbol decoder 5018 while the symbol positions of the region having good equalization and the region of the region having poor equalization are mixed in the symbol deinterleaver 5016 to perform symbol decoding. In the symbol decoder 5018, the symbol decoding of a region having poor equalization ability when decoding in symbol units, the TCM decoded and the probability value of the front and back states in trellis state transition rather than the input symbol LLR. This increases the probability of symbol decoding, so that the influence of symbols in regions with poor equalization ability can be reduced.

즉, 심볼 복호기(5018)에 입력되는 심볼LLR은 이미 각 M/H 블록별로 TCM 복호를 수행한 결과이지만, M/H 블록별로 등화 능력에 많은 차이가 있어 심볼 LLR들도 이에 따른 영향을 받는다. 따라서 본 발명은 모바일 채널과 같은 열악한 채널 환경에서 전송된 심볼들을 복호할 때 등화가 잘 되지 못한 M/H 블록(예, 1,2,9,10번째 M/H 블록)으로부터 얻어진 심볼 LLR들과 등화가 잘 된 M/H블록(예, 3 내지 8번째 M/H 블록)으로부터 얻어진 심볼LLR들을 심볼 복호과정에서 구분하여 사용함으로써, 심볼 복호기(5018)의 오류 정정 능력을 향상시킬수 있다. That is, the symbol LLR input to the symbol decoder 5018 is a result of performing TCM decoding for each M / H block, but there are many differences in equalization capability for each M / H block, and thus the symbol LLRs are affected accordingly. Accordingly, the present invention provides symbol LLRs obtained from M / H blocks (eg, 1,2,9,10th M / H blocks) that are not equalized well when decoding symbols transmitted in a poor channel environment such as a mobile channel. By using symbol LLRs obtained from well-equalized M / H blocks (eg, 3rd to 8th M / H blocks) in the symbol decoding process, the error correction capability of the symbol decoder 5018 can be improved.

도 48은 본 발명에 따른 블록 복호기의 다른 실시예를 보인 구성 블록도로서, 도 46의 TCM 복호기와 심볼 복호기 사이에 신뢰도 조정부(5200)가 더 구비하는 것을 일 실시예로 한다.FIG. 48 is a block diagram illustrating another embodiment of a block decoder according to the present invention. In an embodiment, the reliability adjusting unit 5200 is further provided between the TCM decoder and the symbol decoder of FIG. 46.

더욱 상세하게는 피드백 디포맷터(5015)와 심볼 디인터리버(5016) 사이에 신뢰도 조정부(5200)가 구비하는 것을 일 실시예로 한다.More specifically, the reliability adjusting unit 5200 is provided between the feedback deformatter 5015 and the symbol deinterleaver 5016 according to an embodiment.

상기 신뢰도 조정부(5200)는 제1 곱셈기(5201), 제2 곱셈기(5202), 및 선택부(5203)를 포함한다. 상기 선택부(5203)는 멀티플렉서인 것을 일 실시예로 한다.The reliability adjuster 5200 includes a first multiplier 5201, a second multiplier 5202, and a selector 5203. In one embodiment, the selector 5203 is a multiplexer.

상기 제1 곱셈기(5201)는 상기 피드백 디포맷터(5015)의 출력에 제1 가중치(β1)를 곱하고, 제2 곱셈기(5202)는 상기 피드백 디포맷터(5015)의 출력에 제2 가중치(β2)를 곱하는 것을 일 실시예로 한다. 여기서, β1은 1, β2는 0.25로 설정하는 것을 일 실시예로 한다.The first multiplier 5201 multiplies the output of the feedback deformatter 5015 by a first weight β1, and the second multiplier 5202 multiplies the output of the feedback deformatter 5015 by a second weight β2. Multiplying by an embodiment. In this embodiment, β1 is set to 1 and β2 is set to 0.25.

상기 선택부(5203)는 선택 신호에 따라 제1 곱셈기(5201)의 출력을 선택하여 심볼 디인터리버(5016)로 출력하거나, 제2 곱셈기(5202)의 출력을 선택하여 심볼 디인터리버(5016)로 출력한다.The selector 5203 may select an output of the first multiplier 5201 according to a selection signal and output the result to the symbol deinterleaver 5016, or select an output of the second multiplier 5202 to the symbol deinterleaver 5016. Output

상기 선택부(5203)는 제1, 제2 곱셈기(5201,5202)에서 각각 가중치가 곱해진 심볼 LLR이 A/B 영역(또는 3,4,5,6,7,8번째 M/H 블록)의 심볼 LLR이면 제1 곱셈기(5201)의 출력을 선택하고, C/D 영역(또는 1,2,9,10번째 M/H 블록)의 심볼 LLR이면 제2 곱셈기(5202)의 출력을 선택하는 것을 일 실시예로 한다. 본 발명에서는 TCM 복호되어 출력되는 심볼 LLR이 데이터 그룹 내 A/B/C/D 영역 중 어느 영역의 심볼 LLR인지, 또는 10개의 M/H 블록 중 어느 M/H 블록의 심볼 LLR인지 알고 있는 것을 일 실시예로 한다. The selector 5203 has a symbol LLR obtained by multiplying weights in the first and second multipliers 5201 and 5202, respectively, in an A / B region (or 3,4,5,6,7,8th M / H block). Selects the output of the first multiplier 5201 if the symbol LLR of, and selects the output of the second multiplier 5202 if the symbol LLR of the C / D region (or 1,2,9,10th M / H block) In one embodiment. In the present invention, it is known that the symbol LLR decoded and outputted by the TCM is a symbol LLR of which area of the A / B / C / D area in the data group or a M / H block of 10 M / H blocks. In one embodiment.

이때 상기 제1, 제2 곱셈기(5201,5202)에서는 한 심볼 내 4개의 LLR에 대해 각각 가중치(β1, β2)를 곱하는 것을 일 실시예로 한다. 예를 들어, A 심볼에 대 한 4개의 LLR(즉, "00", "01", "10", "11"이 될 확률값의 로그비(LLR))에 제1 곱셈기(5201)에서는 제1 가중치(β1)를 각각 곱하고, 제2 곱셈기(5202)에서는 제2 가중치(β2)를 각각 곱한다.In this case, the first and second multipliers 5201 and 5202 may multiply four LLRs in one symbol by weights β1 and β2, respectively. For example, in the first multiplier 5201, four LLRs for the A symbol (that is, the logarithmic ratio (LLR) of the probability values that will be "00", "01", "10", and "11") may be used. The weights β1 are each multiplied, and in the second multiplier 5202, the second weights β2 are respectively multiplied.

상기 선택부(5203)에서 선택되어 출력되는 심볼 LLR은 심볼 디인터리버(5016)와 외부 심볼 매퍼(5017)를 거쳐 심볼 복호기(5018)로 입력되어 심볼 복호된다.The symbol LLR selected and output by the selector 5203 is inputted to the symbol decoder 5018 through the symbol deinterleaver 5016 and the external symbol mapper 5017 and decoded.

예를 들어, 심볼 복호기(5018)가 Max-log MAP복호 알고리즘을 사용한다고 가정하고, 이때 순방향 메트릭 연산 과정을 설명하면 다음과 같다. For example, suppose that the symbol decoder 5018 uses the Max-log MAP decoding algorithm. In this case, the forward metric calculation process will be described as follows.

송신 시스템 내 블록 처리기는 도 29에서와 같이 2개의 메모리를 사용하여 블록 부호화를 수행한다. 그러므로, 각 시간 인덱스마다 4개의 메모리 상태('00','01','10','11')가 존재한다. 만일 블록 처리기에서 3개의 메모리를 이용하여 블록 부호화를 수행한다면, 각 시간 인덱스마다 8개의 메모리 상태('000'~'111')가 존재한다.The block processor in the transmission system performs block encoding using two memories as shown in FIG. Therefore, there are four memory states '00', '01', '10', and '11' for each time index. If block encoding is performed using three memories in the block processor, eight memory states ('000' to '111') exist for each time index.

즉, 도 29를 기초로, 도 49와 도 50을 예로 들면, 각 시간 인덱스(또는 구간 또는 스테이지라고도 함)마다 '00','01','10','11' 상태가 발생되고, 각 상태에서는 2개의 패스가 만난다.That is, based on FIG. 29, for example, FIGS. 49 and 50, '00', '01', '10', and '11' states are generated for each time index (or also referred to as a section or a stage). In the state, two passes meet.

예를 들어, '00' 상태에서는 이전 시간 인덱스의 '00' 상태와 '01' 상태의 패스가 만나고, '01' 상태에서는 이전 시간 인덱스의 '10' 상태와 '11' 상태의 패스가 만나고, '10' 상태에서는 이전 시간 인덱스의 '00' 상태와 '01' 상태의 패스가 만나고, '11' 상태에서는 이전 시간 인덱스의 '10' 상태와 '11' 상태의 패스가 만난다.For example, in the '00' state, the paths of the '00' state and the '01' state of the previous time index meet. In the '01' state, the paths of the '10' state and the '11' state of the previous time index meet, In the '10' state, the paths of the '00' state and the '01' state of the previous time index meet. In the '11' state, the paths of the '10' state and the '11' state of the previous time index meet.

도 49는 본 발명에 따른 가중치가 적용되지 않았을 때, 각 상태별로 순방향 메트릭의 신뢰값을 구하는 예를 보이고 있고, 도 50은 본 발명에 따른 가중치가 적용되었을 때, 각 상태별로 순방향 메트릭의 신뢰값을 구하는 예를 보이고 있다.49 illustrates an example of obtaining a confidence value of the forward metric for each state when the weight according to the present invention is not applied. FIG. 50 illustrates a confidence value of the forward metric for each state when the weight according to the present invention is applied. Shows an example of obtaining.

도 49와 도 50의 경우, 시간 인덱스 n에서, '00' 상태의 순방향 메트릭의 신뢰값은 0.0, '01' 상태의 순방향 메트릭의 신뢰값은 0.21, '10' 상태의 순방향 메트릭의 신뢰값은 -0.7, '11' 상태의 순방향 메트릭의 신뢰값은 -0.15라고 가정한다. 그리고, TCM 복호된 심볼이 "00"이 될 확률값의 로그비(즉, 심볼 LLR(0))는 0.5, "01"이 될 확률값의 로그비(즉, 심볼 LLR(1))은 1.3, "10"이 될 확률값의 로그비(즉, 심볼 LLR(2))는 0.3, "11"이 될 확률값의 로그비(즉, 심볼 LLR(3))는 0.4라고 가정하자.49 and 50, at time index n, the confidence value of the forward metric in the '00' state is 0.0, the confidence value of the forward metric in the '01' state is 0.21, and the confidence value of the forward metric in the '10' state is Assume that the confidence value of the forward metric with a state of -0.7 and '11' is -0.15. And, the log ratio of the probability value that the TCM decoded symbol will be "00" (i.e. symbol LLR (0)) is 0.5, and the log ratio of the probability value that will be "01" (i.e. symbol LLR (1)) is 1.3, " Suppose that the log ratio of the probability value to be 10 "(i.e. symbol LLR (2)) is 0.3, and the log ratio of the probability value to be" 11 "(i.e. symbol LLR (3)) is 0.4.

이 경우, 각 상태별로 시간 인덱스 n의 해당 상태의 순방향 메트릭 신뢰값과 해당 상태 전이(state transition)를 위한 각 패스의 심볼 LLR을 각각 더하고, 시간 인덱스 n+1에서는 하나의 상태마다 두 가지 패스의 결과값 중 큰 값을 해당 상태의 순방향 메트릭의 신뢰값으로 선택한다. 상기 상태 전이를 위한 심볼 LLR은 TCM 복호된 심볼 LLR이다. In this case, for each state, the forward metric confidence value of the corresponding state at time index n and the symbol LLR of each pass for the corresponding state transition are added, and at time index n + 1, the two paths for each state are added. Select the larger of the results as the confidence value of the forward metric of the state. The symbol LLR for the state transition is a TCM decoded symbol LLR.

상기 도 49의 시간 인덱스 n+1의 '00' 상태를 예로 들면, 이전 시간 인덱스 n의 '00' 상태의 순방향 메트릭의 신뢰값(즉, 0.0)과 '00' 상태로 전이를 위한 패스의 심볼 LLR(0)(즉, 0.5)을 더하여 제1 순방향 메트릭의 신뢰값(즉, 0.5)을 구하고, 이전 시간 인덱스 n의 '01' 상태의 순방향 메트릭의 신뢰값(즉, 0.21)과 '00' 상태로 전이를 위한 패스의 심볼 LLR(2)(즉, 0.3)을 더하여 제2 순방향 메트릭의 신뢰값(즉, 0.51)을 구하고, 제1, 제2 순방향 메트릭의 신뢰값을 비교한다. 비교 결과, 제1, 제2 순방향 메트릭의 신뢰값 중 큰 값 즉, 제2 순방향 메트릭의 신뢰값(즉, 0.51)을 시간 인덱스 n+1의 '00' 상태의 순방향 메트릭의 신뢰값으로 선택한다. Taking the '00' state of time index n + 1 of FIG. 49 as an example, the confidence value (ie, 0.0) of the forward metric of the '00' state of the previous time index n and the symbol of the path for transition to the '00' state LLR (0) (i.e. 0.5) is added to obtain a confidence value (i.e. 0.5) of the first forward metric, and a confidence value (i.e. 0.21) and '00' of the forward metric of the state '01' of the previous time index n. The confidence value of the second forward metric (i.e., 0.51) is obtained by adding the symbol LLR 2 (i.e., 0.3) of the path for transition to the state, and the confidence values of the first and second forward metrics are compared. As a result of the comparison, the confidence value of the second forward metric (i.e., 0.51) among the confidence values of the first and second forward metrics is selected as the confidence value of the forward metric of the '00' state of the time index n + 1. .

이러한 과정을 시간 인덱스 n+1의 나머지 상태들에 대해서 수행하면, 시간 인덱스 n+1의 '01' 상태의 순방향 메트릭의 신뢰값은 0.6이 되고, '10' 상태의 순방향 메트릭의 신뢰값은 0.71 되고, '11' 상태의 순방향 메트릭의 신뢰값은 1.15가 된다. When this process is performed for the remaining states of time index n + 1, the confidence value of the forward metric of the '01' state of the time index n + 1 becomes 0.6, and the confidence value of the forward metric of the '10' state is 0.71. The confidence value of the forward metric in the '11' state is 1.15.

즉, 시간 인덱스 n+1에서 '00', '01', '10', '11' 상태에 대한 순방향 메트릭의 신뢰값은 0.51, 0.6, 0.71, 1.15로 각각 갱신된다. 이 경우, '11' 상태의 순방향 메트릭의 신뢰값이 가장 큰 값으로 갱신된다. That is, the confidence value of the forward metric for the states '00', '01', '10', and '11' is updated to 0.51, 0.6, 0.71, and 1.15 at time index n + 1. In this case, the confidence value of the forward metric in the '11' state is updated to the largest value.

다시 말해, 도 49의 경우, 시간 인덱스 n+1의 '00', '01', '10', '11' 상태의 순방향 메트릭의 신뢰값은 시간 인덱스 n의 '00', '01', '10', '11' 상태의 순방향 메트릭의 신뢰값보다는 각 패스의 심볼 LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))의 영향을 더 많이 받는다.In other words, in the case of FIG. 49, the confidence values of the forward metrics of the states' 00 ',' 01 ',' 10 ', and' 11 'of the time index n + 1 are' 00 ',' 01 ',' The effect of the symbol LLRs (i.e. symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) on each pass is more than the confidence value of the forward metric of the 10 'and' 11 'states. I receive a lot.

그런데, 상기 심볼 LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))이 열악한 채널을 겪으면서 등화가 잘되지 못한 M/H블록으로부터 얻어진 것이라고 가정하면, 상기 심볼 LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))은 시간 인덱스 n+1에서 '00', '01', '10', '11' 상태의 순방향 메트릭 의 신뢰값을 구할 때 악영향을 주게 된다. 즉, 시간 인덱스 n에서 가장 높은 순방향 메트릭의 신뢰값을 가진 '01' 상태와 무관하게 시간 인덱스 n+1에서는 '11' 상태가 선택되므로, 심볼LLR의 영향이 크게 작용하게 된다. 다시 말해, 잘못 디시젼된 심볼 LLR의 영향을 크게 받으므로, 심볼 복호 성능이 떨어지는 문제점이 발생할 수 있다.By the way, the symbol LLR (i.e., symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) is obtained from an M / H block that is not equalized well through the poor channel. Assume that the symbol LLR (ie, symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) is '00', '01', '10' at time index n + 1. This can adversely affect the confidence value of a forward metric with a ', '11' state. That is, regardless of the state of '01' having the highest confidence value of the forward metric at time index n, the state of '11' is selected at time index n + 1, so the influence of symbol LLR is greatly affected. In other words, since the symbol LLR is incorrectly decisively affected, the symbol decoding performance may be degraded.

따라서 본 발명에서는 TCM 복호된 심볼LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))이 열악한 채널을 겪으면서 등화가 잘되지 못한 M/H블록으로부터 얻어진 것이라고 판단되면, 상기 심볼LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))에 0보다 작은 가중치를 곱함으로써, 다음 시간 인덱스의 각 상태의 순방향 메트릭의 신뢰값을 구할 때 심볼LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))의 영향을 줄이도록 하는데 있다.Therefore, in the present invention, the TCM decoded symbol LLR (i.e., symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) suffers from poor channel and is not equalized well. If determined to be from a block, the symbol LLR (i.e., symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) is multiplied by a weight less than zero, thereby It is to reduce the influence of the symbol LLR (ie, symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) when obtaining the confidence value of the forward metric of each state.

즉, 상태 전이시에 심볼LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))에 1보다 낮은 가중치를 곱한 후 다음 시간 인덱스(예를 들어, 시간 인덱스 n+1)에서 각 상태의 순방향 메트릭의 신뢰값을 구하면, 다음 시간 인덱스(예를 들어, 시간 인덱스 n+1)에서 각 상태의 순방향 메트릭의 신뢰값은 심볼LLR보다는 이전 시간 인덱스(예를 들어, 시간 인덱스 n)의 각 상태의 순방향 메트릭의 신뢰값들에 영향을 크게 받아 갱신된다. That is, at state transition, the symbol LLR (i.e. symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) is multiplied by a weight less than 1 and then the next time index (e.g. When the confidence value of the forward metric of each state is obtained at time index n + 1), the confidence value of the forward metric of each state at the next time index (e.g., time index n + 1) is equal to the previous time index ( For example, it is greatly affected by the confidence values of the forward metric of each state of time index n).

예를 들어, TCM 복호된 심볼 LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))에 가중치 0.25를 곱한 후 다음 시간 인덱스 n+1에서 각 상태의 순방향 메트릭의 신뢰값을 구하면, 도 50에서와 같이 시간 인덱스 n+1에서 '00', '01', '10', '11' 상태에 대한 순방향 메트릭의 신뢰값은 0.285, -0.05, 0.335, 0.175로 각각 갱신된다. 이 경우, '10' 상태의 순방향 메트릭의 신뢰값이 가장 큰 값으로 갱신된다. 즉, 시간 인덱스 n에서 가장 높은 순방향 메트릭의 신뢰값을 보인 '01' 상태와 연결된 시간 인덱스 n+1에서의 '10' 상태가 가장 높은 순방향 메트릭의 신뢰값을 갖는 것을 알 수 있다.For example, the TCM decoded symbol LLR (i.e. symbol LLR (0), symbol LLR (1), symbol LLR (2), symbol LLR (3)) is multiplied by a weight of 0.25 and then each at the next time index n + 1. If the confidence value of the forward metric of the state is obtained, the confidence value of the forward metric for the states '00', '01', '10', and '11' is 0.285, -0.05, at time index n + 1 as shown in FIG. It is updated to 0.335 and 0.175, respectively. In this case, the confidence value of the forward metric in the '10' state is updated to the largest value. That is, it can be seen that the state '10' at time index n + 1 connected with the state '01' showing the highest forward metric confidence value at time index n has the highest forward metric confidence value.

다시 말해, 도 50에서, 시간 인덱스 n+1에서의 '00', '01', '10', '11' 상태의 순방향 메트릭의 신뢰값은 각 패스에서 구한 심볼 LLR(즉, 심볼 LLR(0), 심볼 LLR(1), 심볼 LLR(2), 심볼 LLR(3))보다 시간 인덱스 n의 '00', '01', '10', '11' 상태의 순방향 메트릭의 신뢰값의 영향을 더 많이 받는다. 따라서, 상기 심볼 LLR이 열악한 채널을 겪으면서 등화가 잘 되지 못한 M/H블록으로부터 얻어진 것이라도, 심볼 복호 성능은 크게 저하되지 않게 된다.In other words, in FIG. 50, the confidence value of the forward metric of the states '00', '01', '10', and '11' at the time index n + 1 is obtained from the symbol LLR obtained from each pass (that is, the symbol LLR (0). ), Rather than the symbol LLR (1), symbol LLR (2), and symbol LLR (3), the confidence value of the forward metric of the states '00', '01', '10', and '11' of time index n Receive more Therefore, even if the symbol LLR is obtained from an M / H block that is not equalized well while experiencing a poor channel, the symbol decoding performance is not significantly reduced.

본 발명에 따른 가중치 부여방법은 각 M/H블록의 등화능력과 부호화 방법이 다를 수 있으므로 이로부터 얻어진 심볼LLR들은 M/H블록에 따라 서로 다른 가중치를 부여할 수 있다. 또한 본 발명은 표 7에서와 같이 SCCC 블록 모드 값이 01일 때 적용하면 더 효과적이다. In the weighting method according to the present invention, since the equalization capability and encoding method of each M / H block may be different, the symbol LLRs obtained therefrom may be given different weights according to M / H blocks. In addition, the present invention is more effective when applied when the SCCC block mode value is 01 as shown in Table 7.

그리고, 본 발명은 채널 등화된 데이터에 대해 블록 복호기에서 블록 복호를 수행할 때, 해당 데이터가 데이터 그룹 내 A/B/C/D 영역 중 어느 영역 또는 10개의 M/H 블록 중 어느 M/H 블록의 데이터인지를 알고 있다고 가정한다.In the present invention, when block decoding is performed on a block decoder with respect to channel equalized data, the M / H of any M / H of 10 M / H blocks or any area of the A / B / C / D areas of the data group is included. Suppose you know if it is data in a block.

지금까지 본 발명은 TCM 복호된 심볼 LLR에 가중치를 부여하는 방법을 일 실시예로 설명하였으나, 상기 가중치는 TCM 복호 이전에 부여할 수도 있고 또는 심볼 복호된 심볼 LLR에 부여할 수도 있다.So far, the present invention has been described as a method of assigning a weight to a TCM decoded symbol LLR, but the weight may be given before TCM decoding or a symbol decoded symbol LLR.

한편 도 41의 메인 서비스 데이터 처리부(2008)는 메인 서비스 데이터를 수신하기 위해 필요한 블록들로서, 오직 모바일 서비스 데이터만을 수신하기 위한 수신 시스템 구조에서는 필요하지 않을 수도 있다. Meanwhile, the main service data processing unit 2008 of FIG. 41 is blocks necessary for receiving main service data, and may not be necessary in a reception system structure for receiving only mobile service data.

상기 메인 서비스 데이터 처리부(2008) 내 데이터 디인터리버는 송신측의 데이터 인터리버의 역과정으로 상기 블록 복호기(2005)에서 출력되는 데이터를 디인터리빙하여 RS 복호기로 출력한다. 상기 데이터 디인터리버로 입력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, RS 패리티, MPEG 헤더 등을 포함한다. The data deinterleaver in the main service data processing unit 2008 deinterleaves the data output from the block decoder 2005 in the reverse process of the data interleaver on the transmitting side and outputs the data to the RS decoder. Data input to the data deinterleaver includes not only main service data but also mobile service data, known data, RS parity, MPEG header, and the like.

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

상기 디랜더마이저는 RS 복호기의 출력을 입력받아서 송신기의 랜더마이저와 동일한 의사 랜덤(pseudo random) 바이트를 발생시켜 이를 bitwise XOR(exclusive OR)한 후 MPEG 동기 바이트를 매 패킷의 앞에 삽입하여 188 바이트 패킷 단위로 출력한다. The derandomizer receives the output of the RS decoder, generates pseudo random bytes identical to the transmitter's renderer, bitwise XORs them, and inserts an MPEG sync byte in front of every packet, thereby generating a 188-byte packet. Output in units.

  

RSRS 프레임 복호기 Frame decoder

상기 블록 복호기(2005)에서 출력되는 데이터는 포션(portion) 단위이다. 즉, 송신측에서 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역에 할당되거나, A/B 영역과 C/D 영역 중 어느 하나에 할당되어 수신측으로 전송된다. 따라서 상기 RS 프레임 복호기(2006)에서는 하나의 퍼레이드 내 복수개의 포션을 모아 하나의 RS 프레임을 구성하거나, 두개의 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 복호를 수행한다. The data output from the block decoder 2005 is a portion unit. That is, the RS frame is divided into a plurality of portions at the transmitting side, and the mobile service data of each portion is allocated to the A / B / C / D region in the data group, or at any one of the A / B region and the C / D region. It is assigned and sent to the receiver. Accordingly, the RS frame decoder 2006 collects a plurality of portions in one parade to form one RS frame or two RS frames, and performs error correction decoding in units of RS frames.

예를 들어, RS 프레임 모드가 00이라면 하나의 퍼레이드는 하나의 RS 프레임을 전송하는데, 이때 하나의 RS 프레임은 복수개의 포션으로 구분되고, 구분된 각 포션의 모바일 서비스 데이터는 대응하는 데이터 그룹의 A/B/C/D 영역에 할당되어 전송된다. 이 경우, 상기 RS 프레임 복호기(2006)는 도 51의 (a)와 같이 데이터 그룹 내 A/B/C/D 영역에서 모바일 서비스 데이터를 추출하여 하나의 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹에 대해 수행하여 복수개의 포션을 얻을 수 있다. 그리고 복수개의 포션의 모바일 서비스 데이터를 모아 하나의 RS 프레임을 구성할 수 있다. 이때 마지막 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 RS 프레임을 구성한다. For example, if the RS frame mode is 00, one parade transmits one RS frame, where one RS frame is divided into a plurality of potions, and the mobile service data of each divided portion is A of the corresponding data group. It is allocated to / B / C / D area and transmitted. In this case, the RS frame decoder 2006 extracts the mobile service data from the A / B / C / D area in the data group and configures one portion as shown in FIG. 51 (a). A plurality of potions may be obtained by performing the data groups. In addition, mobile service data of a plurality of portions may be collected to configure one RS frame. If stuffing byte is added to the last potion, stuffing byte is removed and RS frame is composed.

다른 예로, RS 프레임 모드가 01이라면 하나의 퍼레이드는 두개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 전송한다. 이때 프라이머리 RS 프레임은 복수개의 프라이머리 포션으로 구분되고, 구분된 각 프라이머리 포션의 모바일 서비스 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되어 전송된다. 그리고 세컨더리 RS 프레임은 복수개의 세컨더리 포션으로 구분되고, 구분된 각 세컨더리 포션의 모바일 서비스 데이터는 해당 데이터 그룹 내 C/D 영역에 할당되어 전송된다. 이 경우, 상기 RS 프레임 복호기(2006)는 도 51의 (b)와 같이 데이터 그룹 내 A/B 영역에서 모바일 서비스 데이터를 추출하여 하나의 프라이머리 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹의 A/B 영역에 대해 수행하여 복수개의 프라이머리 포션을 얻을 수 있다. 그리고 복수개의 프라이머리 포션을 모아 프라이머리 RS 프레임을 구성할 수 있다. 이때 마지막 프라이머리 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 프라이머리 RS 프레임을 구성한다. 또한 해당 데이터 그룹 내 C/D 영역에서 모바일 서비스 데이터를 추출하여 하나의 세컨더리 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹의 C/D 영역에 대해 수행하여 복수개의 세컨더리 포션을 얻을 수 있다. 그리고 복수개의 세컨더리 포션을 모아 세컨더리 RS 프레임을 구성할 수 있다. 이때 마지막 세컨더리 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 세컨더리 RS 프레임을 구성한다. As another example, if the RS frame mode is 01, one parade transmits two RS frames, that is, a primary RS frame and a secondary RS frame. In this case, the primary RS frame is divided into a plurality of primary portions, and the mobile service data of each divided primary portion is allocated to the A / B area in the corresponding data group and transmitted. The secondary RS frame is divided into a plurality of secondary portions, and the mobile service data of each divided secondary portion is allocated to the C / D area of the corresponding data group and transmitted. In this case, the RS frame decoder 2006 extracts the mobile service data from the A / B area in the data group as shown in FIG. 51 (b) and configures a primary portion of the plurality of data of one parade. A plurality of primary portions can be obtained by performing the A / B region of the group. In addition, a plurality of primary portions may be collected to construct a primary RS frame. If stuffing bytes are added to the last primary portion, stuffing bytes are removed and a primary RS frame is constructed. In addition, a plurality of secondary portions may be obtained by extracting mobile service data from a C / D region of a corresponding data group and configuring a single secondary portion for the C / D regions of a plurality of data groups in one parade. . In addition, a plurality of secondary portions may be collected to form a secondary RS frame. If stuffing bytes are added to the last secondary portion, stuffing bytes are removed and a secondary RS frame is constructed.

즉, 상기 RS 프레임 복호기(2006)는 상기 블록 복호기(2005)로부터 RS 부호화 및/또는 CRC 부호화된 각 포션의 모바일 서비스 데이터를 입력받고, 오퍼레이션 제어기(2000)(또는 시그널링 복호부(2013))로부터 출력되는 RS 프레임 관련 정보에 따라 입력되는 복수개의 포션을 모아 RS 프레임을 구성한 후 에러 정정을 수행한다. 상기 RS 프레임 관련 정보 내 RS 프레임 모드 값을 참조하면 RS 프레임을 구성할 수 있고, RS 프레임을 구성하기 위해 사용된 RS 코드의 패리티의 개수와 코드 크기에 대한 정보를 알 수가 있다.That is, the RS frame decoder 2006 receives the mobile service data of each portion encoded and / or CRC coded from the block decoder 2005, and receives the mobile service data from the operation controller 2000 (or the signaling decoder 2013). After a plurality of input potions are collected according to the output RS frame related information, an RS frame is configured and error correction is performed. Referring to the RS frame mode value in the RS frame related information, an RS frame may be configured, and information on the number and code size of parity of an RS code used to configure an RS frame may be known.

상기 RS 프레임 복호기(2006)에서는 RS 프레임 관련 정보를 참조하여 송신 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한다. 그리고 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에 서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가한 후 디랜더마이징을 수행한다. The RS frame decoder 2006 performs an inverse process in the RS frame encoder of the transmission system with reference to RS frame related information to correct errors in the RS frame. In addition, the de-rendering operation is performed after adding the MPEG sync byte of 1 byte that was removed in the RS frame encoding process to the error-corrected mobile service data packet.

도 52는 RS 프레임 모드 값이 00일 때, 즉 하나의 퍼레이드로 전송되는 복수개의 포션을 모아 하나의 RS 프레임과 RS 프레임 신용 맵(Reliability Map)을 형성하는 과정을 도시하고 있다. FIG. 52 illustrates a process of forming one RS frame and an RS frame reliability map by collecting a plurality of potions transmitted in one parade when the RS frame mode value is 00.

즉, 상기 RS 프레임 복호기(2006)는 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 송신 시스템에서 RS 프레임 단위로 RS 부호화된 데이터인 것을 일 실시예로 한다. 이때 에러 정정 부호화 예를 들어, CRC 부호화는 수행되어 있을 수도 있고, 생략되어 있을 수도 있다. That is, the RS frame decoder 2006 configures an RS frame by collecting the received mobile service data. According to an embodiment of the present invention, the mobile service data is RS encoded data in units of RS frames in a transmission system. In this case, for example, CRC encoding may be performed or may be omitted.

만일, 송신 시스템에서 (N+2)x(187+P) 바이트 크기의 RS 프레임을 M개의 포션으로 구분하고, M개의 포션의 모바일 서비스 데이터를 대응하는 M개의 데이터 그룹의 A/B/C/D 영역에 할당하여 전송하였다고 가정하면, 수신 시스템에서도 도 52의 (a)와 같이 각 포션의 모바일 서비스 데이터를 모아 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성한다. If, in the transmission system, RS frames having a size of (N + 2) x (187 + P) bytes are divided into M portions, mobile service data of M portions is divided into A / B / C / of M data groups. Assuming that the data is allocated to the D region and transmitted, the reception system collects mobile service data of each portion as shown in FIG. 52 (a) to form an RS frame having a size of (N + 2) x (187 + P) bytes.

이때 해당 RS 프레임을 구성하는 적어도 하나의 포션에 스터핑 바이트(S)가 추가되어 전송되었다면 상기 스터핑 바이트는 제거되고 RS 프레임과 RS 프레임 신용 맵이 구성된다. 예를 들어, 도 27에서와 같이 S개의 스터핑 바이트가 추가되었다면 S개의 스터핑 바이트가 제거된 후 RS 프레임과 RS 프레임 신용 맵이 구성된다. At this time, if a stuffing byte S is added and transmitted to at least one portion of the RS frame, the stuffing byte is removed and an RS frame and an RS frame credit map are configured. For example, if S stuffing bytes are added as shown in FIG. 27, the RS frames and the RS frame credit map are configured after the S stuffing bytes are removed.

그리고 상기 블록 복호기(2005)에서 복호 결과를 소프트 판정값으로 출력한 다고 가정하면, 상기 RS 프레임 복호기(2006)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 퍼레이드 내 복수개의 포션(또는 데이터 그룹)의 소프트 판정값에 대해 모두 수행하면 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In addition, assuming that the block decoder 2005 outputs a decoding result as a soft decision value, the RS frame decoder 2006 may determine 0 and 1 of a corresponding bit as a sign of the soft decision value. We will collect eight and make up a byte. If all of these processes are performed on the soft decision values of a plurality of portions (or data groups) in one parade, an RS frame having a size of (N + 2) x (187 + P) bytes can be constructed.

또한 본 발명은 소프트 판정값을 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. Likewise, 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 프레임 복호기(2006)는 블록 복호기(2005)에서 터보 복호되어 출력되는 심볼(또는 비트)의 소프트 판정값을 이용하여 RS 프레임과 신용 맵을 생성한다. 따라서, 블록 복호기(2005)에서 터보 복호가 정확하게 이루어졌을 때, 상기 RS 프레임 및 신용 맵의 신뢰도도 높아진다. As described above, the RS frame decoder 2006 generates an RS frame and a credit map using soft decision values of symbols (or bits) turbo-decoded and output by the block decoder 2005. Therefore, when turbo decoding is correctly performed in the block decoder 2005, the reliability of the RS frame and the credit map is also increased.

그러므로, 상기 블록 복호기(2005)에서 가중치를 적용하여 터보 복호를 수행한 후 RS 프레임 복호기(2006)에서 생성된 RS 프레임 및 신용 맵의 신뢰도는 가중치를 적용하지 않고 터보 복호를 수행한 후 RS 프레임 복호기(2006)에서 생성되는 RS 프레임 및 신용맵의 신뢰도보다 더 높음을 알 수 있다. 즉, 상기 블록 복호기(2005)에서 가중치를 적용하여 터보 복호를 수행하게 되면, 상기 RS 프레임 복호기(2006)의 성능도 함께 높아지게 된다. Therefore, after performing turbo decoding by applying weights in the block decoder 2005, the reliability of the RS frame and credit map generated in the RS frame decoder 2006 is determined by performing turbo decoding without applying weights and then performing RS decoding. It can be seen that the reliability of the RS frame and the credit map generated in (2006) is higher. That is, when the turbo decoder performs weight decoding by applying the weight in the block decoder 2005, the performance of the RS frame decoder 2006 is also increased.

상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 (N+2) x (187+P) 바이트 크기를 가진다면, 상기 신용 맵은 (N+2) x (187+P) 비트 크기를 가진다. 도 52의 (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) x (187 + P) byte size, the credit map has a (N + 2) x (187 + P) bit size. 52 (a ') and (b') show a process of forming a credit map according to the present invention.

이어 상기 RS 프레임에 대해 RS 프레임 신용 맵 정보를 이용하여 에러 정정을 수행한다. Subsequently, error correction is performed on the RS frame using RS frame credit map information.

도 53은 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 것이다. 53 shows an embodiment of an error correction decoding process according to the present invention.

도 53은 송신 시스템에서 RS 프레임에 대해 RS 부호화와 CRC 부호화를 모두 수행한 경우의 에러 정정 과정을 보인 실시예이다.53 is a diagram illustrating an error correction process when both RS encoding and CRC encoding are performed on an RS frame in a transmission system.

다음은 도 53에 도시된 에러 정정 과정을 상세히 설명한다.Next, the error correction process illustrated in FIG. 53 will be described in detail.

즉, 도 53의 (a),(a')와 같이 (N+2)x(187+P) 바이트 크기의 RS 프레임과 (N+2)x(187+P) 비트 크기의 RS 프레임 신용 맵이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 53의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 Nx(187+P) 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 53의 (b')와 같이 Nx(187+P)개의 신용 정보만을 남긴다. That is, as shown in (a) and (a ') of FIG. 53, an RS frame having a (N + 2) x (187 + P) byte size and an RS frame credit map having a (N + 2) x (187 + P) bit size If configured, CRC syndrome check is performed on this RS frame to check whether an error occurs in each row. Next, as shown in (b) of FIG. 53, an RS frame having a size of Nx (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 Nx (187 + P) credit information as shown in FIG. 53 (b ').

상기와 같이 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 53의 (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. 53, 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 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 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)보다 작거나 같다면 도 53의 (d)와 같이 (187+P) 즉, 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 53의 (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 an RS frame having 235 N byte rows, and as shown in (e) of FIG. 53, 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 프레임 복호기에서는 블록 복호기(2005)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다. That is, in the RS frame decoder, the absolute value of the soft decision value of the block decoder 2005 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.

따라서 본 발명은 도 53의 (c)와 같이 특정 로우의 CRC 신드롬 체크 결과, 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Accordingly, the present invention does not assume that all bytes of the row have an error even if it is determined that there is a CRC error as a result of the CRC syndrome check of the specific row as shown in FIG. Set to error only for bytes determined to be unreliable by reference. 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 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 53의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. When error correction decoding is performed in all column directions in the RS frame by performing the above process, 48 bytes of parity data added to the end of each column are removed as shown in FIG.

이와 같이 본 발명은 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).

상기와 같이 에러 정정 복호가 수행되고 나면, 도 53의 (e)와 같이 187개의 N 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. 그리고 Nx187 바이트 크기의 RS 프레임은 순서대로 N개의 187 바이트의 크기로 출력이 되는데, 이때 도 53의 (f)와 같이 각 187 바이트의 패킷에 송신 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한다. After the error correction decoding is performed as described above, as shown in (e) of FIG. 53, an RS frame having 187 N-byte rows (that is, a packet) can be obtained. RS frames of size Nx187 bytes are output in the order of N 187 bytes, in which case, as shown in (f) of FIG. 53, 1-byte MPEG sync bytes deleted by the transmission system are added to each of the 187 bytes packets. Outputs a mobile service data packet in units of 188 bytes.

상기와 같이 RS 프레임 복호된 모바일 서비스 데이터는 송신 시스템의 랜더마이저의 역과정으로 디랜더마이징되어 출력된다. 이렇게 함으로써, 송신 시스템에서 송신한 모바일 서비스 데이터를 얻을 수가 있게 된다. The RS frame-decoded mobile service data as described above is derandomized and output in the reverse process of the randomizer of the transmission system. In this way, mobile service data transmitted from the transmission system can be obtained.

본 발명은 RS 프레임 복호기를 하나의 M/H 프레임 내 퍼레이드의 수(=M)만큼 병렬로 구비하고, M개의 RS 프레임 복호기의 입력단에는 복수의 포션들을 다중화하는 다중화기를, M개의 RS 프레임 복호기의 출력단에는 역다중화기를 구비하여 RS 프레임 복호기를 구성할 수도 있다. The present invention provides an RS frame decoder in parallel by the number of parades in one M / H frame (= M), and a multiplexer for multiplexing a plurality of portions at an input of the M RS frame decoders. The output terminal may include a demultiplexer to configure an RS frame decoder.

지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.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.

도 1은 본 발명에 따른 모바일 서비스 데이터의 송신과 수신을 위한 M/H 프레임 구조의 일 예를 보인 도면 1 illustrates an example of an M / H frame structure for transmitting and receiving mobile service data according to the present invention.

도 2는 일반적인 VSB 프레임 구조의 일 예를 보인 도면 2 illustrates an example of a general VSB frame structure.

도 3은 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 공간 영역에서 보인 본 발명의 도면 FIG. 3 is a diagram of the present invention showing an example of mapping of the first four slot positions of a subframe in a spatial domain, for one VSB frame; FIG.

도 4는 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 시간 영역에서 보인 본 발명의 도면 4 is a diagram of the present invention showing an example of mapping of the first four slot positions of a subframe in a time domain, for one VSB frame;

도 5는 본 발명에 따른 데이터 인터리빙 후의 데이터 그룹의 구조에 대한 일 실시예를 보인 도면 5 illustrates an embodiment of a structure of a data group after data interleaving according to the present invention.

도 6은 도 5의 일부를 확대한 도면 6 is an enlarged view of a portion of FIG. 5;

도 7은 본 발명에 따른 데이터 인터리빙 전의 데이터 그룹의 구조에 대한 일 실시예를 보인 도면 7 illustrates an embodiment of a structure of a data group before data interleaving according to the present invention.

도 8은 도 7의 일부를 확대한 도면 8 is an enlarged view of a portion of FIG. 7;

도 9는 본 발명에 따른 M/H 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 순서의 일 예를 보인 도면 9 illustrates an example of a data group order allocated to one subframe among five subframes constituting an M / H frame according to the present invention.

도 10은 본 발명에 따른 하나의 M/H 프레임에 단일 퍼레이드를 할당할 때의 일 예를 보인 도면 10 illustrates an example of allocating a single parade to one M / H frame according to the present invention.

도 11은 본 발명에 따른 하나의 M/H 프레임에 세개의 퍼레이드를 할당할 때의 일 예를 보인 도면 11 illustrates an example of allocating three parades to one M / H frame according to the present invention.

도 12는 도 11의 3개의 퍼레이드의 할당 과정을 5개의 서브 프레임으로 확장한 예를 보인 도면 FIG. 12 is a diagram illustrating an example in which the allocation process of three parades of FIG. 11 is extended to five subframes.

도 13은 본 발명의 실시예에 따른 데이터 전송 구조를 도시한 도면으로, 데이터 그룹 내에 시그널링 데이터가 포함되어 전송되는 모습을 도시한 도면 FIG. 13 is a diagram illustrating a data transmission structure according to an embodiment of the present invention, and illustrates a state in which signaling data is included and transmitted in a data group.

도 14는 본 발명의 일 실시예에 따른 송신 시스템의 개략적인 구성 블록도 14 is a schematic structural block diagram of a transmission system according to an embodiment of the present invention;

도 15는 본 발명에 따른 RS 프레임의 일 실시예를 보인 도면 15 illustrates an embodiment of an RS frame according to the present invention.

도 16은 본 발명에 따른 M/H 서비스 데이터 패킷 내 M/H 헤더 구조의 일 예를 보인 도면 16 illustrates an example of an M / H header structure in an M / H service data packet according to the present invention.

도 17의 (a),(b)는 본 발명에 따른 RS 프레임의 다른 실시예를 보인 도면 17 (a) and 17 (b) show another embodiment of an RS frame according to the present invention.

도 18은 도 14의 서비스 다중화기의 일 실시예를 보인 구성 블록도 18 is a block diagram illustrating an embodiment of the service multiplexer of FIG. 14.

도 19는 도 14의 송신기의 일 실시예를 보인 구성 블록도 19 is a block diagram showing an embodiment of the transmitter of FIG.

도 20은 도 19의 전처리기의 일 실시예를 보인 구성 블록도 20 is a block diagram illustrating an embodiment of the preprocessor of FIG. 19.

도 21은 도 20의 M/H 프레임 부호기의 일 실시예를 보인 구성 블록도 FIG. 21 is a block diagram showing an embodiment of the M / H frame encoder of FIG. 20. FIG.

도 22는 도 21의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도 FIG. 22 is a detailed block diagram of an embodiment of the RS frame encoder of FIG. 21. FIG.

도 23의 (a),(b)는 본 발명에 따른 RS 프레임 모드 값에 따라 하나 또는 두개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션이 각 데이터 그룹에 할당되는 과정을 보인 도면 23A and 23B illustrate a process in which one or two RS frames are divided into a plurality of portions according to RS frame mode values according to the present invention, and each portion is assigned to each data group.

도 24의 (a) 내지 (c)는 본 발명의 일 실시예에 따른 에러 정정 부호화 및 에러 검출 부호화 과정을 보인 도면 24 (a) to (c) illustrate an error correction encoding and error detection encoding process according to an embodiment of the present invention.

도 25의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 수퍼 프레임 단위의 로 우 섞음 과정을 보인 도면 25 (a) to (d) are diagrams illustrating a low mixing process of a super frame unit according to an embodiment of the present invention;

도 26의 (a),(b)는 하나의 퍼레이드가 두개의 RS 프레임으로 구성되는 예를 보인 도면 (A) and (b) of FIG. 26 show an example in which one parade is composed of two RS frames.

도 27의 (a),(b)는 본 발명에 따른 데이터 그룹을 구성하기 위해 RS 프레임을 분할하는 과정의 일 실시예를 보인 도면 27A and 27B illustrate an embodiment of a process of dividing an RS frame to form a data group according to the present invention.

도 28의 본 발명에 따른 블록 처리기의 일 실시예를 보인 구성 블록도 28 is a block diagram showing an embodiment of a block processor according to the present invention;

도 29는 본 발명에 따른 블록 처리기 내 콘볼루션 부호기의 일 실시예를 보인 도면 29 illustrates an embodiment of a convolutional encoder in a block processor according to the present invention.

도 30은 본 발명에 따른 블록 처리기의 심볼 인터리빙 예를 보인 도면 30 illustrates an example of symbol interleaving of a block processor according to the present invention.

도 31은 도 20의 그룹 포맷터의 일 실시예를 보인 구성 블록도 31 is a block diagram illustrating an embodiment of the group formatter of FIG. 20.

도 32는 본 발명에 따른 트렐리스 부호기의 일 실시예를 보인 구성 블록도 32 is a block diagram showing an embodiment of a trellis encoder according to the present invention

도 33은 본 발명에 따른 데이터 그룹 내 일부 영역에 시그널링 정보 영역을 할당하는 예를 보인 도면 33 is a diagram illustrating an example of allocating a signaling information region to a portion of a data group according to the present invention.

도 34는 도 20의 시그널링 부호기의 일 실시예를 보인 구성 블록도 FIG. 34 is a block diagram showing an embodiment of the signaling encoder of FIG. 20. FIG.

도 35는 본 발명에 따른 TPC 데이터의 신택스 구조에 대한 일 실시예를 보인 도면 35 is a diagram illustrating an embodiment of a syntax structure of TPC data according to the present invention.

도 36은 본 발명에 따른 TPC 데이터와 FIC 데이터의 전송 시나리오의 일 예를 보인 도면 36 shows an example of a transmission scenario of TPC data and FIC data according to the present invention.

도 37은 본 발명에 따른 퍼레이드 단위로 전원을 제어하기 위한 예를 보인 도면 37 is a view showing an example for controlling a power source in a parade unit according to the present invention.

도 38은 본 발명에 따른 트렐리스 부호화 전의 데이터 그룹 내 트레이닝 시퀀스의 배치 예를 보인 도면 38 illustrates an example of arrangement of training sequences in a data group before trellis coding according to the present invention.

도 39는 본 발명에 따른 트렐리스 부호화 후의 데이터 그룹 내 트레이닝 시퀀스의 배치 예를 보인 도면 39 is a view showing an example of arrangement of training sequences in a data group after trellis coding according to the present invention.

도 40은 본 발명에 따른 수신 시스템의 일 실시예를 보인 구성 블록도 40 is a block diagram showing an embodiment of a receiving system according to the present invention;

도 41은 본 발명에 따른 수신 시스템 내 복조부의 일 실시예를 보인 구성 블록도 FIG. 41 is a block diagram showing an embodiment of a demodulator in a reception system according to the present invention; FIG.

도 42는 도 41의 오퍼레이션 제어기의 일 실시예를 보인 상세 구성 블록도FIG. 42 is a detailed block diagram illustrating an embodiment of the operation controller of FIG. 41. FIG.

도 43은 본 발명에 따른 선형 보간의 일 예를 보인 도면43 illustrates an example of linear interpolation according to the present invention.

도 44는 본 발명에 따른 선형 외삽의 일 예를 보인 도면44 shows an example of linear extrapolation according to the present invention.

도 45는 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도45 is a block diagram illustrating an embodiment of a channel equalizer according to the present invention.

도 46은 본 발명에 따른 블록 복호기의 일 실시예를 보인 상세 블록도46 is a detailed block diagram showing an embodiment of a block decoder according to the present invention.

도 47은 본 발명에 따른 SCCC 블록 모드 값이 01일 때, M/H 블록의 결합 규칙의 예를 보인 도면47 illustrates an example of a combining rule of an M / H block when an SCCC block mode value is 01 according to the present invention.

도 48은 본 발명에 따른 블록 복호기의 다른 실시예를 보인 상세 블록도48 is a detailed block diagram showing another embodiment of a block decoder according to the present invention.

도 49는 본 발명에 따른 가중치가 적용되지 않았을 때, 각 상태별로 순방향 메트릭의 신뢰값을 구하는 예를 보인 도면49 is a diagram illustrating an example of obtaining a confidence value of a forward metric for each state when a weight according to the present invention is not applied.

도 50은 본 발명에 따른 가중치가 적용되었을 때, 각 상태별로 순방향 메트릭의 신뢰값을 구하는 예를 보인 도면50 shows an example of obtaining a confidence value of a forward metric for each state when a weight according to the present invention is applied.

도 51의 (a),(b)는 복수개의 포션들을 모아 하나나 두개의 RS 프레임을 구성 하는 과정의 일 예를 보인 도면51 (a) and 51 (b) illustrate an example of a process of forming a plurality of potions and configuring one or two RS frames.

도 52, 도 53은 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 도면52 and 53 illustrate an embodiment of an error correction decoding process according to the present invention.

Claims (14)

모바일 서비스 데이터와 복수개의 기지 데이터 열을 포함하는 데이터 그룹이 포함된 방송 신호를 수신하여 복조하는 신호 수신부; A signal receiver configured to receive and demodulate a broadcast signal including a data group including a mobile service data and a plurality of known data streams; 상기 기지 데이터 열을 이용하여 상기 복조된 방송 신호에 포함된 데이터 그룹을 채널 등화하는 등화기; An equalizer for channel equalizing a data group included in the demodulated broadcast signal using the known data sequence; 상기 등화기에서 터보 복호를 위한 블록 크기로 입력되는 데이터 그룹 내 모바일 서비스 데이터와 심볼 복호되어 피드백되는 모바일 서비스 데이터를 매칭하여 트렐리스 복호를 수행하는 이너 복호부;An inner decoder configured to perform trellis decoding by matching the mobile service data in the data group inputted to the block size for turbo decoding by the equalizer with the mobile service data which is symbol-decoded and fed back; 상기 트렐리스 복호된 모바일 서비스 데이터의 데이터 그룹 내 위치에 따라 상기 모바일 서비스 데이터의 신뢰도를 조정하는 신뢰도 조정부;A reliability adjusting unit for adjusting the reliability of the mobile service data according to a position in the data group of the trellis decoded mobile service data; 상기 신뢰도 조정부에서 출력되는 모바일 서비스 데이터에 대해 심볼 복호를 수행하여 상기 이너 복호부로 피드백하는 아웃터 복호부; 및 An outer decoder for performing symbol decoding on the mobile service data output from the reliability controller to feed back to the inner decoder; And 상기 아웃터 복호부에서 출력되는 모바일 서비스 데이터에 발생된 에러를 정정하는 에러 정정부를 포함하는 것을 특징으로 하는 수신 시스템. And an error correcting unit correcting an error generated in the mobile service data output from the outer decoding unit. 제 1 항에 있어서, The method of claim 1, 상기 이너 복호부는 심볼 단위로 모바일 서비스 데이터에 대해 트렐리스 복호를 수행하고, 각 심볼의 소프트 판정값을 출력하는 수신 시스템.The inner decoding unit performs trellis decoding on mobile service data in symbol units, and outputs a soft decision value of each symbol. 제 2 항에 있어서, The method of claim 2, 상기 심볼의 소프트 판정값은 상기 심볼이 "00"이 될 확률값의 로그비(LLR(0)), "01"이 될 확률값의 로그비(LLR(1)) "10"이 될 확률값의 로그비(LLR(2)) "11"이 될 확률값의 로그비(LLR(3))인 수신 시스템.The soft decision value of the symbol is a log ratio LLR (0) of the probability value that the symbol becomes "00", a log ratio LNK (1) of the probability value that becomes "01", and a log ratio of probability value that becomes "10". (LLR (2)) A receiving system which is the logarithmic ratio LLR (3) of the probability value to be "11". 제 2 항에 있어서, The method of claim 2, 상기 데이터 그룹은 기지 데이터 열의 위치에 따라 10개의 M/H 블록(1번째 M/H 블록 내지 10번째 M/H 블록)으로 구분되는 수신 시스템.The data group is divided into ten M / H blocks (first M / H block to tenth M / H block) according to positions of known data columns. 제 4 항에 있어서, The method of claim 4, wherein 상기 신뢰도 조정부는 상기 심볼의 소프트 판정값이 상기 데이터 그룹 내 1,2,9,10번째 M/H 블록의 모바일 서비스 데이터로부터 얻어진 심볼의 소프트 판정값이면, 상기 심볼의 소프트 판정값에 기 설정된 가중치를 곱하여 상기 심볼의 소프트 판정값의 신뢰도를 낮추는 수신 시스템.The reliability adjustment unit is a weight that is preset to the soft decision value of the symbol if the soft decision value of the symbol is a soft decision value of a symbol obtained from the mobile service data of the 1,2,9, 10th M / H blocks in the data group. Multiplying to lower the reliability of the soft decision value of the symbol. 제 5 항에 있어서, The method of claim 5, wherein 상기 신뢰도 조정부는 상기 심볼의 소프트 판정값에 1보다 작은 가중치를 곱하여 상기 심볼의 소프트 판정값의 신뢰도를 낮추는 수신 시스템.And the reliability adjustment unit lowers the reliability of the soft decision value of the symbol by multiplying the soft decision value of the symbol by a weight less than one. 제 4 항에 있어서, The method of claim 4, wherein 송신 시스템에서 2개의 M/H 블록이 결합하여 SCCC(Serial Concatenated Convolution Code) 블록 부호화되어 전송되면, 상기 신뢰도 조정부는 상기 트렐리스 복호된 모바일 서비스 데이터의 신뢰도를 조정하는 수신 시스템.The reliability adjustment unit adjusts the reliability of the trellis-decoded mobile service data when two M / H blocks are combined and transmitted by SCCC block coding in a transmission system. 모바일 서비스 데이터와 복수개의 기지 데이터 열을 포함하는 데이터 그룹이 포함된 방송 신호를 수신하여 복조하는 단계; Receiving and demodulating a broadcast signal including a data group including a mobile service data and a plurality of known data streams; 상기 기지 데이터 열을 이용하여 상기 복조된 방송 신호에 포함된 데이터 그룹을 채널 등화하는 단계; Channel equalizing a data group included in the demodulated broadcast signal using the known data sequence; 상기 채널 등화된 후 터보 복호를 위한 블록 크기로 입력되는 데이터 그룹 내 모바일 서비스 데이터와 심볼 복호되어 피드백되는 모바일 서비스 데이터를 매칭하여 트렐리스 복호를 수행하는 단계;Performing trellis decoding by matching the mobile service data in the data group inputted in the block size for turbo decoding with the channel equalization and the mobile service data which is symbol-decoded and fed back; 상기 트렐리스 복호된 모바일 서비스 데이터의 데이터 그룹 내 위치에 따라 상기 모바일 서비스 데이터의 신뢰도를 조정하는 단계;Adjusting the reliability of the mobile service data according to the position in the data group of the trellis decoded mobile service data; 상기 신뢰도 조정 단계에서 출력되는 모바일 서비스 데이터에 대해 심볼 복호를 수행한 후 트렐리스 복호를 위해 피드백하는 단계; 및 Performing symbol decoding on the mobile service data output in the reliability adjustment step and then feeding back for trellis decoding; And 상기 심볼 복호된 모바일 서비스 데이터에 발생된 에러를 정정하는 단계를 포함하는 것을 특징으로 하는 수신 시스템의 방송 신호 처리 방법. And correcting an error generated in the symbol decoded mobile service data. 제 8 항에 있어서, The method of claim 8, 상기 트렐리스 복호 단계는 심볼 단위로 모바일 서비스 데이터에 대해 트렐 리스 복호를 수행하고, 각 심볼의 소프트 판정값을 출력하는 수신 시스템의 방송 신호 처리 방법.The trellis decoding step performs trellis decoding on mobile service data in symbol units and outputs a soft decision value of each symbol. 제 9 항에 있어서, The method of claim 9, 상기 심볼의 소프트 판정값은 상기 심볼이 "00"이 될 확률값의 로그비(LLR(0)), "01"이 될 확률값의 로그비(LLR(1)) "10"이 될 확률값의 로그비(LLR(2)) "11"이 될 확률값의 로그비(LLR(3))인 수신 시스템의 방송 신호 처리 방법.The soft decision value of the symbol is a log ratio LLR (0) of the probability value that the symbol becomes "00", a log ratio LNK (1) of the probability value that becomes "01", and a log ratio of probability value that becomes "10". (LLR (2)) A broadcast signal processing method of a reception system, which is a log ratio (LLR (3)) of a probability value to be "11". 제 9 항에 있어서, The method of claim 9, 상기 데이터 그룹은 기지 데이터 열의 위치에 따라 10개의 M/H 블록(1번째 M/H 블록 내지 10번째 M/H 블록)으로 구분되는 수신 시스템의 방송 신호 처리 방법.And the data group is divided into ten M / H blocks (first M / H block to tenth M / H block) according to positions of known data streams. 제 11 항에 있어서, The method of claim 11, 상기 심볼의 소프트 판정값이 상기 데이터 그룹 내 1,2,9,10번째 M/H 블록의 모바일 서비스 데이터로부터 얻어진 심볼의 소프트 판정값이면, 상기 신뢰도 조정 단계는 상기 심볼의 소프트 판정값에 기 설정된 가중치를 곱하여 상기 심볼의 소프트 판정값의 신뢰도를 낮추는 수신 시스템의 방송 신호 처리 방법.If the soft decision value of the symbol is a soft decision value of a symbol obtained from the mobile service data of the first, second, ninth, and tenth M / H blocks in the data group, the reliability adjustment step is preset to the soft decision value of the symbol. And multiplying weights to lower the reliability of the soft decision value of the symbol. 제 12 항에 있어서, The method of claim 12, 상기 신뢰도 조정 단계는 상기 심볼의 소프트 판정값에 1보다 작은 가중치를 곱하여 상기 심볼의 소프트 판정값의 신뢰도를 낮추는 수신 시스템의 방송 신호 처리 방법.And adjusting the reliability by multiplying the soft decision value of the symbol by a weight less than 1 to reduce the reliability of the soft decision value of the symbol. 제 11 항에 있어서, The method of claim 11, 송신 시스템에서 2개의 M/H 블록이 결합하여 SCCC(Serial Concatenated Convolution Code) 블록 부호화되어 전송되면, 상기 신뢰도 조정 단계는 상기 트렐리스 복호된 모바일 서비스 데이터의 신뢰도를 조정하는 수신 시스템의 방송 신호 처리 방법.When two M / H blocks are combined and transmitted by SCCC block coding in a transmission system, the reliability adjustment step includes broadcasting signal processing of a reception system that adjusts reliability of the trellis-decoded mobile service data. Way.
KR1020090070870A 2008-08-04 2009-07-31 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system KR101622217B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/534,366 US8259869B2 (en) 2008-08-04 2009-08-03 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
PCT/KR2009/004336 WO2010016705A1 (en) 2008-08-04 2009-08-03 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8612308P 2008-08-04 2008-08-04
US61/086,123 2008-08-04

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020150096144A Division KR101571737B1 (en) 2008-08-04 2015-07-06 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR1020160057022A Division KR101667592B1 (en) 2008-08-04 2016-05-10 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system

Publications (2)

Publication Number Publication Date
KR20100015287A true KR20100015287A (en) 2010-02-12
KR101622217B1 KR101622217B1 (en) 2016-05-18

Family

ID=42088426

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020090070870A KR101622217B1 (en) 2008-08-04 2009-07-31 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR1020150096144A KR101571737B1 (en) 2008-08-04 2015-07-06 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR1020160057022A KR101667592B1 (en) 2008-08-04 2016-05-10 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR1020160131878A KR101725248B1 (en) 2008-08-04 2016-10-12 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020150096144A KR101571737B1 (en) 2008-08-04 2015-07-06 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR1020160057022A KR101667592B1 (en) 2008-08-04 2016-05-10 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR1020160131878A KR101725248B1 (en) 2008-08-04 2016-10-12 Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system

Country Status (1)

Country Link
KR (4) KR101622217B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120015152A (en) * 2010-08-11 2012-02-21 엘지전자 주식회사 A method and an apparatus for 3-dimensional broadcast signal transmitting/receiving
KR101275851B1 (en) * 2012-03-27 2013-06-18 연세대학교 산학협력단 Method and apparatus for transmitting/receiving data based on stbc using uw

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US7234096B2 (en) * 2001-04-18 2007-06-19 Sharp Kabushiki Kaisha Decoding method and recording-medium reproducing apparatus
KR101253188B1 (en) * 2007-01-24 2013-04-10 엘지전자 주식회사 Apparatus and Method for transmitting/receiving broadcasting signal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120015152A (en) * 2010-08-11 2012-02-21 엘지전자 주식회사 A method and an apparatus for 3-dimensional broadcast signal transmitting/receiving
KR101275851B1 (en) * 2012-03-27 2013-06-18 연세대학교 산학협력단 Method and apparatus for transmitting/receiving data based on stbc using uw

Also Published As

Publication number Publication date
KR20160122679A (en) 2016-10-24
KR101571737B1 (en) 2015-11-26
KR101725248B1 (en) 2017-04-10
KR101622217B1 (en) 2016-05-18
KR101667592B1 (en) 2016-10-19
KR20160056865A (en) 2016-05-20
KR20150086214A (en) 2015-07-27

Similar Documents

Publication Publication Date Title
KR101498063B1 (en) Digital broadcasting system and method of processing data in the digital broadcasting system
KR101405967B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101486372B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101405966B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101405970B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
US8310976B2 (en) Transmitting/receiving system and method of processing broadcasting signal in transmitting/receiving system
KR101405968B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101405969B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
USRE46527E1 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
US8396108B2 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
US8385383B2 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR101725248B1 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR101617266B1 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR20090040875A (en) Receiving system and method of processing data in receiving system
KR101498062B1 (en) Digital broadcasting system and method of processing data in the digital broadcasting system
KR101709513B1 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR101733505B1 (en) Receiving system and method of processing broadcast signal in the receiving system
KR101520714B1 (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR101698860B1 (en) Receiving system and method of processing broadcast signal in the receiving system
KR101632212B1 (en) Receiving system and method of processing broadcast signal in the receiving system
KR20110069926A (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR20110072624A (en) Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
CA2888511C (en) Transmitting / receiving systems and broadcasting signal processing method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant