[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20090004653A - Digital broadcasting system and method of processing data in digital broadcasting system - Google Patents

Digital broadcasting system and method of processing data in digital broadcasting system Download PDF

Info

Publication number
KR20090004653A
KR20090004653A KR1020080063524A KR20080063524A KR20090004653A KR 20090004653 A KR20090004653 A KR 20090004653A KR 1020080063524 A KR1020080063524 A KR 1020080063524A KR 20080063524 A KR20080063524 A KR 20080063524A KR 20090004653 A KR20090004653 A KR 20090004653A
Authority
KR
South Korea
Prior art keywords
data
video stream
frame
output
layer
Prior art date
Application number
KR1020080063524A
Other languages
Korean (ko)
Other versions
KR101513027B1 (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/167,241 priority Critical patent/US7782808B2/en
Priority to CA2692484A priority patent/CA2692484C/en
Priority to CN2008801052487A priority patent/CN101796835B/en
Priority to PCT/KR2008/003907 priority patent/WO2009005301A1/en
Publication of KR20090004653A publication Critical patent/KR20090004653A/en
Priority to US12/838,382 priority patent/US8107790B2/en
Priority to US13/332,324 priority patent/US9078046B2/en
Application granted granted Critical
Publication of KR101513027B1 publication Critical patent/KR101513027B1/en
Priority to US14/723,342 priority patent/US9438931B2/en
Priority to US15/220,359 priority patent/US10045078B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • H04N7/0152High-definition television systems using spatial or temporal subsampling
    • H04N7/0155High-definition television systems using spatial or temporal subsampling using pixel blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/65Arrangements characterised by transmission systems for broadcast
    • H04H20/67Common-wave systems, i.e. using separate transmitters operating on substantially the same frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • H04H40/27Arrangements characterised by circuits or components specially adapted for receiving specially adapted for broadcast systems covered by groups H04H20/53 - H04H20/95
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A digital broadcasting system and a data processing method are provided to be strong against an error when transmitting mobile service data through a channel, and receive the mobile service data without an error. A demodulator demodulates a scalable video stream of each layer among received broadcast signals. A demultiplexer(8001) classifies the demodulated video stream of a base layer with reference to program table information. The demultiplexer classifies a video stream of at least one higher layer according to a preset condition. A decoder(8002) performs video decoding of a video stream of at least one layer which is classified and outputted in the demultiplexer.

Description

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

본 발명은 디지털 방송을 송신하고 수신하기 위한 디지털 방송 시스템 및 데이터 처리 방법에 관한 것이다.The present invention relates to a digital broadcasting system and a data processing method for transmitting and receiving digital broadcasting.

디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히 휴대용이나 이동형 방송 수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다.In the digital broadcasting, VSB (Vestigial Sideband) transmission method adopted as a digital broadcasting standard in North America and Korea is a single carrier method, so the reception performance of the receiving system may be degraded in a poor channel environment. In particular, in the case of a portable or mobile broadcast receiver, since the robustness against channel change and noise is further required, when the mobile service data is transmitted through the VSB transmission method, the reception performance is further deteriorated.

따라서 본 발명의 목적은 채널 변화 및 노이즈에 강한 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a digital broadcasting system and a data processing method that are resistant to channel variation and noise.

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

본 발명의 또 다른 목적은 송/수신측의 약속에 의해 알고 있는 기지 데이터를 데이터 영역의 소정 영역에 삽입하여 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.It is still another object of the present invention to provide a digital broadcasting system and a data processing method for improving the reception performance of a reception system by inserting and transmitting known data known by a promise of a transmission / reception side into a predetermined area of a data area. Is in.

본 발명의 또 다른 목적은 모바일 방송 서비스에서 비디오 스케일러빌리티 (scalability)를 제공하기 위한 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.Another object of the present invention is to provide a digital broadcasting system and a data processing method for providing video scalability in a mobile broadcasting service.

상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전송 시스템은 서비스 다중화기와 송신기를 포함할 수 있다. 상기 서비스 다중화기는 모바일 서비스 데이터와 메인 서비스 데이터를 기 설정된 데이터 율로 다중화하여 송신기로 전송할 수 있다. 상기 송신기는 서비스 다중화기에서 전송되는 모바일 서비스 데이터에 대해 추가의 부호화를 수행하고, 부호화가 수행된 다수개의 모바일 서비스 데이터 패킷을 모아 데이터 그룹을 형성할 수 있다. 상기 송신기는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷과 메인 서비스 데이터를 포함하는 메인 서비스 데이터 패킷을 패킷 단위로 다중화하여 수신 시스템으로 전송할 수 있다. In order to achieve the above object, a transmission system according to an embodiment of the present invention may include a service multiplexer and a transmitter. The service multiplexer may multiplex the mobile service data and the main service data at a preset data rate and transmit them to the transmitter. The transmitter may perform additional encoding on mobile service data transmitted from the service multiplexer, and collect a plurality of mobile service data packets on which encoding is performed to form a data group. The transmitter may multiplex a mobile service data packet including mobile service data and a main service data packet including main service data in packet units and transmit the packet to a receiving system.

상기 데이터 그룹은 메인 서비스 데이터의 간섭 정도에 따라 다수개의 영역으로 구분할 수 있다. 상기 메인 서비스 데이터의 간섭이 없는 영역에는 주기적으로 긴 기지 데이터 열을 삽입할 수 있다. 본 발명의 일 실시예에 따른 수신 시스템 은 상기 기지 데이터 열을 복조 및 채널 등화에 이용할 수 있다. 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 of a digital broadcasting system according to another embodiment of the present invention may include a signal receiver, a demodulator, a demultiplexer, and a decoder. The signal receiver includes a base layer and at least one upper layer, and receives a broadcast signal including a scalable video stream for a mobile service having a different identifier for each layer. The demodulator demodulates a scalable video stream of each layer among the received broadcast signals. The demultiplexer classifies and outputs a video stream of the demodulated base layer with reference to program table information, and classifies and outputs a video stream of at least one upper layer according to a preset condition. The decoder decodes a video stream of at least one layer that is divided and output from the demultiplexer.

상기 역다중화기는 상기 프로그램 테이블 정보 중 가상 채널 테이블(VCT)에 포함된 정보를 참조하여 입력되는 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 확인하고, 확인된 각 비디오 스트림의 식별자를 참조하여 기본 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력할 수 있다. The demultiplexer determines whether an input video stream is a scalable video stream for a mobile service by referring to information included in a virtual channel table (VCT) among the program table information, and refers to an identifier of each identified video stream. The video streams of the layers may be divided and output for video decoding.

상기 역다중화기는 비디오 복호의 가능 여부에 따라 적어도 하나의 상위 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력할 수 있다.The demultiplexer may divide a video stream of at least one higher layer according to whether video decoding is possible and then output the video stream for video decoding.

상기 VCT는 입력된 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 식별할 수 있는 정보, 해당 비디오 스트림의 계층 정보를 적어도 포함할 수 있다. The VCT may include at least information for identifying whether an input video stream is a scalable video stream for a mobile service and layer information of a corresponding video stream.

상기 역다중화기는 상기 프로그램 테이블 정보 중 프로그램 맵 테이블(PMT)에 포함된 정보를 참조하여 입력되는 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 확인하고, 확인된 각 비디오 스트림의 식별자를 참조하여 기본 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력할 수 있다.The demultiplexer determines whether an input video stream is a scalable video stream for a mobile service by referring to information included in a program map table (PMT) among the program table information, and references the identifier of each identified video stream. The video streams of the layers may be divided and output for video decoding.

상기 PMT는 입력된 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 식별할 수 있는 정보, 해당 비디오 스트림의 계층 정보를 적어도 포함할 수 있다. The PMT may include at least information for identifying whether an input video stream is a scalable video stream for a mobile service and layer information of a corresponding video stream.

본 발명의 다른 실시예에 따른 수신 시스템의 데이터 처리 방법은, 기본 계층과 적어도 하나의 상위 계층으로 구성되며, 각 계층마다 서로 다른 식별자를 갖는 모바일 서비스를 위한 스케일러블 비디오 스트림을 포함하는 방송 신호를 수신하는 단계, 상기 수신된 방송 신호 중 각 계층의 스케일러블 비디오 스트림을 복조하는 단계, 프로그램 테이블 정보를 참조하여 상기 복조된 기본 계층의 비디오 스트림을 구분하여 출력하고, 기 설정된 조건에 따라 적어도 하나의 상위 계층의 비디오 스트림을 구분하여 출력하는 단계, 및 상기 구분되어 출력되는 적어도 하나의 계층의 비디오 스트림을 비디오 복호하는 단계를 포함할 수 있다. A data processing method of a reception system according to another embodiment of the present invention comprises a broadcast signal including a scalable video stream for a mobile service, which is composed of a base layer and at least one upper layer and has a different identifier for each layer. Receiving, demodulating a scalable video stream of each layer of the received broadcast signal, distinguishing and outputting the video stream of the demodulated base layer with reference to program table information, at least one according to a predetermined condition And dividing and outputting a video stream of a higher layer, and video decoding the video stream of at least one layer that is separated and output.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

본 발명에 따른 디지털 방송 시스템, 및 데이터 처리 방법은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성 이 가능한 이점이 있다. The digital broadcasting system and the data processing method according to the present invention have the advantage of being resistant to errors and compatible with existing receivers when transmitting mobile service data through a channel.

본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러없이 수신할 수 있는 이점이 있다. The present invention has the advantage that the mobile service data can be received without error even in a ghost and noisy channel.

본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다. The present invention can improve the reception performance of the reception system in an environment with a high channel change by inserting and transmitting known data in a specific position of the data area.

본 발명은 모바일 서비스 데이터를 메인 서비스 데이터와 다중화할 때 퍼레이드 구조로 다중화함으로써, 수신 시스템의 전력을 절감할 수 있다.The present invention can reduce the power of the reception system by multiplexing the mobile service data into the parade structure when multiplexing the mobile service data with the main service data.

본 발명은 모바일 서비스 상에서 스케일러블 비디오 서비스를 지원할 수 있도록 하며, 수신 시스템의 역다중화기에서 각 계층의 스케일러블 비디오 데이터를 취사 선택할 수 있도록 함으로써, 비디오 복호기의 연산량을 줄일 수 있다. According to the present invention, a scalable video service can be supported on a mobile service, and the amount of computation of the video decoder can be reduced by allowing the demultiplexer of the reception system to select and select scalable video data of each layer.

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

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

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

MPH 프레임 구조MPH frame structure

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

이때 하나의 MPH 프레임은 K1개의 서브 프레임으로 구성되고, 하나의 서브 프레임은 K2개의 슬롯으로 구성될 수 있다. 또한 하나의 슬롯은 K3개의 데이터 패킷으로 구성될 수 있다. 본 발명에서 K1은 5, K2는 16, K3은 156으로 설정하는 것을 일 실시예로 한다. 본 발명에서 제시하는 K1,K2,K3의 값은 바람직한 실시예이거나 단순한 예시이며, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다.In this case, one MPH 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은 본 발명에 따른 모바일 서비스 데이터를 송수신하기 위한 MPH 프레임 구조의 일 실시예를 보인 것이다. 도 1은 하나의 MPH 프레임이 5개의 서브 프레임 으로 구성되고, 하나의 서브 프레임이 16개의 슬롯으로 구성되는 예를 보이고 있다. 이 경우 하나의 MPH 프레임은 5개의 서브 프레임, 80개의 슬롯을 포함함을 의미한다.1 illustrates an embodiment of an MPH frame structure for transmitting and receiving mobile service data according to the present invention. 1 shows an example in which one MPH frame consists of five subframes and one subframe consists of 16 slots. In this case, one MPH frame includes 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 illustrates 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.

만일 하나의 MPH 프레임이 하나의 슬롯 동안 전송된다면, 슬롯 내 처음 118 데이터 패킷들이 하나의 데이터 그룹에 해당되고, 나머지 38 패킷들은 메인 서비스 데이터 패킷이 된다. 또 다른 예로, 하나의 슬롯에 데이터 그룹이 없다면, 해당 슬롯은 156개의 메인 서비스 데이터 패킷들로 구성된다.If one MPH frame 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 consists of 156 main service data packets.

한편 상기 슬롯들을 VSB 프레임에 할당할 때, 그 위치에 있어서 옵셋을 가지 고 있다. On the other hand, when allocating the slots to the VSB frame, it has an offset in its position.

도 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개의 MPH 블록(MPH 블록 B1~B10)으로 구분하는 예를 보이고 있다. 그리고 각 MPH 블록은 16 세그먼트의 길이를 갖는 것을 일 실시예로 한다. 도 5에서 MPH 블록 B1의 앞 5 세그먼트와 MPH 블록 B10 뒤의 5 세그먼트는 일부에 RS 패리티 데이터만 할당하며, 데이터 그룹의 A 영역 내지 D 영역에서 제외하는 것을 일 실시예로 한다. 5 shows an example of dividing a data group into 10 MPH blocks (MPH blocks B1 to B10) in the data configuration after data interleaving. Each MPH block has a length of 16 segments. In FIG. 5, the first five segments of the MPH block B1 and the five segments after the MPH block B10 allocate only RS parity data to a portion of the data group, and exclude the data from the A region and the D region of the data group.

즉, 하나의 데이터 그룹을 A,B,C,D 영역으로 구분한다고 가정하면, 데이터 그룹 내 각 MPH 블록의 특성에 따라 각 MPH 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시킬 수 있다. 이때 메인 서비스 데이터의 간섭 정도에 따라 각 MPH 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시키는 것을 일 실시예로 한다. That is, assuming that one data group is divided into A, B, C, and D areas, each MPH block may be included in any one of areas A to D according to characteristics of each MPH block in the data group. . At this time, according to an embodiment of the present invention, each MPH 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 appointment, when a long continuous data is to be inserted periodically in the mobile service data, It is possible to periodically insert known data of a certain length into an area where service data does not interfere (that is, an area where main service data does not mix). 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의 데이터 그룹 내 MPH 블록 B4 내지 MPH 블록 B7은 메인 서비스 데이터의 간섭이 없는 영역으로서 각 MPH 블록의 앞뒤에 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 본 발명에서는 상기 MPH 블록 B4 내지 MPH 블록 B7을 포함하여 A 영역(=B4+B5+B6+B7)이라 하기로 한다. 상기와 같이 각 MPH 블록마다 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, A 영역 내지 D 영역 중 가장 강인한 등화 성능을 얻을 수가 있다. The MPH blocks B4 to MPH blocks B7 in the data group of FIG. 5 show an example in which long known data strings are inserted before and after each MPH block as areas without interference of main service data. In the present invention, the MPH blocks B4 to MPH blocks B7 will be referred to as an A region (= B4 + B5 + B6 + B7). As described above, in the case of the region A having the known data sequence back and forth for each MPH block, the receiving system can perform the equalization using the channel information obtained from the known data, thereby providing the strongest equalization performance among the regions A to D. You can get

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

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

도 5의 데이터 그룹 내 MPH 블록 B1과 MPH 블록 B10은 메인 서비스 데이터의 간섭이 C 영역보다 더 많으며, 마찬가지로 두 MPH 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 MPH 블록 B1과 MPH 블록 B10을 포함하여 D 영역(=B1+B10)이라 하기로 한다. 상기 C/D 영역은 기지 데이터 열로부터 많이 떨어져 있기 때문에 채널이 빠르게 변하는 경우에는 수신 성능이 안 좋을 수가 있다. The MPH blocks B1 and MPH blocks B10 in the data group of FIG. 5 have more interference of the main service data than the C region, and likewise, both MPH blocks cannot insert a long known data stream back and forth. In the present invention, the MPH block B1 and the MPH 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 embodiment of configuring 118 packets including 81 packets (including the reference packet) to the rear is shown.

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

지금까지 설명한 데이터 그룹의 크기, 데이터 그룹 내 계층화된 영역의 수와 각 영역의 크기, 각 영역에 포함되는 MPH 블록의 개수, 각 MPH 블록의 크기 등은 본 발명을 기술하기 위한 하나의 실시예일 뿐이므로 본 발명은 상기된 예로 제한되지 않을 것이다. 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 MPH blocks included in each region, the size of each MPH block, and the like are just one embodiment for describing the present invention. Therefore, the present invention will not be limited to the examples described above.

도 9는 MPH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 할당 순서의 일 예를 보인다. 일 예로, 데이터 그룹들을 할당하는 방법은 모든 MPH 프레임에 동일하게 적용할 수도 있고, MPH 프레임마다 달라질 수도 있다. 또한 하나의 MPH 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 이때 데이터 그룹의 할당을 MPH 프레임 내 모든 서브 프레임에 동일하게 적용한다고 가정하면, 하나의 MPH 프레임에 할당되는 데이터 그룹의 수는 5의 배수가 된다. FIG. 9 shows an example of a data group allocation order allocated to one subframe among five subframes constituting the MPH frame. For example, the method of allocating data groups may be equally applied to all MPH frames or may be different for each MPH frame. In addition, the same may be applied to all subframes in one MPH 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 MPH frame, and the number of data groups allocated to one MPH 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 are allocated. do. FIG. 9 shows an example of allocating 16 data groups to one subframe by applying such an allocation rule. As shown in FIG. 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 16j = (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.

본 발명은 하나의 MPH 프레임에 포함되는 데이터 그룹들의 집합(collection)을 퍼레이드(Parade)라 하기로 한다. 상기 퍼레이드는 RS 프레임 모드에 따라 하나 이상의 특정 RS 프레임의 데이터를 전송한다. In the present invention, a collection of data groups included in one MPH 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이면, A/B 영역을 위한 프라이머리 RS 프레임(Primary RS frame for region A/B)의 데이터는 데이터 그룹의 A/B 영역에 할당되어 전송되고, C/D 영역을 위한 세컨더리 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 the primary RS frame for region A / B for the A / B region is allocated to the A / B region of the data group and transmitted, and the C / D The data of the secondary RS frame for region C / D for the region indicates that the data is allocated to the C / D region 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.

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

도 10은 하나의 MPH 프레임에 단일 퍼레이드를 할당할 때의 예를 보인 도면이다. 즉, 도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 하나의 MPH 프레임에 할당할 때의 실시예를 보이고 있다. 10 is a diagram illustrating an example of allocating a single parade to one MPH 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 MPH frame.

도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 MPH 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 MPH 프레임에 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 MPH frame, 15 data groups are allocated to one MPH frame. do. 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) 이 된다. 그러므로 수신 시스템에서는 erausre 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 erausre 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과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 할당되었을 때, 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터가 할당될 수도 있고, 다른 퍼레이드의 데이터 그룹들이 할당될 수도 있다. 즉, 하나의 MPH 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있다.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, one MPH frame may be assigned data groups for a plurality of parades.

기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당은 단일 퍼레이드의 경우와 다르지 않다. 즉, 하나의 MPH 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당된다. Basically, the allocation of data groups for multiple parades is no different than for a single parade. That is, the data groups in the other parade allocated to one MPH 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은 하나의 MPH 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 전송하는 예를 보인 것으로서, 특히 MPH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임의 퍼레이드 전송 예를 보이고 있다. FIG. 11 shows an example of transmitting three parades (Parade # 0, Parade # 1, Parade # 2) in one MPH frame, and in particular, parade transmission of one subframe among five subframes constituting the MPH frame. An example 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.

이와 같이 하나의 MPH 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 할당은 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행되고 있다.As described above, data groups for a plurality of parades may be allocated to one MPH 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까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 MPH 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 MPH 프레임에 할당될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 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. At this time, since one MPH frame includes five subframes, this means that the number of data groups of one parade that can be allocated to one MPH frame may be any one of multiples of 5 to 40. do.

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

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

도 13은 전술한 구조를 갖는 본 발명을 적용하기 위한 전송 시스템의 일 실시예를 보인 개략도로서, 서비스 다중화기(Service Multiplexer)(100)와 송신기(Transmitter)(200)를 포함할 수 있다.FIG. 13 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 200.

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

상기 서비스 다중화기와 원격지에 위치한 각 송신기간의 데이터 통신은 여러 가지 방법이 이용될 수 있으며, 일 실시예로 SMPTE-310M(Synchronous Serial Interface for transport of MPEG-2 data)과 같은 인터페이스 규격이 사용될 수도 있다. 상기 SMPTE-310M 인터페이스 규격에서는 서비스 다중화기의 출력 데이터 율이 일정한 데이터 율로 정해져 있다. 예를 들어, 8VSB의 경우 19.39 Mbps로 정해져 있고, 16VSB의 경우 38.78 Mbps로 정해져 있다. 또한 기존 8VSB 방식의 전송 시스템에서는 한 개의 물리적인 채널에 데이터 율이 약 19.39 Mbps인 트랜스포트 스트림(Transport Stream ; TS) 패킷을 전송할 수 있다. 기존 전송 시스템과 역방향 호환성을 가지는 본 발명에 따른 송신기에서도, 상기 모바일 서비스 데이터에 대하여 추가의 부호화를 수행한 후 이를 메인 서비스 데이터와 TS 패킷 형태로 다중화하여 전송하는데, 이때에도 다중화된 TS 패킷의 데이터 율은 약 19.39 Mbps가 된다. Various methods may be used for data communication between the service multiplexer and each transmitter located at a remote location, and as an example, an interface standard such as Synchronous Serial Interface for transport of MPEG-2 data (SMPTE-310M) may be used. . In the SMPTE-310M interface standard, the output data rate of the service multiplexer is determined to be a constant data rate. For example, it is set at 19.39 Mbps for 8VSB, and 38.78 Mbps for 16VSB. In addition, the conventional 8VSB type transmission system can transmit a transport stream (TS) packet having a data rate of about 19.39 Mbps on one physical channel. In the transmitter according to the present invention having backward compatibility with the existing transmission system, the mobile service data is further encoded and then multiplexed in the form of the main service data and the TS packet, and the data of the multiplexed TS packet is transmitted. The rate is about 19.39 Mbps.

이때 상기 서비스 다중화기(100)는 적어도 한 종류의 모바일 서비스 데이터와 각 모바일 서비스를 위한 PSI(Program Specific Information)/PSIP(Program and System Information Protocol) 테이블 데이터를 입력받아 각각 트랜스포트 스트림(TS) 패킷으로 인캡슐레이션(encapsulation)한다. 또한 상기 서비스 다중화기(100)는 적어도 한 종류의 메인 서비스 데이터와 각 메인 서비스를 위한 PSI/PSIP 테이블 데이터를 입력받아 TS 패킷으로 인캡슐레이션(encapsulation)한다. 이어 상기 TS 패킷들을 기 설정된 다중화 규칙에 따라 다중화하여 송신기(200)로 출력한다. In this case, the service multiplexer 100 receives at least one type of mobile service data and program specific information (PSI) / program and system information protocol (PSIP) table data for each mobile service, respectively, and transports a transport stream (TS) packet. Encapsulation. In addition, the service multiplexer 100 receives at least one kind of main service data and PSI / PSIP table data for each main service and encapsulates them into TS packets. Subsequently, the TS packets are multiplexed according to a preset multiplexing rule and output to the transmitter 200.

서비스 다중화기Service multiplexer

도 14는 상기 서비스 다중화기의 일 실시예를 보인 상세 블록도로서, 상기 서비스 다중화기의 전반적인 동작을 제어하는 제어기(Controller)(110), 메인 서비스를 위한 PSI/PSIP 발생기(120), 모바일 서비스를 위한 PSI/PSIP 발생기(130), 널 패킷 발생기(140), 모바일 서비스 다중화기(150), 및 트랜스포트 다중화기(160)를 포함할 수 있다. FIG. 14 is a detailed block diagram illustrating an embodiment of the service multiplexer. The controller 110 controls overall operation of the service multiplexer, a PSI / PSIP generator 120 for a main service, and a mobile service. The PSI / PSIP generator 130 may include a null packet generator 140, a mobile service multiplexer 150, and a transport multiplexer 160.

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

도 14를 보면, 적어도 한 종류의 압축 부호화된 메인 서비스 데이터와 상기 메인 서비스를 위해 PSI/PSIP 발생기(120)에서 발생된 PSI/PSIP 테이블 데이터는 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161)로 입력된다. 상기 메인 서비스 다중화기(161)는 입력되는 메인 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 메인 서비스 다중화기(161)에서 출력되는 데이터 패킷을 설명의 편의를 위해 메인 서비스 데이터 패킷이라 하기로 한다.Referring to FIG. 14, at least one type of compressed coded main service data and PSI / PSIP table data generated by the PSI / PSIP generator 120 for the main service may include a main service multiplexer of the transport multiplexer 160. 161). The main service multiplexer 161 encapsulates input main service data and PSI / PSIP table data in the form of MPEG-2 TS packets, respectively, and multiplexes these TS packets to form a 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.

또한 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위해 PSI/PSIP 발생기(130)에서 발생된 PSI/PSIP 테이블 데이터는 모바일 서비스 다중화기(150)로 입력된다. In addition, at least one type of compressed-coded mobile service data and PSI / PSIP table data generated by the PSI / PSIP generator 130 for the mobile service are input to the mobile service multiplexer 150.

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

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

본 발명에서는 일 실시예로, 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷에 각기 서로 다른 PID(Packet Identifier)를 할당하여 구분할 수 있다.According to an embodiment of the present invention, different PIDs (Packet Identifiers) may be allocated to the main service data packet and the mobile service data packet.

다른 실시예로, 모바일 서비스 데이터 패킷의 헤더 내 동기 바이트를 변형함에 의해, 해당 서비스 데이터 패킷의 동기 바이트 값을 이용하여 구분할 수도 있다. 예를 들어, 메인 서비스 데이터 패킷의 동기 바이트는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 변형없이 그대로 출력하고, 모바일 서비스 데이터 패킷의 동기 바이트는 변형시켜 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. 반대로 메인 서비스 데이터 패킷의 동기 바이트를 변형하고, 모바일 서비스 데이터 패킷의 동기 바이트를 변형없이 그대로 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. In another embodiment, by modifying the sync byte in the header of the mobile service data packet, 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.39-K) Mbps, and the K Mbps corresponding to the remaining data rate is allocated to the mobile service. This allows you to use the transport multiplexer that is already in use without changing it.

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

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

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

일 예로, 상기 송신기의 전처리기에서는 모바일 서비스 데이터에 대해 적어도 1/2 부호율 이하의 부호화를 수행하므로, 전처리기의 출력 데이터의 양은 입력 데이터의 양보다 2배 이상 많게 된다. 따라서 서비스 다중화기(100)에서 다중화되는 메인 서비스 데이터의 데이터 율과 모바일 서비스 데이터의 데이터 율의 합은 항상 19.39 Mbps 보다 작거나 같게 된다.For example, the preprocessor of the transmitter performs encoding at least 1/2 code rate on the mobile service data, so that the amount of output data of the preprocessor is more than twice the amount of input data. Therefore, the sum of the data rate of the main service data multiplexed in the service multiplexer 100 and the data rate of the mobile service data is always less than or equal to 19.39 Mbps.

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

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

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

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

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

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

본 발명에서는 널 데이터 패킷 내 헤더의 transport_error_indicator 플래그를 널 데이터 패킷을 구분할 수 있는 식별 정보로 이용하는 것을 일 실시예로 설명한다. 이 경우, 상기 널 데이터 패킷의 transport_error_indicator 플래그는 1로 셋팅하고, 상기 널 데이터 패킷 이외의 모든 데이터 패킷들의 transport_error_indicator 플래그는 0으로 리셋시켜 상기 널 데이터 패킷을 구분하는 것을 일 실시예로 한다. 즉, 상기 널 패킷 발생기(140)에서 널 데이터 패킷을 발생시킬 때 널 데이터 패킷의 헤더의 필드 중에서 transport_error_indicator 플래그를 '1'로 세팅하여 전송한다면 송신기(200)에서 이를 구분하여 버릴 수 있다.According to an embodiment of the present invention, the transport_error_indicator flag of a header in a null data packet is used as identification information for distinguishing a null data packet. In this case, the transport_error_indicator flag of the null data packet is set to 1, and the transport_error_indicator flag of all data packets other than the null data packet is reset to 0 to distinguish the null data packet. That is, when the null packet generator 140 generates a null data packet, if the transport_error_indicator flag is set to '1' in the field of the header of the null data packet and transmitted, the transmitter 200 may separate the discard packet.

상기 널 데이터 패킷을 구분하기 위한 식별 정보는 널 데이터 패킷을 구분할 수 있는 것은 어느 것이나 가능하므로 본 발명은 상기된 실시예들로 한정되지 않을 것이다. The identification information for distinguishing the null data packet may be any one capable of distinguishing the null data packet, and thus the present invention will not be limited to the above-described embodiments.

또한 본 발명은 다른 실시예로서, 상기 널 데이터 패킷의 적어도 일부, 또는 모바일 서비스를 위한 PSI/PSIP 테이블 중 적어도 하나의 테이블 또는 OM(Operations and Maintenance) 패킷(또는 OMP라 하기도 함.)에 전송 파라미터가 포함되어 있을 수 있다. 이 경우 송신기(200)에서는 상기 전송 파라미터를 추출하여 해당 블록으로 출력하며, 필요한 경우 수신 시스템으로도 전송한다. In another embodiment, the present invention provides a transmission parameter in at least a portion of the null data packet, or at least one table of a PSI / PSIP table for a mobile service, or an Operations and Maintenance (OM) packet (or OMP). May be included. In this case, the transmitter 200 extracts the transmission parameter and outputs the transmission parameter to the corresponding block, and transmits the transmission parameter to the receiving system if necessary.

즉, 전송 시스템의 동작 및 관리를 위한 목적으로 OMP(Operations and Maintenance Packet) 라는 패킷이 정의되어 있다. 일 예로, 상기 OMP는 MPEG-2 TS 패킷의 형식을 따르며 해당 PID는 0x1FFA의 값을 가진다. 상기 OMP은 4바이트의 헤더와 184바이트의 페이로드로 구성된다. 상기 184 바이트 중 첫번째 바이트는 OM_type 필드로서 OM 패킷의 타입을 의미한다. That is, a packet called OMP (Operations and Maintenance Packet) is defined for the purpose of operation and management of the transmission system. As an example, the OMP follows the format of an MPEG-2 TS packet and its PID has a value of 0x1FFA. The OMP consists of a header of 4 bytes and a payload of 184 bytes. The first byte of the 184 bytes indicates the type of the OM packet as the OM_type field.

본 발명에서는 상기 전송 파라미터를 OMP의 형식으로 전송할 수 있으며, 이 경우 OM_type 필드의 미사용 필드 값들 중에서 미리 약속된 값을 사용하여, 송신기(200)에 전송 파라미터가 OMP으로 전송됨을 알릴 수 있다. 즉, 송신기(200)에서는 PID를 보고 OMP를 찾을 수 있으며, 상기 OMP 내 OM_type 필드를 파싱하여 해당 패킷의 OM_type 필드 다음에 전송 파라미터가 포함되어 있는지 여부를 알 수 있다.In the present invention, the transmission parameter may be transmitted in an OMP format. In this case, the transmitter 200 may inform the transmitter 200 that the transmission parameter is transmitted to the OMP using a predetermined value among unused field values of the OM_type field. That is, the transmitter 200 may find the OMP by looking at the PID, and parse the OM_type field in the OMP to determine whether the transmission parameter is included after the OM_type field of the corresponding packet.

상기 전송 파라미터는 송/수신 시스템에서 모바일 서비스 데이터를 처리하는데 필요한 부가 정보들로서, 예를 들면 상기 전송 파라미터에는 데이터 그룹 정보, 데이터 그룹 내 영역(region) 정보, 블록 정보, RS 프레임 정보, 수퍼 프레임 정보, MPH 프레임 정보, 퍼레이드 정보, 앙상블 정보, SCCC(Serial Concatenated Convolution Code) 관련 정보, RS 코드 정보 등이 포함될 수 있다. 상기 전송 파라미터 내 각 정보의 의미는 앞에서 상세히 기술된 것도 있고, 앞에서 상세히 기술되지 않은 정보는 뒤에서 상세히 기술할 것이다.The transmission parameter is additional information necessary for processing mobile service data in a transmission / reception system. For example, the transmission parameter includes data group information, region information in a data group, block information, RS frame information, and super frame information. , MPH frame information, parade information, ensemble information, SCCC (Serial Concatenated Convolution Code) related information, RS code information, and the like. The meaning of each information in the transmission parameter is described in detail above, information not described in detail above will be described in detail later.

또한 상기 전송 파라미터에는 모바일 서비스 데이터를 전송하기 위해서 심볼 영역의 신호들이 어떤 방법으로 부호화되는지에 대한 정보, 메인 서비스 데이터와 모바일 서비스 데이터 또는 여러 종류의 모바일 서비스 데이터 간에 어떻게 다중화되는지에 대한 다중화 정보 등이 포함될 수도 있다.In addition, the transmission parameter includes information on how signals in a symbol region are encoded to transmit mobile service data, and multiplexing information on how to be multiplexed between main service data and mobile service data or various types of mobile service data. May be included.

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

또한 상기 전송 파라미터들은 서비스 다중화기(100)에서 송신기(200)로 제공할 수도 있고, 송신기(200) 자체적으로 제어부(도시되지 않음)에서 설정하거나 외부에서 입력받을 수 있다. In addition, the transmission parameters may be provided from the service multiplexer 100 to the transmitter 200, or the transmitter 200 itself may be set by a controller (not shown) or received externally.

송신기transmitter

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

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

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

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

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

이와 같이 구성된 전처리기(230) 내 MPH 프레임 부호기(301)는 역다중화기(210)를 입력되는 모바일 서비스 데이터를 데이터 랜더마이징한 후 RS 프레임을 형성하고, RS 프레임 단위로 에러 정정을 위한 부호화를 수행한다. 상기 MPH 프레임 부호기(301)는 하나 이상의 RS 프레임 부호기를 포함할 수 있다. 즉, 상기 RS 프레임 부호기는 MPH 프레임 내 퍼레이드의 수만큼 병렬로 구비될 수 있다. 전술한 바와 같이, MPH 프레임은 하나 이상의 퍼레이드를 전송하는 기본 시간 주기이다. 그리고 각 퍼레이드는 하나나 두 개의 RS 프레임으로 만들어진다. The MPH frame encoder 301 in the preprocessor 230 configured as described above forms a RS frame after data randomizing the mobile service data input from the demultiplexer 210, and performs encoding for error correction in units of RS frames. do. The MPH 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 MPH frame. As mentioned above, an MPH frame is a basic time period for transmitting one or more parades. Each parade is made of one or two RS frames.

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

상기 역다중화기(309)는 입력 앙상블들을 분리하고, 분리된 앙상블이 입력될 RS 프레임을 결정한 후, 분리된 앙상블을 대응하는 RS 프레임으로 출력한다. 이때 앙상블은 각 RS 프레임 부호기 또는 퍼레이드에 매핑되도록 할 수 있다. 예를 들어, 하나의 퍼레이드가 하나의 RS 프레임으로 구성된다면, 앙상블과 RS 프레임과 퍼레이드는 각각 1:1로 매핑될 수 있다. The demultiplexer 309 separates the input ensemble, determines an RS frame to which the separated ensemble is input, and outputs the separated ensemble as a corresponding RS frame. In this case, the ensemble may be mapped to each 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 1: 1.

즉, 하나의 앙상블 내 데이터가 하나의 RS 프레임을 구성한다. 그리고 하나의 RS 프레임은 복수개의 데이터 그룹으로 구분된다. 이때 상기 표 1의 RS 프레임 모드에 따라 하나의 RS 프레임 내 데이터는 복수개의 데이터 그룹 내 A/B/C/D 영역에 모두 할당될 수도 있고, A/B 영역이나 C/D 영역에 할당될 수도 있다. That is, data in one ensemble constitutes one RS frame. One RS frame is divided into a plurality of data groups. At this time, according to the RS frame mode of Table 1, the data in 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 also 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)는 제어부(200)의 제어 신호에 따라 동작한다. 상기 제어부(200)는 필요한 FEC 모드들을 각 RS 프레임 부호기에 제공할 수 있다. 상기 FEC 모드의 예로는 RS 코드 모드 등이 있으며, 뒤에서 상세히 설명하기로 한다.The demultiplexer 309 and the multiplexer 320 operate according to a control signal of the controller 200. The control unit 200 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.

도 18은 MPH 프레임 부호기 내 복수의 RS 프레임 부호기 중 하나의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도이다. 18 is a detailed block diagram illustrating an embodiment of one RS frame encoder of a plurality of RS frame encoders in the MPH 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 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(Reed-Solomon)와 CRC(Cyclic Redundancy Check) 코드 중 적어도 하나를 사용하여 FEC(Forward Error Correction) 부호화하여 프라이머리 RS 프레임을 형성한 후 RS 프레임 디바이더(413)로 출력한다. The RS-CRC coder 412 forms a primary RS frame by encoding a Forward Error Correction (FEC) using at least one of a Reed-Solomon (RS) code and a Cyclic Redundancy Check (CRC) code to a rendered primary ensemble. The RS frame divider 413 is then output.

즉, 상기 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.

즉, 상기 RS-CRC 부호기(412)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다.That is, 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)는 미리 설정되어 제어부(200)를 통해 제공되는 전송 파라미터 및/또는 상기 서비스 다중화기(100)에서 제공하는 전송 파라미터를 참조하여 RS 프레임 구성, RS 부호화, CRC 부호화, 수퍼 프레임 구성, 수퍼 프레임 단위의 로우 섞음 등을 수행할 수 있다.In this case, the RS-CRC encoder 412 is set in advance and RS frame configuration, RS encoding, CRC with reference to the transmission parameters provided through the control unit 200 and / or the transmission parameters provided by the service multiplexer 100 Encoding, super frame composition, row mixing in units of super frames may be performed.

도 19는 RS 프레임 모드 값에 따라 하나 또는 두 개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션은 대응하는 데이터 그룹 내 해당 영역에 할당하는 과정을 보인 도면이다. 19 is a diagram illustrating a process in which one or two RS frames are divided into a plurality of portions according to an RS frame mode value, and each portion is allocated to a corresponding region in a corresponding data group.

즉, 도 19의 (a)는 RS 프레임 모드가 00인 경우로서, 도 18에서 프라이머리 부호기(410)만 동작하여 하나의 퍼레이드에 대해 하나의 RS 프레임을 형성한다. 그리고 하나의 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 데이터는 대응하는 데이터 그룹 내 A/B/C/D 영역에 할당된다. That is, FIG. 19A illustrates a case in which the RS frame mode is 00. In FIG. 18, 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.

도 19의 (b)는 RS 프레임 모드가 01인 경우로서, 도 18에서 프라이머리 부호기(410)와 세컨더리 부호기(420)가 모두 동작하여 하나의 퍼레이드에 대해 2개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 형성한다. 그리고 프라이머리 RS 프레임도 복수개의 포션으로 분할하고, 세컨더리 RS 프레임도 복수개의 포션으로 분할한다. 이때 각 프라이머리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되고, 각 세컨더리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 C/D 영역에 할당된다. FIG. 19B illustrates a case in which the RS frame mode is 01. In FIG. 18, 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

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

하나의 RS 프레임에서 컬럼의 길이(즉, 로우의 개수)는 187 바이트로 정해지며, 로우의 길이(즉, 컬럼의 개수)는 N바이트인 것을 일 실시예로 한다.In one embodiment, the length of a column (ie, the number of rows) is determined to be 187 bytes in one RS frame, and the length of the row (ie, the number of columns) is N bytes.

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

Figure 112008047588756-PAT00001
Figure 112008047588756-PAT00001

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

Figure 112008047588756-PAT00002
는 X 이하의 가장 큰 정수이다. In Equation 2, NoG is the number of data groups allocated to one subframe, PL is the number of SCCC payload bytes allocated to one data group, and P is the number of RS parity bytes added to each column of the RS frame. Count And
Figure 112008047588756-PAT00002
Is the largest integer below X.

즉, 상기 수학식 2에서 PL은 RS 프레임 포션 길이이며, 해당 데이터 그룹에 할당되는 SCCC 페이로드 바이트의 개수와 같다. 상기 PL은 RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 달라질 수 있다. 하기의 표 2 내지 표 5은 RS 프레임 모드, SCCC 블록 모드, 및 SCCC 아웃터 코드 모드에 따라 달라지는 PL 값의 실시예들을 보인 것이다. 상기 SCCC 블록 모드, SCCC 아웃터 코드 모드의 상세한 설명은 후술할 것이다.That is, in Equation 2, PL is an RS frame portion length and 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 01 01 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 mode        SCCC outer code mode PL                   PL 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 mode                      SCCC outer code mode PL                     PL 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 mode                        SCCC outer code mode PL         PL 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.

본 발명에서 상기 N은 187과 같거나 큰 것을 일 실시예로 한다. 즉, 도 20의 (a)의 RS 프레임은 N(row) x 187(column) 바이트 크기를 갖는다. In the present invention, the N is equal to or greater than 187 in one embodiment. That is, the RS frame of FIG. 20A has a size of N (row) x 187 (column) bytes.

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

예를 들어, 입력되는 모바일 서비스 데이터는 188바이트 단위로 구성된 MPEG 트랜스포트 스트림 패킷일 수도 있고, IP 데이터그램일 수도 있다. 또는 IP 데이터그램이 188바이트 단위의 TS 패킷으로 인캡슐레이트되어 입력될 수도 있다. For example, the input mobile service data may be an MPEG transport stream packet configured in units of 188 bytes, or may be an IP datagram. Alternatively, the IP datagram may be input by being encapsulated in a TS packet of 188 bytes.

만일 입력되는 모바일 서비스 데이터가 188바이트 단위의 MPEG 트랜스포트 스트림(TS) 패킷이라면 첫 번째 동기 바이트를 제거하여 187 바이트로 하나의 패킷을 구성하고, N개의 패킷을 모아 RS 프레임을 형성한다. 여기서 동기 바이트를 제거하는 이유는 모든 모바일 서비스 데이터 패킷이 동일한 값을 갖기 때문이다. 한편 입력되는 모바일 서비스 데이터가 MPEG TS 패킷의 형식이 아닌 경우에는 MPEG 동기 바이트를 제거하는 과정 없이 187 바이트 단위로 모바일 서비스 데이터를 N번 입력받아 RS 프레임을 형성할 수도 있다.If the input mobile service data is an MPEG transport stream (TS) packet in units of 188 bytes, the first sync byte is removed to form one packet with 187 bytes, and N packets are collected to form an RS frame. The reason for removing the sync byte is that all mobile service data packets have the same value. Meanwhile, when the input mobile service data is not in the format of an MPEG TS packet, an RS frame may be formed by receiving the mobile service data N times in units of 187 bytes without removing the MPEG sync byte.

그리고 RS 프레임의 입력 데이터 형태가 MPEG TS 패킷인 경우와 그렇지 않은 경우 모두를 지원할 경우에는 이러한 정보를 서비스 다중화기(100)에서 송신하는 전송 파라미터에 포함하여 송신기(200)로 전송할 수 있다. 그러면 송신기(200)의 RS-CRC 부호기(412)에서는 이 정보를 받아서 MPEG 동기 바이트의 제거의 수행 여부를 제어할 수 있으며, 송신기는 이러한 정보를 수신 시스템에 제공하여, 수신 시스템의 RS 프레임 복호기에서 MPEG 동기 바이트의 삽입 여부를 제어할 수 있다. 상기 동기 바이트 제거는 전단의 데이터 랜더마이저(411)에서 랜더마이징시 수행할 수도 있다. 이 경우 RS-CRC 부호기(412)에서 동기 바이트 제거 과정은 생략되며, 수신 시스템에서 동기 바이트를 부가할 때에도 RS 프레임 복호기 대신 데이터 디랜더마이저에서 부가할 수 있다. When the input data type of the RS frame supports both the MPEG TS packet and the other case, the information may be included in the transmission parameter transmitted by the service multiplexer 100 and transmitted to the transmitter 200. The RS-CRC encoder 412 of the transmitter 200 can then receive this information and control whether or not to remove the MPEG sync byte, and the transmitter provides this information to the receiving system, whereby the RS frame decoder of the receiving system It is possible to control whether to insert the MPEG sync byte. The sync byte removal may be performed when the data randomizer 411 of the front end is rendered. In this case, the process of removing the sync byte from the RS-CRC encoder 412 is omitted, and when the sync byte is added by the receiving system, the sync byte may be added by the data de-randomizer instead of the RS frame decoder.

따라서 상기 RS-CRC 부호기(412)로 입력되는 모바일 서비스 데이터 패킷에 제거 가능한 고정된 한 바이트(예, 동기 바이트)가 존재하지 않거나, 입력된 모바일 서비스 데이터가 TS 패킷 형태가 아닌 경우, 입력되는 모바일 서비스 데이터를 187 바이트 단위로 나누고, 나누어진 187 바이트 단위로 하나의 패킷을 구성한다. Therefore, if there is no fixed one byte (e.g., sync byte) in the mobile service data packet input to the RS-CRC encoder 412 or the input mobile service data is not in the form of TS packet, The service data is divided into 187 byte units, and one packet is composed of divided 187 byte units.

이어, 187바이트로 구성된 패킷을 N개 모아서 하나의 RS 프레임을 구성한다. 이때 하나의 RS 프레임의 구성은 N(row) x 187(column) 바이트의 크기를 갖는 RS 프레임에 187 바이트의 패킷을 로우 방향으로 차례대로 넣음으로써 이루어진다. 즉, 상기 RS 프레임의 N개의 모든 컬럼(column)은 187 바이트를 포함하고 있다. Subsequently, N packets of 187 bytes are collected to form one RS frame. In this case, the configuration of one RS frame is achieved by sequentially inserting a packet of 187 bytes in a row direction into an RS frame having a size of N (row) x 187 (column) bytes. That is, all N columns of the RS frame contain 187 bytes.

상기 RS-CRC 부호기(412)는 도 20의 (a)와 같이 RS 프레임이 형성되면, 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc(=P)개의 패리티 바이트를 생성하고, 생성된 P개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P) 바이트의 한 컬럼을 만들 수가 있다. 여기서, Kc는 도 20의 (a)에서와 같이 187이며, Nc는 187+P이다. When the RS frame is formed as shown in FIG. 20A, the RS-CRC encoder 412 generates Nc-Kc (= P) parity bytes by performing (Nc, Kc) -RS encoding on each column. 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. 20 (a) 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이라면, 도 20의 (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. 20 (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개의 모든 컬럼에 대해서 수행하면, 도 20의 (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 FIG.

이때 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 also referred to as a CRC code or a CRC checksum) to check for an error in each row unit.

상기 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.

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

상기 각 로우마다 2바이트 CRC 체크섬을 부가하는 것은 하나의 실시예이므로, 본 발명은 상기된 예로 제한되지 않을 것이다. Since adding a 2-byte CRC checksum to each row is an embodiment, the present invention will not be limited to the example described above.

지금까지 설명한 RS 부호화 및 CRC 부호화 과정을 모두 거치게 되면, 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.

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

즉, RS-CRC 부호화된 RS 프레임들을 도 21의 (a)와 같이 G개 모아 수퍼 프레임을 구성한다. 이때 각각의 RS 프레임은 (N+2)x(187+P)바이트로 이루어져 있으므 로, 하나의 수퍼 프레임은 (N+2)x(187+P)xG 바이트 크기로 이루어진다. That is, G-frames of RS-CRC coded RSs are collected as shown in FIG. 21A to configure a super frame. 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) x G bytes.

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

Figure 112008047588756-PAT00003
Figure 112008047588756-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.

그리고 상기 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 다시 도 21의 (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 FIG.

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

도 22는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터를 입력받아 프라이머리 RS 프레임을 구성하고, C/D 영역에 할당될 모바일 서비스 데이터를 모아 세컨더리 RS 프레임을 구성하여 각각 에러 정정 부호화 및 에러 검출 부호화를 수행한 예를 보이고 있다. FIG. 22 illustrates a primary RS frame by receiving mobile service data to be allocated to an A / B area within a data group, and constructing a secondary RS frame by collecting mobile service data to be allocated to a C / D area, respectively. An example of performing error detection encoding is shown.

즉, 도 22의 (a)는 프라이머리 부호기(410)의 RS-CRC 부호기(412))에서 데이터 그룹 내 A/B 영역에 할당될 프라이머리 앙상블의 모바일 서비스 데이터를 입력받아 N1(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P1개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다. That is, FIG. 22 (a) shows N1 (row) x receiving mobile service data of a primary ensemble to be allocated to an A / B area in 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.

도 22의 (b)는 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 데이터 그룹 내 C/D 영역에 할당될 세컨더리 앙상블의 모바일 서비스 데이터를 입력받아 N2(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P2개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다. (B) of FIG. 22 (b) receives N2 (row) x 187 (column) bytes of the mobile service data of the secondary ensemble 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)는 미리 설정되어 제어부(200)에서 제공하는 전송 파라미터 및/또는 상기 서비스 다중화기(100)에서 제공하는 전송 파라미터를 참조하면 RS 프레임 정보(RS 프레임 모드 포함), RS 부호화 정보(RS 코드 모드 포함), SCCC 정보(SCCC 블록 정보, SCCC 아웃터 코드 모드 포함), 데이터 그룹 정보, 데이터 그룹 내 영역 정보 등을 알 수 있다. 상기 전송 파라미터는 각 RS-CRC 부호기(412,422)에서 RS 프레임 구성, 에러 정정 부호화, 에러 검출 부호화를 위해 참조될 뿐만 아니라, 수신 시스템에서의 정상적인 복호를 위해 수신 시스템으로 전송되어야 한다. In this case, the RS-CRC encoders 412 and 422 are preset and RS frame information (including RS frame mode) when referring to a transmission parameter provided by the controller 200 and / or a transmission parameter provided by the service multiplexer 100. RS encoding information (including RS code mode), SCCC information (including SCCC block information and SCCC outer code mode), data group information, and area information in the data group can be known. 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 also be transmitted to the receiving system for normal decoding in the receiving system.

그리고 상기 프라이머리 부호기(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)에 대해 상세히 설명하기로 한다. 그리고 설명의 편의를 위해 도 20의 (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. 20A to 20C, and P is assigned to each column through RS encoding. Suppose that 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(column) 바이트의 크기를 갖는 부호화된 RS 프레임을 PL(여기서 PL은 상기 RS 프레임 포션 길이) 사이즈를 갖는 복수개의 포션으로 분할(partition)한다. The RS frame divider 413 then divides the encoded RS frame having a size of N + 2 (row) x 187 (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).

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

즉, 도 23의 (a)와 같이 RS 및 CRC 부호화된 RS 프레임은 도 23의 (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. 23A are divided into a plurality of portions as shown in FIG. 23B. 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 사이즈의 데이터를 포함하는 각 포션은 MPH 프레임 부호기(301)의 다중화기(320)를 거쳐 블록 처리기(302)로 출력된다. Each portion including the PL size data is output to the block processor 302 via the multiplexer 320 of the MPH 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). 즉, 하나의 MPH 프레임 내 퍼레이드의 데이터 그룹 위치가 주어지면, 상기 SCCC 부호화된 RS 프레임 포션들은 시간 순서로 할당된다(Given the Group positions of a Parade in an MPH 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). That is, given the data group position of the parade within one MPH frame, the SCCC coded RS frame portions are assigned in time order (the given positions of a Parade in an MPH 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)는 상기 MPH 프레임 부호기(301)의 출력에 대해 SCCC 아웃터 부호화를 수행한다. 즉, 상기 블록 처리기(302)는 에러 정정 부호화되어 입력되는 각 포션의 데이터를 다시 1/H(여기서 H는 2 이상의 자연수) 부호율로 부호화하여 그룹 포맷터(303)로 출력한다. 본 발명은 입력 데이터를 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함)와 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함) 중 어느 하나로 부호화하여 출력하는 것을 일 실시예로 한다. 상기 MPH 프레임 부호기(301)에서 출력되는 각 포션의 데이터는 순수한 모바일 서비스 데이터, RS 패리티 데이터, CRC 데이터, 스터핑 데이터 중 적어도 하나를 포함하지만, 넓은 의미에서는 모바일 서비스를 위한 데이터들이다. 그러므로 각 포션의 데이터는 모두 모바일 서비스 데이터로 간주되어 설명될 것이다.Meanwhile, the block processor 302 performs SCCC outer coding on the output of the MPH 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 MPH 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개의 MPH 블록(B1~B10)으로 이루어지고, 4개의 영역(A,B,C,D)으로 구분된다. In the present invention, as shown in FIG. 5, the data group is composed of ten MPH blocks B1 to B10 based on the 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 블록은 적어도 하나의 MPH 블록을 포함한다. In another embodiment, the block processor 302 may perform 1 / H encoding on a SCCC block basis. The SCCC block includes at least one MPH block.

이때 1/H 부호화가 하나의 MPH 블록 단위로 이루어진다면, MPH 블록(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). 예를 들어, MPH 블록 B1은 1/2 부호율로, MPH 블록 B2은 1/4 부호율로, MPH 블록 B3은 1/2 부호율로 부호화를 수행할 수 있다. 나머지 MPH 블록에 대해서도 마찬가지이다. In this case, if 1 / H encoding is performed in units of one MPH block, the MPH 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, the MPH block B1 may be encoded at a 1/2 code rate, the MPH block B2 may be encoded at a 1/4 code rate, and the MPH block B3 may be encoded at a 1/2 code rate. The same applies to the remaining MPH blocks.

또는 A,B,C,D 영역 내 복수개의 MPH 블록을 하나의 SCCC 블록으로 묶어, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 이렇게 하면 C/D 영역의 수신 성능을 향상시킬 수 있게 된다. 예를 들어, MPH 블록 B1부터 MPH 블록 B5까지를 하나의 SCCC 블록으로 묶어 1/2 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 MPH 블록 B1부터 MPH 블록 B5까지 삽입하도록 할 수 있다.Alternatively, a plurality of MPH 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 encoding is performed by combining MPH blocks B1 to MPH blocks B5 into one SCCC block, and the mobile service data encoded in this manner is MPH blocks B1 to MPH blocks of the data group in the group formatter 303. Can be inserted up to B5.

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

또 다른 실시 예로써 MPH 블록을 2개씩 묶어서 하나의 SCCC 블록으로 구성할 수도 있다. 예를 들어서 MPH 블록 B1과 MPH 블록 B6을 묶어 하나의 SCCC(SCB1) 블록을 구성할 수 있다. 마찬가지로 MPH 블록 B2과 MPH 블록 B7을 묶어 다른 하나의 SCCC(SCB2) 블록, MPH 블록 B3과 블록 B8을 묶어 또 다른 하나의 SCCC(SCB3) 블록, MPH 블록 B4과 블록 B9을 묶어 또 다른 하나의 SCCC(SCB4) 블록, MPH 블록 B5과 MPH 블록 B10을 묶어 또 다른 하나의 SCCC(SCB5) 블록을 구성할 수 있다. 이 경우는 10개의 MPH 블록을 5개의 SCCC 블록으로 구성한 예이다. 이렇게 하면 채널 변화가 매우 심한 수신 환경에서 A 영역에 비해서 상대적으로 수신 성능이 떨어지는 C와 D 영역의 수신 성능을 보완할 수가 있다. 또한 A 영역에서 D 영역으로 갈수록 메인 서비스 데이터 심볼의 수가 점점 많아지게 되고 이것이 에러 정정 부호의 성 능 저하를 가져오는데, 상기와 같이 복수개의 MPH 블록을 하나의 SCCC 블록으로 구성함으로써, 이러한 성능 저하를 줄일 수가 있다As another embodiment, two MPH blocks may be bundled and configured as one SCCC block. For example, one SCCC (SCB1) block may be configured by combining the MPH block B1 and the MPH block B6. Similarly, MPH block B2 and MPH block B7 are tied together to tie another SCCC (SCB2) block, MPH block B3 and block B8 to tie another SCCC (SCB3) block, MPH block B4 and B9 to another Another SCCC (SCB5) block may be configured by combining the (SCB4) block, the MPH block B5, and the MPH block B10. In this case, 10 MPH 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 decrease in the performance of the error correction code. As described above, by configuring a plurality of MPH blocks as one SCCC block, such performance degradation can be achieved. Can be reduced

상기와 같이 블록 처리기(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 관련 정보 중 MPH 블록과 SCCC 블록 사이의 관계를 보인 SCCC 블록 모드의 일 예를 보이고 있다. Table 7 below shows an example of an SCCC block mode showing a relationship between an MPH block and an SCCC block among SCCC related information.

Figure 112008047588756-PAT00004
Figure 112008047588756-PAT00004

상기 표 7은 SCCC 블록 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 블록 모드 값이 00이면 SCCC 블록과 MPH 블록이 동일함의 표시한다. 또한 상기 SCCCC 블록 모드 값이 01이면 각 SCCC 블록이 2개의 MPH 블록으로 구성됨을 표시한다. 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 MPH block are the same. In addition, if the SCCCC block mode value is 01, this indicates that each SCCC block is composed of two MPH blocks.

만일 전술한 바와 같이 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성된다면 표 7에서는 표시하지 않았지만 SCCC 블록 모드로 이 정보도 표시할 수 있다. 예를 들어, SCCC 블록 모드 값이 10일 때는 각 SCCC 블록이 5개의 MPH 블록으로 구성되며, 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성됨을 표시할 수 있다. 여기서, SCCC 블록에 포함되는 MPH 블록의 개수 및 MPH 블록의 위치는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이며, 또한 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, it may indicate that each SCCC block is composed of five MPH blocks and one data group is composed of two SCCC blocks. Here, since the number of MPH blocks included in the SCCC block and the position of the MPH block may vary by the system designer, the present invention will not be 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 아웃터 코드 모드는 각 MPH 블록에 대응하여 각 MPH 블록의 부호율을 표시할 수 있다. 이 경우 하나의 데이터 그룹은 10개의 MPH 블록을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 10개의 MPH 블록에 대한 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 MPH block corresponding to each MPH block. In this case, since one data group includes 10 MPH blocks and each SCCC block mode is assumed to have 2 bits, 20 bits are required to indicate the SCCC block mode for the 10 MPH 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.

Figure 112008047588756-PAT00005
Figure 112008047588756-PAT00005

즉, 각 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.

Figure 112008047588756-PAT00006
Figure 112008047588756-PAT00006

이를 위해 상기 블록 처리기(302)는 도 24와 같이 RS 프레임 포션-SCCC 블록 변환기(511), 바이트-비트 변환기(512), 콘볼루션 부호기(513), 심볼 인터리버(514), 심볼-바이트 변환기(515), 및 SCCC 블록-MPH 블록 변환기(516)를 포함할 수 있다. To this end, the block processor 302 uses an RS frame portion-SCCC block converter 511, a byte-bit converter 512, a convolution encoder 513, a symbol interleaver 514, and a symbol-byte converter (Fig. 24). 515, and the SCCC block-MPH 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 블록으로 분할한다. 여기서 상기 MPH 프레임 부호기(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 MPH 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개의 MPH 블록에 매핑된 데이터 량과 같다. 만일 상기 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 MPH 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.

도 25는 상기 콘볼루션 부호기(513)의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(521,523)와 3개의 가산기(522,524,525)로 구성되어, 입력 데이터 비트 U를 부호화하여 5비트(u0~u4)로 출력한다. 이때 입력 데이터 비트 U는 최상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1u2u3u4로 출력된다. FIG. 25 is a detailed block diagram showing an embodiment of the convolutional encoder 513, and includes two delayers 521 and 523 and three adders 522, 524 and 525. The input data bits U are encoded by 5 bits (u0). 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으로 리셋된다. 도 25의 콘볼루션 부호기(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. 25 may be used as a 1/2 encoder, or may be used as a 1/4 encoder.

즉, 도 25의 콘볼루션 부호기(513)의 일부 출력 비트를 선택하여 출력하면, 1/2 부호기 또는 1/4 부호기로 사용할 수 있다. That is, when some output bits of the convolution encoder 513 of FIG. 25 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.

Figure 112008047588756-PAT00007
Figure 112008047588756-PAT00007

예를 들어, 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.

도 26은 본 발명에 따른 심볼 인터리버의 일 실시예를 보인 도면으로서, B는 2112이고, L은 4096일 때의 심볼 인터리빙의 예이다. FIG. 26 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. FIG.

여기서 상기 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) 심볼이 추가되어 도 26의 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 are different, a null symbol or a dummy symbol is added by a different number (= LB) to form an interleaving pattern as illustrated in P ′ (i) of FIG. 26.

그러므로 상기 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 LP '(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, 도 26의 P'(i)와 같이 L 심볼 단위로 B개의 입력 심볼과 (L-B)개의 널 심볼의 순서를 재배열한 후 도 26의 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. 26, 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 블록-MPH 블록 변환기(516)로 출력한다. 상기 SCCC 블록-MPH 블록 변환기(516)는 심볼 인터리빙된 SCCC 블록을 MPH 블록으로 변환하여 그룹 포맷터(303)로 출력한다.The symbol-byte converter 515 converts the mobile service data symbols outputted after the sequence rearrangement is completed in the symbol interleaver 514 into bytes and outputs them to the SCCC block-MPH block converter 516. The SCCC block-MPH block converter 516 converts the symbol interleaved SCCC block into an MPH block and outputs the MPH block to the group formatter 303.

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

그룹 group 포맷터Formatter

상기 그룹 포맷터(303)는 상기 블록 처리기(302)에서 출력되는 MPH 블록의 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 MPH 블록에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다.The group formatter 303 inserts data of the MPH block output from the block processor 302 into a corresponding MPH block in a data group formed according to a predefined rule, and also stores various position holders or the like in relation to data deinterleaving. 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)는 도 27과 같이 그룹 포맷 형성부(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. 27. 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)는 상기 제어부(200)의 제어에 의해 패킷 포맷터(305)에서 패킷 포맷팅되어 출력되는 데이터 그룹과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 즉, 상기 제어부(200)는 패킷 다중화기(240)의 시간 다중화를 제어한다. 만일 상기 패킷 다중화기(240)가 상기 패킷 포맷터(305)로부터 118개의 모바일 서비스 데이터 패킷을 입력받는다면, 118개 중 37 모바일 서비스 데이터 패킷은 VSB 필드 동기 삽입 위치 앞에 배치되고(place), 또 다른 81 모바일 서비스 데이터 패킷은 상기 VSB 필드 동기 삽입 위치 뒤에 배치된다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의해서 조정이 가능하다. 상기 패킷 다중화기(240)에서의 다중화 방법 및 다중화 규칙에 대해서는 뒤에서 상세히 설명하기로 한다.The packet multiplexer 240 multiplexes the data group output by the packet formatter 305 and the main service data packet output from the packet jitter reducer 220 under the control of the controller 200. The data is output to the data renderer 251 of (Post-Processor) 250. That is, the controller 200 controls 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 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, a temporal position of a 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 interval 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 an embodiment, the packet jitter reducer 220 performs a function of PCR value correction.

상기 패킷 지터 경감기(220)의 출력은 패킷 다중화기(240)로 입력된다. 상기 패킷 다중화기(240)는 전술한 바와 같이 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷과 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷을 기 설정된 다중화 규칙에 따라 다중화하여 후 처리기(250)의 데이터 랜더마이저(251)로 출력한다. The output of the packet jitter reducer 220 is input to the packet multiplexer 240. The packet multiplexer 240 multiplexes the main service data packet output from the packet jitter reducer 220 and the mobile service data packet output from the preprocessor 230 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 the mobile service data, the data renderer 251 may synchronize the byte of the 4-byte MPEG header included in the mobile service data packet. And discards the remaining 3 bytes and outputs the result to the RS encoder / unstructured RS encoder 252. That is, the rest of the mobile service data except the MPEG header is output to the RS encoder / unstructured RS encoder 252 without performing rendering. The data randomizer 251 may or may not perform the randomization of the known data (or known data location holder) and the initialization data location holder included in the mobile service data packet.

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

상기 데이터 인터리버(253)는 바이트 단위의 길쌈(convolutional) 인터리버이다.The data interleaver 253 is a convolutional interleaver in bytes.

상기 데이터 인터리버(253)의 출력은 패리티 치환기(254)와 비체계적 RS 부호기(255)로 입력된다. The output of the data interleaver 253 is input to a parity substituent 254 and an unstructured RS encoder 255.

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

이때 입력되는 기지 데이터 열의 시작 부분은 실제 기지 데이터가 아니라 전처리기(230) 내 그룹 포맷터에서 삽입된 초기화 데이터 위치 홀더이다. 따라서 입력되는 기지 데이터 열이 트렐리스 부호화되기 직전에 초기화 데이터를 생성하여 해당 트렐리스 메모리 초기화 데이터 위치 홀더와 치환하는 과정이 필요하다.At this time, the start of the known data stream is not the actual known data but the initialization data position holder inserted by the group formatter in the preprocessor 230. Therefore, a process of generating initialization data immediately before the input known data string is trellis encoded and replacing the corresponding trellis memory initialization data position holder is required.

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

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

한편 상기 패리티 치환기(254)는 메인 서비스 데이터 패킷이 입력되거나 또는 치환될 초기화 데이터 위치 홀더가 포함되지 않은 모바일 서비스 데이터 패킷이 입력되면 상기 데이터 인터리버(253)에서 출력되는 데이터와 RS 패리티를 선택하여 그대로 트렐리스 부호화부(256)로 출력한다. Meanwhile, when the main service data packet is input or the mobile service data packet including the initialization data location holder to be replaced is input, the parity substituter 254 selects data and RS parity output from the data interleaver 253 as it is. The trellis encoder 256 outputs the trellis encoder.

상기 트렐리스 부호화부(256)는 패리티 치환기(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.

도 28은 트렐리스 부호화부(256) 내 12개의 트렐리스 부호기 중 하나의 트렐리스 부호기의 상세 도면이다. 상기 트렐리스 부호기는 2개의 다중화기(531,541), 2개의 가산기(532,543), 및 3개의 메모리(533,542,544)를 포함할 수 있다. FIG. 28 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비트)이 입력되면, 트렐리스 부호기의 입력 비트들은 도 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. Are arranged.

그리고 두 심볼(즉, 4비트)이 트렐리스 초기화를 위해 요구되기 때문에, 트렐리스 초기화 데이터 바이트들의 마지막 2 심볼은 트렐리스 초기화를 위해 사용되지 않으며, 기지 데이터 바이트의 심볼로 취급된다. And since two symbols (ie 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.

도 28의 트렐리스 부호기는 초기화 모드이면, 상기 트렐리스 부호기의 입력은 패리티 치환기(254)의 출력 대신 내부 트렐리스 상태에서 온다. 그리고 노말 모드이면, 상기 트렐리스 부호기는 상기 패리티 치환기(254)로부터 입력 심볼을 제공받아 처리한다. 상기 트렐리스 부호기는 트렐리스 초기화를 위해 변경된 입력 데이터를 상기 비체계적 RS 부호기(255)로 제공된다.When the trellis encoder of FIG. 28 is in an initialization mode, the input of the trellis encoder comes from the internal trellis state instead of the output of the parity substituent 254. In the normal mode, the trellis encoder receives and processes input symbols from the parity substituent 254. The trellis encoder provides the modified input data to the unstructured 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 영역 중 적어도 하나의 영역에 할당되거나, MPH 블록 B1 내지 B10 중 적어도 하나의 MPH 블록에 할당되어 디인터리빙된다. 그리고 디인터리빙된 데이터 그룹은 패킷 포맷터(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. The data 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 MPH block of the MPH 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.

상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화되어 출력된다. 상기 데이터 그룹 및 퍼레이드들의 할당 방법은 MPH 프레임을 기반으로 MPH 프레임마다 다르게 적용할 수 있고, 하나의 MPH 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. 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 data groups and parades may be differently applied to each MPH frame based on the MPH frame, and the same method may be applied to all subframes in one MPH frame.

도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 상기 패킷 다중화기(240)에서 하나의 MPH 프레임에 할당할 때의 실시예를 보이고 있다. 도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 MPH 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 MPH 프레임에 15개의 데이터 그룹이 할당됨을 알 수 있다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들이다. FIG. 10 shows an embodiment when the packet multiplexer 240 allocates a single parade of three data groups included in one subframe to one MPH 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 MPH frame, 15 data groups are allocated to one MPH frame. It can be seen that. The 15 data groups are data groups included in one parade.

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

기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당 방법도 단일 퍼레이드의 경우와 다르지 않다. 즉, 상기 패킷 다중화기(240)는 하나의 MPH 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 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 MPH 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)에서 하나의 MPH 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 할당하여 전송하는 예를 보인 것이다.FIG. 11 shows an example of allocating three parades (Parade # 0, Parade # 1, Parade # 2) to one MPH 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)는 하나의 MPH 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 다중화하여 출력할 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 다중화는 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행한다. 따라서 하나의 서브 프레임에 다중화될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 MPH 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 MPH 프레임에 다중화될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다. As such, the packet multiplexer 240 may output multiplexed data groups for a plurality of parades in one MPH frame, and the multiplexing of the data groups in one subframe has a group space of 4 slots from left to right. With 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. In this case, since one MPH frame includes five subframes, this means that the number of data groups of one parade that can be multiplexed into one MPH frame may be any one of multiples of 5 to 40. do.

시그널링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.

도 29는 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 데이터 그룹 내 MPH 블록 B4의 첫 번째 세그먼트부터 두 번째 세그먼트의 일부까지 할당한 예를 보이고 있다. 즉, 각 데이터 그룹의 MPH 블록 B4의 276(=207+69) 바이트가 시그널링 정보를 삽입하기 위한 영역으로 할당된 예이다. 다시 말해, 상기 시그널링 정보 영역은 MPH 블록 B4의 첫 번째 세그먼트인 207 바이트와 두 번째 세그먼트의 처음 69 바이트로 구성된다. 일 예로, 상기 MPH 블록 B4의 첫 번째 세그먼트는 VSB 필드의 17번째 또는 173번째 세그먼트에 해당한다. 상기 시그널링 정보 영역에 삽입될 시그널링 정보는 시그널링 부호기(304)에서 FEC 부호화되어 그룹 포맷터(303)로 입력된다. FIG. 29 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 the MPH block B4 in the data group. That is, 276 (= 207 + 69) bytes of the MPH block B4 of each data group are allocated as an area for inserting signaling information. In other words, the signaling information area consists of 207 bytes, which is the first segment of the MPH block B4, and the first 69 bytes of the second segment. For example, the first segment of the MPH block B4 corresponds to the 17th or 173th segment of the VSB field. 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.

상기 그룹 포맷터(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 프레임 관련 정보, SCCC 관련 정보, MPH 프레임 관련 정보와 같은 전송 파라미터를 포함하는 시그널링 정보이다. 상기 TPC 정보는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TPC에 포함되는 시그널링 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. 상기 FIC 정보는 수신기에서 빠른 서비스 획득(fast service acquisition)이 가능하도록 하기 위해 제공되며, 물리 계층과 상위 계층 사이의 크로스 계층 정보를 포함한다.The TPC information is signaling information including transmission parameters such as RS frame information, SCCC information, and MPH frame information. The TPC information is only an embodiment for better understanding of the present invention, and addition and deletion of signaling information included in the TPC may be easily changed by those skilled in the art, and thus the present invention will not be limited to the above embodiment. The FIC information is provided to enable fast service acquisition at the receiver and includes cross layer information between the physical layer and the upper layer.

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

상기 시그널링 부호기(304)는 TPC 부호기(561), FIC 부호기(562), 블록 인터리버(563), 다중화기(564), 시그널링 랜덤마이저(565), 및 PCCC 부호기(566)를 포함할 수 있다. The signaling encoder 304 may include a TPC encoder 561, an FIC encoder 562, a block interleaver 563, a multiplexer 564, a signaling randomizer 565, and a PCCC encoder 566.

상기 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는 하나의 MPH 프레임 내 모든 서브 프레임에 할당되는 전체 데이터 그룹의 개수이다. 상기 블록 인터리버(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 all subframes in one MPH frame. The block interleaver 563 is synchronized to the first FIC data of each subframe.

상기 블록 인터리버(563)는 51 바이트의 RS 코드워드를 로우 단위로 왼쪽으로 오른쪽으로, 위에서 아래로 쓰고, 컬럼 단위로 위에서 아래로, 왼쪽에서 오른쪽으로 읽어 51 바이트 단위로 출력한다 .  The block interleaver 563 reads 51-byte RS codewords 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.

상기 다중화기(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)는 다중화된 데이터를 랜덤마이징하여 PCCC 부호기(566)로 출력한다. 상기 시그널링 랜덤마이저(565)는 모바일 서비스 데이터 를 위한 랜덤마이저의 생성 다항식을 그대로 이용할 수 있다. 또한 초기화는 매 데이터 그룹마다 일어난다(occur). The signaling randomizer 565 randomizes the multiplexed data and outputs the randomized data to the PCCC encoder 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).

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

도 31은 상기 TPC 부호기(561)로 입력되는 TPC 데이터의 신택스 구조의 일 실시예를 보인 도면이다. 상기 TPC 데이터는 각 데이터 그룹의 시그널링 정보 영역에 삽입되어 전송된다. FIG. 31 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_Groups (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 a Sub-Frame_number field, a Slot_number field, a Parade_id field, a starting_Group_number (SGN) field, a number_of_Groups (NoG) field, a Parade_repetition_cycle (PRC) field, an RS_Frame_mode field, an RS_code_mode_primary field, an RS_code_mode_secondary field, an SC_CC_Block_mode_code_mode_code_mode_code_mode_code_out_code_mode_code_out_code_mode_code_mode_code_out_code_mode_code_out_code_mode_code_mode_code_out_code_mode_code_mode_code_out_code_mode_code_mode_code_out_code_mode_code_mode_code_outer_code_out_code_mode_code_mode_code_outer_code 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, and a TNoG field.

상기 Sub-frame_number 필드는 해당 MPH 프레임 내 현재 서브 프레임의 개수를 표시하며, MPH 프레임 동기화를 위해 전송된다. 상기 Sub-frame_number 필드 값은 0~4 사이의 값을 가질 수 있다.The Sub-frame_number field indicates the number of current subframes in the corresponding MPH frame and is transmitted for MPH frame synchronization. The Sub-frame_number field value may have a value between 0 and 4.

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

상기 Parade_id 필드는 해당 데이터 그룹이 속한 퍼레이드를 식별하기 위한 식별자를 표시한다. 상기 Parade_id 필드값은 7비트로 표시할 수 있다. 하나의 MPH 전송에서 각 퍼레이드는 유일한 Parade_id을 갖는다. 이때 물리 계층과 상위 계층 사이에서 Parade_id 의 통신은 상기 Parade_id 의 왼쪽에 1비트를 추가함에 의해 형성되는 Ensemble_id에 의해 이루어진다. 상기 퍼레이드를 통해 전송되는 프라이머리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 0을 표시하여 형성되고, 세컨더리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 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. In one MPH transmission, each parade has a unique Parade_id. At this time, communication of the Parade_id between the physical layer and the upper layer is performed by Ensemble_id formed by adding 1 bit to the left side 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.

상기 SGN 필드는 상기 데이터 그룹이 속한 퍼레이드에 대한 첫 번째 슬롯 번호를 표시한다. 상기 SGN와 NoG 필드는 수학식 1을 적용하여, 해당 서브 프레임 내 하나의 퍼레이드에 할당된 슬롯 번호를 얻기 위해 사용된다. The SGN field indicates the first slot number for the parade to which the data group belongs. The SGN and NoG fields are used to obtain a slot number assigned to one parade in a 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 필드는 MPH 프레임 단위로 전송되는 퍼레이드의 반복 주기를 하기의 표 12와 같이 지시한다.The PRC field indicates a repetition period of a parade transmitted in MPH frames as shown in Table 12 below.

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

예를 들어, 상기 PRC 필드 값이 001이라면, 상기 퍼레이드는 2 MPH 프레임마다 한번씩 전송됨을 지시한다. For example, if the PRC field value is 001, the parade indicates that transmission is performed once every 2 MPH 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는 데이터 그룹 내 MPH 블록들이 SCCC 블록에 어떻게 할당되는지를 표시하며, 표 7과 같이 정의될 수 있다.The SCCC_Block_mode indicates how MPH blocks in the data group are allocated to the SCCC block, and can 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) MPH 프레임마다 1씩 증가한다. 예를 들어, PRC = 011라면, 상기 Parade_continuity_counter 필드는 4번째 MPH 프레임마다 증가한다.The Parade_continuity_counter field increases from 0 to 15 and increases by 1 for each (PRC + 1) MPH frame. For example, if PRC = 011, the Parade_continuity_counter field is incremented every fourth MPH 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 필드는 제외)는 하나의 MPH 프레임 동안 그 값들이 변경되지 않는다. 그리고 같은 정보가 하나의 MPH 프레임 동안 해당 퍼레이드 내 모든 데이터 그룹을 통해 반복적으로 전송된다. 이렇게 함으로써, TPC 데이터의 수신이 매우 로버스트하게 되어, 수신 성능을 높일 수 있다. 그리고 상기 Sub-Frame_number 필드, Slot_number 필드 값은 증가하는 카운터 값들이므로, 상기 필드들은 규치적으로 기대되는 값들의 전송으로 인해 로버스트하다. At this time, the TPC data (excluding the Sub-Frame_number field and the Slot_number field) for each parade are not changed during one MPH frame. The same information is repeatedly transmitted through all data groups in the parade for one MPH 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 are incremented counter values, the fields are robust due to the transmission of the expected values.

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

도 32는 TPC 데이터와 FIC 데이터의 전송 시나리오의 예를 보인 도면이다. 상기 도 31의 Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter 정보는 특정 MPH 프레임 내 5개의 서브 프레임을 통해 현재 MPH 프레임에 대응하는 그들의 값을 갖는다. 상기 TPC 데이터의 일부 그리고, FIC 데이터는 미리 시그널링된다(Some of TPC parameters and FIC data are signaled in advance). 32 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. 31 have their values corresponding to the current MPH frame through five subframes within a specific MPH frame. Some of the TPC parameters and FIC data are signaled in advance.

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

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

상기 FIC_version와 FIC_data는 현재 MPH 프레임의 1,2번째 서브 프레임 동안에 현재 MPH 프레임에 적용되는 값을 갖는다. 그리고 상기 FIC_version와 FIC_data는 현재 MPH 프레임의 3,4,5번째 서브 프레임 동안에 바로 다음 MPH 프레임에 적용되는 값을 갖는다 .The FIC_version and FIC_data have a value applied to the current MPH frame during the first and second subframes of the current MPH frame. The FIC_version and FIC_data have a value applied to the next MPH frame during the third, fourth, and fifth subframes of the current MPH frame.

한편 수신 시스템에서는 원하는 퍼레이드의 데이터 그룹이 할당된 구간에서만 전원을 온시켜 데이터를 수신하고 그 외 구간에서는 전원을 오프시키도록 함으로써, 수신 시스템의 소모 전력을 줄일 수가 있다. 이러한 특성은 전력 소모가 적어야하는 휴대용 수신기에서 특히 유용하다. 예를 들어, 하나의 MPH 프레임에 NOG가 3인 제1 퍼레이드, NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 33과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 수신 시스템에서는 도 33과 같이 제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 a first parade having a NOG of 3, a second parade having a NOG of 2, and a third parade having a NOG of 2 are allocated to one MPH frame as shown in FIG. 33. 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, as shown in FIG. 33, the receiving system can turn on the power only in the slot to which the data group of the first parade is allocated and turn off the power in the remaining slots, thereby reducing power consumption. 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 or training signal) 영역 할당Known data or training signal area allocation

상기 전송 시스템은 길고 규칙적인 길이의 트레이닝 시퀀스를 각 데이터 그룹에 삽입한다. 각 데이터 그룹은 6개의 트레이닝 시퀀스를 포함하는 것을 일 실시예로 한다. 상기 트레이닝 시퀀스들은 트렐리스 부호화 전에 특정화된다(specified). 상기 트레이닝 시퀀스는 트렐리스 부호화되고, 트렐리스 부호화된 시퀀스들은 기지 데이터 시퀀스가 된다. 이는 상기 트렐리스 부호기의 메모리들이 각 시퀀스의 시작 위치에시 기 설정된 값들에 따라 초기화되기 때문이다. 도 34는 트렐리스 부호화되기 전 바이트 레벨에서 6개의 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 34는 그룹 포맷터(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. 34 shows an example of inserting six training sequences at the byte level before trellis coding. 34 is an example of the arrangement of training sequences performed in the group formatter 303.

제1 트레이닝 시퀀스는 MPH 블록 B3의 마지막 2 세그먼트에 삽입된다. 제2 트레이닝 시퀀스는 MPH 블록 B4의 두 번째와 세 번째 세그먼트에 삽입된다. 상기 제2 트레이닝 시퀀스는 도 5에서와 같이 시그널링 정보 영역 다음이다. 제3 내지 제6 트레이닝 시퀀스는 MPH 블록 B4,B5,B6, B7의 마지막 2 세그먼트에 각각 삽입된다. The first training sequence is inserted into the last two segments of MPH block B3. The second training sequence is inserted into the second and third segments of MPH 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 MPH blocks B4, B5, B6 and B7, respectively.

도 34에서와 같이, 상기 제1, 제3 내지 제 6 트레이닝 시퀀스는 16 세그먼트만큼 떨어져있다. 도 34에서, 도트된 영역(dotted area)은 트렐리스 데이터 바이트를 지시하고, 줄을 친 영역(lined area)은 트레이닝 데이터 바이트를 지시한다. 그리고 하얀 영역(white area)은 FEC 부호화된 모바일 서비스 데이터 바이트 또는 더미 데이터 바이트와 같은 다른 데이터를 지시한다. As in FIG. 34, the first, third to sixth training sequences are spaced 16 segments apart. In FIG. 34, 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.

도 35는 트렐리스 부호기에 의해 트레리스 부호화된 후 심볼 레벨에서 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 35에서, 도트된 영역은 세그먼트 동기 심볼을 지시하고, 줄을 친 영역은 트레이닝 데이터 심볼들을 지시한다. 그리고 하얀 영역은 FEC 부호화된 모바일 서비스 데이터 심볼들, FEC 부호화된 시그널링 데이터 심볼들, 메인 서비스 데이터 심볼들, RS 패리티 데이터 심볼들, 더미 데이터 심볼들, 트렐리스 초기화 심볼들 및/또는 초기 트레이닝 시퀀스 데이터 심볼들과 같은 다른 데이터 심볼을 지시한다. FIG. 35 shows an example of inserting training sequences at a symbol level after trellis coding by a trellis encoder. In FIG. 35, 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.

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

도 36은 본 발명에 따른 수신 시스템 내 복조부의 일 실시예를 보인 구성 블록도이다. 도 36의 복조부에서는 송신 시스템에서 모바일 서비스 데이터 구간에 삽입하여 전송하는 기지 데이터 정보를 이용하여 반송파 동기 복원, 프레임 동기 복원 및 채널 등화 등을 수행함으로써, 수신 성능을 향상시킬 수 있다. 또한 복조부에서는 수신을 원하는 모바일 서비스를 포함하는 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온함으로써, 수신 시스템의 소모 전력을 줄일 수 있다. 36 is a block diagram illustrating an embodiment of a demodulator in a reception system according to the present invention. The demodulator of FIG. 36 may improve reception performance by performing carrier synchronization recovery, frame synchronization recovery, and channel equalization using known data information inserted and transmitted in a mobile service data section in 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.

이를 위한 본 발명에 따른 복조부는 복조기(1002), 등화기(1003), 기지 데이터 검출기(1004), 블록 복호기(1005), RS 프레임 복호기(1006), 및 디랜더마이저(1007)를 포함할 수 있다. 상기 복조부는 데이터 디인터리버(1009), RS 복호기(1010), 및 데이터 디랜더마이저(1011)를 더 포함할 수 있다. 상기 복조부는 시그널링 정보 복호부(1013)를 포함할 수 있다. 또한 수신 시스템은 복조부의 전원 공급을 제어하는 전원 제어기(5000)를 포함할 수 있다. The demodulator according to the present invention may include a demodulator 1002, an equalizer 1003, a known data detector 1004, a block decoder 1005, an RS frame decoder 1006, and a derandomizer 1007. have. The demodulator may further include a data deinterleaver 1009, an RS decoder 1010, and a data derandomizer 1011. The demodulator may include a signaling information decoder 1013. The receiving system may also include a power controller 5000 that controls the power supply of the demodulator.

본 발명은 설명의 편의를 위해 RS 프레임 복호기(1006), 및 디랜더마이저(1007)를 모바일 서비스 데이터 처리부라 하고, 데이터 디인터리버(1009), RS 복호기(1010), 및 데이터 디랜더마이저(1011)를 메인 서비스 데이터 처리부라 하기로 한다. 일 예로, 수신 시스템이 모바일 전용 수신 시스템이라면 상기 메인 서비스 데이터 처리부는 생략될 수도 있다.In the present invention, for convenience of description, the RS frame decoder 1006 and the derandomizer 1007 are referred to as a mobile service data processing unit, and the data deinterleaver 1009, the RS decoder 1010, and the data derandomizer 1011. ) Will be referred to as the main service data processing unit. For example, if the receiving system is a mobile-only receiving system, the main service data processor may be omitted.

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

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

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

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

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

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

전원 온/Power on / 오프off 제어 Control

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

상기 시그널링 정보 복호부(1013)는 입력되는 데이터로부터 시그널링 정보(예를 들어, TPC 정보)를 추출하여 복호한 후, 복호된 시그널링 정보를 필요한 블록으로 제공한다. 일 예로, SCCC 관련 정보는 블록 복호기(1005)로 출력할 수 있고, RS 프레임 관련 정보는 RS 프레임 복호기(1006)로 출력할 수 있다. 또한 MPH 프레임 관련 정보는 기지 데이터 검출기(1004)와 전원 제어기(5000)로 출력할 수 있다. 여기서 RS 프레임 관련 정보는 RS 프레임 모드 정보와 RS 코드 모드 정보를 포함할 수 있다. 상기 SCCC 관련 정보는 같은 SCCC 블록 모드 정보와 SCCC 아웃터 코드 모드 정보를 포함할 수 있다. 상기 MPH 프레임 관련 정보는 도 32와 같이 서브 프레임 카운트 정보, 슬롯 카운트 정보, parade_id 정보, SGN 정보, NOG 정보 등을 포함할 수 있다. The signaling information decoder 1013 extracts and decodes signaling information (eg, TPC information) from the input data, and provides the decoded signaling information as a necessary block. For example, the SCCC related information may be output to the block decoder 1005, and the RS frame related information may be output to the RS frame decoder 1006. In addition, the MPH frame related information may be output to the known data detector 1004 and the power controller 5000. The RS frame related information may include RS frame mode information and RS code mode information. The SCCC related information may include the same SCCC block mode information and SCCC outer code mode information. The MPH frame related information may include subframe count information, slot count information, parade_id information, SGN information, NOG information, and the like as shown in FIG. 32.

상기 기지 데이터 검출기(1004)에서 출력되는 기지 데이터 정보를 이용하면 데이터 그룹 내 시그널링 정보 영역을 알 수 있다. 즉, 제1 기지 데이터 열(sequence)(또는 트레이닝 시퀀스라 함)은 데이터 그룹 내 MPH 블록 B3의 마지막 2 세그먼트에 삽입되고, 제2 기지 데이터 열은 MPH 블록 B4의 두 번째와 세 번째 세그먼트 사이에 삽입된다. 이때 제2 기지 데이터 열은 시그널링 정보 영역 다음에 삽입되어 수신되므로, 상기 시그널링 정보 복호부(1013)는 복조기(1002) 또는 채널 등화기(1003)에서 출력되는 데이터로부터 시그널링 정보 영역의 시그널링 정보를 추출하여 복호할 수 있다. If the known data information output from the known data detector 1004 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 MPH block B3 in the data group, and the second known data sequence is inserted between the second and third segments of MPH block B4. Is inserted. In this case, since the second known data stream is inserted after the signaling information area and received, the signaling information decoder 1013 extracts the signaling information of the signaling information area from the data output from the demodulator 1002 or the channel equalizer 1003. Can be decoded.

상기 전원 제어기(5000)는 시그널링 정보 복호부(1013)로부터 MPH 프레임 관련 정보를 입력받아 튜너 및 복조부의 전원을 제어한다. The power controller 5000 receives MPH frame related information from the signaling information decoder 1013 and controls the power of the tuner and the demodulator.

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

예를 들어, 하나의 MPH 프레임에 NOG가 3인 제1 퍼레이드와 NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 33과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 전원 제어기(5000)에서는 도 33과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온 시키고, 나머지 구간에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다. For example, assume that data groups of a first parade having NOG 3, a second parade having NOG 2, and a third parade having NOG 2 are allocated to one MPH frame as shown in FIG. 33. 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, as shown in FIG. 33, the power controller 5000 turns on the power only in the slot to which the data group of the first parade is allocated, and turns off the power in the remaining periods, thereby reducing power consumption.

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

이때, 수신 시스템에서는 도 5와 같이 기지 데이터 열이 주기적으로 삽입된 데이터 그룹을 포함하는 데이터 프레임(or VSB frame)을 수신할 수 있다. 상기 데이터 그룹은 도 5와 같이 A 내지 D 영역으로 구분되고, A 영역은 MPH 블록 B4 내지 MPH 블록 B7을, B 영역은 MPH 블록 B3 과 MPH 블록 B8을, C 영역은 MPH 블록 B2과 MPH 블록 B9을, D 영역은 MPH 블록 B1과 MPH 블록 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 MPH blocks B4 to MPH block B7, area B is MPH blocks B3 and MPH block B8, and area C is MPH block B2 and MPH block B9. In an embodiment, the region D includes the MPH block B1 and the MPH block B10.

도 37은 송신측에서 기지 데이터 열을 실제 데이터 사이에 주기적으로 삽입하여 전송하는 일 예를 보이고 있다. 도 37에서 AS는 일반 데이터의 심볼 수이며 BS는 기지 데이터의 심볼 수이다. 따라서 (AS + BS) 심볼의 주기로 BS 심볼의 기지 데이터가 삽입되어 전송된다. 상기 AS는 모바일 서비스 데이터일 수도 있고, 메인 서비스 데이터일 수도 있고, 모바일 서비스 데이터와 메인 서비스 데이터의 혼합일 수도 있으며, 본 발명에서는 기지 데이터와 구분하기 위하여 이를 일반 데이터라 칭한다. 37 shows an example in which the transmitting side periodically inserts a known data string between actual data and transmits it. In FIG. 37, AS is the number of symbols of general data and BS is the number of symbols of known data. Therefore, known data of the BS symbol is inserted and transmitted in the period of the (AS + BS) symbol. The AS may be mobile service data, main service data, or a mixture of mobile service data and main service data. In the present invention, this AS is referred to as general data to distinguish it from known data.

도 37에서 기지 데이터 열이 주기적으로 삽입되는 각 기지 데이터 구간에는 동일한 패턴의 기지 데이터 열이 포함되는데, 동일한 패턴의 기지 데이터 열과 해당 기지 데이터 구간의 전체 기지 데이터 열의 길이는 같을 수도 있고, 다를 수도 있다. 다른 경우, 전체 기지 데이터 열은 동일한 패턴의 기지 데이터 열보다 길으며, 전체 기지 데이터 열에 동일한 패턴의 기지 데이터 열이 포함된다. In FIG. 37, each known data section in which the known data columns are periodically inserted includes the known data columns of the same pattern, and the lengths of the known data columns of the same pattern and the entire known data columns of the known data sections may be the same or 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 regular data, the channel equalizer of the receiving system can use the known data as a training sequence to use the correct determination value and to estimate the impulse response of the channel. have.

한편 동일한 패턴의 기지 데이터가 주기적으로 삽입될 경우에는 각 기지 데이터 구간이 본 발명에 따른 채널 등화기에서 가드 구간(guard interval)으로 사용될 수 있다. 상기 가드 구간은 다중 경로 채널에 의해서 발생하는 블록 간의 간섭을 방지하는 역할을 한다. 이는 상기 도 37에서 (AS+BS) 심볼의 데이터 블록 뒷부분의 기지 데이터 구간의 기지 데이터가 상기 데이터 블록 앞에 복사된 것으로 생각할 수 있기 때문이다. 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 the known data of the known data section behind the data block of the symbol (AS + BS) in FIG. 37 can be considered copied before the data block.

이러한 구조를 사이클릭 프리픽스(Cyclic Prefix)라 하기도 하며, 이러한 구조는 전송 시스템에서 전송한 데이터 블록과 채널의 임펄스 응답이 시간 영역에서 원형 길쌈(circular convolution)되도록 해준다. 따라서 수신 시스템의 채널 등화기에서는 FFT(Fast Fourier Transform)와 IFFT(Inverse FFT)를 사용하여 주파수 영역에서 채널 등화를 하기에 용이하다. This structure is also called a cyclic prefix, which allows the impulse response of data blocks and channels transmitted in the 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.

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

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

이때, 상기 기지 데이터 검출기(1004)는 데이터 그룹의 구조를 알고 있으므로, 상기 제2 기지 데이터 영역의 위치가 검출되면, 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 해당 데이터 그룹 내 제1, 제3 내지 제6 기지 데이터 영역 위치를 추정할 수 있다. 만일 해당 데이터 그룹이 필드 동기를 포함하는 데이터 그룹이라면 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 상기 제2 기지 데이터 영역보다 시간적으로 앞에 위치한 해당 데이터 그룹 내 필드 동기의 위치를 추정할 수 있다. 또한 상기 기지 데이터 검출기(1004)는 시그널링 정보 복호부(1013)로부터 입력되는 MPH 프레임 관련 정보를 참조하여 유저가 선택한 모바일 서비스를 포함한 퍼레이드에서 기지 데이터 위치 정보, 필드 동기 위치 정보를 출력할 수 있다.In this case, since the known data detector 1004 knows the structure of the data group, when the position of the second known data area is detected, the symbol or segment is counted based on the position of the second known data area to count the symbols 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 1004 may output the known data position information and the field synchronization position information in the parade including the mobile service selected by the user with reference to the MPH frame related information input from the signaling information decoder 1013.

이렇게 추정된 기지 데이터 위치 정보, 필드 동기 위치 정보는 복조기(1002)와 채널 등화기(1003)로 제공된다. The estimated known data position information and the field sync position information are provided to the demodulator 1002 and the channel equalizer 1003.

또한 상기 기지 데이터 검출기(1004)는 상기 제2 기지 데이터 영역 즉, ACQ 기지 데이터 영역에 삽입된 기지 데이터를 이용하여 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(1002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다.In addition, the known data detector 1004 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 1002 can more accurately estimate and compensate carrier frequency offset from the known data position information and the initial frequency offset estimate.

도 38은 본 발명의 일 실시예에 따른 복조기의 상세 블록도를 보인 것으로서, 위상 분리기(phase splitter)(1010), 수치 제어 발진기(Numerically Controlled Oscillator ; NCO)(1020), 제1 곱셈기(1030), 리샘플러(1040), 제2 곱셈기(1050), 정합 필터(Matched Filter)(1060), DC 제거기(1070), 타이밍 복구부(1080), 반송파 복구부(1090), 및 위상 보상부(1110)를 포함할 수 있다.38 is a detailed block diagram of a demodulator according to an embodiment of the present invention, which includes a phase splitter 1010, a numerically controlled oscillator NCO 1020, and a first multiplier 1030. , A resampler 1040, a second multiplier 1050, a matched filter 1060, a DC remover 1070, a timing recovery unit 1080, a carrier recovery unit 1090, and a phase compensator 1110 ) May be included.

그리고 상기 기지 데이터 검출기(1004)는 기지 데이터 정보와 초기 주파수 옵셋을 추정하기 위해 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)를 포함한다.The known data detector 1004 includes a known data detection and an initial frequency offset estimator 1004-1 to estimate known data information and an initial frequency offset.

이와 같이 구성된 도 38에서, 위상 분리기(1010)는 통과대역 디지털 신호를 입력받아 위상이 서로 90도가 되는 실수 성분과 허수 성분의 통과대역 디지털 신호 즉, 복소 신호로 분리한 후 제1 곱셈기(1030)로 출력한다. 여기서, 설명의 편의를 위해 상기 위상 분리기(1010)에서 출력되는 실수 성분의 신호를 I 신호라 하고, 허수 성분의 신호를 Q 신호라 한다. In FIG. 38 configured as described above, the phase separator 1010 receives a passband digital signal and separates the passband digital signals of real and imaginary components whose phases are 90 degrees from each other, that is, complex signals, and then divides the first multiplier 1030. Will output Here, for convenience of description, the real component signal output from the phase separator 1010 is called an I signal, and the imaginary component signal is called a Q signal.

상기 제1 곱셈기(1010)는 NCO(1020)로부터 출력되는 상수(Constant)에 비례하는 주파수를 가지는 복소 신호에 상기 위상 분리기(1010)에서 출력되는 통과대역 디지털 복소 신호(I,Q)를 곱하여, 상기 통과대역 디지털 복소신호(I,Q)를 기저대역 디지털 복소 신호로 천이한다. 상기 제1 곱셈기(1030)의 기저대역 디지털 신호는 리샘플러(1040)로 입력된다. The first multiplier 1010 multiplies a complex signal having a frequency proportional to a constant output from the NCO 1020 by a passband digital complex signal (I, Q) output from the phase separator 1010, Transmit the passband digital complex signal (I, Q) to a baseband digital complex signal. The baseband digital signal of the first multiplier 1030 is input to the resampler 1040.

상기 리샘플러(1040)는 제1 곱셈기(1030)에서 출력되는 신호를 타이밍 복구부(1080)에서 제공하는 타이밍 클럭에 맞게 리샘플링하여 제2 곱셈기(1050)로 출력한다.The resampler 1040 resamples the signal output from the first multiplier 1030 according to the timing clock provided by the timing recovery unit 1080 and outputs the signal to the second multiplier 1050.

예를 들어, 상기 아날로그/디지털 변환기가 25MHz의 고정 발진자를 사용할 경우, 상기 아날로그/디지털 변환기, 위상 분리기(1010), 제1 곱셈기(1030)를 거쳐 생성된 25MHz 주파수를 갖는 기저대역 디지털 신호는 상기 리샘플러(1040)에서 보간(interpolation) 과정을 거쳐 수신 신호의 심볼 클럭의 2배의 주파수 예를 들어, 21.524476MHz 주파수를 갖는 기저대역 디지털 신호로 복원된다. 만일 상기 아날로그/디지털 변환기가 타이밍 복구부(1080)의 타이밍 클럭을 샘플링 주파수로 이용하는 경우, 즉 가변 주파수를 이용하여 A/D 변환을 수행하는 경우에는 상기 리샘플러(1040)는 필요없게 된다. For example, when the analog-to-digital converter uses a 25 MHz fixed oscillator, the baseband digital signal having the 25-MHz frequency generated through the analog-to-digital converter, the phase separator 1010, and the first multiplier 1030 may be generated. The resampler 1040 recovers the baseband digital signal having a frequency twice the symbol clock of the received signal, for example, a frequency of 21.524476 MHz through interpolation. If the analog / digital converter uses the timing clock of the timing recovery unit 1080 as the sampling frequency, that is, performing A / D conversion using a variable frequency, the resampler 1040 is not necessary.

상기 제2 곱셈기(1050)는 상기 리샘플러(1040)의 출력에 반송파 복구부(1090)의 출력 주파수를 곱하여 상기 리샘플러(1040)의 출력 신호에 포함된 잔류 반송파를 보상한 후 정합 필터(1060)와 타이밍 복구부(1080)로 출력한다. The second multiplier 1050 multiplies the output frequency of the carrier recovery unit 1090 by the output of the resampler 1040 to compensate for the residual carriers included in the output signal of the resampler 1040 and then matches the filter 1060. ) And to the timing recovery unit 1080.

상기 정합 필터(1060)에서 정합 필터링된 신호는 DC 제거기(1070)와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1), 및 반송파 복구부(1090)로 입력된다. The signal filtered by the matched filter 1060 is input to the DC remover 1070, the known data detection and initial frequency offset estimator 1004-1, and the carrier recovery unit 1090.

상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 주기적 또는 비주기적으로 전송되는 기지 데이터 열의 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(initial frequency offset)을 추정한다.The known data detection and initial frequency offset estimator 1004-1 detects the position of the known data stream transmitted periodically or aperiodically and estimates an initial frequency offset during the known data detection process.

즉, 도 5와 같은 데이터 그룹이 수신되는 동안 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 데이터 그룹에 포함된 기지 데이터의 위치를 검출하고, 그 위치 정보(Known Sequence Position Indicator)를 복조기(1002)의 타이밍 복구부(1080), 반송파 복구부(1090), 위상 보상부(1110), 및 등화기(1003)로 출력한다. 또한 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 초기 주파수 옵셋(Initial Frequency Offset)을 추정하여 반송파 복구부(1090)로 출력한다.That is, while the data group as shown in FIG. 5 is received, the known data detection and initial frequency offset estimator 1004-1 detects the position of known data included in the data group, and provides the known sequence position indicator. The demodulator 1002 outputs the timing recovery unit 1080, the carrier recovery unit 1090, the phase compensator 1110, and the equalizer 1003. In addition, the known data detection and initial frequency offset estimator 1004-1 estimates an initial frequency offset and outputs the initial frequency offset to the carrier recovery unit 1090.

이때 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 정합 필터(1060)의 출력을 입력받을 수도 있고, 리샘플러(1040)의 출력을 입력받을 수도 있으며, 이는 설계자의 선택 사항이다. In this case, the known data detection and initial frequency offset estimator 1004-1 may receive an output of the matched filter 1060 or an output of the resampler 1040, which is a designer's option.

상기 타이밍 복구부(1080)는 제2 곱셈기(1050)의 출력과 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보를 이용하여 타이밍 에러를 검출하고, 검출된 타이밍 에러에 비례하는 샘플링 클럭을 리샘플러(1040)로 출력하여 리샘플러(1040)의 샘플링 타이밍을 조절한다. 이때 상기 타이밍 복구부(1080)는 제2 곱셈기(1050)의 출력 대신 정합 필터(1060)의 출력을 입력받을 수도 있으며, 이는 설계자의 선택 사항이다.The timing recovery unit 1080 detects a timing error by using the output of the second multiplier 1050 and the known data position information detected by the initial data offset and initial frequency offset estimator 1004-1, and the detected timing error. A sampling clock proportional to is output to the resampler 1040 to adjust the sampling timing of the resampler 1040. In this case, the timing recovery unit 1080 may receive the output of the matching filter 1060 instead of the output of the second multiplier 1050, which is a designer's option.

한편 상기 DC 제거기(1070)는 정합 필터링된 신호로부터 송신측에서 삽입된 파일럿 톤(즉, DC)을 제거한 후 위상 보상부(1110)로 출력한다. Meanwhile, the DC remover 1070 removes the pilot tone (that is, DC) inserted at the transmitting side from the matched filtered signal and outputs it to the phase compensator 1110.

상기 위상 보상부(1110)는 DC 제거기(1070)에서 DC가 제거된 데이터와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보를 이용하여 주파수 옵셋을 추정한 후 상기 DC 제거기(1070)의 출력에 포함된 위상 변화를 보상한다. 상기 위상 변화가 보상된 데이터는 등화기(1003)로 입력된다. 여기서 상기 위상 보상부(1110)는 선택적(Optional)이다. 만일 위상 보상부(1110)가 구비되지 않는다면, DC 제거기(1070)의 출력이 등화기(1003)로 입력된다.The phase compensator 1110 estimates a frequency offset by using DC-removed data, known data detection, and known data position information detected by the initial frequency offset estimator 1004-1 in the DC eliminator 1070. Compensate for the phase change included in the output of the DC remover 1070. The data whose phase change is compensated for is input to the equalizer 1003. The phase compensator 1110 is optional. If the phase compensator 1110 is not provided, the output of the DC remover 1070 is input to the equalizer 1003.

도 39는 복조기 내 타이밍 복구부(1080), 반송파 복구부(1090), 및 위상 보상부(1110)의 상세 블록도가 포함된 도면의 일 예이다. FIG. 39 is an example of a diagram including detailed block diagrams of the timing recovery unit 1080, the carrier recovery unit 1090, and the phase compensation unit 1110 in the demodulator.

상기 타이밍 복구부(1080)는 일 실시예로서, 데시메이터(1081), 버퍼(1082), 타이밍 에러 검출기(1083), 루프 필터(1084), 유지기(Holder)(1085), 및 NCO(1086)를 포함할 수 있다.As an example, the timing recovery unit 1080 may include a decimator 1081, a buffer 1082, a timing error detector 1083, a loop filter 1084, a holder 1085, and an NCO 1086. ) May be included.

상기 반송파 복구부(1090)는 일 실시예로서, 버퍼(1091), 주파수 옵셋 추정기(1092), 루프 필터(1093), 유지기(Holder)(1094), 가산기(1095), 및 NCO(1096)를 포함할 수 있다. 상기 버퍼(1091)의 전단에 데시메이터가 포함될 수도 있다. In one embodiment, the carrier recovery unit 1090 includes a buffer 1091, a frequency offset estimator 1092, a loop filter 1093, a holder 1094, an adder 1095, and an NCO 1096. It may include. A decimator may be included in front of the buffer 1091.

상기 위상 보상부(1110)는 일 실시예로서, 버퍼(1111), 주파수 옵셋 추정기(1112), 유지기(1113), NCO(1114), 및 곱셈기(1115)를 포함할 수 있다.The phase compensator 1110 may include a buffer 1111, a frequency offset estimator 1112, a maintainer 1113, an NCO 1114, and a multiplier 1115.

또한 상기 위상 보상부(1110)와 등화기(1003) 사이에는 데시메이터(1200)가 포함될 수 있다. 상기 데시메이터(1200)는 위상 보상부(1110)의 출력단 대신 DC 제거기(1070) 전단에 포함될 수도 있다.In addition, a decimator 1200 may be included between the phase compensator 1110 and the equalizer 1003. The decimator 1200 may be included in front of the DC eliminator 1070 instead of the output terminal of the phase compensator 1110.

상기 데시메이터들은 복조기(1002)로 입력되는 신호가 아날로그/디지털 변환기에서 N배로 오버샘플링(oversampling)되었을 경우에 필요한 부분이다. 즉, N은 수신 신호의 샘플링 비율(sampling rate)을 나타낸다. 예를 들어, 입력 신호가 아날로그/디지털 변환기에서 2배로 오버 샘플링되었다면(N=2), 1 심볼에 2개의 샘플이 포함되어 있음을 의미하고, 이 경우 상기 데시메이터들은 1/2 데시메이터이다. 상기 데시메이터들은 수신 신호의 오버샘플링 여부에 따라 바이패스될 수도 있다. The decimators are necessary when the signal input to the demodulator 1002 is oversampled N times by the analog / digital converter. In other words, N represents a sampling rate of the received signal. For example, if the input signal is oversampled twice in the analog-to-digital converter (N = 2), it means that one sample contains two samples, in which case the decimators are half decimators. The decimators may be bypassed depending on whether or not the received signal is oversampled.

한편, 상기 반송파 복구부(1090)의 버퍼(1091)는 상기 정합 필터(1060)의 입력 또는 출력 데이터를 입력받아 일시 저장한 후 주파수 옵셋 추정기(1092)로 출력한다. 만일 상기 버퍼(1091)의 전단에 데시메이터가 구비된다면, 상기 정합 필터(1060)의 입력 또는 출력 데이터는 데시메이터에서 1/N로 데시메이션된 후 버퍼(1091)로 출력된다. 예를 들어, 상기 정합 필터(1060)의 입력 또는 출력 데이터가 2배로 오버샘플링(oversampling)되었다면, 상기 정합 필터(1060)의 입력 또는 출력 데이터는 데시메이터(1081)에서 1/2로 데시메이트된 후 버퍼(1091)로 입력된다. 즉, 상기 반송파 복구부(1090)는 버퍼(1091) 전단에 데시메이터가 구비되면 심볼 단위로 동작하고, 데시메이터가 없다면 오버 샘플 단위로 동작하게 된다.Meanwhile, the buffer 1091 of the carrier recovery unit 1090 receives input or output data of the matched filter 1060 and temporarily stores the received input or output data and outputs the result to the frequency offset estimator 1092. If a decimator is provided in front of the buffer 1091, the input or output data of the matched filter 1060 is decimated by 1 / N in the decimator and then output to the buffer 1091. For example, if the input or output data of the matched filter 1060 is oversampled twice, the input or output data of the matched filter 1060 is decimated in decimator 1081 in half. It is then input to the buffer 1091. That is, the carrier recovery unit 1090 operates in units of symbols when a decimator is provided in front of the buffer 1091, and operates in units of oversample when there is no decimator.

상기 주파수 옵셋 추정기(1092)는 상기 정합 필터링 전 또는 후의 데이터와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 출력되는 기지 데이터 위치 정보를 이용하여 주파수 옵셋을 추정한 후 루프 필터(1093)로 출력한다. 즉, 상기 주파수 옵셋 추정기(1092)는 정합 필터링 전 또는 후의 기지 데이터 열로부터 주파수 옵셋을 추정하여 루프 필터(1093)로 출력한다. 따라서 추정된 주파수 옵셋값은 기지 데이터 열의 반복 주기마다 한 번씩 구해진다. The frequency offset estimator 1092 estimates a frequency offset using data before or after the matched filtering and known data detection and known data position information output from the initial frequency offset estimator 1004-1, and then loop filter 1093. Will output That is, the frequency offset estimator 1092 estimates the frequency offset from the known data stream before or after the matched filtering and outputs the frequency offset to the loop filter 1093. Therefore, the estimated frequency offset value is obtained once for each repetition period of the known data string.

상기 루프 필터(1093)는 주파수 옵셋 추정기(1092)에서 추정된 주파수 옵셋값을 저역 통과 필터링하여 유지기(1094)로 출력한다.The loop filter 1093 low-pass filters the frequency offset value estimated by the frequency offset estimator 1092 and outputs it to the maintainer 1094.

상기 유지기(1094)는 저역 통과 필터링된 주파수 옵셋 추정값을 기지 데이터 열의 주기 동안 유지시킨 후 가산기(1095)로 출력한다. 여기서 상기 루프 필터(1093)와 유지기(1094)의 위치는 서로 바뀌어도 가능하다. 또한 상기 유지기(1094)의 기능을 루프 필터(1093)에 포함시키고, 유지기(1094)를 생략할 수도 있다.The retainer 1094 maintains the low pass filtered frequency offset estimate for the period of the known data sequence and then outputs to the adder 1095. Here, the positions of the loop filter 1093 and the retainer 1094 may be interchanged. In addition, the function of the retainer 1094 may be included in the loop filter 1093, and the retainer 1094 may be omitted.

상기 가산기(1095)는 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 추정된 초기 주파수 옵셋값과 상기 루프 필터(1093)(또는 유지기(1094))에서 출력되는 주파수 옵셋값을 더하여 NCO(1096)로 출력한다. 만일, 상기 가산기(1095)가 상기 NCO(1020)로 입력되는 상수(Constant)도 입력받도록 설계한다면, 상기 NCO(1020)와 제1 곱셈기(1030)는 생략할 수 있다. 이 경우, 상기 제2 곱셈기(1050)는 기저대역으로 천이 및 잔류 반송파 제거를 동시에 수행할 수 있다.The adder 1095 adds an initial frequency offset value estimated by the known data detection and initial frequency offset estimator 1004-1 and a frequency offset value output from the loop filter 1093 (or the maintainer 1094). Output to NCO 1096. If the adder 1095 is designed to receive a constant input to the NCO 1020, the NCO 1020 and the first multiplier 1030 may be omitted. In this case, the second multiplier 1050 may simultaneously perform transition and residual carrier removal to the baseband.

상기 NCO(1096)는 가산기(1095)의 출력 주파수 옵셋에 해당하는 복소 신호를 생성하여 제2 곱셈기(1050)로 출력한다. 상기 NCO(1096)는 롬을 포함할 수 있다. 이 경우 NCO(1096)는 가산기(1095)에서 출력되는 주파수 옵셋에 해당하는 보상 주파수를 생성하고, 롬으로부터 상기 보상 주파수에 해당하는 복소 정현파를 읽어 와 상기 제2 곱셈기(1050)로 출력하게 된다. The NCO 1096 generates a complex signal corresponding to the output frequency offset of the adder 1095 and outputs the complex signal to the second multiplier 1050. The NCO 1096 may comprise a ROM. In this case, the NCO 1096 generates a compensation frequency corresponding to the frequency offset output from the adder 1095, reads a complex sine wave corresponding to the compensation frequency from the ROM, and outputs the complex sine wave to the second multiplier 1050.

상기 제2 곱셈기(1050)는 리샘플러(1040)의 출력에 반송파 복구부(1090)의 NCO(1094)의 출력을 곱하여 상기 리샘플러(1040)의 출력 신호에 포함된 반송파 옵셋을 제거한다. The second multiplier 1050 multiplies the output of the resampler 1040 by the output of the NCO 1094 of the carrier recovery unit 1090 to remove the carrier offset included in the output signal of the resampler 1040.

도 40은 상기 반송파 복구부(1090)의 주파수 옵셋 추정기(1092)의 일 실시예를 보인 상세 블록도로서, 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보에 따라 동작한다. FIG. 40 is a detailed block diagram illustrating an example of the frequency offset estimator 1092 of the carrier recovery unit 1090, according to known data detection and known data position information detected by the initial frequency offset estimator 1004-1. It works.

이때, 상기 정합 필터(1060)의 입력 또는 출력 데이터가 데시메이터를 통해 입력된다면 상기 주파수 옵셋 추정기(1092)는 심볼 단위로 동작하고, 데시메이터가 없다면 오버 샘플 단위로 동작하게 된다. 본 발명에서는 심볼 단위로 동작하는 것을 일 실시예로 설명한다.In this case, if the input or output data of the matched filter 1060 is input through a decimator, the frequency offset estimator 1092 operates in symbol units, and if there is no decimator, the frequency offset estimator 1062 operates in oversample units. In the present invention, operating in symbol units will be described as an embodiment.

도 40을 보면, 제어기(1300), 제1 N 심볼 버퍼(1301), K 심볼 지연기(1302), 제2 N 심볼 지연기(1303), 콘쥬게이터(1304), 곱셈기(1305), 누산기(1306), 위상 검출기(1307), 곱셈기(1308), 및 다중화기(1309)를 포함할 수 있다.40, a controller 1300, a first N symbol buffer 1301, a K symbol delayer 1302, a second N symbol delayer 1303, a conjugator 1304, a multiplier 1305, and an accumulator ( 1306, phase detector 1307, multiplier 1308, and multiplexer 1309.

이와 같이 구성된 도 40은 기지 데이터 구간 동안 동작하는 것을 실시예로 설명한다. 즉, 제1 N 심볼 버퍼(1301)는 입력되는 심볼을 최대 N개까지 저장할 수 있으며, 제1 N 심볼 버퍼(1301)에 일시 저장된 심볼 데이터는 곱셈기(1305)로 입력된다. FIG. 40 configured as described above describes an embodiment of operating during a known data interval. That is, the first N symbol buffer 1301 may store up to N input symbols, and the symbol data temporarily stored in the first N symbol buffer 1301 is input to the multiplier 1305.

동시에 상기 입력되는 심볼은 K 심볼 지연기(1302)에서 K 심볼 지연된 후 제2 N 심볼 버퍼(1303)를 거쳐 콘쥬게이터(1304)에서 콘쥬게이트(conjugate ; 공액)되어 곱셈기(1305)로 입력된다. At the same time, the input symbol is delayed by a K symbol in the K symbol delayer 1302 and then conjugated by the conjugate 1304 to the multiplier 1305 via the second N symbol buffer 1303.

상기 곱셈기(1305)는 상기 제1 N 심볼 버퍼(1301)의 출력과 콘쥬게이터(1304)의 출력을 곱하여 누산기(1306)로 출력하고, 상기 누산기(1306)는 상기 곱셈기(1305)의 출력을 N 심볼 동안 누산시켜 위상 검출기(1307)로 출력한다. 상기 위상 검출기(1307)는 상기 누산기(1306)의 출력으로부터 위상 정보를 추출하여 곱셈기(1308)로 출력한다. 상기 곱셈기(1308)는 상기 위상 정보를 K로 나누고, 그 결과를 다중화기(1309)로 출력한다. 이때 상기 위상 정보를 K로 나눈 값이 주파수 옵셋 추정값이 된다. 즉, 상기 주파수 옵셋 추정기(1092)는 기지 데이터의 입력이 끝나는 시점 혹은 원하는 시점에 제1 N 심볼 버퍼(1301)에 저장된 N개의 입력 데이터와 K 심볼만큼 지연되어 제2 N 심볼 버퍼(1303)에 저장된 N개의 입력 데이터의 복소 콘쥬게이트의 곱을 N 심볼 동안 누적한 후 K로 나누어 주파수 옵셋 추정값을 추출해낸다.The multiplier 1305 multiplies the output of the first N symbol buffer 1301 by the output of the conjugator 1304 to output to the accumulator 1306, and the accumulator 1306 outputs the output of the multiplier 1305 to N. Accumulate during the symbol and output to the phase detector 1307. The phase detector 1307 extracts phase information from the output of the accumulator 1306 and outputs the phase information to the multiplier 1308. The multiplier 1308 divides the phase information by K, and outputs the result to the multiplexer 1309. In this case, the value obtained by dividing the phase information by K becomes a frequency offset estimation value. That is, the frequency offset estimator 1092 is delayed by N symbols and N input data stored in the first N symbol buffer 1301 at the time when the input of the known data ends or a desired time, and thus the frequency offset estimator 1032 is transmitted to the second N symbol buffer 1303. The product of the complex conjugates of the stored N input data is accumulated for N symbols and divided by K to extract the frequency offset estimate.

상기 다중화기(1309)는 제어기(1300)의 제어 신호에 따라 상기 곱셈기(1308)의 출력 또는 0을 선택하여 최종 주파수 옵셋 추정값으로 출력한다.The multiplexer 1309 selects an output of the multiplier 1308 or 0 according to a control signal of the controller 1300 and outputs the final frequency offset estimate.

상기 제어기(1300)는 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)로부터 기지 데이터 위치 정보(Known data position indicator)를 입력받아 상기 다중화기(1309)의 출력을 제어한다. 즉, 상기 제어기(1300)는 기지 데이터 위치 정보로부터 상기 곱셈기(1308)에서 출력되는 주파수 옵셋 추정값이 유효한지 여부를 판단한다. 상기 제어기(1300)는 상기 주파수 옵셋 추정값이 유효한 경우에는 상기 다중화기(1309)에서 곱셈기(1308)의 출력을 선택하고, 유효하지 않은 경우에는 상기 다중화기(1309)에서 0을 선택하도록 제어 신호를 발생한다. The controller 1300 receives the known data position indicator from the known data detection and initial frequency offset estimator 1004-1 and controls the output of the multiplexer 1309. That is, the controller 1300 determines whether the frequency offset estimate output from the multiplier 1308 is valid from the known data position information. The controller 1300 selects an output of the multiplier 1308 in the multiplexer 1309 when the frequency offset estimate is valid, and selects 0 in the multiplexer 1309 when the frequency offset estimate is valid. Occurs.

이때 상기 제1 N 심볼 버퍼(1301)와 제2 N 심볼 버퍼(1303)에 저장되는 입력 신호는 동일한 기지 데이터가 전송되어 거의 동일한 채널을 겪어 수신된 신호이면 좋다. 그렇지 않다면 전송 채널의 영향에 의해 주파수 옵셋 추정 성능이 크게 떨어지게 되기 때문이다.In this case, the input signals stored in the first N symbol buffer 1301 and the second N symbol buffer 1303 may be signals received through the same channel through the same known data. Otherwise, the frequency offset estimation performance is greatly degraded by the influence of the transmission channel.

그리고 도 40의 주파수 옵셋 추정기(1092)의 N과 K값은 다양하게 결정할 수 있다. 이는 동일하게 반복되는 기지 데이터의 특정 부분만을 사용할 수도 있기 때문이다. 그 실시 예로써 도 37과 같은 구조의 데이터가 전송된다고 할 경우 N = BS, K=(AS+BS)로 설정할 수 있다. The N and K values of the frequency offset estimator 1092 of FIG. 40 may be variously determined. This is because only certain portions of known data that are repeated equally may be used. As an example, when data having a structure as shown in FIG. 37 is transmitted, N = BS, K = (AS + BS) can be set.

상기 주파수 옵셋 추정기(1092)에서 주파수 옵셋의 추정 범위는 K값에 의해서 결정된다. K값이 클수록 주파수 옵셋의 추정 범위는 줄어들고, K값이 작을수록 주파수 옵셋의 추정 범위는 늘어나게 된다. 따라서 도 37과 같은 구조의 데이터가 전송될 경우 기지 데이터의 반복 주기 (AS+BS)가 길다면 주파수 옵셋 추정 범위가 줄어들게 된다. 이 경우 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 초기 주파수 옵셋을 추정한 후 이를 제2 곱셈기(1050)에서 보상했다고 하더라도 보상 후 잔류 주파수 옵셋이 주파수 옵셋 추정기(1092)의 추정 범위를 넘게 될 수 있다. The estimation range of the frequency offset in the frequency offset estimator 1092 is determined by the K value. The larger the K value, the smaller the estimated range of the frequency offset. The smaller the K value, the larger the estimated range of the frequency offset. Therefore, when data having a structure as shown in FIG. 37 is transmitted, if the repetition period (AS + BS) of known data is long, the frequency offset estimation range is reduced. In this case, even though the initial frequency offset is estimated by the known data detection and initial frequency offset estimator 1004-1 and then compensated by the second multiplier 1050, the residual frequency offset after compensation is used to determine the estimated range of the frequency offset estimator 1092. Can be exceeded.

이 점을 보완하기 위한 방법으로 주기적으로 전송되는 기지 데이터 열을 사이클릭 확장(cyclic extension)을 이용해 동일한 부분의 반복으로 구성할 수 있다. 그 실시 예로써 도 37의 기지 데이터가 길이 BS/2의 동일한 부분 두 개로 구성되었다고 하면 도 40의 주파수 옵셋 추정기(1092)의 N=BS/2, K=BS/2로 설정할 수 있다. 이 경우 반복되는 기지 데이터를 이용할 때보다 넓은 추정 범위를 가질 수 있다.As a way to compensate for this, the known data stream that is periodically transmitted can be configured with the same portion of repetition using cyclic extension. As an example, if the known data of FIG. 37 is composed of two identical portions of length BS / 2, N = BS / 2 and K = BS / 2 of the frequency offset estimator 1092 of FIG. 40 may be set. In this case, it is possible to have a wider estimation range than when using repeated known data.

한편, 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 주기적 또는 비주기적으로 전송되는 기지 데이터 열의 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(initial frequency offset)을 추정한다. Meanwhile, the known data detection and initial frequency offset estimator 1004-1 detects the position of the known data stream transmitted periodically or aperiodically and estimates an initial frequency offset during the known data detection process. .

상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보(Known Sequence Position Indicator)를 복조기(1002)의 타이밍 복구부(1080), 반송파 복구부(1090), 위상 보상부(1110), 및 등화기(1003)로 출력되고, 추정된 초기 주파수 옵셋은 반송파 복구부(1090)로 출력한다.The known data position information (Known Sequence Position Indicator) detected by the known data detection and initial frequency offset estimator (1004-1), the timing recovery unit (1080), carrier recovery unit (1090), phase compensation unit of the demodulator 1002 1110, and the equalizer 1003, and the estimated initial frequency offset is output to the carrier recovery unit 1090.

이때 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 정합 필터(1060)의 출력을 입력받을 수도 있고, 리샘플러(1040)의 출력을 입력받을 수도 있으며, 이는 설계자의 선택 사항이다. In this case, the known data detection and initial frequency offset estimator 1004-1 may receive an output of the matched filter 1060 or an output of the resampler 1040, which is a designer's option.

상기 도 40의 주파수 옵셋 추정기는 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1) 또는 위상 보상부(1110)의 주파수 옵셋 추정기에 그대로 적용할 수도 있다. The frequency offset estimator of FIG. 40 may be applied to the frequency offset estimator of the known data detection and initial frequency offset estimator 1004-1 or the phase compensator 1110 as it is.

도 41은 본 발명에 따른 기지 데이터 검출 및 초기 주파수 옵셋 추정기의 일 실시예를 보인 상세 블록도로서, 기지 데이터 위치 정보와 함께 초기 주파수 옵셋을 추정하는 예를 보이고 있다. 도 41은 입력되는 신호가 N배로 오버샘플링(oversampling)되었을 경우를 고려한 도면이다. 즉, N은 수신 신호의 샘플링 비율(sampling rate)을 나타낸다. FIG. 41 is a detailed block diagram illustrating an example of known data detection and initial frequency offset estimator according to the present invention, and shows an example of estimating an initial frequency offset together with known data position information. FIG. 41 illustrates a case in which an input signal is oversampled by N times. In other words, N represents a sampling rate of the received signal.

도 41을 보면, 기지 데이터 검출 및 초기 주파수 옵셋 추정기는 병렬로 구성된 N개의 부분 상관부(1411~141N), 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420), 기지 데이터 추출부(1430), 버퍼(1440), 곱셈기(1450), NCO(1460), 주파수 옵셋 추정기(1470), 및 가산기(1480)를 포함하여 구성된다. Referring to FIG. 41, the known data detection and initial frequency offset estimator includes N partial correlators 1411 to 141N configured in parallel, a known data position detection and frequency offset determiner 1420, a known data extractor 1430, and a buffer. 1440, multiplier 1450, NCO 1460, frequency offset estimator 1470, and adder 1480.

상기 첫 번째 부분 상관부(1411)는 1/N 데시메이터, 및 부분 상관기로 구성된다. 상기 두 번째 부분 상관부(1412)는 1 샘플 지연기, 1/N 데시메이터, 및 부분 상관기로 구성된다. 상기 N 번째 부분 상관부(141N)는 N-1 샘플 지연기, 1/N 데시메이터, 및 부분 상관기로 구성된다. The first partial correlator 1411 consists of a 1 / N decimator and a partial correlator. The second partial correlator 1412 consists of a one sample delay, a 1 / N decimator, and a partial correlator. The Nth partial correlator 141N includes an N-1 sample delay unit, a 1 / N decimator, and a partial correlator.

이는 오버샘플링된 심볼 내 각 샘플들의 위상을 원래 심볼의 위상과 일치시키고, 나머지 위상에 있는 샘플들을 데시메이션한 후 각각 부분 상관을 수행하기 위해서이다. 즉, 입력 신호는 각 샘플링 위상(sampling phase)별로 1/N의 비율로 데시메이션되어 각 부분 상관기(partial correlator)를 통과한다.This is to match the phase of each sample in the oversampled symbol with the phase of the original symbol, decimate the samples in the remaining phases, and then perform partial correlation respectively. That is, the input signal is decimated at a ratio of 1 / N for each sampling phase and passes through each partial correlator.

예를 들어, 입력 신호가 2배로 오버샘플링되었다면 즉, N=2라면 1 심볼에 2개의 샘플이 포함되어 있음을 의미하고, 이 경우 상기 부분 상관부는 2개(예를 들어, 1411,1412)가 필요하며, 1/N 데시메이터는 1/2 데시메이터이다.For example, if the input signal is oversampled twice, that is, N = 2, it means that one symbol contains two samples. In this case, two partial correlation parts (for example, 1411 and 1412) Required, 1 / N decimator is 1/2 decimator.

이때 첫 번째 부분 상관부(1411)의 1/N 데시메이터는 입력 샘플 중 심볼 위치와 심볼 위치 사이에 있는 샘플을 데시메이트(제거)하여 부분 상관기로 출력한다. At this time, the 1 / N decimator of the first partial correlator 1411 decimates (removes) a sample between the symbol position and the symbol position among the input samples and outputs the partial correlator.

그리고 두 번째 부분 상관부(1412)의 1샘플 지연기는 입력 샘플을 1샘플 지연시켜 1/N 데시메이터로 출력한다. 이어 상기 1/N 데시메이터는 상기 1 샘플 지연기에서 입력되는 샘플 중 심볼 위치와 심볼 위치 사이에 있는 샘플을 데시메이트(제거)하여 부분 상관기로 출력한다. The 1-sample delay of the second partial correlation unit 1412 delays the input sample by 1 sample and outputs the 1-N decimator. Subsequently, the 1 / N decimator decimates (removes) a sample between the symbol position and the symbol position among the samples input from the 1 sample delay unit and outputs the partial correlator.

상기 각 부분 상관기는 VSB 심볼의 기 설정된 주기마다 상관값과 그 순간에서의 대략적인 주파수 옵셋 추정 값을 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)로 출력한다.Each partial correlator outputs a correlation value and an approximate frequency offset estimation value at a predetermined period of the VSB symbol to the known data position detection and frequency offset determination unit 1420.

상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)는 각 샘플링 위상별 부분 상관기의 출력을 데이터 그룹 주기 또는 정해진 주기 동안 저장한 후 그 값들 가운데 상관값이 최대인 위치를 기지 데이터의 수신 위치로 판단하고 그 순간의 주파수 옵셋 추정 값을 수신 시스템의 대략적인 주파수 옵셋 값으로 최종 결정한다. The known data position detection and frequency offset determiner 1420 stores the output of the partial correlator for each sampling phase for a data group period or a predetermined period, and then determines a position where the correlation value is the maximum among the values as the reception position of the known data. The frequency offset estimation value of the instant is finally determined as an approximate frequency offset value of the receiving system.

상기 기지 데이터 위치 정보(Known Sequence Position Indicator)는 기지 데이터 추출부(1430), 타이밍 복구부(1080), 반송파 복구부(1090), 위상 보상부(1110), 및 등화기(1003)로 제공되고, 대략적인 주파수 옵셋은 가산기(1480)와 NCO(1460)로 제공된다. The known sequence position indicator is provided to a known data extractor 1430, a timing recoverer 1080, a carrier recoverer 1090, a phase compensator 1110, and an equalizer 1003. The approximate frequency offset is provided to adder 1480 and NCO 1460.

한편 버퍼(1440)는 상기 N개의 부분 상관부(1411~141N)에서 기지 데이터 위치 검출과 대략적 주파수 옵셋을 추정하는 동안, 수신 데이터를 임시 저장한 후 기지 데이터 추출부(1430)로 출력한다. The buffer 1440 temporarily stores the received data and outputs the received data to the known data extractor 1430 while the N partial correlation units 1411 to 141N estimate the known data position detection and the approximate frequency offset.

상기 기지 데이터 추출부(1430)는 상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)에서 출력되는 기지 데이터 위치 정보를 이용하여 상기 버퍼(1440)의 출력으로부터 기지 데이터를 추출한 후 곱셈기(1450)로 출력한다.The known data extractor 1430 extracts known data from the output of the buffer 1440 by using the known data position information output from the known data position detection and frequency offset determiner 1420 and then multiplies the multiplier 1450. Output

상기 NCO(1460)는 상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)에서 출력되는 대략적인 주파수 옵셋에 해당하는 복소 신호를 생성하여 곱셈기(1450)로 출력한다.The NCO 1460 generates a complex signal corresponding to the approximate frequency offset output from the known data position detection and frequency offset determiner 1420 and outputs the complex signal to the multiplier 1450.

상기 곱셈기(1450)는 상기 기지 데이터 추출부(1430)에서 출력되는 기지 데이터에 상기 NCO(1460)의 복소 신호를 곱하여 대략적인 주파수 옵셋이 보상된 기지 데이터를 주파수 옵셋 추정기(1470)로 출력한다.The multiplier 1450 multiplies the complex data of the NCO 1460 by the complex data of the NCO 1460 by the known data output from the known data extractor 1430 and outputs the known data whose frequency offset is compensated to the frequency offset estimator 1470.

상기 주파수 옵셋 추정기(1470)는 대략적인 주파수 옵셋이 보상된 기지 데이터로부터 미세 주파수 옵셋을 추정하여 가산기(1480)로 출력한다.The frequency offset estimator 1470 estimates the fine frequency offset from the known data with the approximate frequency offset compensated and outputs the fine frequency offset to the adder 1480.

상기 가산기(1480)는 대략적인 주파수 옵셋과 미세 주파수 옵셋을 더하고 그 결과를 초기 주파수 옵셋으로 하여 상기 복조기(1002) 내 반송파 복구부(1090)의 가산기(1095)로 출력한다. 즉, 본 발명은 초기 동기 획득시에 대략적인 주파수 옵셋 뿐만 아니라 미세 주파수 옵셋을 추정하여 이용함으로써, 초기 주파수 옵셋의 추정 성능을 향상시킬 수 있다. The adder 1480 adds an approximate frequency offset and a fine frequency offset and outputs the result as an initial frequency offset to the adder 1095 of the carrier recovery unit 1090 in the demodulator 1002. That is, the present invention can improve the estimation performance of the initial frequency offset by estimating and using the fine frequency offset as well as the coarse frequency offset when initial synchronization is acquired.

만일 상기 기지 데이터가 도 5와 같이 데이터 그룹 내에 삽입되어 전송된다고 가정하면, 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 상기 제1 기지 데이터 영역 내 ACQ 영역의 기지 데이터의 상관성을 이용하여 초기 주파수 옵셋을 추정할 수 있다. If it is assumed that the known data is inserted into the data group and transmitted as shown in FIG. 5, the known data detection and initial frequency offset estimator 1004-1 utilizes the correlation of the known data of the ACQ region in the first known data region. The initial frequency offset can be estimated.

그리고 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 추정한 필드 동기 위치 정보 및/또는 데이터 그룹에 주기적으로 삽입된 기지 데이터의 위치 정보는 타이밍 복구부(1080)의 타이밍 에러 검출기(1083)와 반송파 복구부(1090)의 주파수 옵셋 추정기(1092), 위상 보상부(1110)의 주파수 옵셋 추정기(1112), 등화기(1003)로 입력된다. The field synchronization position information estimated by the known data detection and initial frequency offset estimator 1004-1 and / or the position information of the known data periodically inserted into the data group are included in the timing error detector 1083 of the timing recovery unit 1080. ) And a frequency offset estimator 1092 of the carrier recovery unit 1090, a frequency offset estimator 1112 of the phase compensator 1110, and an equalizer 1003.

도 42는 도 41의 각 부분 상관기 중 하나의 구조를 나타낸 것이다. 상기 기지 데이터 검출 단계에서 수신 신호에는 주파수 옵셋이 포함되므로 각 부분 상관기는 송/수신측에서 약속에 의해 알고 있는 기준 기지 데이터를 L 심볼 길이를 갖는 K개의 부분으로 나누어 수신 신호의 해당 부분과 상관을 취한다. FIG. 42 shows the structure of one of the partial correlators of FIG. 41. In the known data detection step, since the received signal includes a frequency offset, each partial correlator divides the reference known data known by appointment on the transmitting / receiving side into K parts having an L symbol length to correlate the corresponding part of the received signal. Take it.

이를 위해 하나의 부분 상관기는 병렬로 구성된 K개의 위상 및 크기 검출부(1511~151K), 가산기(1520), 및 대략적 주파수 옵셋 추정부(1530)를 포함할 수 있다.To this end, one partial correlator may include K phase and magnitude detectors 1511 to 151K, an adder 1520, and an approximate frequency offset estimator 1530 configured in parallel.

상기 첫 번째 위상 및 크기 검출부(1511)는 L 심볼 버퍼(1511-2), 곱셈기(1511-3), 누산기(1511-4), 및 제곱기(1511-5)를 포함하여, K개의 구간 중 첫 번째 L 심볼 길이의 기지 데이터의 상관값을 구한다.The first phase and magnitude detector 1511 includes an L symbol buffer 1511-2, a multiplier 1511-3, an accumulator 1511-4, and a squarer 1511-5. The correlation value of the known data of the first L symbol length is obtained.

상기 두 번째 위상 및 크기 검출부(1512)는 L 심볼 지연기((1512-1), L 심볼 버퍼(1512-2), 곱셈기(1512-3), 누산기(1512-4), 및 제곱기(1512-5)를 포함하여, K개의 구간 중 두 번째 L 심볼 길이의 기지 데이터의 상관값을 구한다.The second phase and magnitude detector 1512 includes an L symbol delay unit 1512-1, an L symbol buffer 1512-2, a multiplier 1512-3, an accumulator 1512-4, and a squarer 1512. Including -5), a correlation value of known data having a length of the second L symbol among K intervals is obtained.

상기 K 번째 위상 및 크기 검출부(151K)는 (K-1)L 심볼 지연기((151K-1), L 심볼 버퍼(151K-2), 곱셈기(151K-3), 누산기(151K-4), 및 제곱기(151K-5)를 포함하여, K개의 구간 중 K번째 L 심볼 길이의 기지 데이터의 상관값을 구한다.The K-th phase and magnitude detector 151K includes a (K-1) L symbol delay unit (151K-1), an L symbol buffer 151K-2, a multiplier 151K-3, an accumulator 151K-4, And a squarer (151K-5) to obtain a correlation value of known data having a length of the K-th L symbol among K intervals.

상기 도 42의 각 곱셈기에서 수신 신호와 곱해지는 {P0,P1,...,PKL-1}는 송/수신측에서 알고 있는 기준 기지 데이터(즉, 수신측에서 발생시킨 기준 기지 데이터)를 나타내고, *는 복소 콘쥬게이트(complex conjugate)를 나타낸다. In each multiplier of FIG. 42, {P0, P1, ..., PKL-1}, which is multiplied with a received signal, represents reference known data (i.e., reference known data generated on the receiving side) known to the transmitting / receiving side. , * Represents a complex conjugate.

상기 첫 번째 위상 및 크기 검출부(1511)를 예로 들면, 도 41의 첫 번째 부분 상관부(1411)의 1/N 데시메이터에서 출력되는 신호는 첫 번째 위상 및 크기 검출부(1511)의 L 심볼 버퍼(1511-2)에서 일시 저장된 후 곱셈기(1511-3)로 입력된다. 상기 곱셈기(1511-3)는 상기 L 심볼 버퍼(1511-2)의 출력과 이미 알고 있는 K개의 구간 중 첫 번째 L 심볼 길이의 기지 데이터 P0,P1,...,PL-1를 복소 콘쥬게이트 곱하여 누산기(1511-4)로 출력한다. 상기 누산기(1511-4)는 L 심볼 동안 상기 곱셈기(1511-3)의 출력을 누산하여 제곱기(1511-5)와 대략적 주파수 옵셋 추정부(1530)로 출력한다. 상기 누산기(1511-4)의 출력은 위상과 크기를 가진 상관값이다. 따라서 상기 제곱기(1511-5)에서 상기 곱셈기(1511-4)의 출력에 절대치를 취하고 그 절대치를 제곱하면 상관값의 크기가 구해지며, 그 크기는 가산기(1520)로 입력된다. Taking the first phase and magnitude detector 1511 as an example, the signal output from the 1 / N decimator of the first partial correlator 1411 of FIG. 41 is an L symbol buffer (1) of the first phase and magnitude detector 1511. 1511-2) is temporarily stored and then input to the multiplier 1511-3. The multiplier 1511-3 complex conjugates the output of the L symbol buffer 1511-2 and the known data P0, P1, ..., PL-1 of the first L symbol length among the K intervals already known. Multiply and output to the accumulator 1511-4. The accumulator 1511-4 accumulates the output of the multiplier 1511-3 during the L symbol and outputs the result to the squarer 1511-5 and the coarse frequency offset estimator 1530. The output of the accumulator 1511-4 is a correlation value having a phase and a magnitude. Accordingly, when the squarer 1511-5 takes an absolute value at the output of the multiplier 1511-4 and squares the absolute value, the magnitude of the correlation value is obtained, and the magnitude is input to the adder 1520.

상기 가산기(1520)는 각 위상 및 크기 검출부(1511~151K)의 제곱기의 출력을 더하여 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)로 출력한다.The adder 1520 adds outputs of the squarers of the phase and magnitude detectors 1511 to 151K and outputs them to the known data position detection and frequency offset determiner 1420.

그리고 대략적 주파수 옵셋 추정부(1530)는 상기 각 위상 및 크기 검출부(1511~151K)의 누산기의 출력을 입력받아 해당 샘플링 위상에서 대략적인 주파수 옵셋을 추정하여 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)로 출력한다.The coarse frequency offset estimator 1530 receives the outputs of the accumulators of the phase and magnitude detectors 1511 to 151K, estimates a coarse frequency offset in the corresponding sampling phase, and detects the known data position and the frequency offset determiner 1420. )

상기 각 위상 및 크기 검출부(1511~151K)의 누산기에서 출력되는 K개의 입력을 {Z0,Z1,...,ZK -1} 이라고 할 경우 상기 대략적인 주파수 옵셋 추정기(130)의 출력은 다음의 수학식 7과 같이 구할 수 있다. When the K inputs outputted from the accumulators of the phase and magnitude detectors 1511 to 151K are {Z 0 , Z 1 ,..., Z K -1 }, the approximate frequency offset estimator 130 is output. Can be obtained as in Equation 7 below.

Figure 112008047588756-PAT00008
Figure 112008047588756-PAT00008

상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)는 각 샘플링 위상별 부분 상관기의 출력을 데이터 그룹 주기 또는 정해진 주기 동안 저장한 후 그 값들 가운데 상관값이 최대인 위치를 기지 데이터의 수신 위치로 판단하고 그 순간의 주파수 옵셋 추정 값을 수신 시스템의 대략적인 주파수 옵셋 값으로 결정한다. 예를 들어, 두 번째 부분 상관부(1412)의 부분 상관기의 출력 중 한 값이 최대값을 갖게 되면 그 위치를 기지 데이터 위치로 결정하고, 상기 두 번째 부분 상관부(1412)에서 추정된 대략적 주파수 옵셋을 최종 대략적 주파수 옵셋으로 결정하여 복조기(1002)로 출력한다. The known data position detection and frequency offset determiner 1420 stores the output of the partial correlator for each sampling phase for a data group period or a predetermined period, and determines a position where the correlation value is the maximum among the values as the reception position of the known data. The frequency offset estimation value of the instant is determined as an approximate frequency offset value of the receiving system. For example, when one of the outputs of the partial correlator of the second partial correlator 1412 has a maximum value, the position is determined as a known data position, and the approximate frequency estimated by the second partial correlator 1412 is determined. The offset is determined as the final coarse frequency offset and output to the demodulator 1002.

한편 상기 제2 곱셈기(1050)의 출력은 상기 타이밍 복구부(1080)의 데시메이터(1081)와 버퍼(1082)를 거쳐 타이밍 에러 검출기(Timing Error Detector)(1083)로 입력된다. The output of the second multiplier 1050 is input to a timing error detector 1083 through the decimator 1081 and the buffer 1082 of the timing recovery unit 1080.

만일 상기 제2 곱셈기(1050)의 출력이 N배로 오버샘플링(oversampling)되었 다면, 상기 제2 곱셈기(1050)의 출력은 데시메이터(1081)에서 1/N로 데시메이트된 후 버퍼(1082)로 입력된다. 즉, 상기 데시메이터(1081)는 VSB 심볼 주기로 입력 신호를 데시메이션한다. 또한 상기 데시메이터(1081)는 제2 곱셈기(1050)의 출력 대신 정합 필터(1060)의 출력을 입력받을 수도 있다. If the output of the second multiplier 1050 is oversampled by N times, the output of the second multiplier 1050 is decimated at decimator 1081 to 1 / N and then to buffer 1082. Is entered. That is, the decimator 1081 decimates the input signal in a VSB symbol period. The decimator 1081 may also receive the output of the matched filter 1060 instead of the output of the second multiplier 1050.

상기 타이밍 에러 검출기(1083)는 상기 정합 필터링 전 또는 후의 데이터와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 출력되는 기지 데이터 위치 정보를 이용하여 타이밍 에러를 검출한 후 루프 필터(1084)로 출력한다. 즉, 상기 타이밍 에러 검출기(1083)는 정합 필터링 전 또는 후의 기지 데이터 열로부터 타이밍 에러를 검출하여 루프 필터(1084)로 출력한다. 따라서 검출된 타이밍 에러 정보는 기지 데이터 열의 반복 주기마다 한 번씩 구해진다. The timing error detector 1083 detects a timing error using data before or after the matched filtering and known data detection and known data position information output from the initial frequency offset estimator 1004-1, and then loop filter 1084. Will output That is, the timing error detector 1083 detects a timing error from a known data string before or after matched filtering and outputs the timing error to the loop filter 1084. Therefore, the detected timing error information is obtained once for every repetition period of the known data string.

상기 타이밍 에러 검출기(1083)는 일 실시예로서, 만일 도 37과 같이 동일한 패턴을 갖는 기지 데이터 열이 주기적으로 삽입되어 전송된다면 상기 기지 데이터를 이용하여 타이밍 에러를 검출할 수 있다.As an example, the timing error detector 1083 may detect a timing error by using the known data if a known data string having the same pattern is periodically inserted and transmitted as shown in FIG. 37.

상기 기지 데이터를 이용하여 타이밍 에러를 검출하는 방법은 여러 가지가 있을 수 있다. 본 발명에서는 일 실시예로 시간 영역에서 송/수신측의 약속에 의해 알고 있는 기준 기지 데이터와 수신 데이터와의 상관 특성을 이용하여 타이밍 에러를 검출하거나, 주파수 영역에서 수신되는 두 기지 데이터의 상관 특성을 이용하여 타이밍 에러를 검출한다. 또 다른 실시예로, 수신 신호의 스펙트럼의 측대역을 이용하여 타이밍 에러를 검출하는 스펙트럴 라인 방법을 적용하여 타이밍 에러를 검출할 수도 있다. There may be various methods for detecting timing errors using the known data. According to an embodiment of the present invention, a timing error is detected by using correlation characteristics between reference base data and reception data known by a promise of a transmitting / receiving side in a time domain, or a correlation characteristic of two known data received in a frequency domain. To detect the timing error. In another embodiment, the timing error may be detected by applying a spectral line method of detecting a timing error using a sideband of a spectrum of a received signal.

상기 루프 필터(1084)는 상기 타이밍 에러 검출기(1083)에서 검출된 타이밍 에러를 필터링하여 유지기(1085)로 출력한다. The loop filter 1084 filters and outputs the timing error detected by the timing error detector 1083 to the maintainer 1085.

상기 유지기(1085)는 상기 루프 필터(1084)에서 필터링되어 출력되는 타이밍 에러를 기지 데이터 열의 주기동안 유지시킨 후 NCO(1086)로 출력한다. 여기서 상기 루프 필터(1084)와 유지기(1085)의 위치는 서로 바뀌어도 가능하다. 또한 상기 유지기(1085)의 기능을 루프 필터(1084)에 포함시키고, 유지기(1085)를 생략할 수도 있다.The retainer 1085 maintains the timing error filtered out by the loop filter 1084 for a period of a known data string and then outputs it to the NCO 1086. Here, the positions of the loop filter 1084 and the retainer 1085 may be interchanged. In addition, the function of the retainer 1085 may be included in the loop filter 1084, and the retainer 1085 may be omitted.

상기 NCO(1086)는 상기 유지기(1085)에서 출력되는 타이밍 에러를 누적하고, 누적된 타이밍 에러의 위상 성분 즉, 샘플링 클럭을 리샘플러(1040)로 출력하여 리샘플러(1040)의 샘플링 타이밍을 조절한다. The NCO 1086 accumulates the timing error output from the retainer 1085, and outputs the phase component of the accumulated timing error, that is, the sampling clock to the resampler 1040 to determine the sampling timing of the resampler 1040. Adjust.

도 43은 타이밍 복구부의 다른 실시예로서, 제1, 제2 타이밍 에러 검출기(1611,1612), 먹스(1613), 루프 필터(1614), 및 NCO(1615)를 포함한다. FIG. 43 illustrates another embodiment of the timing recovery unit, and includes first and second timing error detectors 1611 and 1612, a mux 1613, a loop filter 1614, and an NCO 1615.

방송 신호에 기지 데이터가 있는 영역과 없는 영역이 구분되어 전송되는 경우, 기지 데이터의 유무에 따라서 타이밍 에러를 검출하는 방법이 달라질 수 있다. 그리고, 기지 데이터 유무에 따라 적합한 타이밍 에러 검출기를 사용할 수 있다. 따라서 도 43의 경우, 일정 길이의 기지 데이터가 정해진 위치에 삽입되는 영역과 기지 데이터가 삽입되지 않은 영역으로 나누어 전송되는 경우에 적용하면 효과적인 경우이다.When a region having known data and a region having no known data are transmitted separately, a method of detecting a timing error may vary depending on the presence or absence of known data. And a timing error detector suitable for the presence or absence of known data can be used. Accordingly, in the case of FIG. 43, this is an effective case when it is applied to a case where a predetermined length of known data is inserted into a region inserted at a predetermined position and a region where known data is not inserted.

예를 들어, 제1 타이밍 에러 검출기(1611)는 수신된 신호의 스펙트럼의 측대역을 이용하여 타이밍 에러를 검출하고, 제2 타이밍 에러 검출기(1612)는 기지 데 이터를 이용하여 타이밍 에러를 검출한다고 가정하자.For example, the first timing error detector 1611 detects a timing error using the sideband of the spectrum of the received signal, and the second timing error detector 1612 uses a known data to detect the timing error. Suppose

그러면 먹스(1613)는 기지 데이터가 없는 영역에서는 제1 타이밍 에러 검출기(1611)의 출력을 선택하고, 기지 데이터가 있는 영역에서는 제2 타이밍 에러 검출기(1612)의 출력을 선택하여 루프 필터(1614)로 출력하도록 설계할 수 있다. 또는 기지 데이터가 있는 영역에서는 제 1 타이밍 에러 검출기(1611)의 출력과 제2 타이밍 에러 검출기(1612)의 출력을 통합하여 루프 필터(1614)로 출력하는 것도 가능하다. 이렇게 하면 기지 데이터가 있는 영역에서는 기지 데이터를 이용하여 보다 신뢰도가 높은 타이밍 에러를 검출함으로써, 타이밍 클럭을 더욱 안정되게 복원할 수 있게 된다. The mux 1613 then selects the output of the first timing error detector 1611 in the region where there is no known data, and selects the output of the second timing error detector 1612 in the region where the known data is present, thereby providing a loop filter 1614. Can be designed to output Alternatively, in the region where the known data exists, the output of the first timing error detector 1611 and the output of the second timing error detector 1612 may be integrated and output to the loop filter 1614. This makes it possible to restore the timing clock more stably by detecting more reliable timing errors using the known data in the region where the known data exists.

상기 기지 데이터를 이용한 타이밍 에러 검출 방법은 여러 가지가 있을 수 있다. 여기에서는 타이밍 에러 검출 방법에 대해 두 개의 실시예를 개시한다. 하나는 시간 영역에서 송/수신측의 약속에 의해 알고 있는 기준 기지 데이터와 수신 데이터와의 상관 특성을 이용하여 타이밍 에러를 검출하는 방법이고, 다른 하나는 주파수 영역에서 수신되는 두 기지 데이터의 상관 특성을 이용하여 타이밍 에러를 검출하는 방법이다. The timing error detection method using the known data may be various. Two embodiments are described here for the timing error detection method. One method is to detect a timing error by using a correlation characteristic between reference base data and received data known by a promise of a transmitting / receiving party in a time domain, and the other is a correlation characteristic of two known data received in a frequency domain. Is a method of detecting timing errors.

도 44와 도 45는 송/수신측의 약속에 의해 알고 있는 기준 기지 데이터(즉, 수신측에서 발생한 기준 데이터)와 수신된 신호의 상관값을 구하여 타이밍 에러를 검출하는 예를 보인다. 44 and 45 show an example of detecting a timing error by obtaining a correlation value between the reference known data (i.e., reference data generated at the receiving side) and the received signal which are known by an appointment at the transmitting / receiving side.

먼저, 도 44의 (a)는 데이터 블록 주기마다 반복되는 기준 기지 데이터 열 전체를 수신된 신호열에 맞추어 이동시키면서 수신된 신호열과 상관값을 구하는 예 를 도시한다. 이때 기준 기지 데이터 열과 수신 신호간의 상관값은 도 44의 (b)에 보인 바와 같이 수신 신호의 기지 데이터 열 마지막 심볼 위치에서 최대치 또는 피크 값을 출력한다. First, FIG. 44A shows an example of obtaining a received signal sequence and a correlation value while moving the entire reference known data sequence repeated every data block period in accordance with the received signal sequence. At this time, the correlation value between the reference known data string and the received signal outputs a maximum value or a peak value at the last symbol position of the known data string of the received signal, as shown in (b) of FIG. 44.

도 45의 (a)는 기지 데이터 열을 둘 이상의 부분으로 나누어 상관값을 구하는 예를 개시한다. 이 경우 기지 데이터의 상관값의 피크들은 각 기지 데이터가 분리된 부분의 마지막 심볼 위치에 발생한다. 그리고, 발생한 피크값을 하나의 값으로 합산 등의 연산을 통해 최종 피크값을 산출할 수 있다. 도 45의 (b)는 기지 데이터가 3부분으로 나누어 상관될 경우, 각 상관값들과 그 상관값들의 합인 최종 치크값을 나타낸다. 45A illustrates an example of dividing a known data string into two or more portions to obtain a correlation value. In this case, the peaks of the correlation values of the known data occur at the last symbol position of the part where each known data is separated. The final peak value may be calculated by calculating the sum of the generated peak values as one value. 45 (b) shows a final cheek value that is the sum of the correlation values and the correlation values when the known data is correlated into three parts.

상기 타이밍 에러는 상관값의 피크 위치로부터 산출할 수 있다. 도 44와 같이 하나의 기지 데이터 열 전체를 이용하여 하나의 상관값을 구할 경우 타이밍 에러 검출은 매 데이터 블록 주기마다 한 번씩 검출될 수 있다. 그러나 기지 데이터 열을 도 45와 같이 나누어서 수신된 신호와 상관값을 구하면 기지 데이터 열을 전체에 대한 상관 정도가 떨어질 경우 더 정확한 타이밍 에러를 산출할 수 있다. 나눈 수 만큼에 해당하는 상관값의 피크를 얻을 수 있다. The timing error can be calculated from the peak position of the correlation value. As shown in FIG. 44, when one correlation value is obtained using one entire known data string, timing error detection may be detected once every data block period. However, by dividing the known data sequence as shown in FIG. 45 to obtain a correlation value with the received signal, a more accurate timing error can be calculated when the known data sequence has a low correlation with the whole. The peak of the correlation value corresponding to the divided number can be obtained.

하나의 기지 데이터 열을 나누어 다수의 상관 피크값을 얻고 이를 합산 등의 연산을 하나의 피크값을 산출할 경우 전체 기지 데이터 열을 이용하는 경우보다 기지 데이터 열을 부분으로 나누어 상관값을 구하는 것이 반송파 주파수 에러의 영향을 줄일 수 있다. 또한, 다수의 상관 피크값을 각각 이용하여 타이밍 에러를 검출하는 경우에는 타이밍 복원 속도가 빨라질 수 있다. 예를 들어, 송/수신측에서 약 속에 의해 알고 있는 기준 기지 데이터 열을 K개의 부분으로 나누어 수신 신호와 상관을 취하면 상기 기지 데이터 열에서 K개만큼 상관값의 피크를 얻을 수 있으며, 그 수만큼의 타이밍 에러, 또는 조합에 의해 조정된 개수의 타이밍 에러를 얻을 수 있다. 그러므로 전체 기지 데이터 열을 이용하는 경우는 타이밍 에러 검출값의 분산은 적으나 적용 주기가 길어지게 되고, 부분 기지 데이터 열을 이용하는 경우는 전체를 이용하는 경우에 비해 분산은 약간 증가하나 적응 주기를 줄일 수도 있다. When a single peak data is obtained by dividing a single known data string, and a peak value is calculated by summing these operations, it is necessary to obtain a correlation value by dividing the known data string into parts rather than using the entire known data string. The effect of errors can be reduced. In addition, when timing errors are detected using a plurality of correlation peak values, respectively, the timing restoration speed may be increased. For example, by dividing the reference known data stream known to the drug on the transmitting / receiving side into K parts and correlating the received signal with the received signal, the peaks of the correlation values in the known data stream can be obtained by K. As much as the timing error or the number of timing errors adjusted by the combination can be obtained. Therefore, when the full known data sequence is used, the dispersion of timing error detection values is small but the application period is long. When the partial known data sequence is used, the dispersion may be slightly increased, but the adaptation period may be shortened compared to the case where the full known data sequence is used. .

타이밍 에러는 상관값의 피크 부분으로부터 산출할 수 있다. 그러므로 도 46과 같이 기지 데이터 열 전체를 이용하여 하나의 상관값을 구하면 타이밍 에러는 매 데이터 블록 주기로 한 번씩 검출된다. 그러나 기지 데이터 열을 도 45와 같이 나누어서 수신된 신호와 상관값을 구하면 기지 데이터 열을 나눈 수 만큼에 해당하는 상관값의 피크를 얻을 수 있고 그 나눈 수만큼의 타이밍 에러를 검출하는 것이 가능하다. The timing error can be calculated from the peak portion of the correlation value. Therefore, as shown in FIG. 46, when one correlation value is obtained using the entire known data string, timing errors are detected once every data block period. However, by dividing the known data stream as shown in FIG. 45 to obtain a correlation value with the received signal, the peak of the correlation value corresponding to the number of known data streams can be obtained and the timing error can be detected as much as the divided number.

도 46을 참조하여 도 44와 도 45에서 설명한 기준 기지 데이터와 수신 데이터 간의 상관값을 구하여 타이밍 에러를 검출하는 방법에 대해 자세히 설명한다. 상기 도면에서 굵은 점은 기지 데이터와 수신 데이터 간의 상관값을 표시한 것이고 실선은 상기 점들의 흐름을 대략적으로 이은 것이다. 상기 점들은 심볼 클럭의 두 배 빠른 주기로 샘플링한 샘플들에 대해 상관값을 구한 것을 나타낸다. A method of detecting a timing error by obtaining a correlation value between the reference known data and the received data described with reference to FIGS. 44 and 45 will be described in detail with reference to FIG. 46. In the figure, bold points indicate correlation values between known data and received data, and solid lines indicate the flow of the points approximately. The points indicate that correlation values are obtained for samples sampled at twice the period of the symbol clock.

도 46에서 랜덤 데이터에 의한 영향을 배제하고 잡음이 없고 타이밍 클럭의 오차가 없다면 기준 기지 데이터 열과 수신 데이터 열의 상관값은 상기 도면에서 실선의 모양과 유사하게 피크를 중심으로 좌우 대칭 형태로 나타난다. 그러나 타이 밍 위상 에러가 있다면 피크의 바로 앞 뒤 샘플들의 대칭형이 유지되지 않고 차이가 생기게 된다. 그러므로 상관값을 이용한 타이밍 에러 검출은 피크 값의 바로 이전 값과 이후 값의 차에 비례한 값을 이용하여 산출할 수 있다. In FIG. 46, if the influence of the random data is excluded and there is no noise and there is no error in the timing clock, the correlation value of the reference known data stream and the received data stream is shown in left and right symmetrical form with respect to the peak, similar to the shape of the solid line in the figure. However, if there is a timing phase error, the symmetry of the samples immediately before and after the peak is not maintained and there is a difference. Therefore, the timing error detection using the correlation value can be calculated using a value proportional to the difference between the immediately preceding value and the subsequent value of the peak value.

도 47은 전술한 기준 기지 데이터와 수신 신호의 상관값을 이용하여 시간 영역에서 타이밍 에러를 검출하는 타이밍 에러 검출기의 예를 보인 상세 블록도이다. 도 47의 예는 상관기(1701), 다운 샘플러(1702), 절대값 연산기(1703), 지연기(1704), 및 감산기(1705)를 포함한다. FIG. 47 is a detailed block diagram illustrating an example of a timing error detector that detects a timing error in the time domain by using the correlation value of the above-mentioned reference known data and a received signal. The example of FIG. 47 includes a correlator 1701, a down sampler 1702, an absolute value operator 1703, a delayer 1704, and a subtractor 1705.

상기 상관기(1701)는 심볼 클럭 주파수의 두 배 이상으로 빠른 클럭으로 샘플링된 데이터를 입력받아 기지 데이터 심볼 열과 상관값을 계산하여 다운 샘플러(1702)로 출력한다. 상기 다운 샘플러(1702)는 상관값을 샘플링 비율만큼 다운 샘플링하여 심볼 주파수의 샘플을 얻는다. 예를 들어, 상기 상관기(1701)로 입력되는 수신 데이터가 2배의 심볼 주파수로 샘플링된 데이터라면 상기 다운 샘플러(1701)는 1/2 다운 샘플링하여 심볼 주파수의 샘플을 얻는다. 상기 다운 샘플러(1701)의 상관값은 절대값 연산기(1703)로 입력되고, 상기 절대값 연산기(1703)는 다운 샘플링된 상관값들의 절대값 또는 절대값의 제곱을 구하여 위상 성분이 없는 크기값의 성분으로 변환한다. 상기 절대값 연산기(1703)의 출력은 지연기(1704)와 감산기(1705)로 제공된다. 상기 감산기(1705)는 상기 지연기(1704)에서 1 심볼 지연된 절대값 또는 절대값의 제곱과 현재 절대값 또는 절대값의 제곱의 차를 타이밍 에러 값으로 출력한다. 즉, 상기 절대값 연산기(1703)의 출력을 한 심볼만큼 지연시킨 값과 상기 절대값 연산기(1703)의 출력값의 차가 곧 타이밍 위상 에러에 비 례하는 값이 된다. The correlator 1701 receives data sampled at a clock faster than twice the symbol clock frequency, calculates a correlation with a known data symbol string, and outputs the correlation value to the down sampler 1702. The down sampler 1702 downsamples the correlation value by the sampling rate to obtain a sample of the symbol frequency. For example, if the received data input to the correlator 1701 is sampled at twice the symbol frequency, the down sampler 1701 downsamples 1/2 to obtain a sample of the symbol frequency. The correlation value of the down sampler 1701 is input to an absolute value calculator 1703, and the absolute value calculator 1703 obtains the absolute value or the square of the absolute value of the down-sampled correlation values to obtain a magnitude value having no phase component. Convert to component. The output of the absolute value calculator 1703 is provided to a delayer 1704 and a subtractor 1705. The subtractor 1705 outputs a difference between the square of the absolute value or the absolute value delayed by one symbol in the delayer 1704 and the square of the current absolute value or the absolute value as a timing error value. That is, the difference between the value of delaying the output of the absolute value calculator 1703 by one symbol and the output value of the absolute value calculator 1703 becomes a value proportional to the timing phase error.

여기서 각 블록의 선후 관계는 절대적이지 않고 결과값이 바뀌지 않는 논리적으로 타당한 범위 내에서 서로 순서를 바꾸어 연산할 수 있다. 예를 들어, 다운 샘플러, 상관기, 절대값 연산기 순으로 연산을 수행할 수도 있고, 상관기, 절대값 연산기, 다운 샘플러 순으로 연산을 수행할 수도 있다. Here, the procedural relationship of each block is not absolute and can be calculated by reordering each other within a logically valid range in which the result value does not change. For example, the operation may be performed in order of the down sampler, the correlator, and the absolute value calculator, or the operation may be performed in the order of the correlator, the absolute value operator, and the down sampler.

타이밍 에러는 기지 데이터의 주파수 특성을 이용하여 검출할 수도 있다. 타이밍 주파수 에러가 발생하면 주파수 영역의 신호의 대역 내에서 주파수가 증가할수록 위상이 일정하게 증감하고, 현재 블록에 비해 다음 블록의 주파수에 따라 위상의 증감하는 기울기가 변하는 현상이 나타나게 된다. 그러므로 기지 데이터 두 블록간의 주파수 특성을 이용한 주파수에 따른 위상 변화의 기울기를 검출하여 타이밍 주파수 에러로 사용할 수 있다. The timing error may be detected using the frequency characteristic of the known data. When a timing frequency error occurs, the phase increases and decreases as the frequency increases within the band of the signal in the frequency domain, and the slope of the phase increases and decreases according to the frequency of the next block compared to the current block. Therefore, the slope of the phase change according to the frequency using the frequency characteristic between two known data blocks can be detected and used as a timing frequency error.

도 48은 상기 기술한 기지 데이터의 주파수 특성을 이용하여 타이밍 주파수 에러를 검출하는 예를 예시한다. 현재 수신된 기지 데이터 열을 고속 푸리에 변환(Fast Fourier Transform ; FFT)하여 주파수 영역의 신호로 변환하고, 이전에 수신된 기지 데이터 열을 FFT하여 주파수 영역의 신호로 변환한다. 그리고, 이전 기지 데이터 열의 주파수 응답의 콘쥬게이트(conjugate) 값과 현재 기지 데이터 열의 주파수 응답의 각 주파수 값끼리 곱하여 주파수 영역에서 상관값을 산출한다. 즉, 이전 기지 데이터 열의 주파수 값과 현재 기지 데이터 열의 주파수 값의 상관값을 얻음으로써 각 주파수에서 기지 데이터 블록 간의 위상 변화를 추출할 수 있다. 그리고, 채널에 의한 위상 왜곡의 영향을 없앨 수도 있다. 48 exemplifies an example of detecting a timing frequency error using the above-described frequency characteristic of known data. A fast Fourier transform (FFT) of the currently received known data stream is transformed into a signal in the frequency domain, and a previously received known data stream is transformed into a signal in the frequency domain by FFT. A correlation value is calculated in the frequency domain by multiplying a conjugate value of the frequency response of the previous known data stream by each frequency value of the frequency response of the current known data stream. That is, the phase change between the known data blocks can be extracted at each frequency by obtaining a correlation value between the frequency values of the previous known data stream and the frequency values of the current known data stream. In addition, the influence of the phase distortion caused by the channel can be eliminated.

복소수 VSB 신호의 주파수 응답은 VSB 특성으로 인해 도 46의 주파수 응답 예와 같이 전체 영역에 값이 존재하지 않고 반쪽에만 존재하기 때문에 주파수 영역의 상관값 역시 반쪽 영역에만 존재한다. 주파수 영역에서 상관값의 위상 기울기를 구하기 위해, 상관값이 존재하는 주파수 영역을 둘로 나누고, 각 영역에서 해당 영역 내 상관값들을 모두 합한 값들의 각각 위상들을 구한다. 그리고, 두 영역에서 각기 구한 두 위상 간의 차이를 구하면 타이밍 주파수 에러를 산출할 수 있다. Since the frequency response of the complex VSB signal is not present in the whole region but only in the half, as in the example of the frequency response of FIG. 46, the frequency response of the complex VSB signal also exists only in the half region. In order to obtain the phase slope of the correlation value in the frequency domain, the frequency domain in which the correlation value exists is divided into two, and each phase of the values of the sum of the correlation values in the corresponding region in each region is obtained. In addition, the timing frequency error may be calculated by obtaining the difference between the two phases respectively obtained in the two regions.

각 주파수에서 상관값을 더한 후 위상을 구하는 것은 각 상관값의 성분을 크기와 위상으로 나누어볼 때, 각 상관값의 크기 성분은 곧 신뢰도와 비례하고 이 크기에 비례하는 형태로 각 상관값의 위상 성분이 최종 위상 성분에 영향을 주도록 하기 위함이다. To calculate the phase after adding correlation values at each frequency, when the components of each correlation value are divided into magnitude and phase, the magnitude component of each correlation value is proportional to the reliability and is proportional to this magnitude. This is to allow the component to affect the final phase component.

도 49는 도 48에 개시한 방법으로 타이밍 에러를 검출할 수 있는 예를 개시한다. 도 49의 타이밍 에러 검출기는 FFT부(1801), 제1 지연기(1802), 콘쥬게이터(1803), 곱셈기(1804), 가산기(1805), 위상 추출기(1806), 제2 지연기(1807), 및 감산기(1808)를 포함한다. 여기서 상기 제1 지연기(1802)는 1 데이터 블록 지연기이고, 제2 지연기(1807)는 1/4 데이터 블록 지연기를 실시예로 한다. 상기 1 데이터 블록이란 N개의 기지 데이터 심볼 열의 주파수 응답으로 구성된 하나의 블록을 의미한다.FIG. 49 discloses an example in which timing errors can be detected by the method disclosed in FIG. 48. The timing error detector of FIG. 49 includes an FFT unit 1801, a first delayer 1802, a conjugator 1803, a multiplier 1804, an adder 1805, a phase extractor 1806, and a second delayer 1807. , And a subtractor 1808. Here, the first delayer 1802 is one data block delayer, and the second delayer 1807 is a quarter data block delayer. The one data block means one block composed of frequency responses of N known data symbol strings.

즉, 기지 데이터 영역이 알려지고 수신된 데이터 심볼 열이 입력되면, 상기 FFT부(1801)는 입력되는 데이터 심볼 열 중에서 연속적인 N개의 기지 데이터 열의 복소수 값을 주파수 영역의 복소수 값으로 변환하여 제1 지연기(1802)와 곱셈 기(1804)로 출력한다. 상기 제1 지연기(1802)는 기지 데이터의 주파수 영역의 복소수 값을 1 데이터 블록만큼 지연시켜 콘쥬게이터(1803)로 출력하고, 상기 콘쥬게이터(1803)는 입력 복소수 값을 콘쥬게이팅하여 곱셈기(1804)로 출력한다. 상기 곱셈기(1804)는 FFT부(1801)에서 출력되는 현재 데이터 블록의 기지 데이터와 콘쥬게이터(1803)에서 출력되는 이전 데이터 블록의 기지 데이터를 샘플 단위로 복소 콘쥬게이트 곱하여 가산기(1805)로 출력한다. 즉, 상기 곱셈기(840)의 출력은 한 기지 데이터 블록 내 주파수 영역의 상관값들이다.That is, when a known data area is known and a received data symbol string is input, the FFT unit 1801 converts a complex value of consecutive N known data strings among the input data symbol strings into a complex value of a frequency domain, thereby obtaining a first value. Output to delay unit 1802 and multiplier 1804. The first delayer 1802 delays the complex value in the frequency domain of the known data by one data block and outputs the result to the conjugator 1803, and the conjugator 1803 conjugates the input complex value to the multiplier 1804. ) The multiplier 1804 multiplies the known data of the current data block output from the FFT unit 1801 with the known data of the previous data block output from the conjugator 1803 in sample units and outputs the complex data to the adder 1805. . That is, the outputs of the multiplier 840 are correlation values in the frequency domain within one known data block.

이때 복소수의 VSB 데이터는 주파수 영역에서 절반 영역에만 데이터가 존재하므로, 상기 가산기(1805)는 상기 기지 데이터 블록 내 의미있는 데이터 영역을 다시 반으로 나누고, 각 영역에서 해당 영역의 상관값들을 누산한 후 위상 추출기(1806)로 출력한다. 상기 위상 추출기(1806)는 의미있는 두 데이터 영역 내 누산값으로부터 위상 정보만을 각각 추출하여 제2 지연기(1807)와 감산기(1808)로 출력한다. 상기 제2 지연기(1807)에서 1/4 블록 지연된 위상 정보는 감산기(1808)로 입력된다.In this case, since the complex VSB data exists only in the half region in the frequency domain, the adder 1805 divides the meaningful data region in the known data block in half again and accumulates correlation values of the corresponding region in each region. Output to phase extractor 1806. The phase extractor 1806 extracts only phase information from the accumulated values in the two meaningful data regions and outputs the phase information to the second delayer 1807 and the subtractor 1808, respectively. Phase information delayed by a quarter block in the second delayer 1807 is input to the subtractor 1808.

상기 감산기(1808)는 제2 지연기(1807)에서 1/4 데이터 블록 지연된 위상 정보와 상기 위상 추출기(860)의 위상 정보와의 차를 구하고, 이 값을 타이밍 주파수 에러 값으로 출력한다.The subtractor 1808 obtains the difference between the phase information delayed by the 1/4 data block in the second delayer 1807 and the phase information of the phase extractor 860, and outputs this value as a timing frequency error value.

본 발명의 일 실시예에서와 같이 시간 영역에서 기지 데이터와 수신 신호간의 상관값을 구하고 그것의 피크에서 타이밍 에러를 구하는 방법은 수신 신호가 시간 지연에 따른 다중 경로 채널을 겪는 경우, 상기 상관값의 모양이 채널에 영향을 많이 받게 되는 단점이 있으나, 다른 실시예에서와 같이 이전 수신한 기지 데이터와 이후 수신한 기지 데이터의 상관값을 이용하여 타이밍 에러를 구하는 경우는 채널의 영향을 줄일 수 있다.As in an embodiment of the present invention, a method of obtaining a correlation value between known data and a received signal in a time domain and a timing error at its peak is performed when the received signal undergoes a multipath channel with a time delay. Although the shape may be affected by the channel a lot, in the case of obtaining a timing error by using a correlation value between previously received known data and subsequently received known data, the influence of the channel may be reduced.

또한, 상기 설명한 타이밍 에러 검출 방법은 송신기에서 삽입한 기지 데이터 열 전부를 사용하여 타이밍 에러 검출을 수행할 수도 있고, 시간 지연에 따른 다중 경로 채널의 영향을 없애기 위해 채널에 따른 랜덤 데이터의 영향이 적은 기지 데이터 열의 일부만을 취하여 타이밍 에러 검출을 수행할 수도 있다.In addition, the timing error detection method described above may perform timing error detection using all of the known data strings inserted by the transmitter, and in order to eliminate the influence of the multipath channel due to time delay, the influence of the random data according to the channel is less. Only part of the known data stream may be taken to perform timing error detection.

한편 상기 DC 제거기(1070)는 정합 필터링된 신호로부터 송신측에서 삽입된 파일럿 톤(즉, DC)을 제거한 후 위상 보상부(1110)로 출력한다. Meanwhile, the DC remover 1070 removes the pilot tone (that is, DC) inserted at the transmitting side from the matched filtered signal and outputs it to the phase compensator 1110.

도 50은 본 발명에 따른 DC 제거기의 일 실시예를 보인 상세 블록도로서, 복소 입력 신호의 실수 성분(In-phase, I)과 허수 성분(Quadrature, Q)에 대해 동일한 신호 처리 과정을 거쳐 각 성분에서의 DC 값을 추정한 후 제거한다. FIG. 50 is a detailed block diagram illustrating an embodiment of a DC eliminator according to the present invention. Each of the real components (In-phase, I) and imaginary components (Quadrature, Q) of a complex input signal is subjected to the same signal processing. The DC value in the component is estimated and then removed.

이를 위해 도 50은 크게 제1,제2 DC 추정 및 제거기(1900,1950)로 구성된다. For this purpose, FIG. 50 is largely comprised of first and second DC estimators and removers 1900 and 1950.

상기 제1 DC 추정 및 제거기(1900)는 R 샘플 버퍼(1901), DC 추정기(1902), M 샘플 유지기(1903), C 샘플 지연기(1904), 및 감산기(1905)를 포함하여, 실수 성분의 DC를 추정하여 제거한다. The first DC estimator and remover 1900 includes an R sample buffer 1901, a DC estimator 1902, an M sample maintainer 1901, a C sample delayer 1904, and a subtractor 1905. The DC of the component is estimated and removed.

상기 제2 DC 추정 및 제거기(1950)는 R 샘플 버퍼(1951), DC 추정기(1952), M 샘플 유지기(1953), C 샘플 지연기(1954), 및 감산기(1955)를 포함하여, 허수 성분의 DC를 추정하여 제거한다. The second DC estimator and remover 1950 includes an R sample buffer 1951, a DC estimator 1952, an M sample maintainer 1953, a C sample delayer 1954, and a subtractor 1955. The DC of the component is estimated and removed.

본 발명에서는 제1,제2 DC 추정 및 제거기(1900,1950)의 입력 신호만 다를 뿐 두 구조가 동일하므로 제1 DC 추정 및 제거기(1900)에 대해서 상세히 설명하고, 제2 DC 추정 및 제거기(1950)의 상세 설명은 생략한다. In the present invention, since only two input structures of the first and second DC estimator and cancellers 1900 and 1950 are different, the first DC estimator and canceller 1900 will be described in detail. Detailed description of 1950 is omitted.

즉, 정합 필터(1060)에서 정합 필터링된 실수 성분의 신호는 DC 제거기(1070) 내 제1 DC 추정 및 제거기(1900)의 R 샘플 버퍼(1901)로 입력되어 저장된다. 상기 R 샘플 버퍼(1901)는 R 샘플 길이를 갖는 버퍼이며, 상기 R 샘플 버퍼(1901)의 출력은 DC 추정기(1902)와 C 샘플 지연기(1904)로 입력된다.That is, the signal of the real component matched and filtered by the matched filter 1060 is input to and stored in the R sample buffer 1901 of the first DC estimator and the remover 1900 in the DC remover 1070. The R sample buffer 1901 is a buffer having an R sample length, and an output of the R sample buffer 1901 is input to the DC estimator 1902 and the C sample delayer 1904.

상기 DC 추정기(1902)는 상기 버퍼(1901)에서 출력되는 R 샘플 길이의 데이터를 이용하여 하기의 수학식 8과 같이 DC 값을 추정한다. The DC estimator 1902 estimates a DC value using Equation 8 below using data of the R sample length output from the buffer 1901.

Figure 112008047588756-PAT00009
Figure 112008047588756-PAT00009

상기 수학식 8에서 x[n]은 버퍼(1901)에 저장된 입력 샘플 데이터를 나타내고, y[n]은 DC 추정값을 나타낸다.In Equation 8, x [n] represents input sample data stored in the buffer 1901, and y [n] represents a DC estimated value.

즉, 상기 DC 추정기(1902)는 버퍼(1901)에 저장된 R개 샘플 데이터를 누적한 후 R로 나눈 값으로 DC 값을 추정하는데 이때, 버퍼(1901)에 저장된 입력 샘플 데이터를 M 샘플만큼 이동(shift)시켜 M 샘플마다 한 번씩 DC 추정값을 내보낸다. That is, the DC estimator 1902 accumulates the R sample data stored in the buffer 1901 and estimates the DC value by dividing by R. At this time, the input sample data stored in the buffer 1901 is moved by M samples ( shift) to output a DC estimate once every M samples.

도 51은 DC 추정에 사용되는 입력 샘플 데이터의 이동을 나타낸다. 예를 들어, M=1일 경우 DC 추정기(1902)는 버퍼(1901)에 매 샘플이 이동할 때마다 DC 값을 추정하여 매 샘플마다 그 결과를 내보낸다. 만일 M=R일 경우 DC 추정기(1902)는 버 퍼(1901)에 R 샘플이 이동할 때마다 DC 값을 추정하여 R 샘플마다 출력을 내보내므로, 이 경우 DC 추정기(1902)는 R 샘플의 블록 단위로 동작하는 DC 추정기가 된다. 여기서 상기 M 값은 1과 R 사이의 어떤 값도 가능하다. 51 shows the movement of input sample data used for DC estimation. For example, when M = 1, the DC estimator 1902 estimates the DC value every time the sample moves to the buffer 1901 and outputs the result every sample. If M = R, the DC estimator 1902 estimates the DC value each time the R sample moves to the buffer 1901 and outputs the output for each R sample. In this case, the DC estimator 1902 is a block unit of the R samples. DC estimator Wherein the M value can be any value between 1 and R.

이와 같이 상기 DC 추정기(1902)의 출력은 M 샘플마다 나오므로, M 샘플 유지기(1903)는 DC 추정기(1902)에서 추정된 DC 값을 M 샘플 동안 유지시켜 감산기(1905)로 출력한다. 그리고 C 샘플 지연기(1904)는 버퍼(1901)에 저장된 입력 샘플 데이터를 C 샘플만큼 지연시킨 후 감산기(1905)로 출력한다. 상기 감산기(1905)는 C 샘플 지연기(1904)의 출력에서 M 샘플 유지기(1903)의 출력을 빼, 실수 성분의 DC가 제거된 신호를 출력한다.As described above, since the output of the DC estimator 1902 is generated every M samples, the M sample maintainer 1903 maintains the DC value estimated by the DC estimator 1902 for M samples and outputs the result to the subtractor 1905. The C sample delayer 1904 delays the input sample data stored in the buffer 1901 by C samples and outputs the result to the subtractor 1905. The subtractor 1905 subtracts the output of the M sample retainer 1903 from the output of the C sample delayer 1904 and outputs a signal from which the DC of the real component is removed.

여기서, 상기 C 샘플 지연기(1904)는 상기 DC 추정기(1902)의 출력을 어느 부분의 입력 샘플 데이터에 보상해 줄지를 결정한다. 구체적으로, DC 추정 및 제거기(1900)는 DC를 추정하는 DC 추정기(1902)와 추정된 DC 값을 입력 샘플 데이터에 보상해주는 감산기(1905)로 나누어 볼 수 있다. 이때 상기 C 샘플 지연기(1904)는 추정된 DC 값을 입력 샘플 데이터의 어느 부분에 보상할 지를 결정한다. 예를 들어, C = 0이면 R 샘플을 이용해 DC 추정한 값을 R 샘플의 처음 부분에 보상해 주게 되고, C = R이면 R 샘플을 이용해 DC 추정한 값을 R 샘플의 끝 부분에 보상하게 된다. Here, the C sample delayer 1904 determines which portion of the input sample data to compensate for the output of the DC estimator 1902. In detail, the DC estimator 1900 may be divided into a DC estimator 1902 for estimating DC and a subtractor 1905 for compensating the estimated DC value with input sample data. In this case, the C sample delayer 1904 determines which part of the input sample data is compensated for. For example, if C = 0, the DC estimate using the R sample is compensated at the beginning of the R sample. If C = R, the DC estimate using the R sample is compensated at the end of the R sample. .

상기와 같은 방법으로 DC가 제거된 데이터는 위상 보상부(1110)의 버퍼(1111)와 주파수 옵셋 추정기(1112)로 입력된다. The DC-free data is input to the buffer 1111 and the frequency offset estimator 1112 of the phase compensator 1110 as described above.

한편, 도 52는 본 발명에 따른 DC 제거기의 다른 실시예를 보인 상세 블록도 로서, 복소 입력 신호의 실수 성분(In-phase, I)과 허수 성분(Quadrature, Q)에 대해 동일한 신호 처리 과정을 거쳐 각 성분에서의 DC 값을 추정한 후 제거한다. FIG. 52 is a detailed block diagram illustrating another embodiment of the DC eliminator according to the present invention, and performs the same signal processing on the real component (In-phase, I) and the imaginary component (Q) of the complex input signal. After estimating the DC value in each component, remove it.

이를 위해 도 52도 크게 제1,제2 DC 추정 및 제거기(2100,2150)로 구성된다. 도 52는 IIR(Infinite Impulse Reponse) 구조이다. For this purpose, FIG. 52 is largely composed of first and second DC estimators and removers 2100 and 2150. 52 is an Infinite Impulse Reponse (IIR) structure.

상기 제1 DC 추정 및 제거기(2100)는 곱셈기(2101), 가산기(2102), 1 샘플 지연기(2103), 곱셈기(2104), C 샘플 지연기(2105), 및 감산기(2106)를 포함하여, 실수 성분의 DC를 추정한 후 제거한다. The first DC estimator and remover 2100 includes a multiplier 2101, an adder 2102, a one sample delayer 2103, a multiplier 2104, a C sample delayer 2105, and a subtractor 2106. After estimating the DC of the real component, remove it.

상기 제2 DC 추정 및 제거기(2150)는 곱셈기(2151), 가산기(2152), 1 샘플 지연기(2153), 곱셈기(2154), C 샘플 지연기(2155), 및 감산기(2156)를 포함하여, 허수 성분의 DC를 추정한 후 제거한다. The second DC estimator and remover 2150 includes a multiplier 2151, an adder 2152, a one sample delayer 2153, a multiplier 2154, a C sample delayer 2155, and a subtractor 2156. After estimating the DC of the imaginary component, remove it.

본 발명에서는 제1,제2 DC 추정 및 제거기(2100,2150)의 입력 신호만 다를 뿐 두 구조가 동일하므로 제1 DC 추정 및 제거기(2100)에 대해서 상세히 설명하고, 제2 DC 추정 및 제거기(2150)의 상세 설명은 생략한다. In the present invention, since only two input signals of the first and second DC estimators and removers 2100 and 2150 are different, the first DC estimator and the remover 2100 will be described in detail, and the second DC estimator and the remover 2 will be described in detail. Detailed description of 2150 will be omitted.

즉, 정합 필터(1060)에서 정합 필터링된 실수 성분의 신호는 DC 제거기(1070) 내 제1 DC 추정 및 제거기(2100)의 곱셈기(2101)와 C 샘플 지연기(2105)로 입력된다. 상기 곱셈기(2101)는 입력되는 실수 성분의 신호에 기 설정된 상수 α를 곱하여 가산기(2102)로 출력한다. 상기 가산기(2102)는 상기 곱셈기(2101)의 출력과 피드백되는 곱셈기(2104)의 출력을 더하여 1 샘플 지연기(2103)와 감산기(2106)로 출력한다. 즉, 상기 가산기(2102)의 출력이 추정된 실수 성분의 DC 값이다.That is, the signal of the real component matched and filtered by the matched filter 1060 is input to the multiplier 2101 and the C sample delayer 2105 of the first DC estimator and remover 2100 in the DC remover 1070. The multiplier 2101 multiplies the input real component signal by a predetermined constant α and outputs the multiplier 2102 to the adder 2102. The adder 2102 adds the output of the multiplier 2101 and the output of the multiplier 2104 to be fed back and outputs it to the one sample delayer 2103 and the subtractor 2106. That is, the output of the adder 2102 is the DC value of the estimated real component.

상기 1 샘플 지연기(2103)는 추정된 DC 값을 1 샘플 지연시켜 곱셈기(2104)로 출력하고, 상기 곱셈기(2104)는 1 샘플 지연된 DC 값에 기 설정된 상수 (1-α)를 곱하여 가산기(2102)로 피드백한다.The one sample delayer 2103 delays the estimated DC value by one sample and outputs the result to the multiplier ... 2104. The multiplier 2104 multiplies the DC value that has been delayed by one sample by a predetermined constant (1-α) and adds the adder ( 2102).

그리고 C 샘플 지연기(2105)는 입력되는 실수 성분의 샘플 데이터를 C 샘플만큼 지연시킨 후 감산기(2106)로 출력한다. 상기 감산기(2106)는 C 샘플 지연기(2105)의 출력에서 가산기(2102)의 출력을 빼, 실수 성분의 DC가 제거된 신호를 출력한다. The C sample delayer 2105 delays the input sample data of the real component by C samples and outputs the result to the subtractor 2106. The subtractor 2106 subtracts the output of the adder 2102 from the output of the C sample delayer 2105 and outputs a signal from which the DC of the real component is removed.

상기와 같은 방법으로 DC가 제거된 데이터는 도 39의 위상 보상부(1110)의 버퍼(1111)와 주파수 옵셋 추정기(1112)로 입력된다. The DC-removed data is input to the buffer 1111 and the frequency offset estimator 1112 of the phase compensator 1110 of FIG. 39.

상기 주파수 옵셋 추정기(1112)는 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(9041)에서 출력되는 기지 데이터 위치 정보를 이용하여 기지 데이터 열이 입력될 때 상기 DC 제거기(1070)에서 DC가 제거되어 입력되는 기지 데이터 열로부터 주파수 옵셋을 추정하여 유지기(1113)로 출력한다. 마찬가지로 상기 주파수 옵셋 추정값은 기지 데이터 열의 반복 주기마다 한 번씩 구해진다. The frequency offset estimator 1112 is configured to remove DC from the DC remover 1070 when a known data string is input using the known data position information output from the known data detection and initial frequency offset estimator 9041. The frequency offset is estimated from the known data stream and output to the retainer 1113. Similarly, the frequency offset estimate is obtained once for each repetition period of the known data stream.

따라서 상기 유지기(1113)는 상기 주파수 옵셋 추정값을 기지 데이터 열의 주기 동안 유지시킨 후 NCO(1114)로 출력한다. 상기 NCO(1114)는 유지기(1113)에서 유지된 주파수 옵셋에 해당하는 복소 신호를 생성하여 곱셈기(1115)로 출력한다. Thus, the maintainer 1113 maintains the frequency offset estimate for a period of known data sequences and then outputs it to the NCO 1114. The NCO 1114 generates a complex signal corresponding to the frequency offset maintained by the retainer 1113 and outputs the complex signal to the multiplier 1115.

상기 곱셈기(1115)는 상기 버퍼(1111)에서 일정 시간 지연된 데이터에 상기 NCO(1114)에서 출력되는 복소 신호를 곱하여 상기 지연 데이터에 포함된 위상 변화를 보상한다. 상기 곱셈기(1115)에서 위상 변화가 보상된 데이터는 데시메이 터(1500)를 거쳐 등화기(903)로 제공된다. 이때 상기 위상 보상부(1110)의 주파수 옵셋 추정기(1112)에서 추정된 주파수 옵셋은 루프 필터를 거치지 않음으로 기지 데이터 열 사이의 위상 차이 즉, 위상 옵셋을 나타낸다. The multiplier 1115 multiplies the data delayed in the buffer 1111 by a complex signal output from the NCO 1114 to compensate for the phase change included in the delayed data. The data whose phase change is compensated in the multiplier 1115 is provided to the equalizer 903 via the decimator 1500. In this case, the frequency offset estimated by the frequency offset estimator 1112 of the phase compensator 1110 represents a phase difference, that is, a phase offset between known data streams without passing through a loop filter.

채널 등화기Channel equalizer

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

상기 채널 등화기(1003)는 다양한 방법으로 채널 등화를 수행할 수 있는데, 본 발명에서는 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행하는 것을 일 실시예로 설명한다. The channel equalizer 1003 may perform channel equalization in various ways. In the present invention, channel equalization is performed by estimating a channel impulse response (CIR).

특히 본 발명에서는 송신 시스템에서 계층화되어 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 것을 일 실시예로 설명한다. 또한 본 발명은 송/수신측의 약속에 의해 위치와 내용을 알고 있는 기지 데이터 및/또는 필드 동기를 이용하여 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. In addition, the present invention is to make the channel equalization more stable by estimating the CIR using known data and / or field synchronization that knows the location and contents by the promise of the transmitting / receiving side.

이때 등화를 위해 입력된 하나의 데이터 그룹은 도 5와 같이, A 내지 D 영역으로 구분되고, A 영역은 MPH 블록 B4 내지 MPH 블록 B7을, B 영역은 MPH 블록 B3과 MPH 블록 B8을, C 영역은 MPH 블록 B2과 MPH 블록 B9을, D 영역은 MPH 블록 B1과 MPH 블록 B10을 포함하는 것을 일 실시예로 한다. 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 MPH block B4 to MPH block B7, B is an MPH block B3 and MPH block B8, and a C area. In the embodiment, the MPH block B2 and the MPH block B9 and the D region include the MPH block B1 and the MPH block B10.

그리고 데이터 그룹은 하나의 VSB 프레임에 최대 4개까지 할당되어 전송될 수 있으므로, 이 경우 모든 데이터 그룹이 필드 동기를 포함하지는 않는다. 본 발명은 필드 동기를 포함하는 데이터 그룹은 필드 동기와 기지 데이터를 이용하여 채널 등화를 수행하고, 필드 동기를 포함하지 않는 데이터 그룹은 기지 데이터만을 이용하여 채널 등화를 수행하는 것을 일 실시예로 한다. 일 예로, 필드 동기를 포함하는 데이터 그룹의 경우 MPH 블록 B3의 데이터는 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용해서 채널 등화할 수 있다. 또한 MPH 블록 B1, B2의 데이터도 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다. 그러나 필드 동기를 포함하지 않는 데이터 그룹의 경우 필드 동기로부터 CIR을 구할 수 없으므로, MPH 블록 B1~B3의 데이터는 제1 기지 데이터 영역과 제3 기지 데이터 영역에서 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다.Since up to four data groups may be allocated and transmitted in one VSB frame, not all data groups include field synchronization. According to an embodiment of the present invention, a data group including field synchronization performs channel equalization using field synchronization and known data, and a data group not including field synchronization performs channel equalization using only known data. . For example, in the case of the data group including the field synchronization, the data of the MPH 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 MPH 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 field synchronization, the CIR cannot be obtained from the field synchronization. Therefore, the data of the MPH blocks B1 to B3 cannot compensate for the channel distortion by using the CIR obtained from the first known data region and the third known data region. Can be.

본 발명은 상기 기지 데이터 영역에서 추정된 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)이 있다. 상기 선형 보간 기법은 수많은 보간 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. 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). This means estimating, and the simplest example of the interpolation is linear interpolation. The linear interpolation technique is the simplest of many interpolation techniques, and various other interpolation techniques may be used in addition to the above-described methods, and thus the present invention will not be limited to the examples described above.

또한 외삽(extrapolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 구간이 아닌 바깥쪽의 시점에서의 함수값을 추정하는 것을 의미한다. 상기 외삽의 가장 간단한 예로 선형 외삽(Linear Extrapolation)이 있다. 상기 선형 외삽 기법은 수많은 외삽 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 외삽 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. Also, extrapolation can be used to determine the function value F (Q) at time Q and the function value F (S) at time S 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. 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.

도 53은 본 발명에 따른 채널 등화기의 일 실시예로서, 잔류 반송파 위상 에러를 추정하여 채널 등화된 신호로부터 보상함으로써, 수신 성능을 더욱 향상시킬 수 있다.FIG. 53 illustrates an embodiment of a channel equalizer according to the present invention, and may further improve reception performance by estimating a residual carrier phase error and compensating for the channel equalized signal.

도 53은 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도로서, 제1 주파수 영역 변환부(3100), 채널 추정부(3110), 제2 주파수 영역 변환부(3121), 계수 계산부(3122), 왜곡 보상부(3130), 시간 영역 변환부(3140), 잔류 반송파 위상 에러 제거부(3150), 잡음 제거부(Noise Canceller ; NC)(3160), 및 결정(Decision)부(3170)를 포함하여 구성된다.FIG. 53 is a block diagram illustrating an embodiment of a channel equalizer according to the present invention. The first frequency domain transform unit 3100, the channel estimator 3110, the second frequency domain transform unit 3121, and coefficient calculation are shown in FIG. 3122, Distortion Compensator 3130, Time Domain Converter 3140, Residual Carrier Phase Error Canceler 3150, Noise Canceller (NC) 3160, and Decision Unit ( 3170).

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

상기 채널 추정부(3110)는 입력 데이터로부터 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하는 CIR 추정기(3111), 상기 CIR 추정기(3111)에서 추정된 CIR의 위상을 보상하는 위상 보상기(3112), 제1 클리너(Pre-CIR Cleaner)(3113), CIR 연산기(3114), 제2 클리너(Post-CIR Cleaner)(3115), 및 제로 패딩(zero-padding)부(3116)를 포함할 수 있다.The channel estimator 3110 may include a CIR estimator 3111 for estimating a channel impulse response (CIR) from input data, and a phase compensator 3112 for compensating the phase of the CIR estimated by the CIR estimator 3111. , A first cleaner (Pre-CIR Cleaner) 3113, a CIR calculator 3114, a second cleaner (Post-CIR Cleaner) 3115, and a zero-padding unit 3116. .

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

상기 시간 영역 변환부(3140)는 상기 왜곡 보상부(3130)에서 왜곡이 보상된 데이터를 시간 영역으로 변환하는 IFFT부(3141), 및 상기 IFFT부(3141)의 출력 데이터로부터 유효 데이터만을 추출하는 세이브(save)부(3142)를 포함하여 구성된다. The time domain converter 3140 extracts only valid data from an IFFT unit 3141 for converting data whose distortion is compensated by the distortion compensator 3130 into a time domain, and output data of the IFFT unit 3141. And a save unit 3314.

상기 잔류 반송파 위상 에러 제거부(3150)는 상기 채널 등화된 데이터에 포함된 잔류 반송파 위상 에러를 제거하는 에러 보상부(3151), 및 상기 채널 등화된 데이터와 결정기(3170)의 결정 데이터를 이용하여 잔류 반송파 위상 에러를 추정한 후 상기 에러 보상부(3151)로 출력하는 잔류 반송파 위상 에러 추정부(3152)를 포함하여 구성된다. The residual carrier phase error remover 3150 uses an error compensator 3151 to remove the residual carrier phase error included in the channel equalized data, and the channel equalized data and decision data of the determiner 3170. And a residual carrier phase error estimator 3152 which estimates the residual carrier phase error and outputs the residual carrier phase error to the error compensator 3151.

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

이때 수신되는 데이터가 VSB 방식으로 변조된 데이터이므로, 8레벨의 이산 데이터는 실수 성분에만 존재한다. 그러므로 도 53에서 잡음 제거부(3160)와 결정기(3170)에서 사용되는 모든 신호는 실수 신호이다. 그러나 잔류 반송파 위상 에러 및 위상 잡음을 추정하고 보상하기 위해서는 실수 성분뿐만 아니라 허수 성분이 필요하기 때문에 상기 잔류 반송파 위상 에러 제거부(3150)는 허수 성분까지 입력받아 사용한다.At this time, since the received data is data modulated by the VSB method, 8-level discrete data exists only in the real component. Therefore, all signals used in the noise canceling unit 3160 and the determiner 3170 in FIG. 53 are real signals. However, in order to estimate and compensate for the residual carrier phase error and phase noise, not only a real component but also an imaginary component is required, and thus the residual carrier phase error remover 3150 receives an imaginary component.

일반적으로 채널 등화를 수행하기 전에 수신 시스템 내 복조기(demodulator)(1002)에서 반송파의 주파수 및 위상 복원을 수행하게 되는데, 충분히 보상되지 않은 잔류 반송파 위상 에러가 채널 등화기에 입력되면 채널 등화의 성능을 저하시키게 된다. 특히 동적 채널 환경에서는 채널의 급격한 변화때문에 상기의 잔류 반송파 위상 에러가 정적 채널에 비해 크며, 이것은 수신 성능 저하의 주요한 원인으로 작용한다. In general, the demodulator 1002 in the receiving system performs the frequency and phase recovery of the carrier before performing channel equalization. If the residual carrier phase error that is not sufficiently compensated is input to the channel equalizer, the performance of the channel equalization is degraded. Let's go. In particular, in the dynamic channel environment, the residual carrier phase error is larger than that of the static channel due to the drastic change of the channel, which is a major cause of reception performance degradation.

또한 수신 시스템 내 로컬 발진기(Local Oscillator)(도시되지 않음)는 이상적으로는 단일 주파수 성분을 가져야 하지만 실제로는 원하는 주파수 외의 주파수 성분이 존재하며 이러한 주파수 성분을 로컬 발진기의 위상 잡음이라 한다. 상기의 위상 잡음 또한 수신 성능 저하의 요인이 된다. 이러한 잔류 반송파 위상 에러 및 위상 잡음은 통상의 채널 등화기에서 보상하기 어렵다. Also, a local oscillator (not shown) in a receiving system should ideally have a single frequency component, but in practice there is a frequency component outside the desired frequency, which is called the phase noise of the local oscillator. The phase noise is also a factor of deterioration of reception performance. Such residual carrier phase error and phase noise are difficult to compensate in a conventional channel equalizer.

따라서 본 발명은 도 53과 같이 잔류 반송파 위상 에러 및 위상 잡음을 제거하기 위한 반송파 복원 루프 즉, 잔류 반송파 위상 에러 제거부(3150)를 채널 등화 기 내에 포함함으로써, 채널 등화 성능을 개선할 수 있다. Accordingly, the present invention can improve the channel equalization performance by including a carrier recovery loop, ie, the residual carrier phase error removal unit 3150, in the channel equalizer to remove the residual carrier phase error and phase noise, as shown in FIG. 53.

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

상기 왜곡 보상부(3130)는 상기 제1 주파수 영역 변환부(3100)의 FFT부(3102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(3122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(3102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(3140)의 IFFT부(3141)로 출력한다. 상기 IFFT부(3141)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(3142)로 출력한다. 상기 세이브부(3142)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출하여 잔류 반송파 위상 에러 제거부(3150)의 에러 보상부(3151)로 출력한다.The distortion compensator 3130 complexly multiplies the equalization coefficient calculated by the coefficient calculator 3122 with the overlapped data of the frequency domain output from the FFT unit 3102 of the first frequency domain transform unit 3100 to perform the FFT unit. After compensating for the channel distortion of the superimposed data output from 3102, the channel distortion is output to the IFFT unit 3141 of the time domain converter 3140. The IFFT unit 3141 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 3314. The save unit 3322 extracts only valid data from the overlapped data of the channel equalized time domain and outputs the valid data to the error compensator 3151 of the residual carrier phase error remover 3150.

상기 에러 보상부(3151)는 상기 시간 영역에서 추출된 유효 데이터에 추정된 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호를 곱하여 상기 유효 데이터에 포함된 잔류 반송파 위상 에러 및 위상 잡음을 제거한다. The error compensator 3151 removes the residual carrier phase error and the phase noise included in the valid data by multiplying the valid data extracted in the time domain by a signal for compensating the estimated residual carrier phase error and phase noise.

상기 에러 보상부(3151)에서 잔류 반송파 위상 에러가 보상된 데이터는 잔류 반송파 위상 에러 및 위상 잡음을 추정하기 위해 잔류 반송파 위상 에러 추정부(3152)로 출력됨과 동시에 잡음을 제거하기 위해 잡음 제거부(3160)로 출력된다. The data of which the residual carrier phase error is compensated for in the error compensator 3151 is output to the residual carrier phase error estimator 3151 to estimate the residual carrier phase error and phase noise, and at the same time, the noise canceling unit 3160).

상기 잔류 반송파 위상 에러 추정부(3152)는 에러 보상부(3151)의 출력 데이터와 결정기(3170)의 결정 데이터를 이용하여 잔류 반송파 위상 에러 및 위상 잡음을 추정하고, 추정된 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호를 상기 에러 보상부(3151)로 출력한다. 본 발명에서는 추정된 잔류 반송파 위상 에러 및 위상 잡음의 역수를 상기 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호로 서 출력하는 것을 일 실시예로 한다. The residual carrier phase error estimator 3152 estimates the residual carrier phase error and phase noise by using the output data of the error compensator 3151 and the decision data of the determiner 3170, and estimates the estimated residual carrier phase error and phase noise. A signal for compensating for noise is output to the error compensator 3151. According to an embodiment of the present invention, the estimated reciprocal of the estimated residual carrier phase error and phase noise is output as a signal for compensating the residual carrier phase error and phase noise.

도 54는 상기 잔류 반송파 위상 에러 추정부(3152)의 일 실시예를 보인 상세 블록도로서, 위상 에러 검출기(3211), 루프 필터(3212), 수치 제어 발진기(Numerically Controlled Oscillator ; NCO)(3213), 및 콘쥬게이터(3214)를 포함하여 구성된다. 도 54에서 결정 데이터와 위상 에러 검출기(3211)의 출력, 루프 필터(3212)의 출력은 실수 신호이며, 에러 보상부(3151)의 출력, NCO(3213)의 출력 및 콘쥬게이터(3214)의 출력은 복소수 신호이다.FIG. 54 is a detailed block diagram illustrating an embodiment of the residual carrier phase error estimator 3152, and includes a phase error detector 3211, a loop filter 3212, and a numerically controlled oscillator (NCO) 3213. And a conjugator 3214. In Fig. 54, the decision data and the output of the phase error detector 3211 and the output of the loop filter 3212 are real signals, the output of the error compensator 3151, the output of the NCO 3213 and the output of the condenser 3214. Is a complex signal.

상기 위상 에러 검출기(3211)는 에러 보상부(3151)의 출력 데이터와 결정기(3170)의 결정 데이터를 입력받아 잔류 반송파 위상 에러 및 위상 잡음을 추정한 후 루프 필터(3212)로 출력한다.The phase error detector 3211 receives the output data of the error compensator 3151 and the decision data of the determiner 3170, estimates the residual carrier phase error and the phase noise, and outputs the result to the loop filter 3212.

상기 루프 필터(3212)는 잔류 반송파 위상 에러 및 위상 잡음을 필터링하고, 그 결과를 NCO(3213)로 출력한다. 상기 NCO(3213)는 필터링된 잔류 반송파 위상 에러 및 위상 잡음에 해당하는 정현파를 생성하여 콘쥬게이터(3214)로 출력한다.The loop filter 3212 filters out the residual carrier phase error and phase noise, and outputs the result to the NCO 3213. The NCO 3213 generates a sine wave corresponding to the filtered residual carrier phase error and the phase noise and outputs the sine wave to the conjugator 3214.

상기 콘쥬게이터(3214)는 상기 NCO(3213)의 정현파의 콘쥬게이트 값을 구하여 에러 보상부(3151)로 출력한다. 이때 상기 콘쥬게이터(3214)의 출력 데이터가 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호 즉, 잔류 반송파 위상 에러 및 위상 잡음의 역수가 된다.The conjugate 3214 obtains the conjugate value of the sinusoidal wave of the NCO 3213 and outputs the conjugate value to the error compensator 3151. At this time, the output data of the conjugator 3214 is a signal that compensates for the residual carrier phase error and phase noise, that is, the inverse of the residual carrier phase error and phase noise.

상기 에러 보상부(3151)는 상기 시간 영역 변환부(3140)에서 출력되는 등화된 데이터와 상기 콘쥬게이터(3214)에서 출력되는 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호를 복소곱하여 상기 등화된 데이터에 포함된 잔류 반송파 위 상 에러 및 위상 잡음을 제거한다. The error compensator 3151 complexes the equalized data output from the time domain converter 3140 and a signal for compensating for the residual carrier phase error and phase noise output from the conjugator 3214 and equalizes the equalized data. Eliminate residual carrier phase error and phase noise included in.

한편 상기 위상 에러 검출기(3211)는 다양한 방법 및 구조로 잔류 반송파 위상 에러 및 위상 잡음을 추정할 수 있다. 본 발명에서는 일 실시예로, 결정 지향(decision-directed) 방식으로 잔류 반송파 위상 에러 및 위상 잡음을 추정한다. On the other hand, the phase error detector 3211 may estimate the residual carrier phase error and phase noise by various methods and structures. In one embodiment, the residual carrier phase error and phase noise are estimated in a decision-directed manner.

본 발명에 따른 결정 지향 방식의 위상 에러 검출기는 채널 등화된 데이터에 잔류 반송파 위상 에러 및 위상 잡음이 없을 경우, 채널 등화된 데이터와 결정 데이터와의 상관값에 실수 값만 존재한다는 점을 이용한다. The decision-oriented phase error detector according to the present invention uses only a real value in the correlation value between the channel equalized data and the decision data when there is no residual carrier phase error and phase noise in the channel equalized data.

즉, 잔류 반송파 위상 에러 및 위상 잡음이 없을 때, 상기 위상 에러 검출기(3211)의 입력 데이터를 xi+jxq라고 하면, 위상 에러 검출기(3211)의 입력 데이터와 결정 데이터와의 상관값은 하기의 수학식 9와 같다.That is, when there is no residual carrier phase error and phase noise, if the input data of the phase error detector 3211 is xi + jxq, the correlation between the input data of the phase error detector 3211 and the determination data is expressed by the following equation. Equation 9

Figure 112008047588756-PAT00010
Figure 112008047588756-PAT00010

이때, 상기 xi와 xq는 상관 관계가 없으므로 xi와 xq의 상관값은 0이고, 따라서 상기 상관값은 잔류 반송파 위상 에러 및 위상 잡음이 없을 경우 실수값만 존재한다. 그러나 잔류 반송파 위상 에러 및 위상 잡음이 존재할 경우 실수 성분이 허수부에, 허수 성분이 실수부에 나타나기 때문에 상기 상관값에 허수 성분이 나타난다. In this case, since xi and xq have no correlation, the correlation between xi and xq is 0. Therefore, the correlation value has only a real value in the absence of residual carrier phase error and phase noise. However, if residual carrier phase error and phase noise exist, the imaginary component appears in the correlation value because the real component appears in the imaginary part and the imaginary component appears in the real part.

따라서 상기 상관값의 허수부와 잔류 반송파 위상 에러 및 위상 잡음은 비례 한다고 볼 수 있고, 하기의 수학식 10과 같이 상기 상관값의 허수부를 잔류 반송파 위상 에러 및 위상 잡음으로 사용할 수 있다.Therefore, the imaginary part of the correlation value and the residual carrier phase error and the phase noise may be considered to be proportional. The imaginary part of the correlation value may be used as the residual carrier phase error and phase noise as shown in Equation 10 below.

Figure 112008047588756-PAT00011
Figure 112008047588756-PAT00011

도 55는 상기 잔류 반송파 위상 에러 및 위상 잡음을 구하는 위상 에러 검출기(3211)의 구조의 일 실시예를 보인 구성 블록도로서, 힐버트 변환부(3311), 복소수 구성부(3312), 콘쥬게이터(3313), 곱셈기(3314), 및 위상 에러 출력부(3315)를 포함하여 구성된다. 즉, 상기 힐버트 변환부(3311)는 상기 결정기(3170)의 결정 데이터

Figure 112008047588756-PAT00012
를 힐버트 변환하여 허수부 결정 데이터
Figure 112008047588756-PAT00013
를 만들고, 이를 복소수 구성부(3312)로 출력한다. 상기 복소수 구성부(3312)는 결정 데이터
Figure 112008047588756-PAT00014
Figure 112008047588756-PAT00015
를 이용하여 복소 결정 데이터
Figure 112008047588756-PAT00016
를 구성하여 콘쥬게이터(3313)로 출력한다. 상기 콘쥬게이터(3313)는 복소수 구성부(3312)의 출력을 콘쥬게이트시켜 곱셈기(3314)로 출력한다. 상기 곱셈기(3314)는 에러 보상부(3151)의 출력 데이터
Figure 112008047588756-PAT00017
와 상기 콘쥬게이터(3313)의 출력 데이터
Figure 112008047588756-PAT00018
를 복소곱한다. 즉 상기 곱셈기(3314)의 출력이 에러 보상부(3151)의 출력 데이터와 결정기(3170)의 결정 데이터와의 상관값이 된다. 상기 곱셈기(3314)에서 구한 상관 데이터는 위상 에러 출력부(3315)로 입력된다. Fig. 55 is a block diagram showing an embodiment of the structure of the phase error detector 3211 for obtaining the residual carrier phase error and phase noise. The figure shows a Hilbert transform part 3311, a complex number part 3312, and a conjugator 3313. ), A multiplier 3314, and a phase error output unit 3315. That is, the Hilbert transform unit 3311 determines the decision data of the determiner 3170.
Figure 112008047588756-PAT00012
The imaginary part by Hilbert transform
Figure 112008047588756-PAT00013
And output it to the complex number unit 3312. The complex number unit 3312 determines decision data.
Figure 112008047588756-PAT00014
Wow
Figure 112008047588756-PAT00015
Complex decision data using
Figure 112008047588756-PAT00016
It configures and outputs to the conjugator 3313. The conjugate 3313 conjugates the output of the complex number component 3312 and outputs the result to the multiplier 3314. The multiplier 3314 outputs data of the error compensator 3151.
Figure 112008047588756-PAT00017
And output data of the conjugator 3313
Figure 112008047588756-PAT00018
Multiply by. That is, the output of the multiplier 3314 becomes a correlation value between the output data of the error compensator 3151 and the decision data of the determiner 3170. The correlation data obtained by the multiplier 3314 is input to the phase error output unit 3315.

상기 위상 에러 출력부(3315)는 상기 곱셈기(3314)에서 출력되는 상관 데이터의 허수 부분

Figure 112008047588756-PAT00019
을 잔류 반송파 위상 에러 및 위상 잡음으로서 출력한다. The phase error output unit 3315 is an imaginary part of the correlation data output from the multiplier 3314.
Figure 112008047588756-PAT00019
Is output as residual carrier phase error and phase noise.

도 55의 위상 에러 검출기는 여러 가지 위상 에러 검출 방식 중 일 예이며 이 외에도 여러 가지 다른 방식의 위상 에러 검출기가 적용될 수 있으므로, 본 발명은 상기된 실시예로 한정되지 않을 것이다. 또한 본 발명의 다른 실시예로서, 2가지 이상의 위상 에러 검출기를 결합하여 잔류 반송파 위상 에러 및 위상 잡음을 검출할 수도 있다.The phase error detector of FIG. 55 is an example of various phase error detection schemes, and various other phase error detectors may be applied, and thus the present invention will not be limited to the above-described embodiment. In another embodiment of the present invention, two or more phase error detectors may be combined to detect residual carrier phase error and phase noise.

이렇게 검출된 잔류 반송파 위상 에러 및 위상 잡음을 제거한 잔류 반송파 위상 에러 제거부(3150)의 출력은 채널 등화 및 잔류 반송파 위상 에러 및 위상 잡음이 제거된 원 신호와 채널 등화 과정에서 백색 잡음이 증폭되어 유색 잡음화된 신호의 합으로 이루어진다. The output of the residual carrier phase error canceling unit 3150 from which the residual carrier phase error and phase noise detected in this manner are colored by amplifying white noise during the channel equalization process and the original signal from which the channel equalization and residual carrier phase error and phase noise are removed. It consists of the sum of the noise signals.

따라서 상기 잡음 제거부(3160)는 상기 잔류 반송파 위상 에러 제거부(3150)의 출력 데이터와 결정기(3170)의 결정 데이터를 입력받아 유색 잡음을 추정한다. 그리고 상기 잔류 반송파 위상 에러 및 위상 잡음이 제거된 데이터에서 상기 추정된 유색 잡음을 빼 줌으로써, 등화 과정에서 증폭된 잡음을 제거한다. Accordingly, the noise remover 3160 receives the output data of the residual carrier phase error remover 3150 and the decision data of the determiner 3170 to estimate colored noise. The estimated color noise is subtracted from the data from which the residual carrier phase error and the phase noise have been removed, thereby removing the amplified noise during the equalization process.

이를 위해 상기 잡음 제거부(3160)는 감산기 및 잡음 예측기(Noise Predictor)를 포함할 수 있다. 즉, 상기 감산기는 상기 잔류 반송파 위상 에러 제거부(3150)의 출력 데이터로부터 잡음 예측기에서 예측된 잡음을 빼 증폭 잡음이 제거된 신호를 데이터 복원을 위해 출력함과 동시에 결정기(3170)로 출력한다. 상기 잡음 예측기는 상기 잔류 반송파 위상 에러 제거부(3150)에서 잔류 반송파 위상 에러가 제거된 신호로부터 상기 결정기(3170)의 출력을 빼 잡음 성분을 계산하고 이를 잡음 예측기 내의 필터 입력으로 사용한다. 그리고 상기 잡음 예측기는 이 필터(도시되지 않음)를 사용하여 상기 잔류 반송파 위상 에러 제거부(3150)의 출력 심볼에 포함되어진 유색 잡음 성분을 예측하여 상기 감산기로 출력한다. To this end, the noise removing unit 3160 may include a subtractor and a noise predictor. That is, the subtractor subtracts the noise predicted by the noise predictor from the output data of the residual carrier phase error remover 3150 and outputs a signal from which the amplified noise is removed for data recovery and simultaneously to the determinator 3170. The noise predictor calculates a noise component by subtracting the output of the determiner 3170 from the signal from which the residual carrier phase error removal unit 3150 is removed, and uses the noise predictor as a filter input in the noise predictor. The noise predictor predicts a colored noise component included in an output symbol of the residual carrier phase error remover 3150 by using the filter (not shown), and outputs the color noise component to the subtractor.

상기 잡음 제거부(3160)에서 잡음이 제거된 데이터는 데이터 복호를 위해 출력됨과 동시에 결정기(3170)로 출력된다.The data from which the noise is removed by the noise remover 3160 is output for data decoding and simultaneously to the determiner 3170.

상기 결정기(3170)는 기 설정된 다수개의 결정 데이터들 예를 들어, 8개의 결정 데이터들 중 잡음 제거부(3160)의 출력과 가장 가까운 결정 데이터를 선택하여 잔류 반송파 위상 에러 추정부(3152)와 잡음 제거부(3160)로 출력한다. The determiner 3170 selects a plurality of preset decision data, for example, decision data that is closest to the output of the noise canceller 3160, from among the plurality of decision data, for example, the residual carrier phase error estimator 3152 and the noise. Output to removal unit 3160.

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

상기 CIR 추정기(3111)는 트레이닝 시퀀스를 이용하여 CIR을 추정하여 위상 보상기(3112)로 출력한다. 만일 채널 등화할 데이터가 필드 동기를 포함하는 데이터 그룹 내 데이터라면 상기 CIR 추정기(3111)에서 이용되는 트레이닝 시퀀스는 필드 동기 데이터와 기지 데이터가 될 수 있다. 하지만 채널 등화할 데이터가 필드 동기를 포함하지 않는 데이터 그룹 내 데이터라면 상기 트레이닝 시퀀스는 기지 데이터만 될 수 있다.The CIR estimator 3111 estimates the CIR using a training sequence and outputs the CIR to the phase compensator 3112. If the data to be channel equalized is data in a data group including field synchronization, the training sequence used in the CIR estimator 3111 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 추정기(3111)는 기지 데이터 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 기지 데이터를 이용하여 채널의 임펄스 응답을 추정한다. 이를 위해 상기 CIR 추정기(3111)는 상기 기지 데이터 검출기(1004)로부터 기지 데이터 위치 정보(Known Data Position Information)를 제공받는다. For example, the CIR estimator 3111 estimates an impulse response of a channel using data received during a known data interval and reference known data generated at a receiver by an appointment of the transmitter / receiver. To this end, the CIR estimator 3111 is provided with known data position information from the known data detector 1004.

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

상기 CIR 추정기(3111)는 최소 자승(Least Square ; LS) 방식으로 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정할 수 있다.The CIR estimator 3111 may estimate a channel impulse response (CIR) in a least square (LS) manner.

상기 LS 추정 방식은 기지 데이터 구간 동안 채널을 거쳐 온 기지 데이터와 수신단에서 이미 알고있는 기지 데이터와의 상호 상관값(Cross Correlation Value) p를 구하고, 상기 기지 데이터의 자기 상관행렬 R을 구한다. 그리고 나서 수신 데 이터와 원 기지 데이터와의 상호 상관값인 p속에 존재하는 자기 상관 부분을 제거하도록

Figure 112008047588756-PAT00020
의 행렬 연산을 하여 전송 채널의 임펄스 응답(CIR)을 추정하는 방법이다.The LS estimation method obtains a cross correlation value p between known data transmitted through a channel and known data known to a receiver during a known data interval, and obtains an autocorrelation matrix R of the known data. Then remove the autocorrelation that exists in p, the cross-correlation between the received data and the original data.
Figure 112008047588756-PAT00020
It is a method of estimating the impulse response (CIR) of a transmission channel by performing a matrix operation of.

상기 위상 보상기(3112)는 추정된 CIR의 위상 변화를 보상하여 제1 클리너(3113) 또는 CIR 연산기(3114)로 출력한다. 이때 상기 위상 보상기(3112)는 Maximum likelihood 방식으로 추정된 CIR의 위상 변화를 보상할 수 있다. The phase compensator 3112 compensates for the phase change of the estimated CIR and outputs it to the first cleaner 3113 or the CIR calculator 3114. In this case, the phase compensator 3112 may compensate for the phase change of the CIR estimated by the Maximum likelihood method.

즉, 복조된 수신 데이터에 포함되어 입력되는 잔류 반송파 위상 에러 및 위상 잡음은 매 기지 데이터 열마다 CIR 추정기(3111)에서 추정되는 CIR의 위상을 변화시킨다. 이때 선형 보간에 사용되는 입력 CIR의 위상 변화 속도가 커서 위상의 변화가 선형이 아닐 경우 선형 보간을 통해 추정한 CIR로부터 등화 계수를 구하여 채널을 보상하면 채널 등화 성능이 떨어지게 된다. That is, the residual carrier phase error and phase noise included in the demodulated received data change the phase of the CIR estimated by the CIR estimator 3111 for every known data string. At this time, if the phase change rate of the input CIR used for linear interpolation is large and the phase change is not linear, the channel equalization performance is deteriorated by obtaining the equalization coefficient from the CIR estimated through linear interpolation.

따라서 본 발명은 CIR 추정기(3111)에서 추정되는 CIR의 위상 변화량을 제거하여 왜곡 보상부(3130)가 잔류 반송파 위상 에러 및 위상 잡음 성분을 보상하지 않고 그대로 통과시키도록 하고, 잔류 반송파 위상 에러 제거부(3150)가 잔류 반송파 위상 에러 및 위상 잡음 성분을 보상하도록 한다.Accordingly, the present invention removes the phase change of the CIR estimated by the CIR estimator 3111 so that the distortion compensator 3130 passes the residual carrier phase error and the phase noise component without compensating for them, and the residual carrier phase error remover. 3150 compensates for the residual carrier phase error and phase noise components.

이를 위해 본 발명은 상기 위상 보상기(3112)에서 Maximum likelihood 방식으로 추정된 CIR의 위상 변화량을 제거하도록 한다.To this end, the present invention allows the phase compensator 3112 to remove the phase change amount of the CIR estimated by the Maximum likelihood method.

상기 Maximum likelihood 위상 보상법의 기본 개념은 모든 CIR 성분에 공통 으로 존재하는 위상 성분을 추정하고 이 공통 위상 성분의 역을 추정된 CIR에 곱해서 상기의 공통 위상 성분을 채널 등화기 즉, 왜곡 보상부(3130)에서 보상하지 않도록 하는 것이다.The basic concept of the maximum likelihood phase compensation method estimates a phase component common to all CIR components, multiplies the inverse of the common phase component by an estimated CIR, and multiplies the common phase component by a channel equalizer, that is, a distortion compensator 3130. ) Is not to compensate.

즉, 상기의 공통 위상 성분을

Figure 112008047588756-PAT00021
라 할 때, 새로 추정한 CIR은 이전에 추정한 CIR에 비해 위상이
Figure 112008047588756-PAT00022
만큼 회전되어 있다. 상기 Maximum likelihood 위상 보상법은 t 시점에서의 CIR을 hi(t)라 할 때, hi(t)를
Figure 112008047588756-PAT00023
만큼 회전시켰을 때 t+1 시점에서의 CIR인 hi(t+1)과의 차의 제곱값이 최소가 되는 위상
Figure 112008047588756-PAT00024
를 찾는다. 여기서 i는 추정된 CIR의 탭(tap)을 나타내며, CIR 추정기(3111)에서 추정하는 CIR의 탭 수를 N으로 하였다면, 0이상 N-1이하의 값을 가진다. That is, the common phase component
Figure 112008047588756-PAT00021
In this case, the newly estimated CIR is out of phase with the previously estimated CIR.
Figure 112008047588756-PAT00022
Rotated by. In the maximum likelihood phase compensation method, when the CIR at time t is h i (t), h i (t) is calculated.
Figure 112008047588756-PAT00023
Phase that minimizes the square of the difference between h i (t + 1) and CIR at time t + 1.
Figure 112008047588756-PAT00024
Find it. I denotes a tap of the estimated CIR, and if the number of taps of the CIR estimated by the CIR estimator 3111 is N, it has a value of 0 or more and N-1 or less.

이를 수식으로 정리하면 다음의 수학식 11과 같다.This can be summarized as Equation 11 below.

Figure 112008047588756-PAT00025
Figure 112008047588756-PAT00025

상기 수학식 11의 우변을

Figure 112008047588756-PAT00026
에 대해 미분한 값이 0이 되는 조건을 만족하는
Figure 112008047588756-PAT00027
가 하기의 수학식 12와 같이 maximum likelihood 관점에서 공통 위상 성분
Figure 112008047588756-PAT00028
이 된다.The right side of the equation (11)
Figure 112008047588756-PAT00026
Satisfies the condition that the derivative is 0 for
Figure 112008047588756-PAT00027
Is a common phase component in terms of maximum likelihood, as shown in Equation 12 below.
Figure 112008047588756-PAT00028
Becomes

Figure 112008047588756-PAT00029
Figure 112008047588756-PAT00029

상기 수학식 12를 정리하면, 하기의 수학식 13과 같이 된다. Equation 12 is summarized as in Equation 13 below.

Figure 112008047588756-PAT00030
Figure 112008047588756-PAT00030

즉, hi(t)와 hi(t+1)의 상관값(correlation)의 argument가 추정하고자 하는

Figure 112008047588756-PAT00031
가 된다. That is, the argument of the correlation between h i (t) and h i (t + 1) is to be estimated.
Figure 112008047588756-PAT00031
Becomes

도 56은 상기와 같이 공통 위상 성분

Figure 112008047588756-PAT00032
을 구하고, 추정된 위상 성분을 추정된 CIR에서 보상하는 위상 보상기의 일 실시예를 보이고 있다. 56 shows a common phase component as above.
Figure 112008047588756-PAT00032
And an embodiment of a phase compensator for compensating the estimated phase component in the estimated CIR.

도 56을 보면, 위상 보상기는 상관 연산기(3410), 위상 변화 추정기(3420), 보상 신호 생성기(3430), 및 곱셈기(3440)를 포함하여 구성된다. Referring to FIG. 56, a phase compensator includes a correlation operator 3410, a phase change estimator 3420, a compensation signal generator 3430, and a multiplier 3440.

상기 상관 연산기(3410)는 제1 N 심볼 버퍼(3411), N 심볼 지연기(3412), 제2 N 심볼 버퍼(3413), 콘쥬게이터(3414), 및 곱셈기(3415)를 포함하여 구성된다.The correlation operator 3410 includes a first N symbol buffer 3411, an N symbol delayer 3412, a second N symbol buffer 3413, a conjugator 3414, and a multiplier 3415.

즉, 상기 상관 연산기(3410) 내 제1 N 심볼 버퍼(3411)는 CIR 추정기(3111)에서 심볼 단위로 입력되는 데이터를 최대 N개 심볼까지 저장할 수 있으며, 제1 N 심볼 버퍼(3411)에 일시 저장된 심볼 데이터는 상관 연산기(3410) 내 곱셈기(3415)와 곱셈기(3440)로 입력된다. That is, the first N symbol buffer 3411 in the correlation calculator 3410 may store up to N symbols of data input from the CIR estimator 3111 in symbol units and temporarily store the data in the first N symbol buffer 3411. The stored symbol data is input to a multiplier 3415 and a multiplier 3440 in the correlation operator 3410.

동시에 상기 CIR 추정기(3111)에서 출력되는 심볼 데이터는 N 심볼 지연기(3412)에서 N 심볼만큼 지연된 후 제2 N 심볼 버퍼(3413)를 거쳐 콘쥬게이터(3414)에서 콘쥬게이트(conjugate ; 공액)되어 곱셈기(3415)로 입력된다. At the same time, the symbol data output from the CIR estimator 3111 is delayed by N symbols in the N symbol delayer 3412 and then conjugated in the conjugate 3414 via the second N symbol buffer 3413. Input to multiplier 3415.

상기 곱셈기(3415)는 상기 제1 N 심볼 버퍼(3411)의 출력과 콘쥬게이터(3414)의 출력을 곱하여 위상 변화 추정기(3420) 내 누산기(3421)로 출력한다. The multiplier 3415 multiplies the output of the first N symbol buffer 3411 and the output of the conjugator 3414 and outputs the multiplier 341 in the phase change estimator 3420.

즉, 상기 상관 연산기(3410)는 N 길이를 갖는 현재 CIR인 hi(t+1)과 N 길이를 갖는 이전 CIR인 hi(t)의 상관값을 구하여 위상 변화 추정기(3420)의 누산기(3421)로 출력한다. That is, the accumulator of the correlation computing unit 3410 is current CIR of h i (t + 1) and before CIR of h i (t) the phase shift estimator 3420, obtain a correlation value having a N length having a N length ( 3421).

상기 누산기(3421)는 상기 곱셈기(3415)에서 출력되는 상관값을 N 심볼동안 누산시켜 위상 검출기(3422)로 출력한다. 상기 위상 검출기(3422)는 상기 누산기(3421)의 출력으로부터 상기 수학식 12와 같이 공통 위상 성분

Figure 112008047588756-PAT00033
를 구하여 보상 신호 생성기(3430)로 출력한다. The accumulator 341 accumulates the correlation value output from the multiplier 3415 for N symbols and outputs the result to the phase detector 3422. The phase detector 3342 is a common phase component as shown in Equation 12 from the output of the accumulator 3421.
Figure 112008047588756-PAT00033
To obtain the output to the compensation signal generator 3430.

상기 보상 신호 생성기(3430)는 상기 검출된 위상과 반대의 위상을 가지는 복소 신호

Figure 112008047588756-PAT00034
를 위상 보상 신호로서 곱셈기(3440)로 출력한다. 상기 곱셈기(3440)는 상기 제1 N 심볼 버퍼(3411)에서 출력되는 현재 CIR인 hi(t+1)에 위상 보상 신호
Figure 112008047588756-PAT00035
를 곱하여 추정된 CIR의 위상 변화량을 제거한다.The compensation signal generator 3430 has a complex signal having a phase opposite to that of the detected phase.
Figure 112008047588756-PAT00034
Is output to the multiplier 3440 as a phase compensation signal. The multiplier 3440 has a phase compensation signal at h i (t + 1) which is the current CIR output from the first N symbol buffer 3411.
Figure 112008047588756-PAT00035
Multiply by to remove the estimated amount of phase change in CIR.

이와 같이 상기 Maximum likelihood 방식의 위상 보상기(3112)는 입력 CIR과 N 심볼 지연되는 이전 CIR과의 상관값의 위상 성분을 구하고, 이렇게 구한 위상과 반대의 위상을 가지는 위상 보상 신호를 생성한 후 추정된 CIR에 곱함으로써, 추정된 CIR의 위상 변화량을 제거하게 된다. As such, the phase compensator 3112 of the Maximum likelihood method obtains a phase component of a correlation value between an input CIR and a previous CIR delayed by N symbols, generates a phase compensation signal having a phase opposite to the obtained phase, and is estimated. By multiplying the CIR, the estimated amount of phase change in the CIR is removed.

상기와 같이 위상 변화가 보상된 CIR은 제1 클리너(3113)를 거쳐 또는 제1 클리너(3113)를 바이패스하여 CIR 연산기(3114)로 입력된다. 상기 CIR 연산기(3114)는 추정된 CIR에 대해 보간 또는 외삽하여 제2 클리너(3115)로 출력한다. 여기서 추정된 CIR은 위상 변화가 보상된 CIR이다.The CIR compensated for the phase change as described above is input to the CIR calculator 3114 through the first cleaner 3113 or bypasses the first cleaner 3113. The CIR calculator 3114 interpolates or extrapolates the estimated CIR to the second cleaner 3115. The estimated CIR is the CIR whose phase change is compensated for.

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

즉, 기지 데이터로부터 추정된 CIR에는 구하고자 하는 채널 성분뿐만 아니라 잡음에 의한 지터(jitter) 성분도 포함된다. 이러한 지터 성분은 등화기 성능을 저하하는 요인이 되므로 계수 계산부(3122)에서 CIR을 사용하기 전에 제거하는 것이 좋다. 따라서 상기 제1,제2 클리너(3113,3115)에서는 입력되는 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 3122. Accordingly, in the embodiment, the first and second cleaners 3113 and 3115 remove a portion of the input CIR component whose power is less than or equal to a predetermined threshold (ie, make it '0'). do. This removal process is called CIR cleaning.

즉, 상기 CIR 연산기(3114)에서 CIR 보간(interpolation)은, 상기 CIR 추정기(3112)에서 추정되고, 위상 보상기(3112)에서 위상 변화가 보상된 두 개의 CIR에 각각 계수를 곱하고 더하여 이루어진다. 이때 CIR의 잡음 성분 중 일부는 서로 더해져 상쇄된다. 따라서 상기 CIR 연산기(3114)에서 CIR 보간을 하는 경우에는 잡음 성분이 남아있는 원래의 CIR을 사용한다. 즉, 상기 CIR 연산기(3114)에서 CIR 보간을 하는 경우, 상기 위상 보상기(3112)에서 위상 변화가 보상된 추정 CIR은 제1 클리너(3113)를 바이패스하여 CIR 연산기(3114)로 입력된다. 그리고 상기 CIR 연산기(3114)에서 보간된 CIR은 제2 클리너(3115)에서 클리닝한다. That is, CIR interpolation in the CIR calculator 3114 is estimated by the CIR estimator 3112 and multiplies and adds coefficients to two CIRs whose phase change is compensated in the phase compensator 3112, 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 3114, the original CIR in which the noise component remains is used. That is, when CIR interpolation is performed by the CIR operator 3114, the estimated CIR whose phase change is compensated by the phase compensator 3112 is input to the CIR operator 3114 by bypassing the first cleaner 3113. The CIR interpolated by the CIR calculator 3114 is cleaned by the second cleaner 3115.

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

한편 상기 제2 클리너(3115)에서 클링닝되어 출력되는 CIR을 상기 제2 주파수 영역 변환부(3121)에서 주파수 영역으로 변환할 때 입력되는 CIR의 길이와 FFT 사이즈(Size)가 일치하지 않는 경우가 발생할 수 있다. 즉, CIR의 길이가 FFT 사이즈보다 작은 경우가 발생할 수 있다. 이 경우 제로 패딩부(3116)에서는 FFT 사이즈와 입력되는 CIR 길이의 차이만큼 CIR에 '0'을 첨가하여 상기 제2 주파수 영역 변환부(3121)로 출력한다. 여기서 제로 패딩되는 CIR은 보간된 CIR, 외삽된 CIR, 기지 데이터 구간에서 추정된 CIR 중 하나가 될 수 있다.On the other hand, the length of the CIR input and the FFT size do not match when converting the CIR that is clinked and output from the second cleaner 3115 into the frequency domain by the second frequency domain converter 3121. 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 3116 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 converter 3121. The zero-padded CIR may be one of interpolated CIRs, extrapolated CIRs, and CIRs estimated from known data intervals.

상기 제2 주파수 영역 변환부(3121)는 입력되는 시간 영역의 CIR를 FFT하여 주파수 영역의 CIR로 변환한 후 계수 계산부(3122)로 출력한다. The second frequency domain transforming unit 3121 converts the input CIR of the time domain into a CIR of the frequency domain and outputs the CIR to the coefficient calculating unit 3122.

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

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

도 57은 데이터 그룹이 도 5와 구조로 구분되었을 때, A,B,C,D 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 다른 실시예로 보이고 있다.FIG. 57 illustrates another embodiment in which a channel impulse response (CIR) is differently estimated and applied according to areas A, B, C, and D when the data group is divided into the structure of FIG. 5.

즉, 도 5에서 알 수 있듯이 A/B 영역(region)(즉, MPH 블록 B3~B8)에서는 충분히 긴 기지 데이터가 주기적으로 전송되므로 CIR을 이용하는 간접 등화 방식을 사용할 수 있지만, C/D 영역(즉, MPH 블록 B1,B2,B9,B10)에서는 기지 데이터를 충분히 길게 전송할 수 없을 뿐만 아니라 주기적으로 일정하게 전송할 수 없으므로 기지 데이터를 이용하여 CIR을 추정하기에 적합하지 않다. 따라서 C/D 영역에서는 등화기의 출력을 이용하여 계수를 갱신하는 직접 등화 방식을 사용해야 한다. That is, as shown in FIG. 5, since sufficiently long known data is periodically transmitted in the A / B region (ie, MPH blocks B3 to B8), an indirect equalization method using CIR can be used, but the C / D region ( That is, in the MPH blocks B1, B2, B9, and B10, not only the known data can be transmitted long enough, but also periodically cannot be transmitted regularly, which is not suitable for estimating the CIR using the known data. Therefore, in the C / D domain, the direct equalization method using the output of the equalizer should be used.

예를 들어, A/B 영역의 데이터에 대해서는 사이클릭 프리픽스 및 CIR을 이용한 간접 등화 방식의 채널 등화를 수행하고, C/D 영역의 데이터에 대해서는 중첩 & 세이브 방식을 사용하고 등화기 출력의 에러로부터 등화기 계수를 갱신하는 직접 등화 방식의 채널 등화를 수행할 수 있다. For example, indirect equalization channel equalization using cyclic prefix and CIR is performed on the data in the A / B area, and the overlap & save method is used on the data in the C / D area. A direct equalization channel equalization that updates the equalizer coefficients may be performed.

이를 위해 도 57의 주파수 영역 채널 등화기는 주파수 영역 변환부(3510), 왜곡 보상부(3520), 시간 영역 변환부(3530), 제1 계수 연산부(3540), 제2 계수 연산부(3550), 및 계수 선택부(3560)를 포함할 수 있다.To this end, the frequency domain channel equalizer of FIG. 57 includes a frequency domain converter 3510, a distortion compensator 3520, a time domain converter 3530, a first coefficient calculator 3540, a second coefficient calculator 3550, and Coefficient selection unit 3560 may be included.

상기 주파수 영역 변환부(3510)는 중첩부(3511), 선택부(3512), 및 제1 FFT부(3513)를 포함할 수 있다.The frequency domain converter 3510 may include an overlapping unit 3511, a selecting unit 3512, and a first FFT unit 3513.

상기 시간 영역 변환부(3530)는 IFFT부(3531), 세이브부(3532), 및 선택부(3533)를 포함할 수 있다.The time domain converter 3530 may include an IFFT unit 3531, a save unit 3532, and a selector 3535.

상기 제1 계수 연산부(3540)는 CIR 추정기(3541), 평균 연산부(3542), 제2 FFT부(3543), 및 계수 연산기(3544)를 포함할 수 있다.The first coefficient calculating unit 3540 may include a CIR estimator 3551, an average calculating unit 3542, a second FFT unit 3543, and a coefficient calculating unit 3444.

상기 제2 계수 연산부(3550)는 결정기(3551), 선택부(3552), 감산기(3553), 제로 패딩부(3554), 제3 FFT부(3555), 계수 갱신부(3556), 및 지연기(3557)를 포함할 수 있다.The second coefficient calculator 3550 includes a determiner 3551, a selector 3652, a subtractor 3553, a zero padding unit 3554, a third FFT unit 3555, a coefficient updater 3556, and a delay unit. (3557).

이때 상기 주파수 영역 변환부(3510)의 선택부(3512), 시간 영역 변환부(3530)의 선택부(3533), 및 계수 선택부(3560)는 현재 입력 데이터가 A/B 영역의 데이터인지, C/D 영역의 데이터인지에 따라 입력 데이터를 선택하는 멀티플렉서(즉, 먹스)로 구성할 수 있다. In this case, the selector 3512 of the frequency domain converter 3510, the selector 3535 of the time domain converter 3530, and the coefficient selector 3560 may be used to determine whether current input data is data of an A / B domain. The data may be configured as a multiplexer (ie, mux) that selects input data depending on whether the data is in the C / D area.

이와 같이 구성된 도 57에서 입력되는 데이터가 A/B 영역의 데이터이면 주파수 영역 변환부(3510)의 선택부(3512)는 입력 데이터와 중첩부(3511)의 출력 데이터 중 입력 데이터를 선택하고, 시간 영역 변환부(3530)의 선택부(3533)는 IFFT부(3531)의 출력 데이터와 세이브부(3532)의 출력 데이터 중 IFFT부(3531)의 출력 데이터를 선택한다. 그리고 계수 선택부(3560)는 제1 계수 연산부(3540)에서 출력되는 등화 계수를 선택한다. When the data input in FIG. 57 configured as described above is the data of the A / B area, the selecting unit 3512 of the frequency domain converter 3510 selects the input data from the input data and the output data of the overlapping unit 3511, and time The selection unit 3535 of the area converter 3530 selects output data of the IFFT unit 3531 from among output data of the IFFT unit 3531 and output data of the save unit 3532. The coefficient selector 3560 selects an equalization coefficient output from the first coefficient calculator 3540.

한편 입력되는 데이터가 C/D 영역의 데이터이면 주파수 영역 변환부(3510)의 선택부(3512)는 입력 데이터와 중첩부(3511)의 출력 데이터 중 중첩부(3511)의 출력 데이터를 선택하고, 시간 영역 변환부(3530)의 선택부(3533)는 IFFT부(3531)의 출력 데이터와 세이브부(3532)의 출력 데이터 중 세이브부(3532)의 출력 데이터를 선택한다. 그리고 계수 선택부(3560)는 제2 계수 연산부(3550)에서 출력되는 등화 계수를 선택한다. On the other hand, if the input data is data of the C / D region, the selecting unit 3512 of the frequency domain converting unit 3510 selects the output data of the overlapping unit 3511 among the input data and the output data of the overlapping unit 3511, The selector 3533 of the time domain converter 3530 selects the output data of the save unit 3532 from the output data of the IFFT unit 3531 and the output data of the save unit 3532. The coefficient selector 3560 selects an equalization coefficient output from the second coefficient calculator 3550.

즉, 수신 데이터는 주파수 영역 변환부(3510)의 중첩부(3511)와 선택 부(3512) 그리고, 제1 계수 연산부(3540)로 입력된다. 상기 선택부(3512)는 입력 데이터가 A/B 영역의 데이터이면 수신 데이터를 선택하여 제1 FFT부(3513)로 출력하고, C/D 영역의 데이터이면 중첩부(3511)에서 중첩된 데이터를 선택하여 제1 FFT부(3513)로 출력한다. 상기 제1 FFT부(3513)는 상기 선택부(3512)에서 출력되는 시간 영역의 데이터를 FFT하여 주파수 영역으로 변환한 후 왜곡 보상부(3520)와 제2 계수 연산부(3550)의 지연기(3557)로 출력한다. That is, the received data is input to the overlapping unit 3511, the selecting unit 3512, and the first coefficient calculating unit 3540 of the frequency domain transform unit 3510. If the input data is data in the A / B area, the selector 3512 selects the received data and outputs the received data to the first FFT unit 3513. If the data is in the C / D area, the selector 3512 overlaps the overlapped data. Selects and outputs the first FFT unit 3513. The first FFT unit 3513 transforms the time domain data output from the selector 3512 into a frequency domain by converting the data in the time domain into a frequency domain, and then delays 3575 of the distortion compensator 3520 and the second coefficient calculator 3550. )

상기 왜곡 보상부(3520)는 상기 제1 FFT부(3513)에서 출력되는 주파수 영역의 데이터에 계수 선택부(3560)에서 출력되는 등화 계수를 복소곱하여 상기 제1 FFT부(3513)에서 출력되는 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(3530)의 IFFT부(3531)로 출력한다. The distortion compensator 3520 complexes the equalization coefficient output from the coefficient selector 3560 to the data in the frequency domain output from the first FFT unit 3513 to output the data from the first FFT unit 3513. The channel distortion is compensated for and output to the IFFT unit 3531 of the time domain converter 3530.

상기 시간 영역 변환부(3530)의 IFFT부(3531)는 채널의 왜곡이 보상된 데이터를 IFFT하여 시간 영역으로 변환한 후 세이브부(3532)와 선택부(3533)로 출력한다. 상기 선택부(3533)는 입력 데이터가 A/B 영역의 데이터이면 IFFT부(3531)의 출력 데이터를 선택하고, C/D 영역의 데이터이면 세이브부(3532)에서 추출된 유효 데이터를 선택하여 데이터 복호를 위해 출력함과 동시에 제2 계수 연산부(3550)로 출력한다. The IFFT unit 3531 of the time domain converter 3530 converts data compensated for distortion of a channel into IF domain by IFFT converting the data to the save unit 3532 and the selector 3535. The selector 3535 selects output data of the IFFT unit 3531 if the input data is data of the A / B area, and selects valid data extracted from the save unit 3532 if the data of the C / D area is selected. At the same time as the decoding for output to the second coefficient calculation unit 3550.

상기 제1 계수 연산부(3540)의 CIR 추정기(3541)는 기지 데이터 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 기지 데이터를 이용하여 CIR을 추정한 후 평균 연산부(3542)로 출력한다. 또한 상기 CIR 추정기(3541)는 필드 동기 구간 동안 수신되는 데이터와 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 CIR을 추정할 수 있으며, 추정된 CIR은 평균 연산부(3542)로 출력한다. The CIR estimator 3551 of the first coefficient calculating unit 3540 estimates the CIR using data received during the known data interval and reference known data generated at the receiving side by the appointment of the transmitting / receiving side and then averages the calculating unit ( 3542). In addition, the CIR estimator 3551 may estimate the CIR using data received during the field sync period and reference field sync data generated at the receiver, and output the estimated CIR to the average calculating unit 3542.

상기 평균 연산부(3542)는 입력되는 연속된 CIR들의 평균값을 구하여 제2 FFT부(3543)로 출력한다. The average calculating unit 3542 obtains an average value of successive CIRs which are input, and outputs the average value to the second FFT unit 3543.

상기 제2 FFT부(3543)는 입력된 시간 영역의 CIR을 FFT하여 주파수 영역으로 변환한 후 계수 연산기(3544)로 출력한다. The second FFT unit 3543 converts the input CIR of the time domain into the frequency domain and outputs the FIR to the coefficient calculator 3504.

상기 계수 연산기(3544)는 주파수 영역의 CIR을 이용하여 평균 자승 에러를 최소화하는 조건을 만족하는 등화 계수를 계산하여 계수 선택부(3560)로 출력한다.The coefficient calculator 3504 calculates an equalization coefficient satisfying a condition for minimizing the mean square error using the CIR in the frequency domain and outputs the equalization coefficient to the coefficient selector 3560.

상기 제2 계수 연산부(3550)의 결정기(3551)는 다수개 예를 들어, 8개의 결정값들 중 상기 등화된 데이터와 가장 가까운 결정값을 선택하여 선택부(3552)로 출력한다. 상기 선택부(3552)는 일반 데이터 구간에서는 상기 결정기(3551)의 결정값을 선택하고, 기지 데이터 구간에서는 기지 데이터를 선택하여 감산기(3553)로 출력한다. 상기 감산기(3553)는 상기 선택부(3552)의 출력으로부터 상기 시간 영역 변환부(3530)의 선택부(3533)의 출력을 빼 에러를 구하고 이 에러 값을 제로 패딩부(3554)로 출력한다. The determiner 3551 of the second coefficient calculator 3550 selects a decision value closest to the equalized data among the eight decision values and outputs the selected decision value to the selector 3652. The selector 3652 selects the determined value of the determiner 3551 in the general data section, and selects the known data in the known data section and outputs the known data to the subtractor 3553. The subtractor 3553 subtracts the output of the selector 3535 of the time domain converter 3530 from the output of the selector 3552 to obtain an error and outputs the error value to the zero padding unit 3554.

상기 제로 패딩부(3554)는 입력되는 에러에 수신 데이터가 중첩되는 양에 해당하는 양의 0(zero)을 첨가한 후 제3 FFT부(3555)로 출력한다. 상기 제3 FFT부(3555)는 0이 첨가된 시간 영역의 에러를 주파수 영역의 에러로 변환한 후 계수 갱신부(3556)로 출력한다. 상기 계수 갱신부(3556)는 지연기(3557)에서 지연된 주파수 영역의 데이터와 주파수 영역의 에러를 이용하여 이전 등화 계수를 갱신한 후 계수 선택부(3560)로 출력한다. 이때 갱신된 등화 계수는 다음에 이전 등화 계수로 이용하기 위해 저장된다. The zero padding unit 3554 adds a zero corresponding to an amount of overlapping received data to an input error and outputs the zero padding unit 3555 to the third FFT unit 3555. The third FFT unit 3555 converts an error in the time domain to which zero is added to an error in the frequency domain, and outputs the error to the coefficient updater 3556. The coefficient updater 3556 updates the previous equalization coefficient using the data of the frequency domain delayed by the delayer 3575 and the error of the frequency domain, and outputs the previous equalization coefficient to the coefficient selector 3560. The updated equalization coefficient is then stored for use as a previous equalization coefficient.

상기 계수 선택부(3560)는 입력 데이터가 A/B 영역의 데이터이면 제1 계수 연산부(3540)에서 계산된 등화 계수를 선택하고, C/D 영역의 데이터이면 제2 계수 연산부(3550)에서 갱신된 등화 계수를 선택하여 왜곡 보상부(3520)로 출력한다. The coefficient selector 3560 selects an equalization coefficient calculated by the first coefficient calculator 3540 when the input data is data in the A / B region, and updates it by the second coefficient calculator 3550 when the data is in the C / D region. The equalization coefficients are selected and output to the distortion compensator 3520.

도 58은 데이터 그룹이 도 5와 같은 구조로 구분되었을 때, A,B,C,D 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 채널 등화기의 또 다른 실시예로 보이고 있다.FIG. 58 illustrates another embodiment of a channel equalizer for differentiating and applying a channel impulse response (CIR) according to areas A, B, C, and D when data groups are divided into the same structure as in FIG. 5. .

예를 들어, A/B 영역의 데이터에 대해서는 중첩 & 세이브 방식의 CIR을 이용한 간접 등화 방식의 채널 등화를 수행하고, C/D 영역의 데이터에 대해서는 중첩 & 세이브 방법을 이용한 직접 등화 방식의 채널 등화를 수행할 수 있다.For example, indirect equalization channel equalization using overlapping & save CIR is performed on data in A / B area, and direct equalization channel equalization using overlapping & save method is applied to data in C / D area. Can be performed.

이를 위해 도 58의 채널 등화기는 주파수 영역 변환부(3610), 왜곡 보상부(3620), 시간 영역 변환부(3630), 제1 계수 연산부(3640), 제2 계수 연산부(3650), 및 계수 선택부(3660)를 포함할 수 있다.For this purpose, the channel equalizer of FIG. 58 includes a frequency domain transformer 3610, a distortion compensator 3620, a time domain transformer 3630, a first coefficient calculator 3640, a second coefficient calculator 3650, and coefficient selection. A portion 3660 may be included.

상기 주파수 영역 변환부(3610)는 중첩부(3611)와 제1 FFT부(3612)를 포함할 수 있다.The frequency domain transform unit 3610 may include an overlap unit 3611 and a first FFT unit 3612.

상기 시간 영역 변환부(3630)는 IFFT부(3631)와 세이브부(3632)를 포함할 수 있다.The time domain converter 3630 may include an IFFT unit 3611 and a save unit 3632.

상기 제1 계수 연산부(3640)는 CIR 추정기(3641), 보간부(3642), 제2 FFT부(3643), 및 계수 연산기(3644)를 포함할 수 있다.The first coefficient calculator 3640 may include a CIR estimator 3641, an interpolator 3542, a second FFT unit 3643, and a coefficient calculator 3644.

상기 제2 계수 연산부(3650)는 결정기(3651), 선택부(3652), 감산기(3653), 제로 패딩부(3654), 제3 FFT부(3655), 계수 갱신부(3656), 및 지연기(3657)를 포함할 수 있다.The second coefficient calculator 3650 includes a determiner 3701, a selector 3652, a subtractor 3653, a zero padding unit 3654, a third FFT unit 3655, a coefficient updater 3656, and a delay unit. (3657).

이때 상기 계수 선택부(3660)는 현재 입력 데이터가 A/B 영역의 데이터인지, C/D 영역의 데이터인지에 따라 입력 데이터를 선택하는 멀티플렉서(즉, 먹스)로 구성할 수 있다. 즉 상기 계수 선택부(3660)는 입력되는 데이터가 A/B 영역의 데이터이면 제1 계수 연산부(3640)의 등화 계수를 선택하고, C/D 영역의 데이터이면 제2 계수 연산부(3650)의 등화 계수를 선택한다. In this case, the coefficient selector 3660 may be configured as a multiplexer (ie, mux) that selects input data according to whether the current input data is data of an A / B area or data of a C / D area. That is, the coefficient selector 3660 selects an equalization coefficient of the first coefficient calculator 3640 if the input data is data in the A / B region, and equalizes the second coefficient calculator 3650 if the data is in the C / D region. Select the coefficient.

이와 같이 구성된 도 58에서 수신 데이터는 주파수 영역 변환부(3610)의 중첩부(3611)와 제1 계수 연산부(3640)로 입력된다. 상기 중첩부(3611)는 기 설정된 중첩 비율에 따라 입력 데이터를 중첩시켜 제1 FFT부(3612)로 출력한다. 상기 제1 FFT부(3612)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜곡 보상부(3620)와 제2 계수 연산부(3650)의 지연기(3657)로 출력된다.In FIG. 58 configured as described above, the received data is input to the overlapping part 3611 and the first coefficient calculating part 3640 of the frequency domain transforming part 3610. The overlap unit 3611 overlaps the input data according to a preset overlap ratio and outputs the input data to the first FFT unit 3612. The first FFT unit 3612 converts overlapped data in the time domain into overlapped data in the frequency domain through an FFT and is output to the distortion compensator 3620 and the delay unit 3635 of the second coefficient calculator 3650.

상기 왜곡 보상부(3620)는 상기 제1 FFT부(3612)에서 출력되는 주파수 영역의 중첩 데이터에 계수 선택부(3660)에서 출력되는 등화 계수를 복소곱하여 상기 제1 FFT부(3612)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(3630)의 IFFT부(3631)로 출력한다. 상기 IFFT부(3631)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(3632)로 출력한다. 상기 세이브부(3632)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터 만을 추출한 후 데이터 복호를 위해 출력함과 동시에 계수 갱신을 위해 제2 계수 연산부(3650)로 출력한다. The distortion compensator 3620 complex-multiplies the equalization coefficient output from the coefficient selector 3660 with the overlapping data of the frequency domain output from the first FFT unit 3612 and outputs from the first FFT unit 3612. The channel distortion of the overlapped data is compensated and then output to the IFFT unit 3611 of the time domain converter 3630. The IFFT unit 3611 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 3632. The save unit 3632 extracts only valid data from the overlapped data of the channel equalized time domain and outputs the data for data decoding and outputs the data to the second coefficient calculator 3650 for coefficient update.

상기 제1 계수 연산부(3640)의 CIR 추정기(3641)는 기지 데이터 구간 동안 수신된 데이터와 수신측에서 발생한 기준 기지 데이터를 이용하여 CIR을 추정한 후 보간부(3642)로 출력한다. 또한 상기 CIR 추정기(3641)는 필드 동기 구간 동안 수신되는 데이터와 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 CIR을 추정한 후 보간부(3642)로 출력한다. The CIR estimator 3641 of the first coefficient calculator 3640 estimates the CIR by using the data received during the known data interval and the reference known data generated at the receiver, and outputs the CIR to the interpolator 3642. In addition, the CIR estimator 3641 estimates the CIR using data received during the field synchronization period and reference field synchronization data generated at the receiving side, and outputs the CIR to the interpolator 3642.

상기 보간부(3642)는 입력되는 CIR를 이용하여 추정된 CIR들 사이에 위치하는 시점에서의 CIR들 즉, 기지 데이터가 없는 구간의 CIR들을 기 설정된 보간법으로 추정하고 그 결과를 제2 FFT부(3643)로 출력한다. 상기 제2 FFT부(3643)는 입력되는 CIR을 주파수 영역으로 변환하여 계수 연산기(3644)로 출력한다. 상기 계수 연산기(3644)는 주파수 영역의 CIR을 이용하여 평균 자승 에러를 최소화하는 조건을 만족하는 주파수 영역 등화 계수를 계산한 후 계수 선택부(3660)로 출력한다.The interpolator 3642 estimates the CIRs at the time points located between the CIRs estimated using the input CIRs, that is, the CIRs of the section without known data, by using a preset interpolation method, and calculates the result of the second FFT unit ( 3643). The second FFT unit 3643 converts the input CIR into a frequency domain and outputs the converted CIR to the coefficient calculator 3644. The coefficient calculator 3644 calculates a frequency domain equalization coefficient that satisfies the condition of minimizing the mean square error using the CIR of the frequency domain and outputs the same to the coefficient selector 3660.

상기 제2 계수 연산부(3650)의 구성 및 동작은 상기 도 57의 제2 계수 연산부(3550)와 동일하므로 상세 설명을 생략한다. Since the configuration and operation of the second coefficient calculator 3650 are the same as those of the second coefficient calculator 3550 of FIG. 57, detailed description thereof will be omitted.

상기 계수 선택부(3660)는 입력 데이터가 A/B 영역의 데이터이면 제1 계수 연산부(3640)에서 계산된 등화 계수를 선택하고, C/D 영역의 데이터이면 제2 계수 연산부(3650)에서 갱신된 등화 계수를 선택하여 왜곡 보상부(3620)로 출력한다. The coefficient selector 3660 selects an equalization coefficient calculated by the first coefficient calculator 3640 if the input data is data of the A / B region, and updates the second coefficient calculator 3650 if the data of the C / D region is the data. The equalization coefficients are selected and output to the distortion compensator 3620.

도 59는 데이터 그룹이 도 5와 같은 구조로 구분되었을 때, A,B,C,D 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 채널 등화기의 또 다른 실시예로 보이고 있다.FIG. 59 illustrates another embodiment of a channel equalizer for differentiating and applying a channel impulse response (CIR) according to areas A, B, C, and D when data groups are divided into the same structure as in FIG. 5. .

예를 들어, 기지 데이터가 일정한 주기마다 배치되어 있는 A/B 영역에서는 상기 기지 데이터를 이용하여 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정한 후 채널 등화를 수행하고, C/D 영역에서는 등화된 데이터의 결정값을 이용하여 CIR을 추정한 후 채널 등화를 수행할 수 있다.For example, in the A / B area where known data are arranged at regular intervals, channel equalization response (CIR) is estimated using the known data, and then channel equalization is performed, and in the C / D area, equalization is performed. The channel equalization may be performed after estimating the CIR using the determined value of the data.

본 발명의 일 실시예로는, 상기 A/B 영역에서는 상기 기지 데이터를 이용하여 최소 자승(Least Square ; LS) 방식으로 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정한 후 채널 등화를 수행하고, C/D 영역에서는 최소 평균 자승(Least Mean Square ; LMS) 방식으로 CIR을 추정한 후 채널 등화를 수행한다. 즉, 상기 A/B 영역과 같이 주기적인 기지 데이터가 존재하지 않는 C/D 영역에서는 상기 A/B 영역과 동일한 방식으로 채널 등화를 수행할 수 없으므로, C/D 영역에서는 LMS 방식으로 CIR을 추정하여 채널 등화를 수행한다. According to an embodiment of the present invention, in the A / B region, channel impulse response (CIR) is estimated using a least square (Least Square; LS) method using the known data, and then channel equalization is performed. In the C / D domain, channel equalization is performed after estimating the CIR using a least mean square (LMS) method. That is, since channel equalization cannot be performed in the same manner as the A / B region in the C / D region where periodic known data do not exist, such as the A / B region, the C / D region estimates the CIR by the LMS method. Performs channel equalization.

도 59를 보면, 중첩부(3701), 제1 FFT(Fast Fourier Transform)부(3702), 왜곡 보상부(3703), IFFT부(3704), 세이브부(3705), 제1 CIR 추정기(3706), CIR 보간부(3707), 결정기(3708), 선택부(3709), 제2 CIR 추정기(3710), 선택부(3711), 제2 FFT부(3712), 및 계수 연산기(3713)를 포함하여 구성된다. 상기 왜곡 보상부(3703)는 복소수 곱셈 역할을 수행하는 소자는 어느 것이나 가능하다. Referring to FIG. 59, an overlapping part 3701, a first fast fourier transform part 3702, a distortion compensating part 3703, an IFFT part 3704, a save part 3705, and a first CIR estimator 3706 are shown. , CIR interpolator 3707, determiner 3708, selector 3709, second CIR estimator 3710, selector 3711, second FFT unit 3712, and coefficient calculator 3713 It is composed. The distortion compensator 3703 may be any element that performs a complex multiplication role.

이와 같이 구성된 도 59에서, 등화기 입력 데이터는 중첩부(3701)에서 기 설정된 중첩 비율로 중첩되어 제1 FFT부(3702)로 출력된다. 상기 제1 FFT부(3702)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜 곡 보상부(3703)로 출력된다.In FIG. 59 configured as described above, the equalizer input data is superimposed at a preset overlap ratio in the overlap unit 3701 and output to the first FFT unit 3702. The first FFT unit 3702 converts overlapped data in the time domain into overlapped data in the frequency domain through an FFT and is output to the distortion compensator 3703.

상기 왜곡 보상부(3703)는 상기 제1 FFT부(3702)에서 출력되는 주파수 영역의 중첩 데이터에 계수 연산기(3713)에서 계산된 등화 계수를 복소곱하여 상기 제1 FFT부(3702)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 IFFT부(3704)로 출력한다. 상기 IFFT부(3704)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(3705)로 출력한다. 상기 세이브부(3705)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출한 후 데이터 복호를 위해 출력함과 동시에 채널 추정을 위해 결정기(3708)로 출력한다. The distortion compensator 3703 complexly multiplies the equalization coefficient calculated by the coefficient operator 3713 to the overlapping data of the frequency domain output from the first FFT unit 3702, and outputs the overlapped output from the first FFT unit 3702. The channel distortion of the data is compensated and then output to the IFFT unit 3704. The IFFT unit 3704 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 3705. The save unit 3705 extracts only valid data from the superimposed data in the channel equalized time domain, outputs the data for decoding, and outputs the same to the determiner 3708 for channel estimation.

상기 결정기(3708)는 다수개 예를 들어, 8개의 결정값들 중 상기 등화된 데이터와 가장 가까운 결정값을 선택하여 선택부(3709)로 출력한다. 상기 선택부(3709)는 멀티플렉서로 구성할 수 있다. 상기 선택부(3709)는 일반 데이터 구간에서는 상기 결정기(3708)의 결정값을 선택하고, 기지 데이터 구간에서는 기지 데이터를 선택하여 제2 CIR 추정기(3710)로 출력한다.The determiner 3708 selects a decision value closest to the equalized data among a plurality of decision values, for example, and outputs the selected decision value to the selector 3709. The selector 3709 may be configured as a multiplexer. The selector 3709 selects the determined value of the determiner 3708 in the general data section, and selects the known data in the known data section and outputs the known data to the second CIR estimator 3710.

한편 제1 CIR 추정기(3706)는 기지 데이터 구간 동안 입력되는 데이터와 기준 기지 데이터를 이용하여 CIR을 추정한 후 CIR 보간부(3707)로 출력한다. 또한 제1 CIR 추정기(3706)는 필드 동기 구간 동안 입력되는 데이터와 기준 필드 동기 데이터를 이용하여 CIR을 추정할 수 있으며, 추정된 CIR은 CIR 보간부(3707)로 출력한다. 여기서 상기 기준 필드 동기 데이터는 송/수신측의 약속에 의해 수신측에서 생성한 기준 필드 동기 데이터이다. Meanwhile, the first CIR estimator 3706 estimates the CIR using data input during the known data interval and reference known data, and outputs the CIR to the CIR interpolator 3707. In addition, the first CIR estimator 3706 may estimate the CIR using data input during the field sync interval and reference field sync data, and output the estimated CIR to the CIR interpolator 3707. Here, the reference field synchronization data is reference field synchronization data generated on the receiving side by an appointment on the transmitting / receiving side.

이때 상기 제1 CIR 추정기(3706)는 일 실시예로 LS 방식으로 CIR을 추정한 다. 상기 LS 추정 방식은 기지 데이터 구간 동안 채널을 거쳐 온 기지 데이터와 수신단에서 이미 알고있는 기지 데이터와의 상호 상관값(Cross Correlation Value) p를 구하고, 상기 기지 데이터의 자기 상관행렬 R을 구한다. 그리고 나서 수신 데이터와 원 기지 데이터와의 상호 상관값인 p속에 존재하는 자기 상관 부분을 제거하도록

Figure 112008047588756-PAT00036
의 행렬 연산을 하여 전송 채널의 임펄스 응답을 추정하는 방법이다.In this case, the first CIR estimator 3706 estimates the CIR by the LS method according to an embodiment. The LS estimation method obtains a cross correlation value p between known data transmitted through a channel and known data known to a receiver during a known data interval, and obtains an autocorrelation matrix R of the known data. Then remove the autocorrelation portion that exists in p that is the cross-correlation between the received data and the original data.
Figure 112008047588756-PAT00036
It is a method of estimating the impulse response of a transmission channel by performing a matrix operation of.

상기 CIR 보간부(3707)는 상기 제1 CIR 추정기(3706)로부터 CIR을 입력받아 상기 기지 데이터 구간에서는 추정된 CIR을 출력하고, 기지 데이터와 기지 데이터 사이의 구간에서는 상기 CIR을 기 설정된 보간법으로 보간한 후 보간된 CIR을 출력한다. 이때 상기 기 설정된 보간법은 어떤 함수에서 알려진 데이터를 이용하여 알려지지 않은 지점의 데이터를 추정하는 방법이다. 가장 간단한 일례로 선형 보간(Linear Interpolation)법이 있으며, 상기 선형 보간법은 수많은 보간법 중 가장 간단한 예이다. 본 발명은 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않은 것이다. The CIR interpolator 3707 receives the CIR from the first CIR estimator 3706, outputs an estimated CIR in the known data section, and interpolates the CIR by a predetermined interpolation method in the section between the known data and the known data. Then output the interpolated CIR. In this case, the preset interpolation method is a method of estimating data at an unknown point using known data in a function. The simplest example is a linear interpolation method, which is the simplest of many interpolation methods. The present invention is not limited to the examples described above since the present invention may employ various other interpolation techniques in addition to the above methods.

즉, 상기 CIR 보간부(3707)는 입력되는 CIR을 이용하여 기지 데이터가 없는 구간의 CIR을 기 설정된 보간법으로 추정하여 선택부(3711)로 출력한다. That is, the CIR interpolator 3707 estimates the CIR of the section without known data by using a preset CIR by using a preset interpolation method and outputs the CIR to the selector 3711.

상기 제2 CIR 추정기(3710)는 등화기 입력 데이터와 선택부(3709)의 출력 데이터를 이용하여 CIR을 추정한 후 선택부(3711)로 출력한다. 이때 상기 CIR은 일 실시예로 LMS 방식으로 추정한다. 상기 LMS 추정 방식에 대해서는 뒤에서 상세히 설명한다.The second CIR estimator 3710 estimates the CIR using the equalizer input data and the output data of the selector 3709 and outputs the CIR to the selector 3711. At this time, the CIR is estimated by the LMS method according to an embodiment. The LMS estimation method will be described in detail later.

상기 선택부(3711)는 A/B 영역(즉, MPH 블록 B3~B8)에서는 상기 CIR 보간부(3707)에서 출력되는 CIR을 선택하고, C/D 영역(즉, MPH 블록 B1,B2,B9.B10)에서는 상기 제2 CIR 추정기(3710)에서 출력되는 CIR을 선택하여 제2 FFT부(3712)로 출력한다. 상기 제2 FFT부(3712)는 입력되는 CIR을 주파수 영역으로 변환하여 계수 연산기(3713)로 출력한다. 상기 계수 연산기(3713)는 입력되는 주파수 영역의 CIR을 이용하여 등화 계수를 계산하여 왜곡 보상부(3703)로 출력한다. 이때 상기 계수 연산기(3713)는 상기 주파수 영역의 CIR로부터 평균 자승 에러를 최소화(Minimum Mean Square Error : MMSE)하는 주파수 영역의 등화 계수를 구하는 것을 일 실시예로 한다. The selector 3711 selects a CIR output from the CIR interpolator 3707 in an A / B area (ie, MPH blocks B3 to B8), and selects a CIR output from the C / D area (ie, MPH blocks B1, B2, and B9). B10) selects the CIR output from the second CIR estimator 3710 and outputs the CIR to the second FFT unit 3712. The second FFT unit 3712 converts the input CIR into a frequency domain and outputs the converted CIR to the coefficient calculator 3713. The coefficient calculator 3713 calculates an equalization coefficient by using the CIR of the input frequency domain and outputs the equalization coefficient to the distortion compensator 3703. In this embodiment, the coefficient calculator 3713 obtains an equalization coefficient of a frequency domain that minimizes a mean square error (MMSE) from the CIR of the frequency domain.

이때 상기 제2 CIR 추정기(3710)는 C/D 영역의 초기 CIR로 상기 A/B 영역에서 구한 CIR을 사용할 수 있다. 예를 들어, MPH 블록 B8의 CIR 값을 MPH 블록 B9의 초기 CIR 값으로 사용할 수 있다. 이렇게 하면 C/D 영역에서의 수렴 속도를 단축할 수 있다. In this case, the second CIR estimator 3710 may use the CIR obtained in the A / B region as the initial CIR of the C / D region. For example, the CIR value of the MPH block B8 may be used as the initial CIR value of the MPH block B9. This can shorten the convergence speed in the C / D domain.

상기 제2 CIR 추정기(3710)에서 LMS 방식으로 CIR을 추정하는 기본 원리는 어떤 미지의 전송 채널의 출력을 입력받아 이 채널의 출력값과 적응 필터(Adaptive Filter)의 출력값의 차이가 최소화가 되도록 적응 필터의 계수값을 갱신해가는 것이다. 즉 등화기 입력 데이터와 상기 제2 CIR 추정기(3710) 내 적응 필터(도시되지 않음)의 출력값이 같아지도록 상기 적응 필터의 계수 값을 갱신해가며, FFT 주기마 다 필터 계수를 CIR로 출력한다. The basic principle of estimating the CIR by the LMS method in the second CIR estimator 3710 is an adaptive filter to receive an output of an unknown transmission channel and minimize the difference between the output value of the channel and the output value of the adaptive filter. It is to update the coefficient value of. That is, the coefficient value of the adaptive filter is updated so that the equalizer input data and the output value of the adaptive filter (not shown) in the second CIR estimator 3710 are the same, and the filter coefficient is output to the CIR every FFT period.

도 60을 보면, 제2 CIR 추정기(3710)는 선택부(3709)의 출력 데이터

Figure 112008047588756-PAT00037
를 순차적으로 지연시키는 지연기(T), 상기 각 지연기(T)의 해당 출력 데이터와 에러 데이터 e(n)를 곱하는 곱셈기, 및 상기 각 곱셈기의 해당 출력에 의해 계수가 갱신되는 계수 갱신부가 탭 수만큼 구비되어 구성된다. 설명의 편의를 위해 상기 탭 수만큼 구비되는 곱셈기들을 제1 곱셈부라 한다. 또한 상기 선택부(3709)의 출력 데이터 및 각 지연기(T)의 출력 데이터(마지막 지연기의 출력 데이터는 제외됨)를 각 계수 갱신부의 해당 출력 데이터와 곱하는 곱셈기가 탭 수만큼 더 구비되어 구성되며, 설명의 편의를 위해 상기 곱셈기들을 제2 곱셈부라 한다. 또한 상기 제2 곱셈부의 각 곱셈기의 출력 데이터를 모두 더하여 등화기 입력의 추정값
Figure 112008047588756-PAT00038
으로 출력하는 가산기와, 상기 가산기의 출력
Figure 112008047588756-PAT00039
과 등화기 입력 데이터 y(n)와의 차를 에러 데이터 e(n)로 출력하는 감산기를 더 포함하여 구성된다. Referring to FIG. 60, the second CIR estimator 3710 may output data of the selector 3709.
Figure 112008047588756-PAT00037
Delay delay T for sequentially delaying, a multiplier for multiplying the corresponding output data of the respective delayers T and the error data e (n), and a coefficient updating unit for updating coefficients by corresponding outputs of the respective multipliers. It is provided with a number. For convenience of description, multipliers provided by the number of taps are referred to as first multipliers. In addition, a multiplier for multiplying the output data of the selector 3709 and the output data of each delayer T (except the output data of the last delayer) with the corresponding output data of each coefficient updater is further provided by the number of taps. For convenience of description, the multipliers are called second multipliers. In addition, the estimated value of the equalizer input by adding up the output data of each multiplier of the second multiplier.
Figure 112008047588756-PAT00038
An adder for outputting the output of the adder
Figure 112008047588756-PAT00039
And a subtractor for outputting the difference from the equalizer input data y (n) as the error data e (n).

이와 같이 구성된 도 60을 보면, 일반 데이터 구간에서는 등화된 데이터의 결정값이, 기지 데이터 구간에서는 기지 데이터가 제2 CIR 추정기(3710) 내 첫 번째 지연기와 제2 곱셈부의 첫 번째 곱셈기로 입력된다. Referring to FIG. 60 configured as described above, the determined value of the equalized data is input in the general data section, and the known data is input to the first multiplier in the second CIR estimator 3710 and the first multiplier in the known data section.

상기 입력 데이터

Figure 112008047588756-PAT00040
는 탭 수만큼 직렬 연결된 지연기(T)를 통해 순차적으로 지연된다. 상기 각 지연기의 출력 데이터와 에러 데이터 e(n)는 제1 곱셈부의 해당 곱셈기에서 곱해져 해당 계수 갱신부 내 계수를 갱신한다. 각 계수 갱신부에 서 갱신된 계수는 제2 곱셈부의 해당 곱셈기에서 입력 데이터
Figure 112008047588756-PAT00041
및 마지막 지연기를 제외한 각 지연기의 출력 데이터와 곱해져 가산기로 입력된다. 상기 가산기는 상기 제2 곱셈부의 각 곱셈기의 출력 데이터를 모두 더하여 등화기 입력의 추정값
Figure 112008047588756-PAT00042
으로 감산기에 출력한다. 상기 감산기는 상기 추정값
Figure 112008047588756-PAT00043
과 등화기 입력 데이터 y(n)와의 차를 에러 데이터 e(n)로 하여 제1 곱셈부의 각 곱셈기로 출력한다. 이때 에러 데이터 e(n)는 지연기(T)를 통해 제1 곱셈부의 각 곱셈기로 출력된다.The input data
Figure 112008047588756-PAT00040
Delay is sequentially delayed through the serially connected retarder T by the number of taps. The output data of each delay unit and the error data e (n) are multiplied in the corresponding multiplier of the first multiplier to update the coefficients in the coefficient update unit. The coefficient updated in each coefficient update unit is input data in the corresponding multiplier of the second multiplier.
Figure 112008047588756-PAT00041
And multiplied by the output data of each delayer except the last delayer and input to the adder. The adder adds all output data of each multiplier of the second multiplier to estimate an equalizer input value.
Figure 112008047588756-PAT00042
Output to the subtractor. The subtractor is the estimated value
Figure 112008047588756-PAT00043
The difference from the equalizer input data y (n) is used as the error data e (n) and output to each multiplier of the first multiplier. At this time, the error data e (n) is output to each multiplier of the first multiplier through the delay T.

그리고 전술한 과정을 통해 필터의 계수를 계속 갱신해가며, FFT 주기마다 각 계수 갱신부의 출력이 제2 CIR 추정기(3710)의 CIR 출력이 된다. The coefficient of the filter is continuously updated through the above-described process, and the output of each coefficient updating unit becomes the CIR output of the second CIR estimator 3710 for each FFT period.

지금까지 본 발명에서 설명한 데이터 그룹 내 각 영역에서 채널 등화를 위해 CIR을 구하는 방법들은 본 발명의 이해를 돕기 위한 실시예들이며, 이러한 방법들은 보다 넓고 다양하게 응용될 수 있으므로 본 발명은 상기 실시예로 제시한 것에 제한되지 않을 것이다. Until now, the methods for obtaining CIR for channel equalization in each region in the data group described in the present invention are embodiments to aid the understanding of the present invention. It will not be limited to what is presented.

블록 복호기Block decoder

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

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

한편 상기 블록 복호기(1005)에서 트렐리스 복호된 데이터는 데이터 디인터리버(1009)로 출력된다. 이때 상기 블록 복호기(1005)에서 트렐리스 복호되어 데이터 디인터리버(1009)로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, RS 프레임 내 데이터, 시그널링 정보도 포함될 수 있다. 또한 송신측에서 전처리기(230) 이후에 부가되는 RS 패리티 데이터도 상기 데이터 디인터리버(1009)로 출력되는 데이터에 포함될 수 있다.Meanwhile, the trellis decoded data by the block decoder 1005 is output to the data deinterleaver 1009. In this case, the data that is trellis-decoded by the block decoder 1005 and output to the data deinterleaver 1009 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 1009.

다른 실시예로, 송신측에서 블록 부호화는 수행되지 않고, 트렐리스 부호화만 수행된 데이터는 상기 블록 복호기(1005)에서 그대로 바이패스되어 데이터 디인터리버(1009)로 출력될 수도 있다. 이 경우 상기 데이터 디인터리버(1009) 전단에 트렐리스 복호기를 더 구비하여야 한다.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 1005 and output to the data deinterleaver 1009. In this case, a trellis decoder must be further provided in front of the data deinterleaver 1009.

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

상기 블록 복호기(1005)는 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터라면, 입력 데이터에 대하여 소프트 판정값을 출력한다.The block decoder 1005 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.

즉, 상기 블록 복호기(1005)는 입력되는 데이터가 송신측의 블록 처리기(302)에서 블록 부호화가 수행되고, 트렐리스 부호화부(256)에서 트렐리스 부호화가 수행된 데이터라면, 송신측의 역으로 트렐리스 복호와 블록 복호를 수행한다. 이때 송신측의 블록 처리기는 외부 부호기로 볼 수 있고, 트렐리스 부호화부는 내부 부호기로 볼 수 있다. In other words, if the input data is block coded by the block processor 302 on the transmitting side and trellis coded by the trellis coding unit 256, the block decoder 1005 receives data on the transmitting side. 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.

도 61은 본 발명에 따른 블록 복호기(1005)의 일 실시예를 보인 상세 블록도로서, 피드백 제어기(4010), 입력 버퍼(4011), 트렐리스 복호부(4012), 심볼-바이트 변환기(4013), 외부 블록 추출기(Outer Block Extractor)(4014), 피드백 디포맷터(4015), 심볼 디인터리버(4016), 외부 심볼 매퍼(Outer Symbol Mapper)(4017), 심볼 복호기(4018), 내부 심볼 매퍼(Inner Symbol Mapper)(4019), 심볼 인터리버(4020), 피드백 포맷터(4021), 출력 버퍼(4022)를 포함할 수 있다. 송신측과 마찬가지로, 상기 트렐리스 복호부(4012)는 내부 복호기로 볼 수 있고, 심볼 복호기(4018)는 외부 복호기로 볼 수 있다. FIG. 61 is a detailed block diagram showing an embodiment of a block decoder 1005 according to the present invention, and includes a feedback controller 4010, an input buffer 4011, a trellis decoder 4012, and a symbol-byte converter 4013. ), Outer block extractor 4014, feedback deformatter 4015, symbol deinterleaver 4016, outer symbol mapper 4017, symbol decoder 4018, internal symbol mapper ( An inner symbol mapper 4019, a symbol interleaver 4020, a feedback formatter 4021, and an output buffer 4022 may be included. Like the transmitting side, the trellis decoder 4012 can be viewed as an internal decoder, and the symbol decoder 4018 can be viewed as an external decoder.

상기 입력 버퍼(4011)는 등화기(1003)에서 채널 등화되어 출력되는 심볼값 들 중에서 블록 부호화된 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값들을 일시 저장하며, 저장된 심볼값들을 터보 복호를 위한 터보 복호 크기(TDL)로 트렐리스 복호부(4012)에 M번 반복 출력한다. 상기 터보 복호 크기(TDL)를 터보 블록이라 하기도 한다. 여기서 TDL은 최소한 하나 이상의 SCCC 블록 크기를 포함할 수 있어야 한다. 그러므로 도 5에 정의된 바와 같이, 하나의 MPH 블록이 16 세그먼트 단위이고, 10개의 MPH 블록들의 조합으로 한 개의 SCCC 블록이 구성된다고 가정하면, TDL은 그 조합 가능한 최대 크기보다 크거나 같아야 한다. 예를 들어 2개의 MPH 블록이 1개의 SCCC 블록을 구성한다고 가정하면, TDL은 32 세그먼트(828x32 = 26496 심볼) 이상이 될 수 있다. The input buffer 4011 temporarily blocks 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 from the equalizer 1003. The stored symbol values are repeatedly output M times to the trellis decoder 4012 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 MPH block is 16 segment units and one SCCC block is configured by a combination of 10 MPH blocks, the TDL should be greater than or equal to the maximum size that can be combined. For example, assuming that two MPH blocks constitute one SCCC block, the TDL may be more than 32 segments (828x32 = 26496 symbols).

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

또한 상기 입력 버퍼(4011)는 등화기(1003)에서 채널 등화되어 출력되는 심볼값 중에 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값이 전혀 포함되지 않은 구간에서의 입력 심볼값들은 저장하지 않고 바이패스한다. 즉, SCCC 블록 부호화가 수행되지 않았던 구간의 입력 심볼값에 대해서는 트렐리스 복호만 수행하므로 입력 버퍼(4011)는 상기 입력에 대해 저장 및 반복 출력 과정을 수행하지 않고 그대로 트렐리스 복호부(4012)로 입력시킨다.In addition, the input buffer 4011 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 from the equalizer 1003. 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 4011 does not perform the storing and repetitive output process on the input. ).

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

상기 트렐리스 복호부(4012)는 12-way 트렐리스 부호기와 대응하기 위해서 12-way TCM(Trellis Coded Modulation) 복호기를 포함한다. 그리고 상기 12-way 트렐리스 부호기의 역과정으로 입력 심볼값에 대해 12-way 트렐리스 복호를 수행한다. The trellis decoder 4012 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.

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

이때, 상기 피드백 포맷터(4021)에서 출력되는 소프트 판정값들은 상기 피드백 제어기(4010)의 제어에 의해 상기 입력 버퍼(4011)에서 출력되는 TDL만큼의 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(4012)로 입력된다. 즉, 상기 입력 버퍼(4011)에서 출력되는 심볼값과 터보 복호되어 입력되는 데이터는 해당 터보 블록(TDL) 내 같은 위치끼리 매칭되어 트렐리스 복호부(4012)로 출력된다. 예를 들어, 상기 터보 복호된 데이터가 터보 블록 내 세 번째 심볼값이라면 상기 입력 버퍼(4011)에서 출력되는 터보 블록 내 세 번째 심볼값과 매칭되어 트렐리스 복호부(4012)로 출력된다. In this case, the soft determination values output from the feedback formatter 4021 are matched one-to-one with symbol positions equal to the TDL output from the input buffer 4011 by the control of the feedback controller 4010, and thus the trellis decoder ( 4012). That is, the symbol value output from the input buffer 4011 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 4012. 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 4011 and outputted to the trellis decoder 4012.

이를 위해 상기 피드백 제어기(4010)는 회귀적인 터보 복호가 이루어지는 동안 상기 입력 버퍼(4011)에서 해당 터보 블록 데이터를 저장하도록 제어하며, 지연 등을 통해 심볼 인터리버(4020)의 출력 심볼의 소프트 판정값(예를 들어, LLR)과 상기 출력 심볼의 블록 내 같은 위치에 해당하는 입력 버퍼(4011)의 심볼값이 일대일 매칭되어 해당 경로(way)의 TCM 복호기로 입력될 수 있도록 제어한다. 이때 블록 부호화된 심볼값이 아닌 경우, 터보 복호되지 않기 때문에 상기 피드백 포맷터(4021)에서 매칭되는 출력 위치에 널(null)을 입력한다.To this end, the feedback controller 4010 controls to store the corresponding turbo block data in the input buffer 4011 during recursive turbo decoding, and delays the soft decision value of the output symbol of the symbol interleaver 4020 (delay). For example, the LLR and the symbol value of the input buffer 4011 corresponding to the same position in the block of the output symbol are matched one-to-one so as to be input to the TCM decoder of the corresponding path. 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 4021.

이러한 과정이 터보 복호의 기 설정된 반복 횟수동안 진행되고 나면, 다음 터보 블록의 데이터가 입력 버퍼(4011)로부터 출력되어 상기 터보 복호 과정을 반복한다. 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 4011 to repeat the turbo decoding process.

상기 트렐리스 복호부(4012)의 출력은 전송된 심볼들에 대해서 송신측 트렐리스 부호기에 입력된 심볼들의 신뢰도를 의미한다. 예를 들어 송신측의 트렐리스 부호화부(256)의 입력은 두 비트가 한 심볼이므로 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(Log Likelihood Ratio ; LLR)를 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)할 수 있다. 상기 LLR(Log Likelihood Ratio)이란 입력 비트가 1일 확률값과 0일 확률값의 비율에 대한 로그값을 의미한다. 또는 2비트 즉, 한 심볼이 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 4개의 조합(00,01,10,11)에 대해 모두 출력(심볼단위 출력)할 수 있다. 이것은 결국 수신한 심볼에 대한 소프트 판정값으로서, 트레릴스 부호기에 입력되었던 비트들의 신뢰도를 나타낸다. 상기 트렐리스 복호부(4012) 내 각 TCM 복호기의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.The output of the trellis decoder 4012 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 4012, MAP (Maximum A posteriori Probability), SOVA (Soft-Out Viterbi Algorithm), and the like may be used.

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

상기 심볼-바이트 변환기(4013)는 상기 트렐리스 복호부(4012)에서 트렐리스 복호되어 출력되는 소프트 판정값을 하드 판정(hard-decision)한 후 4 심볼을 하나의 바이트 단위로 묶어 도 36의 데이터 디인터리버(1009)로 출력한다. 즉, 상기 심볼-바이트 변환기(4013)는 트렐리스 복호부(4012)의 출력 심볼의 소프트 판정값에 대해 비트 단위의 하드 판정을 수행한다. 그러므로 상기 심볼-바이트 변환기(4013)에서 하드 판정되어 바이트 단위로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등이 포함된다.The symbol-byte converter 4013 hard-decisions the soft decision value output by trellis decoding by the trellis decoder 4012, and then binds 4 symbols by one byte unit. To the data deinterleaver 1009. That is, the symbol-byte converter 4013 performs a hard decision in bits on the soft decision value of the output symbol of the trellis decoder 4012. Therefore, the data hard-determined by the symbol-byte converter 4013 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.

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

상기 피드백 디포맷터(4015)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)로 입력되는 중간 과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 모바일 서비스 데이터 심볼의 처리 순서 변화의 역과정으로 모바일 서비스 데이터 심볼의 소프트 판정 값의 처리 순서를 변경(reordering)한 후 심볼 디인터리버(4016)로 출력한다. 이는 송신측의 블록 처리기(302)의 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하며, 이 블록들로 인해 블록 처리기(302)에서 출력되는 모바일 서비스 데이터 심볼의 순서와 트렐리스 부호화부(256)로 입력되는 모바일 서비스 데이터 심볼의 순서가 달라지기 때문이다. 따라서 상기 피드백 디포맷터(4015)는 상기 심볼 디인터리버(4016)로 입력되는 모바일 서비스 데이터 심볼의 순서가 송신측의 블록 처리기(302)의 출력 순서와 일치하도록 상기 외부 블록 추출기(4014)에서 출력되는 모바일 서비스 데이터 심볼의 순서를 재배열(reordering)한다. 이러한 재배열(reordering) 과정은 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다.The feedback deformatter 4015 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 4016. 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 4015 is output from the external block extractor 4014 so that the order of the mobile service data symbols inputted to the symbol deinterleaver 4016 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.

도 62는 피드백 디포맷터(4015)의 일 실시예를 보인 상세 블록도로서, 데이터 디인터리버(5011), 패킷 디포맷터(5012), 데이터 인터리버(5013), 및 그룹 디포맷터(5014)를 포함할 수 있다. 도 62의 경우, 상기 외부 블록 추출기(4014)에서 추출된 모바일 서비스 데이터 심볼의 소프트 판정값은 그대로 피드백 디포맷터(4015)의 데이터 디인터리버(5011)로 출력되지만, 상기 외부 블록 추출기(4014)에서 제거된 데이터 위치(예를 들면, 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 위치)에는 위치 홀더(또는 널 데이터)가 삽입되어 피드백 디포맷터(4015)의 데이터 디인터리버(5011)로 출력된다. FIG. 62 is a detailed block diagram illustrating an embodiment of a feedback deformatter 4015, and includes a data deinterleaver 5011, a packet deformatter 5012, a data interleaver 5013, and a group deformatter 5014. Can be. In the case of FIG. 62, the soft decision value of the mobile service data symbol extracted by the external block extractor 4014 is output as it is to the data deinterleaver 5011 of the feedback deformatter 4015, but the external block extractor 4014 A position holder (or null data) is inserted into the removed data position (for example, main service data, known data, signaling information data, RS parity data, and MPEG header position) to insert a data deinterleaver (a data deinterleaver) of the feedback deformatter 4015. 5011).

상기 데이터 디인터리버(5011)는 송신측의 데이터 인터리버(253)의 역과정으로 입력되는 데이터를 디인터리빙하여 패킷 디포맷터(5012)로 출력한다. 상기 패킷 디포맷터(5012)는 송신측의 패킷 포맷터(305)의 역과정을 수행한다. 즉, 디인터리빙되어 출력되는 데이터들 중 포맷터(305)에서 삽입했던 MPEG 헤더에 대응하는 위치 홀더를 제거한다. 상기 패킷 디포맷터(5012)의 출력은 데이터 인터리버(5013)로 입력되고, 상기 데이터 인터리버(5013)는 송신측의 데이터 디인터리버(529)의 역과정으로 입력되는 데이터를 인터리빙한다. 그러면 도 5와 같은 구조의 데이터가 그룹 디포맷터(5014)로 출력된다. 상기 그룹 디포맷터(5014)는 송신측의 그룹 포맷터(303)의 역과정을 수행한다. 즉, 상기 그룹 포맷터(5014)는 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터에 해당하는 위치 홀더를 제거한 후 순서가 재배열(reordering)된 모바일 서비스 데이터 심볼들만 심볼 디인터리버(4016)로 출력한다. 다른 실시예로, 상기 피드백 디포맷터(4015)를 메모리 맵 등을 이용하여 구현한다면 외부 블록 추출기(4014)에서 제거된 데이터 위치에 위치 홀더를 삽입하고 제거하는 과정을 생략할 수 있다.The data deinterleaver 5011 deinterleaves data input in a reverse process of the data interleaver 253 on the transmitting side and outputs the data to the packet deformatter 5012. The packet deformatter 5012 performs the reverse process of the packet formatter 305 on the transmitting side. That is, the position holder corresponding to the MPEG header inserted in the formatter 305 among the deinterleaved and output data is removed. The output of the packet deformatter 5012 is input to the data interleaver 5013, and the data interleaver 5013 interleaves data input in the reverse process of the data deinterleaver 529 on the transmitting side. Then, data having the structure as shown in FIG. 5 is output to the group formatter 5014. The group formatter 5014 performs the reverse process of the group formatter 303 on the transmitting side. That is, the group formatter 5014 removes the position holders corresponding to the main service data, known data, signaling information data, and RS parity data, and then reorders only the mobile service data symbols of the symbol deinterleaver 4016. Will output As another example, if the feedback deformatter 4015 is implemented using a memory map, the process of inserting and removing the position holder at the data position removed by the external block extractor 4014 may be omitted.

상기 심볼 디인터리버(4016)는 송신측의 심볼 인터리버(514)의 심볼 인터리빙의 역과정으로, 상기 피드백 디포맷터(4015)에서 순서가 변경되어 출력되는 데이터 심볼의 소프트 판정값에 대해 디인터리빙한다. 상기 심볼 디인터리버(4016)에서 디인터리빙시 사용되는 블록의 크기는 송신측의 심볼 인터리버의 실제 심볼의 인터리빙 크기(즉, B)와 동일하며 이것은 터보 복호가 트렐리스 복호부(4012)와 심볼 복호기(4018) 간에 이루어지기 때문이다. The symbol deinterleaver 4016 is an inverse process of symbol interleaving of the symbol interleaver 514 on the transmitting side. The symbol deinterleaver 4016 deinterleaves the soft decision value of the data symbols outputted by the feedback deformatter 4015. The block size used for deinterleaving in the symbol deinterleaver 4016 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 4012 and a symbol. This is because it is made between the decoders 4018.

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

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

상기 심볼 복호기(4018, 즉 외부 복호기)는 송신측의 콘볼루션 부호기(513)의 역과정으로, 외부 심볼 매퍼(4017)의 출력에 대해 심볼 복호를 수행한다. 이때 상기 심볼 복호기(4018)에서는 2가지 소프트 판정값이 출력된다. 하나는 콘볼루션 부호기(513)의 출력 심볼과 매칭되는 소프트 판정 값(이하, 제1 소프트 판정값이라 함)이고 다른 하나는 콘볼루션 부호기(513)의 입력 비트와 매칭되는 소프트 판정 값(이하, 제2 소프트 판정값이라 함)이다. 상기 제1 소프트 판정값은 콘볼루션 부호기(513)의 출력 심볼 즉, 두 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)를 심볼을 구성하는 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)하거나, 2비트가 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 모든 조합에 대해 출력(심볼단위 출력)할 수 있다. 상기 제1 소프트 판정값은 내부 심볼 매퍼(4019)와 심볼 인터리버(4020), 및 피드백 포맷터(4021)를 통해 트렐리스 복호부(4012)로 피드백된다. 상기 제2 소프트 판정값은 송신측의 콘 볼루션 부호기(513)의 입력 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)로 표현되어 외부 버퍼(4022)로 출력된다. 상기 심볼 복호기(4018)의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.The symbol decoder 4018 (that is, the external decoder) performs a symbol decoding on the output of the external symbol mapper 4017 as a reverse process of the convolutional encoder 513 of the transmitting side. At this time, the symbol decoder 4018 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 4012 through an internal symbol mapper 4019, a symbol interleaver 4020, and a feedback formatter 4021. The second soft decision value represents the reliability of the input bit of the convolutional encoder 513 on the transmitting side. It is output to the buffer 4022. As a decoding algorithm of the symbol decoder 4018, MAP (Maximum A posteriori Probability), SOVA (Soft-Out Viterbi Algorithm), and the like may be used.

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

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

상기 피드백 포맷터(4021)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)에 입력되는 중간과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 심볼의 처리 순서 변화에 맞춰 상기 심볼 인터리버(4020)의 출력 값들의 순서를 변경한 후 트렐리스 복호부(4012)로 출력한다. 상기 피드백 포맷터(4021)의 재배열(reordering) 과정도 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다. 일 예로, 상기 피드백 포맷터(4021)는 도 62의 역과정을 수행하도록 구현할 수도 있다. The feedback formatter 4021 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 transmitting block processor 302 is input to the trellis encoder 256. The order of the output values of the symbol interleaver 4020 is changed in accordance with the change of the processing order of the symbols generated at s, and then output to the trellis decoder 4012. The rearrangement process of the feedback formatter 4021 may be implemented by at least one of software, hardware, and middleware. For example, the feedback formatter 4021 may be implemented to perform the inverse process of FIG. 62.

상기 심볼 인터리버(4020)에서 출력되는 소프트 판정 값들은 입력 버 퍼(4011)에서 출력되는 TDL만큼의 모바일 서비스 데이터 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(4012)로 입력된다. 이때 메인 서비스 데이터 심볼이나 메인 서비스 데이터의 RS 패리티 심볼, 기지 데이터 심볼, 시그널링 정보 데이터 등은 모바일 서비스 데이터 심볼이 아니므로, 상기 피드백 포맷터(4021)는 해당 위치에 널 데이터를 삽입하여 트렐리스 복호부(4012)로 출력한다. 또한 상기 TDL 크기의 심볼들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 심볼 인터리버(4020)로 부터 피드백되는 값이 없으므로, 상기 피드백 포맷터(4021)는 피드백 제어기(4010)의 제어를 받아 모바일 서비스 데이터 심볼을 포함한 모든 심볼 위치에 널 데이터를 삽입하여 트렐리스 복호부(4012)로 출력한다.The soft decision values output from the symbol interleaver 4020 are input to the trellis decoder 4012 in one-to-one correspondence with mobile service data symbol positions equal to the TDL output from the input buffer 4011. 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 4021 inserts null data at the corresponding position and trellis decodes the data. Output to the unit 4012. In addition, since there is no value fed back from the symbol interleaver 4020 at the start of the first decoding whenever turbo decoding the TDL-sized symbols, the feedback formatter 4021 is controlled by a feedback controller 4010, thereby providing mobile service data. Null data is inserted at all symbol positions including the symbol and output to the trellis decoder 4012.

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

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

즉, 기 설정된 반복 횟수동안 터보 복호가 이루어지고 나면, 심볼 복호기(4018)의 제2 소프트 판정값은 출력 버퍼(4022)를 통해 RS 프레임 복호기(1006)로 출력되고, 한 터보 블록에 대한 블록 복호 과정이 완료된다. 이를 본 발명에서 는 설명의 편의를 위해 회귀적인 터보 복호 과정이라 한다.That is, after turbo decoding is performed for a predetermined number of repetitions, the second soft decision value of the symbol decoder 4018 is output to the RS frame decoder 1006 through the output buffer 4022, and block decoding for one turbo block is performed. The process is complete. In the present invention, this is referred to as a regressive turbo decoding process for convenience of description.

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

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

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

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

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

RSRS 프레임 복호기 Frame decoder

상기 블록 복호기(1005)에서 출력되는 데이터는 포션(portion) 단위이다. 즉, 송신측에서 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역에 할당되거나, A/B 영역과 C/D 영역 중 어느 하나에 할당되어 수신측으로 전송된다. 따라서 상기 RS 프레임 복호기(1006)에서는 하나의 퍼레이드 내 복수개의 포션을 모아 하나의 RS 프레임을 구성하거나, 두개의 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 복호를 수행한다. The data output from the block decoder 1005 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 1006 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 영역에 할당되어 전송된다. 이 경우, 상기 MPH 프레임 복호기(1006)는 도 63의 (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 MPH frame decoder 1006 extracts mobile service data from the A / B / C / D area in the data group as shown in FIG. 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 영역에 할당되어 전송된다. 이 경우, 상기 MPH 프레임 복호기(1006)는 도 63의 (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 MPH frame decoder 1006 extracts the mobile service data from the A / B area in the data group as shown in FIG. 63 (b) to configure one primary portion and a 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 프레임 복호기(1006)는 상기 블록 복호기(1005)로부터 RS 부호화 및/또는 CRC 부호화된 각 포션의 모바일 서비스 데이터를 입력받고, 시그널링 정보 복호부(1013)로부터 출력되는 RS 프레임 관련 정보에 따라 입력되는 복수개의 포션을 모아 RS 프레임을 구성한 후 에러 정정을 수행한다. 상기 RS 프레임 관련 정보 내 RS 프레임 모드 값을 참조하면 RS 프레임을 구성할 수 있고, RS 프레임을 구성하기 위해 사용된 RS 코드의 패리티의 개수와 코드 크기에 대한 정보를 알 수가 있다.That is, the RS frame decoder 1006 receives mobile service data of each portion encoded and / or CRC-coded from the block decoder 1005 and outputs the RS frame related information output from the signaling information decoder 1013. Accordingly, a plurality of input potions are collected to form an RS frame, and then 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 프레임 복호기(1006)에서는 RS 프레임 관련 정보를 참조하여 송신 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한 후, 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가하여 디랜더마이저(1007)로 출력한다. The RS frame decoder 1006 performs an inverse process in an RS frame encoder of a transmission system with reference to RS frame related information to correct errors in an RS frame, and then in an RS frame encoding process to an error corrected mobile service data packet. The MPEG sync byte of one byte which has been removed is added to the derandomizer 1007.

도 64는 RS 프레임 모드 값이 00일 때, 즉 하나의 퍼레이드로 전송되는 복수개의 포션을 모아 하나의 RS 프레임과 RS 프레임 신용 맵(Reliability Map)을 형성하는 과정과, 전송 시스템의 역과정으로 수퍼 프레임 단위의 역 로우 섞음(row de-permutation)을 수행한 후 역 로우 섞음된 RS 프레임과 RS 프레임 신용 맵으로 다시 구분하는 과정을 도시하고 있다. 64 is a process of forming a 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, and inverse process of the transmission system. After performing frame-by-frame row de-permutation, the process is further divided into inverse row-mixed RS frames and RS frame credit maps.

즉, 상기 RS 프레임 복호기(1006)는 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 프레임 단위로 RS 부호화되고, 수퍼 프레임 단위로 로우 섞음된 데이터인 것을 일 실시예로 한다. 이때 에러 정정 부호화 예를 들어, CRC 부호화는 수행되어 있을 수도 있고, 생략되어 있을 수도 있다. That is, the RS frame decoder 1006 collects the received mobile service data to form an RS frame. According to an embodiment of the present invention, the mobile service data is RS coded in units of RS frames in a transmission system and rawly mixed in units of super frames. 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 영역에 할당하여 전송하였다고 가정하면, 수신 시스템에서도 도 64의 (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 area and transmitted, the receiving system collects mobile service data of each portion as shown in FIG. 64 (a) to form an RS frame having a size of (N + 2) x (187 + P) bytes.

이때 해당 RS 프레임을 구성하는 적어도 하나의 포션에 스퍼핑 바이트(S)가 추가되어 전송되었다면 상기 스터핑 바이트는 제거되고 RS 프레임과 RS 프레임 신용 맵이 구성된다. 예를 들어, 도 23에서와 같이 S개의 스터핑 바이트가 추가되었다면 S개의 스터핑 바이트가 제거된 후 RS 프레임과 RS 프레임 신용 맵이 구성된다. At this time, if a spuffing byte S is added and transmitted to at least one portion constituting 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. 23, the RS frames and the RS frame credit map are configured after the S stuffing bytes are removed.

그리고 상기 블록 복호기(1005)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(1006)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 퍼레이드 내 복수개의 포션(또는 데이터 그룹)의 소프트 판정값에 대해 모두 수행하면 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. In addition, assuming that the block decoder 1005 outputs a decoding result as a soft decision value, the RS frame decoder 1006 may determine 0 and 1 of a corresponding bit as a sign of the soft decision value. The eight are gathered together to form one 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. Similarly, if a plurality of bits in one byte, for example, four or more bits are determined to be reliable, the credit map indicates that the bytes are reliable.

상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다. The above-described numerical values are merely examples, and the scope of the present invention is not limited to the numerical values.

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

이때 상기 도 64의 (b)의 RS 프레임과 (b')의 RS 프레임 신용 맵은 수퍼 프레임 단위로 로우 섞음되어 있다(도 21 참조). 따라서 RS 프레임과 RS 프레임 신용 맵을 모아 수퍼 프레임과 수퍼 프레임 신용 맵을 구성한 후, 도 64의 (c),(c')와 같이 RS 프레임과 RS 프레임 신용 맵에 대해 전송 시스템의 역과정으로 수퍼 프레임 단위의 역 로우 섞음(De-permutation)을 수행한다. At this time, the RS frame of FIG. 64 (b) and the RS frame credit map of (b ') are row-mixed in units of super frames (see FIG. 21). Therefore, after collecting the RS frame and the RS frame credit map to configure the super frame and the super frame credit map, as shown in (c) and (c ') of FIG. De-permutation is performed in units of frames.

상기와 같이 수퍼 프레임 단위의 역 로우 섞음이 수행되면, 도 64의 (d),(d')와 같이 (N+2) x (187+P) 바이트 크기의 RS 프레임과 (N+2) x (187+P) 비트 크기의 RS 프레임 신용 맵으로 구분한다. When inverse row mixing in the unit of super frame is performed as described above, RS frames having a size of (N + 2) x (187 + P) bytes and (N + 2) x as shown in (d) and (d ') of FIG. Separated by a (187 + P) bit size RS frame credit map.

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

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

도 65는 전송 시스템에서 RS 프레임에 대해 RS 부호화와 CRC 부호화를 모두 수행한 경우의 에러 정정 과정을 보인 실시예이다.65 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.

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

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

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

따라서 본 발명은 도 65의 (c)와 같이 특정 로우의 CRC 신드롬 체크 결과 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Therefore, the present invention does not assume that all bytes of a row have an error even if it is determined that there is a CRC error in the CRC syndrome check of a specific row as shown in (c) of FIG. 65, but refers to the credit information of the credit map. Set the error to only those bytes that are considered unreliable. That is, only the bytes determined to be unreliable in the credit information of the credit map regardless of the CRC error of the corresponding row are set as erasure points.

또 다른 방법으로 CRC 신드롬 체크 결과 해당 로우에 CRC 에러가 있다고 판단되면서 신용 맵의 신용 정보가 믿을만 하지 못한다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우에 CRC 에러가 있으면서 신용 맵의 신용 정보에서 믿을만 하지 못하다고 판단이 되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.Alternatively, the CRC syndrome check determines that there is a CRC error in the row, and sets an error only for bytes determined that the credit information of the credit map is unreliable. That is, only a byte having a CRC error in a corresponding row and determined to be unreliable in credit information of a credit map is set as an erasure point.

그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 개수(즉, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다. Then, if the number of error points in each column is less than or equal to the maximum number of errors that can be corrected by RS erasure decoding (that is, 48), RS erasure decoding is performed on the column. On the contrary, if the number of error points is larger than the maximum number that can be modified by RS erasure decoding (that is, 48), general RS decoding is performed on the column.

즉, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(예를 들면, 48)보다 크면, 신용 맵의 신용 정보에 의해 결정된 해당 컬럼 내 이레이저 포인트 수에 따라 그 컬럼에 대해서 RS 이레이저 복호를 수행하거나, 일반적인 RS 복호를 수행한다. In other words, if the number of rows with CRC errors is greater than the maximum number of errors that can be corrected by RS erasure decoding (for example, 48), then the corresponding columns in accordance with the number of erasure points in the column determined by the credit information of the credit map RS erasure decoding is performed or general RS decoding is performed.

예를 들어, 상기 RS 프레임 내에서 CRC 에러를 가진 로우의 개수가 48보다 크고, 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서 는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한다. For example, the number of rows having a CRC error in the RS frame is greater than 48, and the number of erasure points determined by the credit information of the credit map is displayed in the first column and 40 in the second column. Let's assume Then, (235,187) -RS erasure decoding is performed on the first column, and (235,187) -RS decoding is performed on the second column.

상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 65의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. When the error correction decoding is performed in all column directions in the RS frame by performing the above process, as shown in (e) of FIG. 65, the parity data of 48 bytes added to the end of each column is removed.

이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다. As described above, in the present invention, even if the total number of CRC errors corresponding to each row in the RS frame is larger than the maximum error number that can be corrected by RS erasure decoding, the credit information of the corresponding credit map of the corresponding column is determined when the error correction decoding of the specific column is performed. Therefore, if the number of bytes with low credibility is equal to or smaller than the maximum error number correctable by RS erasure decoding, RS erasure decoding may be performed on the column.

여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다. Here, the difference between general RS decoding and RS erasure decoding is the number of correctable errors. That is, if general RS decoding is performed, errors can be corrected by the number (for example, 24) corresponding to (number of parity) / 2 inserted in the RS encoding process. If RS erasure decoding is performed, RS encoding process is performed. An error may be corrected by the number of parities inserted (e.g., 48).

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

상기와 같이 RS 프레임 복호된 모바일 서비스 데이터는 데이터 디랜더마이저(1007)로 출력된다. 상기 데이터 디랜더마이저(1007)는 입력받은 모바일 서비스 데이터에 대해서 송신 시스템의 랜더마이저의 역과정에 해당하는 디랜더마이징을 수행하여 출력함으로써, 송신 시스템에서 송신한 모바일 서비스 데이터를 얻을 수가 있게 된다. 본 발명은 상기 RS 프레임 복호기(1006)에서 데이터 디랜더마이징 기능을 수행할 수도 있다. 그리고 이러한 RS 프레임 복호기를 하나의 MPH 프레임 내 퍼레이드의 수(=M)만큼 병렬로 구비하고, M개의 RS 프레임 복호기의 입력단에는 복수의 포션들을 다중화하는 다중화기를, M개의 RS 프레임 복호기의 출력단에는 역다중화기를 구비하여 MPH 프레임 복호기를 구성할 수도 있다. The RS frame-decoded mobile service data as described above is output to the data derandomizer 1007. The data de-randomizer 1007 performs de-randomization corresponding to the reverse process of the renderer of the transmission system and outputs the received mobile service data, thereby obtaining mobile service data transmitted from the transmission system. The present invention may perform a data de-randomizing function in the RS frame decoder 1006. The RS frame decoder is provided in parallel by the number of parades in one MPH frame (= M), and a multiplexer for multiplexing a plurality of potions is provided at an input terminal of the M RS frame decoders, and an inverse at an output terminal of the M RS frame decoders. An MPH frame decoder may be configured by providing a multiplexer.

전체 수신 시스템Complete receiving system

도 66은 본 발명의 일 실시예에 따른 수신 시스템의 구성 블록도로서, 도 36의 복조부가 적용될 수 있다. 66 is a block diagram illustrating a reception system according to an embodiment of the present invention, and the demodulation unit of FIG. 36 may be applied.

도 66의 수신 시스템은 튜너(6001), 복조부(demodulating unit)(6002), 역다중화기(6003), 오디오 복호기(6004), 비디오 복호기(6005), 네이티브 TV 어플리케이션 매니저(6006), 채널 매니저(6007), 채널 맵(6008), 제1 저장부(6009), SI 및/또는 데이터 복호기(6010), 제2 저장부(6011), 시스템 매니저(6012), 데이터 방송 어플리케이션 매니저(6013), 저장 제어부(storage controller)(6014), 및 제3 저장 부(6015), GPS 모듈(6020)을 포함할 수 있다. 상기 제1 저장부(6009)는 비휘발성 메모리(NVRAM)(또는 플래시 메모리)이다. 상기 제3 저장부(6015)는 하드 디스크 드라이브(HDD), 메모리 칩과 같은 대용량 저장 장치이다. The receiving system of FIG. 66 includes a tuner 6001, a demodulating unit 6002, a demultiplexer 6003, an audio decoder 6004, a video decoder 6005, a native TV application manager 6006, and a channel manager. 6007, channel map 6008, first storage 6009, SI and / or data decoder 6010, second storage 6011, system manager 6012, data broadcast application manager 6013, storage The controller may include a storage controller 6014, a third storage unit 6015, and a GPS module 6020. The first storage portion 6009 is a nonvolatile memory (NVRAM) (or flash memory). The third storage unit 6015 is a mass storage device such as a hard disk drive (HDD) and a memory chip.

상기 튜너(6001)는 안테나, 케이블, 위성 중 어느 하나를 통해 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조부(6002)로 출력한다. 이때 상기 튜너(6001)는 채널 매니저(6007)의 제어를 받으며, 또한 튜닝되는 채널의 방송 신호의 결과(result)와 강도(strength)를 상기 채널 매니저(6007)에 보고한다. 상기 특정 채널의 주파수로 수신되는 데이터는 메인 서비스 데이터, 모바일 서비스 데이터, 상기 메인 서비스 데이터와 모바일 서비스 데이터의 복호(decoding)를 위한 테이블 데이터 등이 있다. The tuner 6001 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 6002. At this time, the tuner 6001 is controlled by the channel manager 6007, and also reports the result and strength of the broadcast signal of the channel being tuned to the channel manager 6007. The data received at the frequency of the specific channel includes main service data, mobile service data, table data for decoding the main service data and mobile service data, and the like.

본 실시예에서는 모바일 서비스 데이터로서 이동형 방송을 위한 오디오 데이터, 비디오 데이터가 적용될 수 있다. 이러한 오디오 데이터, 비디오 데이터는 각종 부호기에 의해 압축되어 방송국으로부터 전송될 것이다. 이 경우, 압축에 사용된 해당 부호기에 대응되게 수신기 내에서는 비디오, 오디오 복호기(6004,6005)가 구비될 것이며, 각 복호기(6004,6005)에서의 복호가 수행되어 사용자에게 비디오 및 오디오가 제공될 것이다. 오디오 데이터를 위한 부호/복호 scheme으로는, AC 3, MPEG 2 AUDIO, MPEG 4 AUDIO, AAC, AAC+, HE AAC, AAC SBR, MPEG-Surround, BSAC을 예로 들 수 있고, 비디오 데이터를 위한 부호/복호 scheme으로는, MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 등이 있다. In the present embodiment, audio data and video data for mobile broadcasting may be applied as mobile service data. Such audio data and video data may be compressed by various encoders and transmitted from broadcasting stations. In this case, video and audio decoders 6004 and 6005 will be provided in the receiver to correspond to the corresponding encoders used for compression. Decoding in each decoder 6004 and 6005 is performed to provide video and audio to the user. will be. Examples of code / decoding schemes for audio data include AC 3, MPEG 2 AUDIO, MPEG 4 AUDIO, AAC, AAC +, HE AAC, AAC SBR, MPEG-Surround, BSAC, and code / decoding for video data. Schemes include MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 and the like.

실시예에 따라서는 모바일 서비스데이터로서 데이터 서비스를 위한 데이터, 예컨대 자바 어플리케이션에 대한 데이터, HTML 어플리케이션에 대한 데이터, XML에 대한 데이터가 그 예가 될 수 있다. 이러한 데이터 서비스를 위한 데이터는 자바 어플리케이션을 위한 자바 class file이 될 수 도 있고, 이러한 파일들의 위치를 지시하는 directory file이 될 수도 있다. 또한 각 어플리케이션에서 사용되는 오디오 file, 비디오 file이 될 수도 있다. According to the exemplary embodiment, data for a data service, for example, data for a Java application, data for an HTML application, and data for XML, may be used as mobile service data. The data for this data service can be a Java class file for a Java application or a directory file indicating the location of these files. It can also be an audio file or a video file used in each application.

상기 데이터 서비스로는 날씨서비스, 교통서비스, 증권서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공서비스, 상품정보 및 이에 대한 주문 등이 가능하도록 하는 서비스, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으나 본원 발명은 이에 한정하지는 않는다. The data services include weather services, transportation services, securities services, viewer participation quiz program, real-time polls, interactive educational broadcasts, game services, drama plots, characters, background music, shooting locations, information services, sports, etc. It may be a service for providing information on the past game history of the player, the profile and the performance of the player, product information and orders for this, information providing service for the program by medium, time, or subject, but the present invention Is not limited to this.

또한 실시예에 따라서는 모바일 서비스 데이터는 메타(Meta) 데이터가 될 수도 있다. 이러한 메타 데이터는 XML로 기술되어 DSM-CC 프로토콜을 통해 전송되는 것을 일 예로 들 수 있다.In some embodiments, the mobile service data may be meta data. For example, the metadata is described in XML and transmitted through the DSM-CC protocol.

상기 복조부(6002)는 상기 튜너(6001)에서 출력되는 신호에 대해 VSB 복조, 채널 등화 등을 수행하여 메인 서비스 데이터와 모바일 서비스 데이터로 구분한 후 TS 패킷 단위로 출력한다. 상기 복조부(6002)는 전술한 도 36이 그 일 예가 될 것이다. 그러나 이는 일실시예들 일 뿐 본 발명의 권리범위는 이에 한정되지 않는다.The demodulator 6002 performs VSB demodulation, channel equalization, etc. on the signal output from the tuner 6001, divides the signal into main service data and mobile service data, and outputs the data in TS packet units. 36 is an example of the demodulator 6002. However, this is only one embodiment and the scope of the present invention is not limited thereto.

본 발명에서는 상기 복조부(6002)에서 출력되는 모바일 서비스 데이터 패킷만 역다중화기(6003)로 입력되는 것을 일 실시예로 설명한다. 이 경우 메인 서비스 데이터 패킷은 메인 서비스 데이터 패킷을 처리하는 또 다른 역다중화기(도시되지않음)로 입력된다. 이때 상기 메인 서비스 데이터 패킷을 처리하는 역다중화기에도 메인 서비스 데이터의 저장을 위해 상기 저장 제어부(6014)가 연결된다. 또한 하나의 역다중화기에서 모바일 서비스 데이터 패킷뿐만 아니라, 메인 서비스 데이터 패킷에 대해서도 역다중화를 수행하도록 설계할 수도 있다. In the present invention, only the mobile service data packet output from the demodulator 6002 is input to the demultiplexer 6003 according to an embodiment. In this case the main service data packet is input to another demultiplexer (not shown) which processes the main service data packet. In this case, the storage control unit 6014 is also connected to the demultiplexer for processing the main service data packet to store main service data. In addition, one demultiplexer may be designed to perform demultiplexing not only for mobile service data packets but also for main service data packets.

상기 저장 제어부(6014)는 역다중화기(6003)와 인터페이스하여 모바일 서비스 데이터 및/또는 메인 서비스 데이터의 즉시 녹화, 예약 녹화, 타임 시프트(Time shift) 등을 제어한다. 예를 들어, 도 66의 수신 시스템에 즉시 녹화, 예약 녹화, 타임 시프트 중 어느 하나가 설정되면 역다중화기(6003)로 입력되는 해당 모바일 서비스데이터 및/또는 메인 서비스 데이터는 상기 저장 제어부(6014)의 제어에 의해 상기 제3 저장부(6015)에 저장된다. 상기 제3 저장부(6015)는 타임 시프트 기능을 위한 임시 저장 영역 및/또는 사용자 선택에 따라 데이터를 영구 저장하는 영구 저장 영역으로 구분될 수 있다. The storage controller 6014 interfaces with the demultiplexer 6003 to control instant recording, reservation recording, time shift, and the like of the mobile service data and / or the main service data. For example, when any one of instant recording, scheduled recording, and time shift is set in the reception system of FIG. 66, the corresponding mobile service data and / or main service data input to the demultiplexer 6003 may be stored in the storage control unit 6014. It is stored in the third storage unit 6015 by control. The third storage unit 6015 may be divided into a temporary storage area for a time shift function and / or a permanent storage area for permanently storing data according to a user selection.

그리고 상기 제3 저장부(6015)에 저장된 데이터의 재생이 필요한 경우, 상기 저장 제어부(6014)는 상기 제3 저장부(6015)에 저장된 해당 데이터를 독출하여 해당 역다중화기(예를 들어, 모바일 서비스 데이터인 경우 도 66의 역다중화기(6003))로 출력한다. When the data stored in the third storage unit 6015 is required to be reproduced, the storage control unit 6014 reads out the data stored in the third storage unit 6015 to decode the corresponding demultiplexer (eg, a mobile service). Data is output to the demultiplexer 6003 of FIG.

이때 상기 제3 저장부(6015)의 저장 용량은 제한되어 있으므로, 상기 저장 용량의 효율성을 위해 압축 부호화되어 입력된 모바일 서비스 데이터 및/또는 메인 서비스 데이터는 그대로 제3 저장부(6015)에 저장하는 것을 본 발명의 일 실시예로 한다. 이 경우 재생 명령에 따라 상기 제3 저장부(6015)에서 독출된 데이터는 역다중화기를 통해 해당 복호기(decoder)로 입력되어 원래 상태로 복원된다. At this time, since the storage capacity of the third storage unit 6015 is limited, the mobile service data and / or the main service data compressed and coded and stored in the third storage unit 6015 are stored as they are. Let one embodiment of the present invention. In this case, the data read from the third storage unit 6015 according to the reproduction command is input to the corresponding decoder through the demultiplexer and restored to the original state.

또한 상기 저장 제어부(6014)는 상기 제3 저장부(6015)에 저장되어 있거나 현재 버퍼링되고 있는 데이터의 재생(play), 빨리 감기(fast forward), 되감기(rewind), 슬로우 모션(slow motion), 인스턴트리플레이(instant replay) 등을 제어할 수 있다. 여기서 인스턴트 리플레이는 다시 보고 싶은 장면을 반복해서 시청 가능한 기능이며, 저장되어 있는 데이터뿐만 아니라 현재 리얼타임으로 수신되는 데이터도 타임 시프트(time shift) 기능과 연계하여 인스턴트 리플레이할 수 있다. In addition, the storage control unit 6014 may play, fast forward, rewind, slow motion, slow motion of data stored in the third storage unit 6015 or currently buffered. Instant replay can be controlled. Here, the instant replay is a function for repeatedly watching a scene to be watched again, and instant replay may be performed in association with a time shift function as well as stored data.

상기 저장 제어부(6014)는 입력된 데이터가 아날로그 형태, 예를 들어 전송 방식이 NTSC, PAL 등인 경우, 입력된 데이터를 압축 부호화하여 제3 저장부(6015)에 저장할 수 있다.The storage control unit 6014 may compress and encode the input data in the third storage unit 6015 when the input data is an analog form, for example, a transmission scheme is NTSC, PAL, or the like.

이를 위해 상기 저장 제어부(6014)는 인코더를 포함할 수 있으며, 상기 인코더는 소프트웨어, 미들웨어, 하드웨어 중 적어도 하나로 구현될 수 있다. 상기 인코더는 일 실시예로 MPEG 인코더를 이용할 수 있다. 상기 인코더는 저장 제어부(6014)의 외부에 구비될 수도 있다. To this end, the storage controller 6014 may include an encoder, and the encoder may be implemented by at least one of software, middleware, and hardware. The encoder may use an MPEG encoder in one embodiment. The encoder may be provided outside the storage controller 6014.

한편 상기 저장 제어부(6014)는 입력되는 데이터가 제3 저장부(6015)에 저장되었을 때 불법 복사되는 것을 방지하기 위해 입력되는 데이터를 스크램블(또는 인크립션이라 하기도 함)하여 상기 제3 저장부(6015)에 저장할 수도 있다. 이 경우 상기 저장 제어부(6014)는 상기 제3 저장부(6015)에 저장되는 데이터를 스크램블하 기 위한 스크램블 알고리즘과 상기 제3 저장부(6015)에서 독출되는 데이터를 디스크램블(또는 디크립션이라 하기도 함)하기 위한 디스크램블 알고리즘을 포함할 수 있다. 상기 스크램블의 방법으로는 스크램블을 원하는 데이터를 임의의 키(예를 들어, control word)를 이용하여 변형하거나, 신호 자체를 섞는 방법 등이 이용될 수 있다. Meanwhile, the storage control unit 6014 scrambles the input data to prevent illegal copying when the input data is stored in the third storage unit 6015 so that the third storage unit 6015 is scrambled. You can also save to). In this case, the storage controller 6014 may use a scramble algorithm for scrambled data stored in the third storage unit 6015 and data read from the third storage unit 6015 to descramble (or decryption). Or a descramble algorithm). As the method of scramble, a method of modifying data to be scrambled using an arbitrary key (for example, a control word) or mixing a signal itself may be used.

한편 상기 역다중화기(6003)는 복조부(6002)에서 출력되는 리얼 타임 데이터 또는 제3 저장부(6015)에서 독출된 데이터를 입력받아 역다중화를 수행한다. 본 발명에서는 상기 역다중화기(6003)가 모바일 서비스데이터 패킷에 대해서 역다중화를 수행하는 것을 일 실시예로 설명한다. The demultiplexer 6003 receives real time data output from the demodulator 6002 or data read from the third storage unit 6015 and performs demultiplexing. According to an embodiment of the present invention, the demultiplexer 6003 performs demultiplexing on a mobile service data packet.

다만, 실시예에 따라서는 모바일 서비스 데이터 뿐만 아니라 메인 서비스 데이터도 역다중화기(6003), 오디오 복호기(6004), 비디오 복호기(6005), 네이티브 TV 어플리케이션 매니저(6006), 채널 매니저(6007), 채널 맵(6008), 제1 저장부(6009), SI 및/또는 데이터 복호기(6010), 제2 저장부(6011), 시스템 매니저(6012), 데이터 방송 어플리케이션 매니저(6013), 저장 제어부(storage controller)(6014), 제3 저장부(6015), GPS 모듈(6020)에 의해 처리되어 사용자에게 각종 서비스를 제공하는 데 이용될 수 있다. However, according to the exemplary embodiment, not only the mobile service data but also the main service data may include the demultiplexer 6003, the audio decoder 6004, the video decoder 6005, the native TV application manager 6006, the channel manager 6007, and the channel map. 6008, first storage 6009, SI and / or data decoder 6010, second storage 6011, system manager 6012, data broadcast application manager 6013, storage controller 6014, the third storage unit 6015, and the GPS module 6020 may be used to provide various services to the user.

상기 역다중화기(6003)는 상기 SI 및/또는 데이터 복호기(SI 및/또는 data decoder)(6010)의 제어에 의해 입력되는 모바일 서비스 데이터 패킷들로부터 모바일 서비스 데이터와 SI(System Information) 테이블을 역다중화한다. 그리고 상기 역다중화된 모바일 서비스데이터와 SI 테이블들은 섹션 형태로 SI 및/또는 데이터 복호기(6010)로 출력된다. 이 경우 SI 및/또는 데이터 복호기(6010)로 입력되는 모바일 서비스 데이터는 데이터 서비스를 위한 데이터가 적용되는 것이 바람직할 것이다. The demultiplexer 6003 demultiplexes a mobile service data and a system information (SI) table from mobile service data packets input by the control of the SI and / or data decoder 6010. do. The demultiplexed mobile service data and the SI tables are output to the SI and / or data decoder 6010 in the form of sections. In this case, the mobile service data input to the SI and / or data decoder 6010 may be preferably data for data service.

상기 모바일 서비스 데이터가 전송되는 채널 내에서 모바일 서비스 데이터를 추출하여 디코딩하기 위해서는 시스템 정보가 필요하다. 이러한 시스템 정보는 경우에 따라서는 서비스 정보라고도 불리운다. 상기 시스템 정보는 채널 정보, 이벤트 정보 등을 포함할 수 있다.System information is required to extract and decode mobile service data in a channel through which the mobile service data is transmitted. Such system information is sometimes called service information in some cases. The system information may include channel information, event information, and the like.

본 발명의 실시예에서는 상기 시스템 정보로서 PSI/PSIP(Program Specific Information/Program and System Information Protocol) 을 적용하나 본 발명은 이에 한정하는 것은 아니다. 즉 시스템 정보를 테이블 포맷으로 전송하는 프로토콜이라면 그 명칭에 상관없이 본 발명에 적용 가능할 것이다. In the embodiment of the present invention, PSI / PSIP (Program Specific Information / Program and System Information Protocol) is applied as the system information, but the present invention is not limited thereto. That is, a protocol for transmitting system information in a table format may be applicable to the present invention regardless of its name.

상기 PSI는 채널 및 프로그램을 분류하기 위해 정의된 MPEG-2의 시스템 규격이고, 상기 PSIP는 채널 및 프로그램의 분류가 가능한 ATSC(Advanced Television Systems Committee) 규격이다. The PSI is a system standard of MPEG-2 defined for classifying channels and programs, and the PSIP is an Advanced Television Systems Committee (ATSC) standard for classifying channels and programs.

상기 PSI는 일 실시예로서, PAT(Program Association Table), CAT(Conditional Access Table), PMT(Program Map Table), 및 NIT(Network Information Table)를 포함할 수 있다. The PSI may include, as an embodiment, a Program Association Table (PAT), a Conditional Access Table (CAT), a Program Map Table (PMT), and a Network Information Table (NIT).

상기 PAT는 PID가 '0'인 패킷에 의해 전송되는 특수 정보로서, 각 프로그램마다 해당 PMT의 PID 정보와 NIT의 PID 정보를 전송한다. 상기 CAT는 송신측에서 사용하고 있는 유료 방송 시스템에 대한 정보를 전송한다. 상기 PMT는 프로그램 식 별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트열이 전송되는 트랜스포트 스트림 패킷의 PID 정보, 및 PCR이 전달되는 PID 정보를 전송한다. 상기 NIT는 실제 전송망의 정보를 전송한다. The PAT is special information transmitted by a packet having a PID of '0', and transmits PID information of a corresponding PMT and PID information of a NIT for each program. The CAT transmits information about the pay broadcasting system used on the transmitting side. The PMT transmits PID information of a transport stream packet through which a program identification number, individual bit strings such as video and audio constituting the program are transmitted, and PID information through which a PCR is transmitted. The NIT transmits information of an actual transmission network.

상기 PSIP은 일 실시예로서, VCT(Virtual Channel Table), STT(System Time Table), RRT(Rating Region Table), ETT(Extended Text Table), DCCT(Direct Channel Change Table), DCCSCT(Direct Channel Change Selection Code Table), EIT(Event Information Table), 및 MGT(Master Guide Table)를 포함할 수 있다. The PSIP is, according to an embodiment, a virtual channel table (VCT), a system time table (STT), a rating region table (RTT), an extended text table (ETT), a direct channel change table (DCCT), and a direct channel change selection (DCCSCT). A code table, an event information table (EIT), and a master guide table (MGT) may be included.

상기 VCT는 가상 채널에 대한 정보 예를 들어, 채널 선택을 위한 채널 정보와 오디오 및/또는 비디오의 수신을 위한 패킷 식별자(PID) 등의 정보를 전송한다. 즉, 상기 VCT를 파싱하면 채널 이름, 채널 번호 등과 함께 채널 내에 실려오는 방송 프로그램의 오디오와비디오의 PID를 알 수 있다. The VCT transmits information about a virtual channel, for example, channel information for channel selection and packet identifier (PID) for receiving audio and / or video. In other words, when the VCT is parsed, the PID of the audio and video of the broadcast program loaded in the channel can be known along with the channel name and the channel number.

도 67은 본 발명에 따른 VCT의 일실시예를 도시하고 있다. 67 shows an embodiment of a VCT according to the present invention.

도 67의 VCT 신택스는 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, transport_stream_id 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_number 필드, protocol_version 필드, num_channels_in_section 필드 중 적어도 하나를 포함하여 구성된다. The VCT syntax of FIG. 67 includes at least one of table_id field, section_syntax_indicator field, private_indicator field, section_length field, transport_stream_id field, version_number field, current_next_indicator field, section_number field, last_section_number field, protocol_version field, num_channels_in_section field.

상기 VCT 신택스는 상기 num_channels_in_section 필드 값만큼 반복되는 'for' 루프의 제1 반복문을 더 포함하는데, 상기 제1 반복문 내에는 short_name 필드, major_channel_number 필드, minor_channel_number 필드, modulation_mode 필 드, carrier_frequency 필드, channel_TSID 필드, program_number 필드, ETM_location 필드, access_controlled 필드, hidden 필드, service_type 필드, source_id 필드, descriptor_length 필드, 및 이 제1 반복문 내에 포함되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제2 반복문 중 적어도 하나를 포함하여 구성된다. 본 발명에서는 설명의 편의를 위해 상기 제2 반복문을 제1 디스크립터 루프라 한다. 상기 제1 디스크립터 루프에 포함되는 디스크립터 descriptors()는 가상 채널 각각에 개별적으로 적용되는 디스크립터이다. The VCT syntax further includes a first loop of a 'for' loop that is repeated by the value of the num_channels_in_section field, in which the short_name field, major_channel_number field, minor_channel_number field, minor_channel_number field, modulation_mode field, carrier_frequency field, channel_TSID field, program_number Field, an ETM_location field, an access_controlled field, a hidden field, a service_type field, a source_id field, a descriptor_length field, and at least one of a second loop in a 'for' loop that is repeated by the number of descriptors included in the first loop. . In the present invention, the second loop is referred to as a first descriptor loop for convenience of description. Descriptor descriptors () included in the first descriptor loop are descriptors individually applied to each virtual channel.

또한 상기 VCT 신택스는 additional_descriptor_length 필드와, 상기 VCT에 추가되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제3 반복문을 더 포함할 수 있다. 본 발명에서는 설명의 편의를 위해 상기 제3 반복문을 제2 디스크립터 루프라 한다. 상기 제2 디스크립터 루프에 포함되는 디스크립터 additional_descriptors()는 VCT에서 기술되는 모든 가상 채널에 공통적으로 적용되는 디스크립터이다.The VCT syntax may further include an additional_descriptor_length field and a third loop that is a 'for' loop that is repeated by the number of descriptors added to the VCT. In the present invention, for convenience of description, the third loop is called a second descriptor loop. The descriptor additional_descriptors () included in the second descriptor loop is a descriptor commonly applied to all virtual channels described in the VCT.

이와 같이 구성된 도 67에서, 상기 table_id 필드는 상기 테이블로 전송되는 정보가 VCT임을 인식할 수 있는 고유 식별자(ID)를 표시한다. 즉, 상기 table_id 필드는 이 섹션(section)이 속해 있는 테이블이 VCT라는 것을 알려주는 값을 나타내며, 일 예로 0xC8이 할당될 수 있다.In FIG. 67 configured as described above, the table_id field indicates a unique identifier (ID) for recognizing that information transmitted to the table is a VCT. That is, the table_id field indicates a value indicating that the table to which this section belongs is a VCT. For example, 0xC8 may be assigned.

상기 version_number 필드는 VCT의 버전 값을 나타내고, 상기 section_number 필드는 이 섹션의 번호를, 상기 last_section_number 필드는 완전한 VCT의 마지막 섹션의 번호를 나타낸다. 상기 num_channels_in_section 필드는 상기 VCT 섹션 내에 존재하는 전체 가상 채널의 개수를 지정한다. The version_number field indicates a version value of the VCT, the section_number field indicates a number of this section, and the last_section_number field indicates a number of the last section of the complete VCT. The num_channels_in_section field designates the number of all virtual channels existing in the VCT section.

그리고, 상기 'for' 루프의 제1 반복문 내에 있는 short_name 필드는 가상 채널 이름을 나타내고, 상기 major_channel_number 필드는 상기 제1 반복문 안에서 정의되는 가상 채널과 관련된 '메이저' 채널 번호를 나타내고, 상기 minor_channel_number 필드는 '마이너' 채널 번호를 나타낸다. 즉, 각각의 가상 채널 번호는 메이저와 마이너 채널 번호에 연결되어 있어야 하며, 메이저, 마이너 채널 번호는 해당 가상 채널에 대한 사용자 참조 번호로 작용한다. The short_name field in the first loop of the 'for' loop indicates a virtual channel name, the major_channel_number field indicates a 'major' channel number associated with a virtual channel defined in the first loop, and the minor_channel_number field is' Minor 'channel number. That is, each virtual channel number should be connected to major and minor channel numbers, and the major and minor channel numbers serve as a user reference number for the corresponding virtual channel.

상기 program_number 필드는 MPEG-2 PAT(Program Association Table)와 PMT(Program Map Table)가 정의되어 있는 가상 채널을 연결하기 위해 나타내며, 상기 PAT/PMT안에 있는 프로그램 번호와 일치한다. 여기서, PAT는 각 프로그램 번호마다 그 프로그램의 구성 요소를 기술하는데, PMT를 전송하는 트랜스포트 패킷의 PID를 가리킨다. 상기 PMT는 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트열이 전송되고 있는 트랜스포트 패킷의 PID 리스트와 부속 정보를 기술하고 있다.The program_number field indicates to connect a virtual channel in which an MPEG-2 Program Association Table (PAT) and a Program Map Table (PMT) are defined, and corresponds to a program number in the PAT / PMT. Here, the PAT describes the components of the program for each program number, and indicates the PID of the transport packet for transmitting the PMT. The PMT describes a PID list and accessory information of a transport packet to which a program identification number and individual bit strings such as video and audio constituting the program are transmitted.

도 68은 본 발명에 따른 service_type 필드의 일실시예를 도시한 것이다.68 illustrates an embodiment of a service_type field according to the present invention.

상기 service_type 필드는 해당 virtual channel 내의 서비스 타입을 알려주는 필드이다. 도면과 같이, service_type 필드에는 아날로그 텔레비전, 디지털 텔레비전, 디지털 오디오만, 디지털 데이터만을 각각 지칭할 수 있도록 규정되어 있다. 또한 본 발명에 따르면, service_type 필드로 모바일 방송이 지칭되도록 규정될 수 있다. SI 및/또는 데이터 복호기(6010)를 통해 파싱된 service_type 필드는 도 66과 같은 수신 시스템 내에 제공되어 사용될 것이다. 실시예에 따라서는 파싱된 service_type 필드는 오디오/비디오 복호기(6004,6005)에 각각 제공되어 복호작업에 사용될 수도 있다. The service_type field is a field indicating a service type in a corresponding virtual channel. As shown in the figure, the service_type field is defined to refer to analog television, digital television, digital audio only, and digital data only. In addition, according to the present invention, a mobile broadcast may be referred to as a service_type field. The service_type field parsed through the SI and / or data decoder 6010 may be provided and used in the receiving system as shown in FIG. 66. According to an embodiment, the parsed service_type field may be provided to the audio / video decoders 6004 and 6005, respectively, and used for decoding.

상기 source_id 필드는 해당 가상 채널에 연결된 프로그램 소스를 나타낸다. The source_id field represents a program source connected to the corresponding virtual channel.

여기서, 소스란 영상, 텍스트, 데이터 또는 음향과 같은 하나의 특정 소스를 말한다. 상기 source_id 필드값은 VCT를 전송하는 트랜스포트 스트림 내에서는 유일한 값을 가진다.Here, the source refers to one specific source such as image, text, data or sound. The source_id field value has a unique value in the transport stream for transmitting the VCT.

한편, 다음의 'for' 루프의 반복문 내에 있는 서술자 루프(descriptor loop ; descriptor{})에는service location descriptor를 포함할 수 있다.Meanwhile, a service loop descriptor may be included in a descriptor loop (descriptor {}) in a next loop of a 'for' loop.

이러한 service location descriptor는 각 elementary stream에 대한 stream type, PID 및 language code를 포함할 수 있다. This service location descriptor may include a stream type, PID, and language code for each elementary stream.

도 69는 본 발명에 따른 service location descriptor의 실시예를 도시한 것이다.69 illustrates an embodiment of a service location descriptor according to the present invention.

도 69에 도시된 바와 같이, service location descriptor는 descriptor_tag 필드, descriptor_length 필드, PCR_PID 필드를 포함할 수 있다.As shown in FIG. 69, the service location descriptor may include a descriptor_tag field, a descriptor_length field, and a PCR_PID field.

여기서 PCR_PID는 program_number 필드에 의해 특정된 프로그램에서 유효한 PCR 필드가 포함된 transport stream 패킷의 PID를 나타낸다.Here, PCR_PID represents the PID of the transport stream packet including the PCR field valid in the program specified by the program_number field.

한편, service location descriptor는 number_elements 필드를 포함하여 해당 프로그램에 사용된 PID 수를 나타낸다. 이 number_elements 필드의 값에 따라 다음에 기술된 서술자 'for' 루프 반복문의 반복 횟수가 결정된다.On the other hand, the service location descriptor includes the number_elements field to indicate the number of PIDs used for the corresponding program. The number of iterations of the descriptor 'for' loop statement described next is determined according to the value of this number_elements field.

도 69에 도시된 바와 같이, 'for' 루프 반복문 내에는 해당 elementary stream(비디오, 오디오, 데이터)의 stream type을 나타내는 stream_type 필드, 해당 elementary stream의 PID를 나타내는 elementary_PID 필드, 해당 elementary stream의language code를 나타내는 ISO_639_language_code 필드가 포함된다. As shown in FIG. 69, in the 'for' loop loop, a stream_type field indicating a stream type of the corresponding elementary stream (video, audio, data), an elementary_PID field indicating the PID of the corresponding elementary stream, and a language code of the corresponding elementary stream are shown. An ISO_639_language_code field indicating is included.

도 70은 본 발명에 따른 stream_type 필드에 할당될 수 있는 실시예를 도시하고 있다. 도 70에 도시된 바와 같이, stream type으로는 ISO/IEC 11172 Video, ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream, ISO/IEC 11172 Audio, ISO/IEC 13818-3 Audio, ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections, ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data, ISO/IEC 13522 MHEG, ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Annex A DSM CC, ITU-T Rec. H.222.1, ISO/IEC 13818-6 type A, ISO/IEC 13818-6 type B, ISO/IEC 13818-6 type C, ISO/IEC 13818-6 type D, ISO/IEC 13818-1 auxiliary등이 적용될 수 있다.70 illustrates an embodiment that can be allocated to a stream_type field according to the present invention. As shown in FIG. 70, as a stream type, ISO / IEC 11172 Video, ITU-T Rec. H.262 | ISO / IEC 13818-2 Video or ISO / IEC 11172-2 constrained parameter video stream, ISO / IEC 11172 Audio, ISO / IEC 13818-3 Audio, ITU-T Rec. H.222.0 | ISO / IEC 13818-1 private_sections, ITU-T Rec. H.222.0 | ISO / IEC 13818-1 PES packets containing private data, ISO / IEC 13522 MHEG, ITU-T Rec. H.222.0 | ISO / IEC 13818-1 Annex A DSM CC, ITU-T Rec. H.222.1, ISO / IEC 13818-6 type A, ISO / IEC 13818-6 type B, ISO / IEC 13818-6 type C, ISO / IEC 13818-6 type D, ISO / IEC 13818-1 auxiliary, etc. Can be.

한편, 본 발명에 따르면, stream type으로 MPH video stream : Non-hierarchical mode, MPH audio stream : Non-hierarchical mode, MPH Non-A/V stream : Non-hierarchical mode, MPH High Priority video stream : Hierarchical mode, MPH High Priority audio stream : Hierarchical mode, MPH Low Priority video stream : Hierarchical mode, MPH Low priority audio stream : Hierarchical mode 등이 더 적용될 수 있다. Meanwhile, according to the present invention, the MPH video stream: Non-hierarchical mode, MPH audio stream: Non-hierarchical mode, MPH Non-A / V stream: Non-hierarchical mode, MPH High Priority video stream: Hierarchical mode, MPH High Priority audio stream: Hierarchical mode, MPH Low Priority video stream: Hierarchical mode, MPH Low priority audio stream: Hierarchical mode may be further applied.

여기서 MPH는 mobile, pedestrian, handheld 각각의 첫글자이며, 고정형에 반대되는 개념이다. 따라서 MPH video stream : Non-hierarchical mode, MPH audio stream : Non-hierarchical mode, MPH Non-A/V stream : Non-hierarchical mode, MPH High Priority video stream : Hierarchical mode, MPH High Priority audio stream : Hierarchical mode, MPH Low Priority video stream : Hierarchical mode, MPH Low priority audio stream : Hierarchical mode 등은 mobile 방송을 송수신하는 경우에 적용되는 stream type을 규정한 것이다. 또한 Hierarchical mode와 Non-hierarchical mode는, 어느 하나의 부호/복호 방식에 Hierarchical 구조가 적용되어 Priority가 적용된 스트림이 있을 경우 사용되는 value이다. 따라서 Hierarchical 구조의 코덱이 사용된 경우, stream type 필드에 Hierarchical mode와 Non-hierarchical mode가 포함된 해당 필드 값이 지정되어 각 스트림이 구분된다. 이러한 stream type 정보는 SI 및/데이터 복호기(6010)에 의해 파싱되어 비디오/오디오 복호기(6004,6005)에 제공되며, 비디오/오디오 복호기(6004,6005)는 이러한 stream type 정보를 이용하여 복호작업을 수행한다. MPH is the first letter of mobile, pedestrian and handheld, as opposed to fixed form. MPH video stream: Non-hierarchical mode, MPH audio stream: Non-hierarchical mode, MPH Non-A / V stream: Non-hierarchical mode, MPH High Priority video stream: Hierarchical mode, MPH High Priority audio stream: Hierarchical mode, MPH Low Priority video stream: Hierarchical mode, MPH low priority audio stream: Hierarchical mode, etc. define the stream type applied when transmitting and receiving mobile broadcast. In addition, the hierarchical mode and the non-hierarchical mode are values used when there is a stream to which priority is applied by applying a hierarchical structure to any one code / decoding method. Therefore, when a codec of Hierarchical structure is used, each stream is distinguished by specifying the field value including Hierarchical mode and Non-hierarchical mode in the stream type field. This stream type information is parsed by the SI and / data decoder 6010 and provided to the video / audio decoders 6004 and 6005. The video / audio decoders 6004 and 6005 use the stream type information to perform decoding operations. To perform.

그 외에 적용될 수 있는 다른 stream type으로는 오디오 데이터를 위한 MPEG 4 AUDIO, AC 3, AAC, AAC+, BSAC, HE AAC, AAC SBR, MPEG-S 등과, 비디오 데이터를 위한, MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 등이 추가될 수 있다. Other stream types that can be applied include MPEG 4 AUDIO, AC 3, AAC, AAC +, BSAC, HE AAC, AAC SBR, MPEG-S, etc. for audio data, MPEG 2 VIDEO, MPEG 4 VIDEO for video data. , H.264, SVC, VC-1, etc. may be added.

또한, 도 70의 MPH video stream : Non-hierarchical mode, MPH audio stream : Non-hierarchical mode 등의 hierarchical mode, Non-hierarchical mode가 사용된 필드에서 각 audio stream, video stream 대신에, 상기의 오디오 데이터를 위한 MPEG 4 AUDIO, AC 3, AAC, AAC+, BSAC, HE AAC, AAC SBR, MPEG-S 등과, 비 디오 데이터를 위한 MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 등이 각각 대체되는 실시예를 고려할 수 있으며, 이는 본 발명의 기술범위에 포함된다. In addition, in the field in which the hierarchical mode and the non-hierarchical mode, such as the MPH video stream: Non-hierarchical mode and the MPH audio stream: Non-hierarchical mode, are used in FIG. MPEG 4 AUDIO, AC 3, AAC, AAC +, BSAC, HE AAC, AAC SBR, MPEG-S, etc., MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1, etc. Alternative embodiments may be considered, which are included in the technical scope of the present invention.

한편, 상기 stream_type 필드는 PMT 내의 하나의 field로서 규정될 수 있으며, 이 경우 상기와 같은 syntax를 가질 수 있음은 물론이다. Meanwhile, the stream_type field may be defined as one field in the PMT. In this case, the stream_type field may have the above syntax.

상기 STT는 현재의 날짜와 시간 정보를 전송하고, 상기 RRT는 프로그램 등급을 위한 지역 및 심의 기관 등에 대한 정보를 전송한다. 상기 ETT는 채널 및 방송 프로그램에 대한 부가 설명을 전송하고, 상기 EIT는 가상 채널의 이벤트에 대한 정보(예를 들어, 제목, 시작 시간 등등)를 전송한다. The STT transmits current date and time information, and the RRT transmits information about a region and a review institution for a program grade. The ETT transmits an additional description of a channel and a broadcast program, and the EIT transmits information (eg, title, start time, etc.) about an event of a virtual channel.

도 71은 본 발명에 따른 EIT에 대한 비트 스트림 신택스의 실시예를 도시한 도면이다.71 illustrates an embodiment of bit stream syntax for an EIT according to the present invention.

도 71의 EIT(Event Information Table)의 실시예는, 가상 채널(virtual channel)의 이벤트에 대한 제목(title), 시작 시각(start time), 지속 시간(duration) 등에 대한 정보를 포함하는 PSIP의 테이블 중 하나이다. 도 71에 도시된 바와 같이, EIT는 다수개의 필드(field)들로 구성된다.An embodiment of the EIT (Event Information Table) of FIG. 71 is a table of PSIP including information on a title, start time, duration, etc. of an event of a virtual channel. Is one of. As shown in FIG. 71, the EIT is composed of a plurality of fields.

테이블 아이디(table_id) 필드는 8비트로 구성되며, '0xCB' 값을 가지며, 이 경우 당해 섹션(section)은 EIT에 속한다는 것을 의미한다.The table ID (table_id) field is composed of 8 bits and has a value of '0xCB', which means that the corresponding section belongs to the EIT.

section_syntax_indicator 필드는 1비트로 구성되며, '1' 값을 가지며, 이 경우 당해 섹션은 "section_length" 필드를 지나 generic section syntax를 따른다는 것을 의미한다.The section_syntax_indicator field consists of 1 bit and has a value of '1', which means that the section follows the generic section syntax after passing through the "section_length" field.

private_indicator 필드는 1비트로 구성되며, '1' 값을 가질 수 있다.The private_indicator field consists of 1 bit and may have a value of '1'.

source_ID는 본 테이블에서 나타내는 이벤트를 운반하는 Virtual Channel을 식별하는 아이디이다. source_ID is an ID for identifying a virtual channel carrying an event indicated in this table.

version_numbers_in_section 필드는 이벤트 정보 테이블의 개체의 버젼을 나타낸다. 본 발명에서는 종래의 버젼 넘버에 대해 새로운 버젼 넘버를 갖는 이벤트 정보 테이블에 포함되는 이벤트 변경 정보를 최신의 변경 정보로 인식한다.The version_numbers_in_section field represents the version of an object of the event information table. In the present invention, the event change information included in the event information table having a new version number with respect to the conventional version number is recognized as the latest change information.

current_next_indicator 필드는 해당 EIT가 포함하는 이벤트 정보가 현재의 정보인지, 미래의 정보인지를 나타낸다. The current_next_indicator field represents whether event information included in the corresponding EIT is current information or future information.

num_event 필드는 상기 소스 아이디를 가지는 채널 내에 속하는 이벤트의 수를 나타낸다. 즉, 하부의 이벤트 루프(loop)는 상기 이벤트의 수만큼 반복하는 것이다.The num_event field represents the number of events belonging to a channel having the source ID. In other words, the lower event loop is repeated as many as the number of events.

이상에서 설명한 EIT의 필드는 하나의 EIT 신택스에 포함되는 적어도 하나 이상의 이벤트에 대해 공통으로 적용되는 필드이다. The field of the EIT described above is a field commonly applied to at least one or more events included in one EIT syntax.

"for(j=0;j<num_events_in_section;j++){}" 로 포함되는 루프는 이벤트들 각각의 특성을 설명해 주고 있다. 이하의 필드는 개별의 이벤트에 대한 상세 정보를 나타내는 필드이다. 따라서 이하에서 설명하는 필드는 EIT 신택스가 설명하는 해당 이벤트에 개별적으로 적용되는 필드이다.The loop included with "for (j = 0; j <num_events_in_section; j ++) {}" describes the characteristics of each of the events. The following fields are fields representing detailed information on individual events. Therefore, the fields described below are fields individually applied to the corresponding event described by the EIT syntax.

이벤트 루프 내에서 있는event_ID는 각각의 개별적인 이벤트를 식별하는 식별자이다. 이벤트 아이디의 숫자는 이벤트 ETM_ID(identifier for event Extended Text Message)의 일부이다.The event_ID in the event loop is an identifier that identifies each individual event. The number of event IDs is part of the event identifier for event extended text message (ETM_ID).

start_time 필드는 이벤트의 시작 시각을 나타내는 필드이다. The start_time field is a field indicating the start time of an event.

따라서 전자 프로그램 정보에서 제공하는 프로그램의 시작 시간 정보를 본 필드에서 수집한다.Therefore, the start time information of the program provided by the electronic program information is collected in this field.

length_in_seconds 필드는 이벤트의 지속 시간(duration)을 알려준다. 따라서 전자 프로그램 정보에서 제공하는 프로그램의 끝나는 시각인 end time 정보를 본 필드에서 수집한다. 즉, 상기 스타트 타임 필드의 값과 상기 length in seconds 필드의 값을 더하여 엔드 타임 정보를 수집하는 것이다.The length_in_seconds field indicates the duration of an event. Therefore, end time information, which is the end time of the program provided by the electronic program information, is collected in this field. That is, the end time information is collected by adding the start time field value and the length in seconds field value.

title_text()필드는, 방송 프로그램의 제목을 표시하는 용도로 사용될 수 있다. The title_text () field may be used for displaying a title of a broadcast program.

한편, 각 event에 적용되는 descriptor가 EIT에 포함될 수 있다. descriptors_length 필드는 descriptor의 길이를 나타낸다.Meanwhile, a descriptor applied to each event may be included in the EIT. The descriptors_length field represents the length of a descriptor.

한편, 다음의 'for' 루프의 반복문 내에 있는 서술자 루프(descriptor loop ; descriptor{})에는 AC-3 audio descriptor, MPEG 2 audio descriptor, MPEG 4 audio descriptor, AAC descriptor, AAC+ descriptor, HE AAC descriptor, AAC SBR descriptor, MPEG surround descriptor, BSAC descriptor, MPEG 2 video descriptor, MPEG 4 video descriptor, H.264 descriptor, SVC descriptor, VC-1 descriptor 중 적어도 하나의 descriptor를 포함할 수 있다. 여기서 각 descriptor는 각 이벤트에 적용된 오디오/비디오 코덱에 대한 정보를 기술하고 있다. 이러한 코덱에 대한 정보는 오디오/비디오 복호기(6004,6005)에 제공되어 복호작업에 이용될 수 있다.On the other hand, the descriptor loop (descriptor loop) in the loop of the following 'for' loop includes an AC-3 audio descriptor, an MPEG 2 audio descriptor, an MPEG 4 audio descriptor, an AAC descriptor, an AAC + descriptor, an HE AAC descriptor, and an AAC. It may include at least one of an SBR descriptor, an MPEG surround descriptor, a BSAC descriptor, an MPEG 2 video descriptor, an MPEG 4 video descriptor, an H.264 descriptor, an SVC descriptor, and a VC-1 descriptor. Here, each descriptor describes information about an audio / video codec applied to each event. Information about the codec may be provided to the audio / video decoders 6004 and 6005 to be used for decoding.

상기 DCCT/DCCSCT는 자동 채널 변경과 관련된 정보를 전송하고, 상기 MGT는 상기 PSIP 내 각 테이블들의 버전 및 PID 정보를 전송한다. The DCCT / DCCSCT transmits information related to automatic channel change, and the MGT transmits version and PID information of respective tables in the PSIP.

그리고 상기 PSI/PSIP 내 테이블들은 모두 섹션이라는 기본 단위를 가지며 하나 이상의 섹션들이 조합되어 하나의 테이블을 구성하게 된다. 예를 들어, 상기 VCT는 256개의 섹션으로 분리될 수 있다. 그리고, 하나의 섹션은 여러 개의 가상 채널 정보를 실을 수 있으나, 하나의 가상 채널에 대한 정보는 두 개 이상의 섹션으로 나누지 않는다. The tables in the PSI / PSIP all have a basic unit called a section, and one or more sections are combined to form a table. For example, the VCT may be divided into 256 sections. And, one section may carry a plurality of virtual channel information, but information about one virtual channel is not divided into two or more sections.

이때 수신 시스템에서는 PSI 내 테이블들만 이용하거나, 또는 PSIP 내 테이블들만 이용하거나, 또는 PSI와 PSIP 내 테이블들의 조합을 이용하여 전송되는 모바일 서비스 데이터를 파싱하여 디코딩할수 있다.In this case, the receiving system can parse and decode mobile service data transmitted using only tables in PSI, only tables in PSIP, or a combination of tables in PSI and PSIP.

상기 모바일 서비스 데이터를 파싱하여 디코딩하기 위해서는, PSI의 경우 적어도 PAT, PMT가 필요하고, PSIP의 경우 VCT가 필요하다. In order to parse and decode the mobile service data, at least PAT and PMT are required for PSI and VCT is required for PSIP.

예를 들어, 상기 PAT는 상기 모바일 서비스 데이터를 전송하는 시스템 정보 및 상기 데이터 서비스를 위한 데이터(또는 프로그램번호)에 해당하는 PMT의 PID를 포함할 수 있고, 상기 PMT는 상기 모바일 서비스 데이터를 전송하는 TS 패킷의 PID를 포함할 수 있다. For example, the PAT may include system information for transmitting the mobile service data and a PID of a PMT corresponding to data (or program number) for the data service, and the PMT transmits the mobile service data. It may include the PID of the TS packet.

상기 VCT는 상기 모바일 서비스 데이터를 전송하는 가상 채널의 정보와 상기 모바일 서비스 데이터를 전송하는 TS 패킷의 PID를 포함할 수 있다.The VCT may include information of a virtual channel for transmitting the mobile service data and a PID of a TS packet for transmitting the mobile service data.

한편, 실시예에 따라서는 PSIP 대신 DVB-SI가 적용될 수도 있다. 이러한 DVB-SI는 NIT, SDT, EIT, TDT 등을 포함할 수 있다. 이러한 DVB-SI는 위에서 언급한 PSI와 함께 사용될 수 있다.In some embodiments, DVB-SI may be applied instead of PSIP. Such DVB-SI may include NIT, SDT, EIT, TDT, and the like. Such DVB-SI may be used together with the above-mentioned PSI.

상기 네트워크 정보 테이블(network information table ; NIT)은 특정 네트워크 공급자에 속하는 서비스를 그룹으로 분류한다. 이 테이블에는 IRD의 설정 중 사용되는 동조 정보가 모두 수록된다. 이 테이블은 동조 정보의 변화를 알리는데 사용될 수 있다. 상기 서비스 설명 테이블(Service description table ; SDT)에는 이름 및 특정 MPEG 멀티플렉스의 각 서비스에 관련된 다른 매개 변수가 수록된다. 상기 이벤트 정보 테이블(Event information table ; EIT)은 MPEG 멀티플렉스에서 발생하는 모든 이벤트와 관련된 정보의 전송에 사용된다. 이 테이블에는 현재 전송에 관한 정보가 수록되며 IRD가 수신할 수 있는 다른 전송 스트림을 선택적으로 포괄하는 정보가 수록된다. 상기 시간 및 날짜 테이블(Time and Date table ; TDT)은 IRD 내부 클럭 갱신에 사용된다. The network information table (NIT) classifies services belonging to a specific network provider into groups. This table contains all the tuning information used during IRD setup. This table can be used to inform the change of tuning information. The Service description table (SDT) contains a name and other parameters related to each service of a particular MPEG multiplex. The event information table (EIT) is used to transmit information related to all events occurring in the MPEG multiplex. This table contains information about the current transport and optionally covers other transport streams that the IRD can receive. The time and date table (TDT) is used for IRD internal clock update.

또한, 다음과 같은 세 가지 선택적 SI 테이블이 있다. In addition, there are three optional SI tables:

즉, 부케 연관 테이블(Bouquet associate table ; BAT)은 IRD가 시청자에게 서비스를 제공하는 방법으로 사용할 수 있는 서비스 그룹화 방법을 제공한다. 특정 서비스는 하나 이상의 `부케`에 속할 수 있다. 실행 상태 테이블(Running Status table ; RST) 섹션은 하나 이상의 이벤트 실행 상태의 신속한 갱신에 사용된다. 상기 실행 상태 섹션은 이벤트의 상태가 변하는 시점에 단 한번만 전송된다. 다른 SI 테이블은 보통 반복적으로 전송된다. 스터핑 테이블(Stuffing table, ST)은 종속 테이블이나 전체 SI 테이블의 교체 또는 폐기에 사용될 수 있다.That is, a bouquet associate table (BAT) provides a service grouping method that an IRD can use as a method of providing a service to a viewer. A particular service can belong to more than one `buque`. The Running Status Table (RST) section is used to quickly update one or more event execution states. The execution state section is transmitted only once at the time when the state of the event changes. Other SI tables are usually sent repeatedly. The stuffing table (ST) may be used to replace or discard the dependent table or the entire SI table.

본 발명의 일실시예로서 모바일 서비스 데이터가 오디오, 비디오 데이터인 경우, TS 패킷 내 페이로드에 실린 모바일 서비스 데이터는 PES 타입인 것이 바람 직하다. In one embodiment of the present invention, if the mobile service data is audio or video data, the mobile service data carried in the payload in the TS packet is preferably of the PES type.

본 발명의 다른 실시예로서 모바일 서비스 데이터가 데이터 서비스를 위한 데이터인 경우, TS 패킷 내 페이로드에 실린 모바일 서비스 데이터가 DSM-CC 섹션 형태인 것을 일 실시예로 설명한다.As another embodiment of the present invention, when the mobile service data is data for data service, it will be described as an embodiment that the mobile service data carried in the payload in the TS packet is in the form of a DSM-CC section.

다만, 상기 데이터 서비스를 위한 데이터가 실리는 TS 패킷은 PES (Packetized Elementary Stream) 타입일 수도 있고, 섹션 타입일 수도 있다. 즉, PES 타입의 데이터 서비스를 위한 데이터가 TS 패킷으로 구성되거나, 섹션 타입의 데이터 서비스를 위한 데이터가 TS 패킷으로 구성된다. However, a TS packet carrying data for the data service may be a packetized elementary stream (PES) type or a section type. That is, data for a PES type data service is composed of TS packets, or data for a section type data service is composed of TS packets.

본 발명에서는 상기 데이터 서비스를 위한 데이터가 섹션 타입으로 전송되는 것을 일 실시예로 설명한다. 이때 상기 데이터 서비스를 위한 데이터는 DSM-CC(Digital Storage Media-Command and Control) 섹션에 포함되고, 상기 DSM-CC 섹션은 다시 188바이트 단위의 TS 패킷으로 구성되는 것을 일 실시예로 설명한다.According to an embodiment of the present invention, data for the data service is transmitted in a section type. In this case, the data for the data service is included in a Digital Storage Media-Command and Control (DSM-CC) section, and the DSM-CC section is configured as TS packets in units of 188 bytes.

그리고 상기 DSM-CC 섹션을 구성하는 TS 패킷의 식별자는 DST(Data Service Table)에 포함된다. 만일 DST를 전송하는 경우 상기 PMT 또는, VCT의 service location descriptor 내 stream_type 필드 값으로 0x95를 할당한다. 즉, 수신 시스템에서는 PMT나 VCT의 stream_type 필드 값이 0x95이면 모바일 서비스 데이터를 포함하는 데이터 방송 즉, 모바일 서비스 데이터가 수신되고 있음을 알 수 있다. 이때 상기 모바일 서비스 데이터는 데이터/오브젝트 캐로젤(data/object carousel) 방식으로 전송될 수 있다. 상기 데이터/오브젝트 캐로젤 방식은 동일한 데이터를 주기적으로 반복 전송하는 것을 의미한다. The identifier of the TS packet constituting the DSM-CC section is included in a data service table (DST). If the DST is transmitted, 0x95 is allocated as the stream_type field value in the PMT or the service location descriptor of the VCT. That is, when the stream_type field value of the PMT or VCT is 0x95, the reception system may know that data broadcasting including mobile service data, that is, mobile service data, is received. In this case, the mobile service data may be transmitted in a data / object carousel manner. The data / object carousel method means transmitting the same data periodically.

이때 상기 역다중화기(6003)는 상기 SI 및/또는 데이터 복호기(6010)의 제어에 의해 섹션 필터링을 수행하여 중복되는 섹션은 버리고, 중복되지 않은 섹션만 SI 및/또는 데이터 복호기(6010)로 출력한다. At this time, the demultiplexer 6003 performs section filtering under the control of the SI and / or data decoder 6010 to discard overlapping sections, and output only the non-overlapping sections to the SI and / or data decoder 6010. .

또한 상기 역다중화기(6003)는 섹션 필터링을 통해 원하는 테이블 예를 들어, VCT 또는 EIT를 구성하는 섹션만을 SI 및/또는 데이터 복호기(6010)로 출력할 수도 있다. 상기 VCT 또는 EIT에는 모바일 서비스 데이터에 대한 특정 디스크립터가 포함될 수도 있다. 그러나 상기 모바일 서비스 데이터가 PMT 등의 다른 테이블에 포함되는 것을 배제하는 것은 아니다.In addition, the demultiplexer 6003 may output only a section constituting a desired table, for example, a VCT or an EIT, to the SI and / or data decoder 6010 through section filtering. The VCT or EIT may include a specific descriptor for mobile service data. However, the mobile service data is not excluded from being included in another table such as PMT.

상기 섹션 필터링의 방법으로는, MGT에서 정의된 테이블 예를 들어, VCT의 PID를 확인하여 섹션 필터링을 걸어주는 방법이 있고, 또는 상기 VCT가 고정된 PID, 다른 말로는 base PID를 가지고 있는 경우에는 MGT를 확인하지 않고, 바로 섹션 필터링을 걸어주는 방법 등이 있다. 이때 상기 역다중화기(6003)는 PID, table_id 필드, version_number 필드, section_number 필드 등을 참조하여 섹션 필터링을 수행한다.As the method of section filtering, there is a table defined in MGT, for example, a method of applying section filtering by checking PID of a VCT, or MGT when the VCT has a fixed PID, in other words, a base PID. There is a way to filter the section without checking it. At this time, the demultiplexer 6003 performs section filtering by referring to a PID, a table_id field, a version_number field, a section_number field, and the like.

상술하면, 본 발명에 따른 VCT의 PID를 정의하는 방법으로는 크게 두 가지 방법이 존재한다.In detail, there are two methods for defining the PID of the VCT according to the present invention.

여기서 상기 VCT의 PID는 다른 테이블들과 상기 VCT를 구별하기 위해 필요한 패킷 식별자이다.Here, the PID of the VCT is a packet identifier required to distinguish the VCT from other tables.

첫번째 방법으로, 본 발명에 따른 VCT의 PID가 MGT에 의존적이 되도록 설정할 수 있다. 이 경우, 수신 시스템에서는 PSIP 또는 PSI의 수많은 테이블들 중에서 VCT를 바로 확인할 수는 없고, MGT에서 정의되어진 PID를 체크해야만 비로소 VCT를 독출시킬 수가 있다. 상기 MGT는 각종 테이블들의 PID, 사이즈(size), 버전 넘버(version number) 등을 정의하는 테이블이다.In the first method, the PID of the VCT according to the present invention can be set to be dependent on the MGT. In this case, the receiving system cannot immediately check the VCT among numerous tables of the PSIP or PSI, and can read the VCT only by checking the PID defined in the MGT. The MGT is a table defining PIDs, sizes, version numbers, etc. of various tables.

두번째 방법으로, 본 발명에 따른 VCT의 PID가 MGT로부터 독립적인 베이스(base) PID 값, 즉 고정된 PID 값을 가지도록 설정할 수도 있다. 이 경우, 첫번째 방법과 달리 MGT의 PID를 일일이 확인하지 않고, 본 발명에 따른 VCT를 식별할 수 있는 장점이 있다. 물론, 베이스 PID에 대한 약속이 송신 시스템과, 수신 시스템 사이에서 선행되어야 한다. As a second method, the PID of the VCT according to the present invention may be set to have a base PID value independent of the MGT, that is, a fixed PID value. In this case, unlike the first method, it is possible to identify the VCT according to the present invention without checking the PID of the MGT. Of course, the promise of the base PID must be preceded between the transmitting system and the receiving system.

한편 실시예에 따라서는, 상기 역다중화기(6003)는 섹션 필터링을 통해 AIT(Application Information Table)만을 SI 및/또는 데이터 복호기(6010)로 출력할 수 있다. 이러한 AIT는 데이터 서비스를 위해 수신기에서 구동되는 어플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 XAIT, AMT라고도 불리운다. 따라서 어플리케이션의 정보를 담고는 있는 테이블이라면 어느 것이나 아래의 설명에 적용될 것이다. 이러한 AIT가 전송되는 경우, PMT의 stream_type 필드로 0x05가 할당될 수 있다. According to an embodiment, the demultiplexer 6003 may output only an application information table (AIT) to the SI and / or data decoder 6010 through section filtering. The AIT refers to a table including information on an application running in a receiver for data service. In some cases, the AIT is also called XAIT or AMT. Therefore, any table containing information about the application will apply to the description below. When such AIT is transmitted, 0x05 may be allocated to the stream_type field of the PMT.

이러한 AIT는 어플리케이션에 대한 정보, 예컨대 어플리케이션의 이름(name), 어플리케이션의 버전, 어플리케이션의 우선 순위, 어플리케이션의 ID, 어플리케이션의 상태(auto-start, 유저에 의한 조작가능, kill 등), 어플리케이션의 타입(Java 또는 HTML), 어플리케이션의 class들과 데이터 파일을 포함하는 스트림의 위치, 어플리케이션의 base directory, 어플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다.These AITs provide information about the application, such as the name of the application, the version of the application, the priority of the application, the ID of the application, the state of the application (auto-start, user operable, kill, etc.), and the type of application. (Java or HTML), the location of the stream containing the classes and data files of the application, the base directory of the application, the location of the icon of the application, and the like.

그리고 상기 AIT를 이용하여 데이터 서비스를 위한 어플리케이션 정보를 검출하는 방법으로는 component_tag, original_network_id, transport_stream_id, service_id가 사용되어 검출될 수 있다. 상기 component_tag는 해당 Object Carousel의 DSI를 운반하는 elementary stream을 지칭하며, 상기 original_network_id는 transport connection을 제공하는 TS의 DVB-SI original_network_id를 지칭한다. 또한 상기 transport_stream_id는 transport connection을 제공하는 TS의 MPEG TS를 지칭하며, 상기 service_id는 transport connection을 제공하는 서비스의 DVB-SI를 지칭한다. 상기 original_network_id, transport_stream_id, service_id가 이용되어 특정 채널에 대한 정보를 얻을 수 있다. 이상과 같은 정보를 이용하여 검출된 데이터 서비스를 위한 데이터, 예컨대 어플리케이션에 대한 데이터는 SI 및/또는 데이터 복호기(6010)에 의해 제2 저장부(6011)에 저장될 수 있다. As a method of detecting application information for a data service using the AIT, component_tag, original_network_id, transport_stream_id, and service_id may be detected. The component_tag refers to an elementary stream carrying DSI of the corresponding Object Carousel, and the original_network_id refers to the DVB-SI original_network_id of the TS providing the transport connection. In addition, the transport_stream_id refers to the MPEG TS of the TS providing the transport connection, and the service_id refers to the DVB-SI of the service providing the transport connection. The original_network_id, transport_stream_id, and service_id may be used to obtain information on a specific channel. Data for a data service detected using the above information, for example, data about an application, may be stored in the second storage unit 6011 by the SI and / or data decoder 6010.

상기 SI 및/또는 데이터 복호기(6010)는 역다중화된 모바일 서비스 데이터를 구성하는 DSM-CC 섹션을 파싱하고, 파싱 결과인 모바일 서비스 데이터를 상기 제2 저장부(6011)에 데이터베이스화한다.The SI and / or data decoder 6010 parses the DSM-CC section constituting the demultiplexed mobile service data and databases the mobile service data as a result of the parsing in the second storage unit 6011.

상기 SI 및/또는 데이터 복호기(6010)는 동일한 테이블 식별자(table_id)를 갖는 섹션들을 모아 테이블을 구성하여 파싱하고, 파싱 결과인 시스템 정보를 제2 저장부(6011)에 데이터베이스화한다. The SI and / or data decoder 6010 collects sections having the same table identifier (table_id) to form and parse a table, and database the system information as a result of the parsing in the second storage unit 6011.

이때 상기 SI 및/또는 데이터 복호기(6010)는 파싱을 함에 있어서, 상기 역 다중화기(6003)에서 섹션 필터링하지 않거나 그렇지 못한 나머지 액츄얼 섹션 데이터(actual section data) 부분을 모두 읽어서, 상기 제2 저장부(6011)에 저장한다. 상기 제2 저장부(6011)는 테이블에서 파싱된 시스템 정보와 DSM-CC 섹션에서 파싱된 모바일 서비스 데이터를 저장하는 테이블 및 데이터/오브젝트 캐로젤 데이터베이스이다. In this case, the SI and / or data decoder 6010 parses the second multiplexer 6003 to read all remaining sections of the actual section data that are not filtered or sectioned by the demultiplexer 6003 to store the second storage. Stored in the unit 6011. The second storage unit 6011 is a table and data / object carousel database storing system information parsed from a table and mobile service data parsed from a DSM-CC section.

여기서, 하나의 테이블이 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 테이블 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다. 예를 들어, VCT의 PID를 갖는 TS 패킷만을 모으면 섹션이 되고, VCT에 할당된 테이블 식별자를 갖는 섹션들을 모으면 VCT가 된다. Here, whether a table consists of one section or a plurality of sections can be known through a table_id field, a section_number field, a last_section_number field, and the like. For example, collecting only TS packets having a PID of a VCT results in a section, and gathering sections having a table identifier assigned to a VCT results in a VCT.

상기 VCT를 파싱하면 모바일 서비스 데이터가 전송되는 가상 채널에 대한 정보를 얻을 수 있다. By parsing the VCT, information about a virtual channel through which mobile service data is transmitted can be obtained.

또한, 본 발명에 따르면, SI 및/또는 데이터 복호기(6010)는 VCT의 SLD를 파싱하여 해당 elementary stream의 스트림 타입 정보를 오디오 혹은 비디오 복호기(6004,6005)에 전송한다. 이 경우, 해당 오디오 혹은 비디오 복호기(6004,6005)는 전송된 스트림 타입 정보를 이용하여 오디오 혹은 비디오 디코딩 작업을 수행한다. In addition, according to the present invention, the SI and / or data decoder 6010 parses the SLD of the VCT and transmits stream type information of the corresponding elementary stream to the audio or video decoders 6004 and 6005. In this case, the corresponding audio or video decoders 6004 and 6005 perform audio or video decoding using the transmitted stream type information.

또한, 본 발명에 따르면, SI 및/또는 데이터 복호기(6010)는 EIT의 AC-3 audio descriptor, MPEG 2 audio descriptor, MPEG 4 audio descriptor, AAC descriptor, AAC+ descriptor, HE AAC descriptor, AAC SBR descriptor, MPEG surround descriptor, BSAC descriptor, MPEG 2 video descriptor, MPEG 4 video descriptor, H.264 descriptor, SVC descriptor, VC-1 descriptor 등을 파싱하여 해당 이벤트의 오디오 혹은 비디오 코덱 정보를 오디오 혹은 비디오 복호기(6004,6005)에 전송한다. 이 경우, 해당 오디오 혹은 비디오 복호기(6004,6005)는 전송된 오디오 혹은 비디오 코덱 정보를 이용하여 오디오 혹은 비디오 디코딩 작업을 수행한다. Further, according to the present invention, the SI and / or data decoder 6010 may include an AC-3 audio descriptor, an MPEG 2 audio descriptor, an MPEG 4 audio descriptor, an AAC descriptor, an AAC + descriptor, an HE AAC descriptor, an AAC SBR descriptor, and an MPEG. Parses surround descriptor, BSAC descriptor, MPEG 2 video descriptor, MPEG 4 video descriptor, H.264 descriptor, SVC descriptor, VC-1 descriptor and etc. To transmit. In this case, the corresponding audio or video decoders 6004 and 6005 perform audio or video decoding using the transmitted audio or video codec information.

상기 획득된 데이터 서비스의 어플리케이션 식별 정보, 서비스 컴포넌트 식별 정보, 서비스 정보는 제2 저장부(6011)에 저장될 수도 있고, 데이터 방송 어플리케이션 매니저(6013)로 출력될 수도 있다. The obtained application identification information, service component identification information, and service information of the data service may be stored in the second storage unit 6011 or may be output to the data broadcast application manager 6013.

그리고 상기 어플리케이션 식별 정보, 서비스 컴포넌트 식별 정보, 서비스 정보는 상기 데이터 서비스를 위한 데이터를 디코딩하는데 참조가 될 수도 있고, 또는 데이터 서비스를 위한 어플리케이션 프로그램의 구동을 미리 준비시킬 수도 있다. The application identification information, service component identification information, and service information may be referred to for decoding data for the data service, or may be prepared to drive an application program for a data service in advance.

또한 상기 SI 및/또는 데이터 복호기(6010)는 채널 및 이벤트 관련 정보 테이블인 시스템 정보 테이블의 역다중화를 제어하여, A/V PID 리스트를 채널 매니저(Channel Manager)(6007)로 전송할 수 있다.In addition, the SI and / or data decoder 6010 may control demultiplexing of the system information table, which is a channel and event related information table, and transmit the A / V PID list to the channel manager 6007.

상기 채널 매니저(6007)는 채널 맵(Channel Map)(6008)을 참조하여, 시스템 관련 정보 테이블 수신 요청을 상기 SI 및/또는 데이터 복호기(6010)에 할 수 있고, 그 결과를 전송받을 수 있다. 그리고, 상기 채널 매니저(6007)는 상기 튜너(6001)의 채널 튜닝을 제어할 수도 있다.The channel manager 6007 may make a request for receiving a system related information table to the SI and / or data decoder 6010 with reference to a channel map 6008 and receive the result. The channel manager 6007 may control channel tuning of the tuner 6001.

또한 상기 채널 매니저(6007)는 상기 역다중화기(6003)를 직접 제어하여, A/V PID를 직접 셋팅함으로써, 오디오/비디오 복호기(6004,6005)를 제어할 수도 있다.In addition, the channel manager 6007 may directly control the demultiplexer 6003 and directly control the audio / video decoders 6004 and 6005 by directly setting the A / V PID.

상기 오디오/비디오 복호기(6004,6005)는 메인 서비스 데이터 패킷으로부터 역다중화된 오디오와 비디오를 각각 디코딩하여 출력할 수도 있고, 모바일 서비스 데이터 패킷으로부터 역다중화된 오디오와 비디오를 각각 디코딩하여 출력할 수도 있다. 한편 실시예에 따라서는 모바일 서비스 데이터에 데이터 서비스를 위한 데이터뿐만 아니라 오디오 데이터, 비디오 데이터가 포함될 경우, 역다중화기(6003)에서 역다중화된 오디오 데이터, 비디오 데이터가 오디오 복호기(6004), 비디오 복호기(6005)에서 각각 디코딩될 수 있음은 물론이다. 일 예로, 오디오 복호기(6004)는 AC-3 복호 알고리즘, MPEG 2 audio 복호 알고리즘, MPEG 4 audio 복호 알고리즘, AAC 복호 알고리즘, AAC+ 복호 알고리즘, HE AAC 복호 알고리즘, AAC SBR 복호 알고리즘, MPEG surround 복호 알고리즘, BSAC 복호 알고리즘을 적용하고, 비디오 복호기(6005)는 MPEG 2 video 복호 알고리즘, MPEG 4 video 복호 알고리즘, H.264 복호 알고리즘, SVC 복호 알고리즘, VC-1 복호 알고리즘을 적용하여 복호할 수 있다. The audio / video decoders 6004 and 6005 may decode and output demultiplexed audio and video from the main service data packet, respectively, or decode and output demultiplexed audio and video from the mobile service data packet, respectively. . Meanwhile, according to the exemplary embodiment, when the mobile service data includes not only data for data service but also audio data and video data, the demultiplexer 6003 demultiplexes the audio data and the video data into the audio decoder 6004 and the video decoder ( Of course, each can be decoded at 6005). For example, the audio decoder 6004 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, a HE AAC decoding algorithm, an AAC SBR decoding algorithm, an MPEG surround decoding algorithm, The BSAC decoding algorithm is applied, and the video decoder 6005 can decode 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.

한편 상기 네이티브 TV 어플리케이션 매니저(6006)는 제1 저장부(6009)에 저장된 네이티브 어플리케이션 프로그램을 구동시켜, 채널 전환과 같은 일반적인 기능을 수행한다. 상기 네이티브 어플리케이션 프로그램은 수신 시스템의 출하시에 내장되는 소프트웨어를 의미한다.Meanwhile, the native TV application manager 6006 drives a native application program stored in the first storage unit 6009 to perform general functions such as channel switching. The native application program refers to software embedded at the time of shipment of the receiving system.

즉, 상기 네이티브 TV 어플리케이션 매니저(6006)는 유저 인터페이스(User Interface ; UI)를 통해 수신 시스템으로 사용자 요청이 있는 경우, 스크린 상의 그래픽 유저 인터페이스(Graphic User Interface ; GUI)로 디스플레이하여 사용자의 요구에 응한다. That is, the native TV application manager 6006 responds to the user's request by displaying a graphical user interface (GUI) on the screen when a user request is made to the receiving system through a user interface (UI). .

상기 유저 인터페이스는 리모콘, 키패드, 조그 다이얼, 스크린 상에 구비된 터치 스크린 등과 같은 입력 장치를 통해 사용자 요청을 입력받아 네이티브 TV 어플리케이션 매니저(6006), 데이터 방송 어플리케이션 매니저(6013) 등으로 출력한다.The user interface receives a user request through an input device such as a remote controller, a keypad, a jog dial, a touch screen provided on the screen, and outputs the user request to the native TV application manager 6006, the data broadcasting application manager 6013, and the like.

또한, 상기 네이티브 TV 애플리케이션 매니저(6006)는 채널 매니저(6007)를 제어하여 채널 관련 운영 즉, 채널 맵(6008)의 관리 및 SI 및/또는 데이터 복호기(6010)를 제어한다. 그리고 상기 네이티브 TV 애플리케이션 매니저(6006)는 수신 시스템 전체의 GUI 제어, 사용자 요구 및 상기 수신 시스템의 상태를 제1 저장부(6009)에 저장 및 복원한다. In addition, the native TV application manager 6006 controls the channel manager 6007 to control channel related operations, that is, the management of the channel map 6008 and the SI and / or data decoder 6010. The native TV application manager 6006 stores and restores the GUI control of the entire receiving system, the user request, and the state of the receiving system in the first storage unit 6009.

상기 채널 매니저(6007)는 상기 튜너(6001)와 SI 및/또는 데이터 복호기(6010)를 제어하여 사용자의 채널 요구에 응할 수 있도록 채널 맵(6008)을 관리한다. The channel manager 6007 manages the channel map 6008 to control the tuner 6001 and the SI and / or data decoder 6010 so as to respond to the user's channel request.

즉, 상기 채널 매니저(6007)는 튜닝(tuning)할 채널에 관련된 테이블을 파싱(parsing)하도록 SI 및/또는 데이터 복호기(6010)에 요구하고, 상기 SI 및/또는 데이터 복호기(6010)로부터 상기 테이블을 파싱한 결과를 보고 받는다. 그리고 상기 채널 매니저(6007)는 상기 보고된 파싱 결과에 따라 상기 채널 맵(6008)을 업데이트(update)하고, 모바일 서비스 데이터로부터 데이터 서비스를 위한 데이터와 관련 테이블을 역다중화하기 위한 PID를 상기 역다중화기(6003)에 설정한다.That is, the channel manager 6007 requests the SI and / or data decoder 6010 to parse a table related to the channel to be tuned, and from the SI and / or data decoder 6010 to the table. Report the result of parsing. The channel manager 6007 updates the channel map 6008 according to the reported parsing result, and demultiplexes a PID for demultiplexing data for a data service and a related table from mobile service data. (6003).

상기 시스템 매니저(6012)는 전원 온 및 오프에 의해 수신 시스템의 부팅을 제어하고, 롬 이미지(다운로드된 소프트웨어 이미지를 포함)를 제1 저장부(6009)에 저장한다. The system manager 6012 controls booting of the receiving system by powering on and off, and stores the ROM image (including the downloaded software image) in the first storage unit 6009.

즉, 상기 제1 저장부(6009)는 수신 시스템의운용에 필요한 OS(operating system) 등의 운용 프로그램과 데이터 서비스 기능을 수행하는 어플리케이션 프로그램(application program)을 저장한다.That is, the first storage unit 6009 stores an operating program such as an operating system (OS) required for operation of the reception system and an application program performing a data service function.

상기 어플리케이션 프로그램은 제2 저장부(6011)에 저장된 데이터 서비스를 위한 데이터를 처리하여 사용자에게 데이터 서비스를 제공하기 위한 프로그램이다. 제2 저장부(6011)에 데이터 서비스를 위한 데이터가 저장되어 있다면 상기 어플리케이션 프로그램 또는 다른 어플리케이션 프로그램에 의해 처리되어 사용자에게 제공된다. The application program is a program for providing a data service to a user by processing data for a data service stored in the second storage unit 6011. If data for a data service is stored in the second storage unit 6011, the data is processed by the application program or another application program and provided to the user.

상기 제1 저장부(6009)에 저장된 운영 프로그램과 어플리케이션 프로그램은 다운로드되는 새로운 프로그램으로 갱신 또는 수정될 수 있다. 또한 저장된 운영 프로그램과 어플리케이션 프로그램은 동작 전원의 공급이 차단되어도 지워지지 않고 계속 저장되므로, 동작 전원이 인가되면 새로이 다운로드받지 않고도 수행될 수 있다. The operating program and the application program stored in the first storage unit 6009 may be updated or modified with a new program downloaded. In addition, since the stored operating program and the application program are continuously stored without being erased even when the supply of the operating power is cut off, when the operating power is applied, the stored operating program and the application program can be executed without downloading a new one.

본 발명에 따른 데이터 서비스를 제공하기위한 어플리케이션 프로그램은 수신 시스템의 출하시에 제1 저장부(6009)에 내장될 수도 있고, 이후 다운로드를 통해 제1 저장부(6009)에 저장될 수도 있다. 또한 상기 제1 저장부(6009)에 저장된 데이터서비스를 위한 어플리케이션 프로그램 즉, 데이터 서비스 제공 어플리케이션 프로그램은 삭제, 갱신, 수정이 가능하다. 또한 상기 데이터서비스 제공 어플리케이션 프로그램은 데이터 서비스를 위한 데이터가수신될 때마다 데이터 서비스를 위한 데이터와 함께 다운로드되어 실행될 수도 있다. The application program for providing a data service according to the present invention may be embedded in the first storage unit 6009 at the time of shipment of the receiving system, or may be stored in the first storage unit 6009 through download. In addition, an application program for a data service, that is, a data service providing application program stored in the first storage unit 6009 may be deleted, updated, or modified. In addition, the data service providing application program may be downloaded and executed together with the data for the data service whenever data for the data service is received.

상기 데이터 방송 어플리케이션 매니저(6013)는 유저 인터페이스(UI: User Interface)에 의해 데이터 서비스 요청이 있는 경우, 제1 저장부(6009)에 저장된 해당 어플리케이션 프로그램을 구동시켜 요청된 데이터를 처리함에 의해 사용자에게 데이터 서비스를 제공한다. 그리고 이러한 데이터 서비스를 위해 상기 데이터 방송 어플리케이션 매니저(6013)는 GUI를 지원한다. 여기서 데이터 서비스는 문자, 음성, 그래픽, 정지 영상, 동영상 등의 형태로 제공된다. When there is a data service request through a user interface (UI), the data broadcasting application manager 6013 drives a corresponding application program stored in the first storage unit 6009 to process the requested data. Provide data services. The data broadcast application manager 6013 supports a GUI for such a data service. Here, the data service is provided in the form of text, voice, graphics, still images, video, and the like.

상기 데이터 방송 어플리케이션 매니저는 제1 저장부(6009)에 저장된 어플리케이션 프로그램을 실행시키기 위한 플랫폼을 구비할 수 있다. 상기 플랫폼은 일 예로, 자바(Java) 프로그램을 실행시키기 위한 자바 버츄얼 머신(Java Virtual Machine)이 될 수 있다. The data broadcasting application manager may include a platform for executing an application program stored in the first storage unit 6009. The platform may be, for example, a Java virtual machine for executing a Java program.

다음은 상기 데이터 방송 어플리케이션 매니저(6013)에서 제1 저장부(6009)에 저장된 데이터 서비스 제공 어플리케이션 프로그램을 실행시켜, 제2 저장부(6011)에 저장된 데이터 서비스를 위한 데이터를 처리함에 의해 사용자에게 데이터 서비스를 제공하는 예를 설명한다. Next, the data broadcasting application manager 6013 executes a data service providing application program stored in the first storage unit 6009 to process data for the data service stored in the second storage unit 6011. An example of providing a service will be described.

예를 들어, 상기 데이터 서비스가 교통 정보 서비스라고 가정하면, 본 발명의 데이터 서비스는 전자지도 혹은 GPS가 장착되지 않았거나, 전자지도와 GPS가 모두 장착되지 않은 수신기에서 문자, 음성, 그래픽, 정지영상, 동영상 중 적어도 하 나를 통해 사용자들에게 제공된다. 이 경우 도 66과 같은 수신 시스템에 GPS 모듈(6020)이 장착되어 있다면, 상기 GPS 모듈(6020)은 복수의 저궤도 위성으로부터 송신되는 위성 신호를 수신하여 현재 위치 정보(경도, 위도, 고도)를 추출한 후 데이터 방송 어플리케이션 매니저(6013)로 출력한다. 이때 각 링크 및 노드에 대한 정보를 포함하는 전자 지도와 다양한 그래픽 정보가 제2 저장부(6011) 또는 제1 저장부(6009)나 도시되지 않은 다른 저장부에 저장되어 있다고 가정한다. For example, assuming that the data service is a traffic information service, the data service of the present invention is a text, voice, graphic, still image in a receiver that is not equipped with an electronic map or a GPS, or is not equipped with both an electronic map and a GPS. , At least one of the videos is provided to users. In this case, if the GPS module 6020 is installed in the receiving system as shown in FIG. 66, the GPS module 6020 extracts current location information (longitude, latitude, and altitude) by receiving satellite signals transmitted from a plurality of low-orbit satellites. The data is then output to the data broadcast application manager 6013. In this case, it is assumed that an electronic map including information on each link and node and various graphic information are stored in the second storage unit 6011 or the first storage unit 6009 or another storage unit not shown.

즉, 상기 데이터 방송 어플리케이션 매니저(6013)의 요청에 의해, 상기 제2 저장부(6011)에 저장된 데이터 서비스를 위한 데이터는 독출되어 데이터 방송 어플리케이션 매니저(6013)로 입력된다. That is, at the request of the data broadcasting application manager 6013, data for the data service stored in the second storage unit 6011 is read and input to the data broadcasting application manager 6013.

상기 데이터 방송 어플리케이션 매니저(6013)는 제2 저장부(6011)로부터 읽어 온 데이터 서비스를 위한 데이터를 해석하여 그 메시지 내용에 따른 필요한 정보 및/또는 제어 신호를 추출한다. 즉 상기 데이터 방송 어플리케이션 매니저(6013)는 현재 위치 정보 및 그래픽 정보를 이용하여, 사용자에게 현재 위치 정보를 그래픽으로 제공하도록 처리한다. The data broadcasting application manager 6013 analyzes data for a data service read from the second storage unit 6011 and extracts necessary information and / or control signals according to the message contents. That is, the data broadcasting application manager 6013 processes to provide the current location information to the user graphically using the current location information and the graphic information.

도 72는 본 발명의 다른 실시예에 따른 디지털 방송 수신 시스템의 구성 블록도이다.72 is a block diagram illustrating a digital broadcast reception system according to another embodiment of the present invention.

도 72의 수신 시스템은 튜너(7001), 복조부(7002), 역다중화기(7003), 제 1 디스크램블러(7004), 오디오 복호기(7005), 비디오 복호기(7006), 제 2 디스크램블러(7007), 인증 수단(7008), 네이티브 TV 어플리케이션 매니저(7009), 채널 매니저(7010), 채널 맵(7011), 제1 저장부(7012), SI 및/또는 데이터 복호기(7013), 제 2 저장부(7014), 시스템 매니저(7015), 데이터 방송 어플리케이션 매니저(7016), 저장 제어부(storage controller)(7017), 제3 저장부(7018), 및 통신 모듈(7019), GPS 모듈(7020)을 포함할 수 있다. 상기 제1 저장부(7012)는 비휘발성 메모리(NVRAM)(또는 플래시 메모리)이다. 상기 제3 저장부(7018)는 하드 디스크 드라이브(HDD), 메모리 칩과 같은 대용량 저장 장치이다. 또한, 상기 도 72을 구성하는 각 부분에 대한 설명 중 도 66과 중복되는 부분은 상술한 도 66의 내용을 원용하며 기에서는 생략한다. The receiving system of FIG. 72 includes a tuner 7001, a demodulator 7002, a demultiplexer 7003, a first descrambler 7004, an audio decoder 7005, a video decoder 7006, and a second descrambler 7007. , Authentication means 7008, native TV application manager 7009, channel manager 7010, channel map 7011, first storage 7072, SI and / or data decoder 7013, second storage ( 7014, a system manager 7015, a data broadcast application manager 7016, a storage controller 7017, a third storage unit 7018, a communication module 7019, and a GPS module 7020. Can be. The first storage part 7022 is a nonvolatile memory (NVRAM) (or flash memory). The third storage unit 7018 is a mass storage device such as a hard disk drive (HDD) and a memory chip. In addition, the description overlapping with FIG. 66 in the description of each part constituting FIG. 72 uses the above-described content of FIG. 66 and will not be described herein.

한편 송신측에서는 방송망을 이용하여 전송되는 모바일 서비스 및/또는 메인 서비스 데이터에 대한 불법 복사나 불법 시청을 방지하기 위한 서비스 또는 유료 방송 서비스를 제공하기위해 방송 콘텐츠를 스크램블하여 송출할 수 있다. Meanwhile, the transmitter may scramble and transmit broadcast content to provide a service or a paid broadcast service for preventing illegal copying or illegal viewing of mobile service and / or main service data transmitted through a broadcasting network.

이 경우 수신 시스템에서는 상기 스크램블된 방송 콘텐츠를 디스크램블하여야만 사용자에게 제대로 된 방송 콘텐츠를 제공할 수 있다. 또한, 수신 시스템은 상기 디스크램블 이전에 인증 수단에 의한 인증 절차를 거칠 수 있다.In this case, the reception system can provide proper broadcast content to the user only by descrambled the scrambled broadcast content. In addition, the receiving system may undergo an authentication procedure by an authentication means before the descramble.

이하에서는 본 발명의 일실시예에 따라 인증 수단과 디스크램블 수단을 구비하는 수신 시스템에 대해 설명한다.Hereinafter, a reception system including an authentication means and a descramble means according to an embodiment of the present invention will be described.

본 발명에 따른 수신 시스템은 스크램블된 방송 콘텐츠를 수신하여 디스크램블하는 수단과 상기 디스크램블과 관련하여 해당 수신 시스템이 수신 자격이 있는 정당한 수신 시스템인지를 인증하는 수단을 구비할 수 있다. The receiving system according to the present invention may include means for receiving and descrambled scrambled broadcast content, and means for authenticating whether the corresponding receiving system is a legitimate receiving system entitled to receive in relation to the descramble.

이하에서는 설명의 편의를 위해 상기 디스크램블하는 수단은 디스크램블러(7004, 7007), 상기 인증하는 수단은 인증 수단(7008)으로 명명한다. 이러한 명 칭은 일실시예 일 뿐 다른 명칭, 예컨대 디크립터(decrypter)라고 명명될 수도 있다.Hereinafter, for the convenience of description, the means for descrambling are referred to as descramblers 7004 and 7007, and the means for authenticating are referred to as authentication means 7008. Such a name is just one embodiment and may be called another name, for example, a decrypter.

이때, 도 72의 수신 시스템은 상기 디스크램블러(7004, 7007)와 인증 수단(7008)을 내부에 구비하고 있는 것을 일 실시예로 도시하였으나, 외부 모듈에 별도로 구비할 수도 있다. 또한, 상기 디스크램블러(7004, 7007)와 인증 수단(7008)을 각각 내부 또는 외부 모듈에 별개로 구비할 수도 있다. 상기 모듈은 SD나 CF 메모리와 같은 슬롯 형태, 메모리 스틱 형태, USB 형태 등이 가능하며, 수신 시스템에 착탈할 수 있다.At this time, the receiving system of FIG. 72 is provided with the descramblers 7004 and 7007 and the authentication means 7008 therein in one embodiment, but may be provided separately in an external module. In addition, the descramblers 7004 and 7007 and the authentication means 7008 may be provided separately in the internal or external modules. The module may be a slot type such as SD or CF memory, a memory stick type, a USB type, or the like, and may be attached to or detached from the receiving system.

상기 수신 시스템은 상술한 바와 같이, 인증 수단(7008)을 통해 인증에 성공하면, 스크램블된 방송 콘텐츠를 디스크램블러(7004, 7007)에서 디스크램블하여 사용자에게 제공할 수 있다. 이때, 상기 인증 방법과 디스크램블 방법은 다양한 방식을 이용할 수 있다. 그러나 그 경우에 송/수신간에 미리 정한 약속에 의하여야 할 것이다.As described above, when the authentication is successful through the authentication means 7008, the receiving system may descramble the scrambled broadcast content in the descramblers 7004 and 7007 and provide the same to the user. In this case, the authentication method and the descramble method may use various methods. In that case, however, it must be based on a pre-determined appointment between sending and receiving.

이하에서는 설명의 편의를 위해 인증 방법과 디스크램블 방법의 몇 가지 실시예를 설명하고, 중복되는 설명 부분은 생략하겠다. 그러나 본 발명은 상술한 몇 가지 실시예에 한정되지 않으며, 당업자에게 자명한 기술 사상에까지 본 발명에 포함됨을 밝혀둔다.Hereinafter, some embodiments of the authentication method and the descramble method will be described for convenience of description, and redundant description will be omitted. However, the present invention is not limited to the above-described exemplary embodiments, and it is to be understood that the present invention is included in the technical spirit apparent to those skilled in the art.

먼저, 상기 수신 시스템에 인증 수단(7008)과 디스크램블러(7004, 7007)가 구비된 경우에 대해 설명하면, 다음과 같다.First, a description will be given of the case where the receiving unit 7008 and the descramblers 7004 and 7007 are provided in the receiving system.

상기 수신 시스템은 튜너(7001)와 복조부(7002)를 통해 스크램블된 방송 콘 텐츠를 수신하고, 시스템 매니저(7015)는 상기 수신한 방송 콘텐츠의 스크램블 여부를 판단한다. 그리고 상기 판단 결과 방송 콘텐츠가 스크램블되었으면, 상기 인증 수단(7008)을 동작시키도록 제어한다.The receiving system receives the scrambled broadcast content through the tuner 7001 and the demodulator 7002, and the system manager 7015 determines whether the received broadcast content is scrambled. If the broadcast content is scrambled as a result of the determination, the authentication means 7008 is controlled to operate.

상기 인증 수단(7008)은 상술한 바와 같이 해당 수신 시스템이 유료 방송 서비스를 수신할 수 있는 자격이 있는 정당한 호스트인지 판단하기 위해 인증 절차를 거친다. 이때, 상기 인증 절차는 다양한 인증 방법에 따라 제각각일 것이다.As described above, the authentication means 7008 undergoes an authentication procedure to determine whether the corresponding receiving system is a legitimate host who is entitled to receive the pay broadcasting service. At this time, the authentication procedure will be different according to various authentication methods.

일 실시예로, 상기 인증 수단(7008)은 수신하는 방송 콘텐츠 내 IP 데이터그램의 IP 어드레스와 해당 호스트의 고유한 주소를 비교하는 방식으로 인증할 수 있다. 이때, 상기 해당 수신 시스템의 고유한 주소는 MAC 어드레스일 수 있다. 즉, 상기 인증 수단(7008)은 디캡슐화된 IP 데이터그램에서 IP 어드레스를 추출하여 해당 어드레스와 매핑되는 수신 시스템 정보를 얻는다. 이때, 수신 시스템은 IP 어드레스와 수신 시스템 정보를 매핑할 수 있는 정보(예를 들면, 테이블 형식)를 미리 구비하고 있어야 한다.In one embodiment, the authentication means 7008 may authenticate by comparing the IP address of the IP datagram in the received broadcast content with the unique address of the host. In this case, the unique address of the corresponding receiving system may be a MAC address. That is, the authentication means 7008 extracts an IP address from the decapsulated IP datagram and obtains reception system information mapped to the address. At this time, the receiving system should be provided with information (for example, a table format) which can map an IP address and receiving system information in advance.

그러므로, 상기 인증 수단(7008)은 해당 수신 시스템의 주소와 IP 어드레스와 매핑되는 수신 시스템 정보의 동일성을 판단하여 인증 절차를 수행한다. 즉, 상기 인증 수단(7008)은 판단 결과 두 정보가 동일하면, 해당 수신 시스템은 수신 자격이 있는 정당한 수신 시스템으로 판단할 수 있다.Therefore, the authentication means 7008 determines the identity of the address of the corresponding receiving system and the receiving system information mapped to the IP address and performs the authentication procedure. That is, the authentication means 7008 may determine that the corresponding receiving system is a legitimate receiving system that is eligible to receive if the two pieces of information are identical.

다른 실시예로는, 송수신측에서 미리 표준화된 식별 정보를 정의하고 유료 방송 서비스를 신청한 수신 시스템의 식별 정보를 송신측에서 전송하고 수신 시스템에서는 자신의 식별 번호와 동일성 판단을 거쳐 인증 절차를 수행하는 방법이 있 다. 즉, 송신측은 유료 방송 서비스를 신청한 해당 수신 시스템의 고유의 식별 정보(번호)를 데이터베이스를 생성하여 저장하고, 방송 콘텐츠를 스크램블하는 경우에 EMM(Entitlement Management Message)에 상기 식별 정보를 포함하여 전송한다. In another embodiment, the transmitting and receiving side defines the standardized identification information in advance, and transmits the identification information of the receiving system applying for the pay broadcasting service at the transmitting side, and the receiving system performs the authentication procedure after determining the identity with its own identification number. There is a way. That is, the transmitting side generates and stores a database with unique identification information (number) of the corresponding receiving system that has applied for the paid broadcasting service, and transmits the identification information in an Entitlement Management Message (EMM) when scrambled broadcasting content. do.

그리고 해당 방송 콘텐츠가 스크램블될 때, 상기 스크램블에 적용된 CAS(Conditional Access System) 정보, 모드 정보, 메시지 위치 정보와 같은 메시지(예를 들면, ECM, EMM)가 해당 데이터 헤더나 다른 패킷을 통해 전송된다. 상기 ECM(Entitlement Control Message)은 스크램블에 사용된 제어 단어(CW)를 포함할 수 있다. 이때 상기 제어 단어는 인증키로 암호화되어 있을 수 있다. 상기 EMM은 해당 데이터의 인증키와 자격 정보를 포함할 수 있다. 상기 인증키는 수신자 고유의 분배키로 암호화되어 있을 수 있다. 즉, 모바일 서비스 데이터가 제어 워드(CW)를 이용하여 스크램블되어 있고, 인증을 위한 정보와 디스크램블을 위한 정보가 송신측에서 전송된다고 가정하자. 그러면, 송신측에서는 상기 CW를 인증키로 암호화한 후 자격 제어 메시지(ECM)에 포함하여 전송한다. 또한 송신측에서는 상기 CW를 암호화하는데 사용된 인증키와 수신 시스템의 수신 자격(예, 수신 자격이 있는 수신 시스템의 표준화된 시리얼 번호)을 자격 관리 메시지(EMM)에 포함하여 전송한다. When the broadcast content is scrambled, a message (for example, ECM, EMM) such as conditional access system (CAS) information, mode information, and message location information applied to the scramble is transmitted through a corresponding data header or another packet. . The Entitlement Control Message (ECM) may include a control word (CW) used for scramble. In this case, the control word may be encrypted with an authentication key. The EMM may include an authentication key and entitlement information of the corresponding data. The authentication key may be encrypted with a distribution key unique to the receiver. That is, assume that mobile service data is scrambled using the control word CW, and information for authentication and information for descrambling are transmitted at the transmitting side. Then, the transmitting side encrypts the CW with an authentication key and then transmits the CW in an entitlement control message (ECM). In addition, the transmitting side transmits the authentication key used to encrypt the CW and the receiving credentials of the receiving system (eg, a standardized serial number of the receiving system having the receiving qualification) in the EMM.

따라서, 수신 시스템의 인증 수단(7008)은 해당 수신 시스템 고유의 식별 정보를 추출하고, 수신하는 방송 서비스의 EMM에 포함된 식별 정보를 추출하여 두 식별 정보의 동일성 여부를 판단하여 인증 절차를 수행한다. 즉, 상기 인증 수단(7008)은 판단 결과 두 정보가 동일하면, 해당 수신 시스템은 수신 자격이 있는 정당한 수신 시스템으로 판단할 수 있다.Therefore, the authentication means 7008 of the receiving system extracts identification information unique to the corresponding reception system, extracts identification information included in the EMM of the receiving broadcast service, determines whether the two identification information are identical, and performs an authentication procedure. . That is, the authentication means 7008 may determine that the corresponding receiving system is a legitimate receiving system that is eligible to receive if the two pieces of information are identical.

또 다른 실시예로는, 수신 시스템은 착탈 가능한 외부 모듈에 상기 인증 수단(7008)을 구비할 수 있다. 이때, 상기 수신 시스템과 외부 모듈은 공통 인터페이스(common interface; CI)를 통해 인터페이싱한다. 즉, 외부 모듈은 공통 인터페이스를 통해 수신 시스템으로부터 스크램블된 데이터를 수신하여 디스크램블을 수행할 수도 있으며, 디스크램블에 필요한 정보만을 상기 수신 시스템으로 전송할 수도 있다. In another embodiment, the receiving system may be provided with the authentication means 7008 in a removable external module. In this case, the receiving system and the external module interface through a common interface (CI). That is, the external module may perform descrambling by receiving scrambled data from the receiving system through a common interface, and may transmit only information necessary for descrambling to the receiving system.

또한, 상기 공통 인터페이스는 물리적 계층과 하나 이상의 프로토콜 계층으로 구성하며, 해당 프로토콜 계층은 추후 확장성을 고려하여 각각 독립된 기능을 제공하는1개 이상의 계층을 포함하는 구조를 가질 수 있다. In addition, the common interface includes a physical layer and one or more protocol layers, and the protocol layer may have a structure including one or more layers that provide independent functions in consideration of scalability in the future.

상기 외부 모듈은 스크램블에 사용된 키 정보와 인증 정보들을 저장하고 있으면서 디스크램블 기능은 없는 메모리 또는 카드이거나 디스크램블 기능을 포함한 카드일 수 있다. 즉, 상기 모듈은 하드웨어, 미들웨어 또는 소프트웨어 형태로 디스크램블 기능을 포함할 수 있다. The external module may be a memory or a card that stores key information and authentication information used for scramble and does not have a descramble function, or a card including a descramble function. That is, the module may include a descramble function in the form of hardware, middleware or software.

이때 수신 시스템과 외부 모듈은 송신측에서 제공하는 유료 방송 서비스를 사용자에게 제공하기 위해 각각 인증을 받아야 한다. 따라서, 송신측은 상기 인증을 받은 수신 시스템과 모듈 페어에만 유료 방송 서비스를 제공할 수도 있다.At this time, the receiving system and the external module must be authenticated to provide the user with the pay broadcasting service provided by the transmitter. Therefore, the transmitting side may provide the pay broadcasting service only to the receiving system and the module pair which have been authenticated.

이와 함께 상기 수신 시스템과 외부 모듈은 공통 인터페이스를 통해 서로 상호 인증이 필요하다. 즉, 상기 모듈은 공통 인터페이스를 통해 수신 시스템 내 시스템 매니저(7015)와 통신하여 수신 시스템을 인증할 수 있으며, 수신 시스템은 공 통 인터페이스를 통해서 모듈을 인증할 수 있다. 그리고 상기 모듈은 상기 상호 인증 과정에서 수신 시스템의 고유 ID와 자신의 고유 ID를 추출하여 송신측으로 전송할 수 있으며, 송신측은 상기 값을 이용하여 서비스 시작 여부 및 과금 정보로 사용할 수 있다. 상기 시스템 매니저(7015)는 필요한 경우 상기 과금 정보를 통신 모듈(7019)을 통해 원격지의 송신측으로 전송할 수 있다. In addition, the receiving system and the external module need to mutually authenticate each other through a common interface. That is, the module may authenticate the receiving system by communicating with the system manager 7015 in the receiving system through the common interface, and the receiving system may authenticate the module through the common interface. The module may extract a unique ID and a unique ID of a receiving system and transmit the unique ID of the receiving system to the transmitting side during the mutual authentication process, and the transmitting side may use the value as service start or charging information. The system manager 7015 may transmit the charging information to the transmitting side of the remote place through the communication module 7019 if necessary.

상기 인증 수단(7008)은 해당 수신 시스템 및/또는 외부 모듈을 인증하고, 상기 인증에 성공하면 해당 수신 시스템을 유료 방송 서비스를 수신할 수 있는 자격이 있는 정당한 수신 시스템으로 인정한다. 또한, 상기 인증 수단(7008)은 방송 콘텐츠를 제공하는 송신측이 아닌 수신 시스템 사용자가 가입한 이동통신사로부터 인증 관련 데이터를 수신할 수 있다. 이때, 상기 인증 관련 데이터는 방송 콘텐츠를 제공하는 송신측에서 스크램블하여 이동통신사를 거쳐 전송하거나 이동통신사에서 스크램블하여 전송할 수 있을 것이다.The authentication means 7008 authenticates the corresponding receiving system and / or external module, and if the authentication is successful, recognizes the receiving system as a legitimate receiving system that is entitled to receive the pay broadcasting service. In addition, the authentication means 7008 may receive authentication-related data from a mobile communication company subscribed to by a receiving system user other than the transmitting side providing the broadcast content. In this case, the authentication-related data may be scrambled by the transmitting side providing the broadcast content through the mobile communication company or scrambled by the mobile communication company.

상기 인증 수단(7008)에서 인증 절차를 거쳐 인증에 성공하면, 수신 시스템은 스크램블되어 수신된 방송 콘텐츠를 디스크램블할 수 있다. 이때, 상기 디스크램블은 디스크램블러(7004, 7007)에서 이루어지며, 상기 디스크램블러(7004, 7007)는 수신 시스템 내부 또는 외부 모듈에 구비될 수 있다.If authentication is successful by the authentication means 7008, the receiving system may scramble and descramble the received broadcast content. At this time, the descrambler is made in the descrambler (7004, 7007), the descrambler (7004, 7007) may be provided in an internal or external module of the receiving system.

또한, 수신 시스템은 공통 인터페이스를 구비하고 디스크램블러(7004, 7007)를 포함한 외부 모듈과 통신하여 디스크램블할 수 있다. 즉, 디스크램블러(7004, 7007)는 하드웨어나 미들웨어 또는 소프트웨어 형태로 상기 모듈에 포함되거나 수신 시스템 내부에 포함할 수 있으며, 상기 모듈과 수신 시스템 모두 포함하거나 어 느 하나에만 포함할 수도 있다. The receiving system also has a common interface and can descramble in communication with an external module including descramblers 7004 and 7007. That is, the descramblers 7004 and 7007 may be included in the module in the form of hardware, middleware or software, or may be included in the receiving system, or may include both the module and the receiving system or only one of them.

만일 상기 디스크램블러(7004, 7007)가 수신 시스템 내부에 구비되었다면, 송신측(서비스 사업자와 방송국 중 적어도 하나를 포함)에서 동일한 스크램블 방법으로 데이터를 스크램블하여 전송하는 경우에 유리하다. If the descramblers 7004 and 7007 are provided inside the reception system, it is advantageous when the transmitting side (including at least one of a service provider and a broadcasting station) scrambles and transmits data using the same scramble method.

한편, 상기 디스크램블러(7004, 7007)가 외부 모듈에 포함되었다면, 송신측마다 서로 다른 스크램블 방법으로 데이터를 스크램블하여 전송하는 경우에 유리하다. 이 경우 수신 시스템은 각 송신단의 디스크램블 알고리즘을 구비하지 않아도 되어 더욱 단순화 및 소형화시킬 수 있다. 따라서, 이 경우에는 상기 외부 모듈이 각 송신측이 독점적으로 제공하는 CA 기능 및 사용자에게 제공할 각종 서비스들을 위한 기능을 제공하는 주체가 될 수 있다. On the other hand, if the descrambler (7004, 7007) is included in an external module, it is advantageous when the scrambler to transmit data by a different scramble method for each transmitting side. In this case, the receiving system does not need to have a descramble algorithm of each transmitting end, so that the receiving system can be further simplified and downsized. Therefore, in this case, the external module may be a subject that provides CA functions exclusively provided by each transmitting party and functions for various services to be provided to the user.

그리고 상기 공통 인터페이스는 여러 종류의 외부 모듈과 수신 시스템 내 시스템 매니저(7015) 간에 단일 방식으로 통신한다. 또한, 수신 시스템은 서로 다른 서비스를 제공하는 적어도 하나 이상의 모듈이 동시에 연결되어 동작 할 수 있기 때문에 복수 개의 모듈과 시스템 매니저(7015)를 연결할 수 있는 구조를 가진다.The common interface communicates in a single manner between various types of external modules and the system manager 7015 in the receiving system. In addition, the receiving system has a structure in which a plurality of modules and the system manager 7015 can be connected because at least one or more modules providing different services can be connected and operated at the same time.

또한, 상기 수신 시스템과 외부 모듈간의공통 인터페이스 프로토콜에는 상호간 정상적인통신을 유지하기 위해, 상대방의 상태를 주기적으로 검사하는 기능을 포함한다. 상기 수신 시스템과 모듈은 이러한 기능을 사용하여 상대방의 상태를 관리하고 만약 어느 하나가 오동작을 하면 이를 사용자나 송신측에 리포트(report)하고 복구(recovery)를 시도하는 기능을 포함한다. In addition, the common interface protocol between the receiving system and the external module includes a function of periodically checking the state of the other party to maintain normal communication with each other. The receiving system and the module use this function to manage the state of the other party, and if one malfunctions, it includes a function to report to the user or the sender and try to recover.

또 다른 실시예로는, 하드웨어에 종속하지 않고 소프트웨어적으로 인증 절차 를 수행할 수 있다.In another embodiment, the authentication procedure may be performed in software without being dependent on hardware.

즉, 수신 시스템은 CAS 소프트웨어를 다운로드 등을 통해 미리 저장한 메모리 카드가 삽입되면, 상기 메모리 카드로부터 상기 CAS 소프트웨어를 수신하여 로딩하고 인증 절차를 수행한다. 상기 메모리 카드로부터 읽어 온 CAS 소프트웨어는 수신 시스템 내 제 1 저장부(7012)에 탑재시키고 하나의 애플리케이션 형태로 구동하는 것을 일 실시예로 한다. 특히, 본 발명에서는 미들웨어기반 위에 상기 CAS 소프트웨어를 탑재하고 실행시키는 것을 일 실시예로 한다. 또한, 상기 미들웨어는 자바(JAVA) 미들웨어를 일 예로 하여 설명한다. That is, when the memory card, which is stored in advance by downloading the CAS software, is inserted, the receiving system receives and loads the CAS software from the memory card and performs an authentication procedure. According to an embodiment of the present invention, the CAS software read from the memory card is mounted in the first storage unit 7022 in the receiving system and driven in one application form. In particular, according to the present invention, the CAS software is mounted and executed on a middleware base. In addition, the middleware will be described using JAVA middleware as an example.

이를 위해 수신 시스템은 메모리 카드와 접속하기 위해 공통 인터페이스를 구비할 수 있으며, 상기 제 1 저장부(7012)는 휘발성 메모리, 비휘발성 메모리 및 플래시 메모리(또는 플래시 롬이라고도 함)일 수 있다. 이때 상기 메모리카드는 주로 플래시 메모리 또는 소형 하드를 사용한다. 상기 메모리카드는 저장되는 CAS 소프트웨어의 내용, 인증, 스크램블, 과금 방식 등에 따라 적어도 하나 이상의 수신 시스템에서 사용할 수 있다.To this end, the receiving system may include a common interface for connecting to a memory card, and the first storage unit 7022 may be a volatile memory, a nonvolatile memory, and a flash memory (also called a flash ROM). In this case, the memory card mainly uses a flash memory or a small hard drive. The memory card may be used in at least one or more receiving systems according to the contents, authentication, scramble, billing method, etc. of the stored CAS software.

그러나 상기 CAS 소프트웨어는 적어도 인증에 필요한 정보와 디스크램블에 필요한 정보를 포함하여야 한다.However, the CAS software must include at least information necessary for authentication and information required for descramble.

따라서, 상기 인증 수단(7008)은 송신측과 수신 시스템 및 수신 시스템과 메모리 카드 간에 인증 절차를 수행한다. 이때, 상기에서 설명한 것과 유사하게 메모리 카드는 수신 자격이 있는 것으로 인증 가능한 정상 수신 시스템에 대한 정보를 포함할 수 있다. 예를 들어, 상기 수신 시스템에 대한 정보는 해당 수신 시스템에 대해 표준화된 시리얼 번호와 같은 고유 정보를 들 수 있다. 따라서, 상기 인증 수단(7008)은 상기 메모리카드에 포함된 표준화된 시리얼 번호와 같은 고유 정보와 해당 수신 시스템의 고유 정보를 비교하여 메모리카드와 수신 시스템 간에 인증을 수행할 수 있다. Thus, the authentication means 7008 performs an authentication procedure between the transmitting side, the receiving system, and the receiving system and the memory card. In this case, similarly to the above description, the memory card may include information on a normal receiving system that can be authenticated as being entitled to receive. For example, the information about the receiving system may include unique information such as a serial number standardized for the receiving system. Thus, the authentication means 7008 can perform authentication between the memory card and the receiving system by comparing the unique information such as the standardized serial number included in the memory card with the unique information of the corresponding receiving system.

상기 CAS 소프트웨어는 자바 미들웨어 기반에서 동작하게 되면 먼저, 수신 시스템과 메모리카드 간에 인증을 수행한다. 예를 들어, CAS 소프트웨어에 포함된 수신 시스템의 고유 번호와 상기 수신 시스템의 시스템 매니저(7015)로부터 읽어 온 수신 시스템의 고유 번호가 동일한지를 확인하여 동일하면 상기 메모리카드는 상기 수신 시스템에서 사용 가능한 정상적인 메모리카드로 확인된다. 이때, 상기 CAS 소프트웨어는 수신 시스템의 출하시에 제 1 저장부(7015)에 내장될 수도 있고, 송신측이나 상기와 같이 모듈 내지 메모리카드로부터 제 1 저장부(7015)로 다운로드받을 수 있다. 그러면 상기 디스크램블 기능은 데이터 방송 애플리케이션 매니저(7009)에 의해 하나의 애플리케이션 형태로 동작하게 할 수 있다.The CAS software first performs authentication between a receiving system and a memory card when operating on a Java middleware base. For example, if the unique number of the receiving system included in the CAS software and the unique number of the receiving system read from the system manager 7015 of the receiving system are identical to each other, and the same, the memory card can be used normally in the receiving system. Confirmed by memory card. In this case, the CAS software may be embedded in the first storage unit 7015 at the time of shipment of the receiving system, or may be downloaded to the first storage unit 7015 from the transmitting side or the module or the memory card as described above. Then, the descramble function may be operated by the data broadcast application manager 7009 in the form of one application.

이후 상기 CAS 소프트웨어는 역다중화기(7003)에서 출력하는 EMM/ECM 패킷을 파싱하여 해당 수신기가 수신 자격이 있는지를 확인하여 디스크램블에 필요한 정보(즉, CW)를 구하여 디스크램블러(7004, 7007)에 제공한다. 즉, 자바 미들웨어 기반에서 동작하는 CAS 소프트웨어는 먼저 수신 시스템으로부터 해당 수신 시스템의 고유 번호를 읽어 와 상기 EMM으로 전송된 수신 시스템의 고유 번호를 비교하여 현 수신 시스템의 수신 자격을 확인한다.Thereafter, the CAS software parses the EMM / ECM packet output from the demultiplexer 7003, checks whether the corresponding receiver is eligible to receive, obtains information (i.e., CW) necessary for descramble, and descrambles the descramblers 7004 and 7007. to provide. That is, CAS software operating on the Java middleware first reads the unique number of the corresponding receiving system from the receiving system and compares the unique number of the receiving system transmitted to the EMM to check the receiving qualification of the current receiving system.

그리고 수신 시스템의 수신 자격이 확인되면 ECM으로 전송된 해당 방송 서비 스 정보와 해당 방송 서비스의 수신 자격을 이용하여 상기 수신 시스템이 해당 방송 서비스를 수신할 수 있는 자격이 있는지를 확인한다. 상기 방송 서비스를 수신할 수 있는 자격이 확인되면 상기 EMM으로 전송된 인증키를 이용하여 ECM으로 전송되는 암호화된CW를 해독한 후 디스크램블러(7004, 7007)로 출력한다. 상기 디스크램블러(7004, 7007)는 상기 CW를 이용하여 방송 서비스를 디스크램블한다. When the reception qualification of the reception system is confirmed, the reception system checks whether the reception system is entitled to receive the broadcast service by using the broadcast service information transmitted to the ECM and the reception qualification of the broadcast service. When the qualification to receive the broadcast service is confirmed, the encrypted CW transmitted to the ECM is decrypted using the authentication key transmitted to the EMM and then output to the descramblers 7004 and 7007. The descramblers 7004 and 7007 descramble a broadcast service using the CW.

한편 상기 메모리카드에 저장되는 CAS 소프트웨어는 방송국에서 제공하려는 유료 서비스에 따라 확장 가능하다. 또한 상기 CAS 소프트웨어는 인증 및 디스크램블에 관련된 정보뿐만 아니라 다른 부가 정보도 포함할 수 있다. On the other hand, CAS software stored in the memory card can be extended according to the pay service to be provided by the broadcasting station. In addition, the CAS software may include other additional information as well as information related to authentication and descrambling.

그리고 수신 시스템은 송신측으로부터 CAS 소프트웨어를 다운로드받아 상기 메모리카드에 저장된 CAS 소프트웨어를 업그레이드할 수도 있다. The receiving system may download CAS software from the transmitting side and upgrade the CAS software stored in the memory card.

이와 같이 본 발명은 어떠한 형태의 방송 수신기이든지 외부 메모리 인터페이스만 제공된다면 수신 시스템에 착탈 가능한 모든 메모리카드를 만족하는 방식으로 CAS 시스템을 구현함으로써, 방송과 같은 유료 방송 콘텐츠를 수신할 수 있는 수신 시스템에서 최소의 비용으로 최대의 기능을 구현하고, 수신 시스템의 다양성을 존중할 수 있다.As described above, the present invention implements a CAS system in a manner that satisfies all memory cards detachable to a receiving system, provided that any type of broadcast receiver is provided with only an external memory interface, so that the receiving system can receive paid broadcast contents such as broadcast. Maximum functionality can be implemented at a minimum cost and the diversity of the receiving system can be respected.

또한, 구현 방식에 있어서 최소 애플리케이션 프로그램 인터페이스(API)만 구현하면 되므로 수신 시스템 제조사의 부담을 최소화하고, CAS 업체에 종속할 수밖에 없었던 부분을 제거할 수 있다. 이로 인해 송신측의 CAS 장비 구축 및 운영 시스템을 위한 비용도 최소화할 수 있게 된다. In addition, since only a minimum application program interface (API) needs to be implemented in the implementation method, the burden on the receiving system manufacturer can be minimized, and the part that has to be dependent on the CAS company can be removed. This also minimizes the cost for the CAS equipment building and operating system on the sending side.

한편, 상기 디스크램블러(7004, 7007)는 하드웨어나 소프트웨어 형태로 상기 모듈에 포함될 수도 있으며, 이 경우 스크램블되어 수신되는 데이터는 상기 모듈에서 디스크램블된 후 복호가 이루어질 수 있다. The descramblers 7004 and 7007 may be included in the module in the form of hardware or software. In this case, the scrambled and received data may be descrambled in the module and then decoded.

또한 스크램블되어 수신되는 데이터를 상기 제 3 저장부(7018)에 저장하는 경우, 상기 스크램블된 데이터를 디스크램블하여 저장할 수도 있고, 스크램블된 데이터를 그대로 저장한 후 재생시에 디스크램블할 수도 있다. 그리고 상기 저장 제어부(7017)에 스크램블/디스크램블 알고리즘이 구비되어 있는 경우, 상기 저장 제어부(7017)는 스크램블되어 수신되는 데이터를 다시 한 번 스크램블하여 상기 제 3 저장부(7018)에 저장할 수도 있다.When the scrambled and received data are stored in the third storage unit 7018, the scrambled data may be descrambled and stored, or the scrambled data may be stored as it is and then descrambled during playback. If the storage control unit 7017 is provided with a scramble / descramble algorithm, the storage control unit 7017 may scramble the received data once again and store the data in the third storage unit 7018.

또 다른 실시예로는, 디스크램블링된(수신 제한된) 방송 콘텐츠는 방송망을 통해 송신하고, 상기 수신 제한을 풀기 위한 인증, 디스크램블 관련 정보 등은 통신 모듈(7019)을 통해 송수신하여 수신 시스템에서 양방향 통신이 가능하도록 한다. In another embodiment, the descrambled (receive limited) broadcast content is transmitted through a broadcasting network, and the authentication, descrambling related information, etc. for solving the reception restriction are transmitted and received through the communication module 7019, thereby bidirectionally receiving in the receiving system. Enable communication.

수신 시스템은 원격지에 위치한 송신측과 송수신을 원하는 방송 데이터와 상기 방송 데이터를 전송하는 수신 시스템을 송신측에서 인식할 수 있도록 해당 수신 시스템의 시리얼 번호나 MAC 어드레스와 같은 고유 정보(ID)를 송신측 내 통신 모듈로 전달하거나 송신측 내 통신 모듈로부터 제공받는다. The receiving system transmits unique information (ID) such as serial number or MAC address of the corresponding receiving system so that the transmitting side can recognize the broadcast data desired to be transmitted and received and the receiving system transmitting the broadcast data to the transmitting side located at a remote site. Transfer to my communication module or receive from communication module in sender.

수신 시스템 내 통신 모듈(7019)은 양방향 통신 기능을 지원하지 않는 수신 시스템에서 송신측 내 통신 모듈과 양방향 통신을 수행하기 위해 필요한 프로토콜을 제공한다.The communication module 7019 in the receiving system provides a protocol required for performing bidirectional communication with the communication module in the transmitting side in a receiving system that does not support the bidirectional communication function.

그리고 수신 시스템은 전송하고자 하는 데이터와 고유 정보(ID)를 포함한 TLV(Tag-Length-Value) 코딩 방법을 사용하여 PDU(Protocol Data Unit)를 구성한다. 태그 필드는 해당 PDU의 인덱싱, 길이 필드는 Value 필드의 길이, Value 필드는 전송할 실제 데이터와 수신 시스템 고유 번호(ID)를 포함한다. The receiving system configures a Protocol Data Unit (PDU) using a Tag-Length-Value (TLV) coding method including data to be transmitted and unique information (ID). The tag field contains the indexing of the corresponding PDU, the length field contains the length of the Value field, and the Value field contains the actual data to be transmitted and the ID number of the receiving system.

만약 수신 시스템이 자바 플랫폼(Java Platform)을 장착하고 송신측의 자바 애플리케이션(Java Application)을 네트워크를 통해서 수신 시스템으로 다운로드한 뒤에 동작시키는 플랫폼을 구성하면, 송신측에서 임의로 정의한 태그 필드를 포함하는 PDU를 수신 시스템 내 저장 매체 등에서 다운로드한 뒤 통신 모듈(7019)로 전송하는 구조도 가능하다. If the receiving system is equipped with a Java platform and configures a platform that operates after downloading the sending Java application to the receiving system through the network, the PDU includes a tag field arbitrarily defined by the sending side. It is also possible to download the data from a storage medium in the receiving system and the like and transmit the communication module 7019.

이 경우 상기 PDU는 수신 시스템 내 자바 애플리케이션에서 PDU를 구성하여 통신 모듈(7019)로 출력할 수 있다. 또는 상기 자바 애플리케이션에서 태그 값, 전송할 실제 데이터와 해당 수신 시스템의 고유 정보를 전송하고, 수신 시스템 내에서 TLV 코딩을 통해 PDU를 구성할 수도 있다. In this case, the PDU may configure a PDU in a Java application in the receiving system and output the PDU to the communication module 7019. Alternatively, the Java application may transmit a tag value, actual data to be transmitted, and unique information of the corresponding receiving system, and configure a PDU through TLV coding in the receiving system.

이러한 구조의 장점은 송신측이 원하는 데이터(또는 애플리케이션)가 추가되더라도 수신 시스템의 펌웨어(firmware)는 변경할 필요가 없다는 점이다. The advantage of this structure is that the firmware of the receiving system does not need to be changed even if the data (or application) desired by the sender is added.

이때 송신측 내 통신 모듈은 상기 수신 시스템에서 전송받은 PDU를 무선 데이터 네트워크를 통해 전송하거나 상기 네트워크를 통해 수신한 데이터를 PDU로 구성하여 수신 시스템으로 전송한다. 이때, 송신단 내 통신 모듈은 수신 시스템으로 전송할 PDU를 구성할 때 원격지의 송신측 고유 정보(예를 들어, IP 어드레스 등)를 포함하여 구성할 수도 있다.At this time, the communication module in the transmitting side transmits the PDU received from the receiving system through a wireless data network or configures the data received through the network as a PDU to the receiving system. In this case, the communication module in the transmitting end may include a transmitter-side unique information (for example, an IP address) of a remote place when configuring a PDU to be transmitted to the receiving system.

이때, 수신 시스템은 무선 데이터 네트워크를 통해 송수신함에 있어서, 공통 인터페이스를 구비하여 CDMA, GSM 등의 이동 통신 기지국을 통해 접속이 가능한 WAP, CDMA 1x EV-DO, 액세스 포인트를 통해 접속이 가능한 무선 LAN, 휴대 인터넷, 와이브로, 와이맥스 등을 구비할 수 있다. 상술한 수신 시스템은 통신 기능이 없는 경우에 해당하나, 통신 기능을 갖춘 수신 시스템의 경우에는 통신 모듈(7019)도 필요 없다. At this time, the receiving system is a WAP, a CDMA 1x EV-DO, a wireless LAN that can be connected through an access point, which has a common interface and can be connected through a mobile communication base station such as CDMA, GSM, etc. Portable Internet, WiBro, WiMAX, etc. can be provided. The above-described receiving system corresponds to a case where there is no communication function, but in the case of a receiving system having a communication function, the communication module 7019 is not necessary.

상술한 무선 데이터 네트워크를 통해 송수신되는 방송 데이터는 수신 제한(CA) 기능을 수행하는데 필요한 데이터를 포함할 수도 있다.The broadcast data transmitted and received through the above-described wireless data network may include data necessary to perform a CA.

한편 상기 역다중화기(7003)는 복조부(7002)에서 출력되는 리얼 타임 데이터 또는 제3 저장부(7018)에서 독출된 데이터를 입력받아 역다중화를 수행한다. 본 발명에서는 상기 역다중화기(7003)가 모바일 서비스데이터 패킷에 대해서 역다중화를 수행하는 것을 일 실시예로 설명한다. 이에 대한 상세한 설명은 전술한 내용을 원용하고여기에서는 생략한다.Meanwhile, the demultiplexer 7003 receives real time data output from the demodulator 7002 or data read from the third storage unit 7018 and performs demultiplexing. According to an embodiment of the present invention, the demultiplexer 7003 performs demultiplexing on a mobile service data packet. Detailed description thereof is used herein and the description is omitted herein.

상기 제 1 디스크램블러(7004)는 상기 역다중화기(7003)로부터 역다중화된 신호를 수신하여 디스크램블한다. 이때, 상기 제 1 디스크램블러(7004)는 상기 인증 수단(7008)으로부터인증 결과 내지 디스크램블에 필요한 데이터를 수신하여 디스크램블에 이용할 수 있다.The first descrambler 7004 receives and descrambles the demultiplexed signal from the demultiplexer 7003. In this case, the first descrambler 7004 may receive the authentication result or data necessary for descramble from the authentication means 7008 and use it for descramble.

상기 오디오 복호기(7005)와 비디오 복호기(7006)는 상기 제 1 디스크램블러(7004)에서 디스크램블된 신호를 수신하여 복호하여 출력하거나 또는 상기 제 1 디스크램블러(7004)에서 디스크램블하지 않고 출력한 경우에는 그대로 복호하여 출력한다. 이 경우에는 상기 복호된 신호를 수신하여 제 2 디스크램블러(7007)에서 디스크램블하여 처리할 것이다.The audio decoder 7005 and the video decoder 7006 receive and decode the descrambled signal from the first descrambler 7004 or output the descrambled signal without outputting it from the first descrambler 7004. Is decoded as is and output. In this case, the decoded signal is received and descrambled by the second descrambler 7007 to be processed.

스케일러블Scalable 비디오 서비스  Video service

한편, 모바일 서비스의 가변적인 비트레이트(bit rate) 환경을 고려할 때, 비트레이트 변화에 따른 스케일러블 비디오(Scalable Video) 서비스가 필요하다. Meanwhile, considering a variable bit rate environment of a mobile service, a scalable video service according to a bitrate change is required.

이를 위해 본 발명은 모바일 서비스 상에서 스케일러블 비디오 서비스를 지원할 수 있도록 하며, 스케일러블 비디오 서비스 제공시 채널 설정 및 모바일 서비스를 효율적으로 수행할 수 있도록 하는데 있다. To this end, the present invention enables to support a scalable video service on a mobile service, and to efficiently perform channel setting and mobile service when providing a scalable video service.

특히 본 발명은 모바일 서비스에 사용될 스케일러블 비디오를 처리함에 있어서, 역다중화기에서 각 계층의 취사선택을 할 수 있도록 함으로써, 비디오 복호기의 연산량을 줄이도록 하는데 있다. In particular, the present invention is to reduce the amount of computation of the video decoder by allowing the demultiplexer to select each layer in processing scalable video to be used in mobile services.

하나의 스케일러블 비트스트림은 두 개 혹은 그 이상의 의존적인 계층으로 구성될 수 있다. 이 경우, 스케일러블 코덱은 하나의 최하위 계층(lowest layer)과 다수의 상위 계층(enhancement layer)들로 구성된다. 여기서 최하위 계층 및 연속되는 상위 계층의 정보가 함께 이용되어 보다 개선된 비디오 비트스트림을 만든다. 그 예로 화질 스케일러빌리티(scalability)는 하나의 비트스트림으로부터 동일한 공간 및 시간 차원(dimension)을 갖지만 각각 다른 화질을 갖는 비트스트림들을 만들어 낼 수 있다. 일반적으로 최하위 계층은 화질을 제공하고, 연속된 상위계층은 이전 계층들로 만들어진 비디오보다 높은 화질을 갖도록 부호화한다. 마찬가지로 시간 및 공간 해상도에서도 동일한 원리를 적용하여 스케일러빌리티를 지원한다.  One scalable bitstream may consist of two or more dependent layers. In this case, the scalable codec is composed of one lower layer and a plurality of enhancement layers. Here, the information of the lowest layer and successive upper layers is used together to create a more improved video bitstream. For example, image quality scalability may generate bitstreams having the same spatial and temporal dimensions from one bitstream but having different image quality. In general, the lowest layer provides picture quality, and the continuous higher layer encodes to have a higher picture quality than the video made of previous layers. Similarly, the same principles apply to scalability in temporal and spatial resolutions.

도 73은 비디오스트림의 연속 동작과 관련된 시간 스케일러빌리티(Temporal Scalability)에 대한 개념도이다. 비디오 스케일러빌리티(Video Scalability)에는 시간 스케일러빌리티(Temporal Scalability), 화면의 크기에 관련된 공간 스케일러빌리티(Spatial Scalability), 화질에 관련된 SNR(Signal-to-Noise Ratio) 스케일러빌리티(SNR Scalability or Fidelity) 등이 있다. 73 is a conceptual diagram for Temporal Scalability related to continuous operation of a video stream. Video Scalability includes Temporal Scalability, Spatial Scalability related to screen size, Signal-to-Noise Ratio SNR related to image quality, and SNR Scalability or Fidelity There is this.

본 발명에서는 시간 스케일러빌리티를 일 실시예로 설명하지만, 공간 스케일러빌리티, SNR 스케일러빌리티도 본 발명의 영역에 포함된다. In the present invention, temporal scalability is described as an embodiment, but spatial scalability and SNR scalability are also included in the scope of the present invention.

본 발명에 따른 시간 스케일러빌리티의 실시예는 단지 본 발명을 기술하기 위한 하나의 예일 뿐이다. The embodiment of time scalability according to the present invention is merely one example for describing the present invention.

도 74는 본 발명에 따른 스케일러블 비디오의 각 계층 데이터를 전송하는 방법의 일 실시예를 보이고 있다. 74 is a view illustrating an embodiment of a method of transmitting respective layer data of scalable video according to the present invention.

본 발명에서는 스케일러블 비디오 데이터의 각 계층별로 각기 다른 PID(Packet Identification)를 할당하여 각각의 ES(elementary stream)로 구성하는 것을 일 실시예로 한다. According to an embodiment of the present invention, a different PID (Packet Identification) is allocated to each layer of scalable video data to configure each elementary stream (ES).

예를 들면, 최하위 계층의 비디오 요소 스트림을 포함하는 비디오 스트림 패킷의 헤더에 삽입되는 PID 값과 제1 상위 계층의 비디오 요소 스트림을 포함하는 비디오 스트림 패킷의 헤더에 삽입되는 PID 값이 서로 다르다. 본 발명에서 비디오 스트림 패킷은 헤더와 페이로드로 구성되며, 이때 헤더는 4바이트를, 페이로드는 184 바이트를 할당하는 것을 일 실시예로 한다. 상기 헤더 및 페이로드에 할당되는 수치는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 수치로 제한되지 않을 것이다. For example, a PID value inserted into a header of a video stream packet including a video element stream of a lower layer is different from a PID value inserted into a header of a video stream packet including a video element stream of a first upper layer. In the present invention, the video stream packet is composed of a header and a payload. In this embodiment, the header is allocated 4 bytes and the payload 184 bytes. The numerical values assigned to the header and payload may vary by system designer, so the present invention will not be limited to the numerical values.

각 계층별로 스케일러블 비디오 데이터에 대해 서로 다른 PID를 할당하면서 비디오 스트림 패킷을 구성하는 과정은 도 13의 전송 시스템 내 서비스 다중화기(100)에서 수행될 수도 있고, 송신기(200)에서 수행될 수도 있다. 본 발명에서는 서비스 다중화기(100)에서 수행되는 것을 일 실시예로 한다. The process of configuring a video stream packet while allocating different PIDs for scalable video data for each layer may be performed by the service multiplexer 100 in the transmission system of FIG. 13 or may be performed by the transmitter 200. . According to an embodiment of the present invention, the service multiplexer 100 is performed.

예를 들어, 최하위 계층의 스케일러블 비디오 데이터의 PID 값은 0xF0를 할당하고, 제1 상위 계층의 스케일러블 비디오 데이터의 PID 값은 0xF1를 할당하며, 제2 상위 계층의 스케일러블 비디오 데이터의 PID 값은 0xF2를 할당할 수 있다. 본 발명에서 제시하는 PID 값들은 일 실시예일 뿐이며, 상기 PID 값으로 할당되는 수치들에 본 발명의 권리범위가 제한되지는 않을 것이다. For example, the PID value of scalable video data of the lowest layer assigns 0xF0, the PID value of scalable video data of the first upper layer allocates 0xF1, and the PID value of scalable video data of the second upper layer Can assign 0xF2. The PID values presented in the present invention are only one embodiment, and the scope of the present invention will not be limited to the numerical values assigned to the PID values.

또한 본 발명의 송신기 내 그룹 포맷터(303)에서 각 계층의 스케일러블 비디오 데이터를 데이터 그룹의 A,B,C,D 영역에 할당할 때, 각 계층의 스케일러블 비디오 데이터를 모두 동일한 영역에 할당하거나, 서로 다른 영역에 할당할 수 있다. In addition, when the scalable video data of each layer is allocated to the A, B, C, and D areas of the data group by the group formatter 303 in the transmitter of the present invention, all of the scalable video data of each layer is allocated to the same area. In other words, they can be assigned to different areas.

본 발명에서는 최하위 계층(lowest layer)의 스케일러블 비디오 데이터는 데이터 그룹 내 A/B 영역에 할당하고, 상위 계층(enhanced layer)의 스케일러블 비디오 데이터는 데이터 그룹 내 C/D 영역에 할당하여 전송하는 것을 일 실시예로 설명한다. 본 발명에서는 도 5에서와 같이 메인 서비스 데이터의 간섭 정도에 따라 데이터 그룹을 A,B,C,D 영역으로 구분하는 것을 일 실시예로 하고 있다. A>B>C>D 영역 순으로 메인 서비스 데이터의 간섭이 적으며, 메인 서비스 데이터의 간섭이 적을수록 오류 발생 확률이 적어져 수신 성능이 좋다. In the present invention, scalable video data of a lower layer is allocated to an A / B region within a data group, and scalable video data of an upper layer (enhanced layer) is allocated to a C / D region within a data group for transmission. It will be described in an embodiment. According to an embodiment of the present invention, as shown in FIG. 5, the data group is divided into A, B, C, and D areas according to the degree of interference of the main service data. In the area A> B> C> D, the interference of the main service data is less, and the less the interference of the main service data, the lower the probability of error occurrence and the better the reception performance.

도 75는 수신 시스템에서 각 계층별로 서로 다른 PID가 할당되어 전송되는 스케일러블 비디오 데이터를 수신하여 처리하는 일 실시예를 보이고 있다. FIG. 75 illustrates an embodiment in which a receiving system receives and processes scalable video data in which different PIDs are allocated and transmitted for each layer.

수신 시스템의 복조부는 각 계층별로 서로 다른 PID가 할당되어 전송되는 스케일러블 비디오 데이터를 수신하여 복조한 후 비디오 스트림 패킷 형태로 역다중화기(8001)로 출력한다. 상기 비디오 스트림 패킷 내 헤더는 페이로드의 데이터를 식별할 수 있는 PID를 포함하고, 해당 비디오 스트림 패킷 내 페이로드는 상기 PID가 지시하는 계층의 스케일러블 비디오 데이터의 요소 스트림이 포함되어 있다. 상기 역다중화기(8001)는 도 66과 도 72의 역다중화기(6003,7003)가 적용될 수 있다. 또한 각 계층별로 서로 다른 PID가 할당되어 전송되는 스케일러블 비디오 데이터를 수신하여 복조하는 복조부는 전술한 도 36이 그 일 예가 될 것이다. 그러나 이는 일실시예들 일 뿐 본 발명의 권리범위는 이에 한정되지 않는다. The demodulator of the reception system receives and demodulates scalable video data in which different PIDs are assigned and transmitted for each layer, and outputs the demodulated signal to the demultiplexer 8001 in the form of a video stream packet. The header in the video stream packet includes a PID for identifying data of a payload, and the payload in the video stream packet includes an element stream of scalable video data of a layer indicated by the PID. As the demultiplexer 8001, the demultiplexers 6003 and 7003 of FIGS. 66 and 72 may be applied. In addition, the demodulator for receiving and demodulating scalable video data in which different PIDs are allocated and transmitted for each layer will be an example. However, this is only one embodiment and the scope of the present invention is not limited thereto.

수신 시스템 내 역다중화기(8001)는 비디오 스트림 패킷, 오디오 스트림 패킷, 데이터 스트림 패킷을 모두 입력받을 수 있으나, 본 발명에서는 비디오 스트림 패킷을 입력받아 처리하는 것을 일 실시예로 설명하고 있다. 상기 오디오 스트림 패킷, 데이터 스트림 패킷은 상기 비디오 스트림 패킷의 처리 과정을 참조하면 되므로 상세 설명을 생략한다. Although the demultiplexer 8001 in the receiving system can receive all of the video stream packet, the audio stream packet, and the data stream packet, in the present invention, receiving and processing the video stream packet is described as an embodiment. The audio stream packet and the data stream packet may be referred to the processing procedure of the video stream packet, and thus detailed description thereof will be omitted.

즉, 상기 역다중화기(8001)는 입력되는 비디오 스트림 패킷의 PID와 PSI/PSIP 과 같은 프로그램 테이블 정보를 참조하여 입력되는 비디오 스트림 패킷이 어느 계층의 패킷인지를 구분한다. That is, the demultiplexer 8001 distinguishes which layers of the video stream packet are input by referring to the PID of the input video stream packet and program table information such as PSI / PSIP.

그리고 상기 역다중화기(8001)는 구분된 최하위 계층의 비디오 스트림 패킷 을 비디오 복호기(8002)로 출력된다. 하지만 상위 계층의 비디오 스트림 패킷은 비디오 복호기(8002)로 출력하지 않고 버리거나, 또는 비디오 복호기(8002)로 출력한다. The demultiplexer 8001 outputs the divided video stream packets of the lowest layer to the video decoder 8002. However, the upper layer video stream packet is discarded without being output to the video decoder 8002 or output to the video decoder 8002.

상기 상위 계층의 비디오 스트림 패킷을 비디오 복호기(8002)로 출력하거나, 또는 비디오 복호기(8002)로 출력하지 않고 버리는 판단 기준은 여러 가지가 있을 수 있다. 본 발명에서는 비디오 복호기(8002)의 복호(decoding) 능력에 따라 판단하는 것을 일 실시예로 한다. There may be various criteria for determining whether the upper stream video stream packet is output to the video decoder 8002 or discarded without being output to the video decoder 8002. According to the embodiment of the present invention, determination is made according to the decoding capability of the video decoder 8002.

즉, 상기 비디오 복호기(8002)에서 상위 계층의 비디오 스트림 패킷을 처리할 수 있으면, 상기 역다중화기(8001)에서 구분된 상위 계층의 비디오 스트림 패킷은 비디오 복호기(8002)로 출력된다. 예를 들어, 상기 비디오 복호기(8002)에서 제1 상위 계층의 비디오 스트림 패킷까지 처리할 수 있으면, 상기 역다중화기(8001)에서 구분된 최하위 계층, 및 제1 상위 계층의 비디오 스트림 패킷은 비디오 복호기(8002)로 출력되지만 제2 상위 계층의 비디오 스트림 패킷은 비디오 복호기(8002)로 출력되지 않고 버려진다. That is, if the video decoder 8002 can process the video stream packet of the upper layer, the video stream packet of the higher layer classified by the demultiplexer 8001 is output to the video decoder 8002. For example, if the video decoder 8002 can process the video stream packet of the first higher layer, the lowest layer divided by the demultiplexer 8001 and the video stream packet of the first higher layer are decoded. 8002), but the video stream packet of the second higher layer is discarded without being output to the video decoder 8002.

상기 비디오 복호기(8002)는 상기 역다중화기(8001)에서 입력되는 비디오 스트림 패킷을 해당 비디오 복호 알고리즘에 따라 복호(decoding)하여 출력한다. 일 예로, 비디오 복호 알고리즘은 MPEG 2 video 복호 알고리즘, MPEG 4 video 복호 알고리즘, H.264 복호 알고리즘, SVC 복호 알고리즘, VC-1 복호 알고리즘 중 적어도 하나를 적용할 수 있다. The video decoder 8002 decodes and outputs a video stream packet input from the demultiplexer 8001 according to a corresponding video decoding algorithm. For example, the video decoding algorithm may apply at least one of an MPEG 2 video decoding algorithm, an MPEG 4 video decoding algorithm, an H.264 decoding algorithm, an SVC decoding algorithm, and a VC-1 decoding algorithm.

예를 들어, 상기 비디오 복호기(8002)가 최하위 계층의 비디오 스트림 패킷 만 처리할 수 있는 능력이 있다면, 상기 역다중화기(8001)에서는 최하위 계층의 비디오 스트림 패킷만 비디오 복호기(8002)로 출력하고, 상기 비디오 복호기(8002)는 최하위 계층의 비디오 스트림 패킷에 대해 복호를 수행한다. For example, if the video decoder 8002 has the capability to process only the video stream packets of the lowest layer, the demultiplexer 800 1 outputs only the video stream packets of the lowest layer to the video decoder 8002, and the The video decoder 8002 performs decoding on the video stream packet of the lowest layer.

또 다른 예로, 상기 비디오 복호기(8002)가 제1 상위 계층까지의 비디오 스트림 패킷에 대해서만 처리할 수 있는 능력이 있다면, 상기 역다중화기(8001)에서는 최하위 계층 및 제1 상위 계층의 비디오 스트림 패킷만 비디오 복호기(8002)로 출력하고, 상기 비디오 복호기(8002)는 최하위 계층 및 제1 상위 계층의 비디오 스트림 패킷에 대해 복호를 수행한다. As another example, if the video decoder 8002 has the capability to process only video stream packets up to a first upper layer, the demultiplexer 8001 only displays video stream packets of the lowest and first higher layers. Output to decoder 8002, which decodes video stream packets of the lowest layer and the first upper layer.

도 76은 도 75의 역다중화기(8001)에서 PSI/PSIP 정보 중 VCT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 블록도로 보이고 있다. FIG. 76 is a block diagram illustrating an embodiment of a method for processing scalable video data of each layer by using a VCT among PSI / PSIP information in the demultiplexer 8001 of FIG. 75.

즉, 수신 시스템은 VCT를 수신하고, 수신된 VCT 내의 MPH_scalable_service_location_descriptor를 파싱하여 해당 비디오 스트림 패킷이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)인지 확인한다. 만일 모바일 서비스용 스케일러블 비디오로 확인되면 해당 비디오 스트림 패킷이 최하위 계층의 스케일러블 비디오 데이터인지를 확인하여, 맞으면 해당 비디오 스트림 패킷을 비디오 복호기(8002)로 전달한다. That is, the receiving system receives the VCT and parses the MPH_scalable_service_location_descriptor in the received VCT to determine whether the corresponding video stream packet is a scalable video for mobile service (MPH Scalable Video). If it is identified as scalable video for mobile service, it is determined whether the corresponding video stream packet is scalable video data of the lowest layer, and if it is correct, the corresponding video stream packet is transmitted to the video decoder 8002.

그런데 해당 비디오 스트림 패킷이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)로 확인되었으나, 상위 계층의 스케일러블 비디오 데이터라면 비디오 복호기(8002)의 디코딩 가능 여부에 따라 비디오 복호기(8002)로 출력하거나, 출력하지 않고 버린다.  When the video stream packet is identified as MPH scalable video for mobile service, but the scalable video data of the upper layer is output to the video decoder 8002 according to whether the video decoder 8002 can be decoded or outputted. Throw it away.

예를 들어, 수신된 VCT 내 MPH_scalable_service_location_descriptor의 stream_type 필드 값이 모바일 서비스용 스케일러블 비디오를 지시하고, layer_id 필드 값이 최하위 계층을 지시하면, 해당 비디오 스트림 패킷은 무조건 비디오 디코더(8002)로 출력한다. 다른 예로, 수신된 VCT 내 MPH_scalable_service_location_descriptor의 stream_type 필드 값이 모바일 서비스용 스케일러블 비디오를 지시하고, layer_id 필드 값이 제1 상위 계층을 지시하면, 해당 비디오 스트림 패킷은 비디오 디코더(8002)로 출력하거나 출력하지 않고 버린다. For example, if the stream_type field value of the MPH_scalable_service_location_descriptor in the received VCT indicates scalable video for mobile service and the layer_id field value indicates the lowest layer, the video stream packet is unconditionally output to the video decoder 8002. As another example, if the stream_type field value of MPH_scalable_service_location_descriptor in the received VCT indicates scalable video for mobile service and the layer_id field value indicates the first higher layer, the corresponding video stream packet is not output or output to the video decoder 8002. Throw it away.

즉, 본 발명의 VCT는 도 67에서와 같이 num_channels_in_section 필드 값만큼 반복되는 'for' 루프의 제1 반복문(channel_loop)을 포함할 수 있다. That is, the VCT of the present invention may include a first loop (channel_loop) of the 'for' loop repeated as much as the num_channels_in_section field value as shown in FIG. 67.

상기 제1 반복문 short_name 필드, major_channel_number 필드, minor_channel_number 필드, modulation_mode 필드, carrier_frequency 필드, channel_TSID 필드, program_number 필드, ETM_location 필드, access_controlled 필드, hidden 필드, service_type 필드, source_id 필드, descriptor_length 필드, 및 이 제1 반복문 내에 포함되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제2 반복문 중 적어도 하나를 포함할 수 있다. 상기 제1 반복문 내 각 필드의 설명은 도 67을 참조하면 되므로, 여기서는 상세 설명을 생략한다. Included in the first loop short_name field, major_channel_number field, minor_channel_number field, modulation_mode field, carrier_frequency field, channel_TSID field, program_number field, ETM_location field, access_controlled field, hidden field, service_type field, source_id field, descriptor_length field, and this first loop. It may include at least one of a second loop in a 'for' loop that is repeated by the number of descriptors. Since description of each field in the first loop is described with reference to FIG. 67, detailed description thereof will be omitted.

본 발명에서는 설명의 편의를 위해 상기 제2 반복문을 디스크립터 루프라 한다. 상기 디스크립터 루프에 포함되는 디스크립터 descriptors()는 가상 채널 각각 에 개별적으로 적용되는 디스크립터이다. In the present invention, the second loop is called a descriptor loop for convenience of description. Descriptor descriptors () included in the descriptor loop are descriptors applied to each virtual channel individually.

본 발명은 상기 디스크립터 루프에 각 계층의 스케일러블 비디오 데이터를 구분할 수 있는 정보를 전송하는 MPH_scalable_service_location_descriptor를 포함하는 것을 일 실시예로 한다. According to an embodiment of the present invention, the descriptor loop includes an MPH_scalable_service_location_descriptor for transmitting information for distinguishing scalable video data of each layer.

도 77은 본 발명에 따른 MPH_scalable_service_location_descriptor의 비트스트림 신택스 구조에 대한 일 실시예를 보이고 있다. 77 shows an embodiment of a bitstream syntax structure of MPH_scalable_service_location_descriptor according to the present invention.

도 77의 MPH_scalable_service_location_descriptor()는 descriptor_tag 필드, descriptor_length 필드, PCR_PID 필드, number_elements 필드, 및 상기 number_elements 필드 값만큼 반복되는 'for' 루프로 된 반복문 중 적어도 하나를 포함할 수 있다. 본 발명에서는 number_elements 필드 값만큼 반복되는 반복문을 설명의 편의를 위해 ES 루프(ES_loop)라 하기로 한다. MPH_scalable_service_location_descriptor () of FIG. 77 may include at least one of a descriptor_tag field, a descriptor_length field, a PCR_PID field, a number_elements field, and a 'for' loop that is repeated by the number_elements field value. In the present invention, a repeating statement repeated as many as the number_elements field value will be referred to as an ES loop for convenience of explanation.

상기 각 ES 루프는 stream_type 필드와 elementary_PID 필드 중 적어도 하나를 포함할 수 있다. Each ES loop may include at least one of a stream_type field and an elementary_PID field.

또한 상기 각 ES 루프는 stream_type 필드 값이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)를 지시하는 경우, scalability_type 필드, layer_id 필드, 및 base_layer_id 필드 중 적어도 하나를 포함할 수 있다. In addition, each ES loop may include at least one of a scalability_type field, a layer_id field, and a base_layer_id field when the stream_type field value indicates scalable video for mobile service (MPH Scalable Video).

상기 각 ES 루프는 scalability_type 필드 값이 시간 스케일러비티를 지시하거나 최하위 계층을 지시하면, frame_rate_code 필드, frame_rate_num 필드, frame_rate_denom 필드 중 적어도 하나를 더 포함할 수 있다. Each of the ES loops may further include at least one of a frame_rate_code field, a frame_rate_num field, and a frame_rate_denom field when a scalability_type field value indicates time scalability or a lower layer.

상기 각 ES 루프는 scalability_type 필드 값이 공간 스케일러비티를 지시하 거나 최하위 계층을 지시하면, profile_idc 필드, constraint_set0_flag ~ constraint_set3_flag 필드, level_idc 필드 중 적어도 하나를 더 포함할 수 있다. Each of the ES loops may further include at least one of a profile_idc field, a constraint_set0_flag to constraint_set3_flag field, and a level_idc field when a scalability_type field value indicates spatial scalability or a lower layer.

또한 상기 각 ES 루프는 stream_type 필드 값이 모바일 서비스용 오디오(MPH Audio)를 지시하는 경우, additional_info_byte 필드를 더 포함할 수 있다. In addition, each ES loop may further include an additional_info_byte field when the stream_type field value indicates audio for mobile service (MPH Audio).

이와 같이 구성된 도 77에서 descriptor_tag 필드는 일 실시예로 8 비트를 할당할 수 있으며, 해당 디스크립터를 유일하게 구분(identify)할 수 있는 값을 표시한다. In FIG. 77 configured as described above, the descriptor_tag field may allocate 8 bits according to an embodiment, and indicates a value capable of uniquely identifying the corresponding descriptor.

상기 descriptor_length 필드는 일 실시예로 8 비트를 할당할 수 있으며, 해당 디스크립터의 길이를 표시한다. The descriptor_length field may allocate 8 bits in one embodiment, and indicates the length of a corresponding descriptor.

상기 PCR_PID 필드는 일 실시예로 13비트를 할당할 수 있으며, Program Clock Reference elementary stream의 PID를 표시한다. 즉, 상기 PCR_PID 필드는 program_number 필드에 의해 특정된 프로그램에서 유효한 PCR 필드가 포함된 transport stream 패킷의 PID를 나타낸다. In an embodiment, the PCR_PID field may allocate 13 bits and indicates a PID of a Program Clock Reference elementary stream. That is, the PCR_PID field indicates the PID of the transport stream packet including the PCR field valid in the program specified by the program_number field.

상기 number_elements 필드는 일 실시예로 8비트를 할당할 수 있으며, 해당 디스크립터 내에 존재하는 ES의 개수를 나타낸다. The number_elements field may allocate 8 bits in one embodiment, and indicates the number of ESs present in the descriptor.

상기 number_elements 필드 값에 따라 다음에 기술되는 ES 루프의 반복 횟수가 결정된다. The number of repetitions of the ES loop described below is determined according to the number_elements field value.

상기 stream_type 필드는 일 실시예로 8비트를 할당할 수 있으며, 해당 ES의 종류를 나타낸다. 도 78은 본 발명에 따른 stream_type 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 도시하고 있다. 도 78에 도시된 바와 같이, stream type 으로는 ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream, PES packets containing A/90 streaming, synchronized data, DSM-CC sections containing A/90 asynchronous data, DSM-CC addressable sections per A/90, DSM-CC sections containing non-streaming, synchronized data, Audio per ATSC A/53E Annex B, Sections conveying A/90 Data Service Table, Network Resource Table, PES packets containing A/90 streaming, synchronous data 등이 적용될 수 있다. 한편, 본 발명에 따르면, stream type으로 Non-Scalable Video data for MPH, Audio data for MPH, Scalable Video data for MPH 등이 더 적용될 수 있다. In an embodiment, the stream_type field may allocate 8 bits and indicates a type of a corresponding ES. 78 is a view illustrating an embodiment of values that can be assigned to a stream_type field and its definition according to the present invention. As shown in FIG. 78, the stream type is ITU-T Rec. H.262 | ISO / IEC 13818-2 Video or ISO / IEC 11172-2 constrained parameter video stream, PES packets containing A / 90 streaming, synchronized data, DSM-CC sections containing A / 90 asynchronous data, DSM-CC addressable sections per A / 90 , DSM-CC sections containing non-streaming, synchronized data, Audio per ATSC A / 53E Annex B, Sections conveying A / 90 Data Service Table, Network Resource Table, PES packets containing A / 90 streaming, synchronous data, etc. . Meanwhile, according to the present invention, non-scalable video data for MPH, audio data for MPH, scalable video data for MPH, and the like may be further applied as a stream type.

상기 elementary_PID 필드는 일 실시예로 13 비트를 할당할 수 있으며, 해당 ES의 PID를 표시한다. In an embodiment, the elementary_PID field may allocate 13 bits and indicates a PID of the corresponding ES.

상기 stream type 필드 값이 모바일 서비스용 스케일러블 비디오를 지시하면, scalability_type 필드, layer_id 필드, 및 base_layer_id 필드 중 적어도 하나를 포함할 수 있다. When the stream type field value indicates scalable video for mobile service, the stream type field value may include at least one of a scalability_type field, a layer_id field, and a base_layer_id field.

상기 scalability_type 필드는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오(Scalable Video) 스트림의 Scalability 종류를 나타낸다. 도 79는 본 발명에 따른 scalability_type 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 도시하고 있다. 도 79에서는 상기 scalability_type 필드 값이 0x1이면 공간 스케일러비티를, 0x2이면 SNR 스케일러비티를, 0x03이면 시간 스케일러비티를, 0xF이면 최하위 계층을 나타내는 것을 일 실시예로 하고 있다. In an embodiment, the scalability_type field may allocate 4 bits, and indicates the type of scalability of the scalable video stream. 79 illustrates an embodiment of values that can be assigned to the scalability_type field and its definition according to the present invention. In FIG. 79, the scalability_type field value is 0x1, the spatial scalability is 0x2, the SNR scalability is 0x03, the time scalability is 0x03, and the lowest layer is 0xF.

상기 layer_id 필드는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림의 계층 정보를 나타내며, scalablity_type 필드와 함께 병행해서 해석되는 것이 바람직하다. 해당 비디오 스트림이 최하위 계층일 경우, 이 값을 0x0으로 할당하며, 상위 계층일수록 높은 값을 갖는다. 예를 들어, 제1 상위 계층의 layer_id 필드 값은 0x01을 할당하고, 제2 상위 계층의 layer_id 필드 값은 0x02를 할당할 수 있다. 여기서 상기 layer_id 필드에 할당되는 값들은 바람직한 실시예이거나 단순한 예시인 바, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다. According to an embodiment, the layer_id field may be allocated 4 bits, represents layer information of the scalable video stream, and may be interpreted in parallel with the scalablity_type field. If the video stream is the lowest layer, this value is assigned to 0x0, and the higher the layer, the higher the value. For example, the layer_id field value of the first upper layer may allocate 0x01, and the layer_id field value of the second upper layer may allocate 0x02. Here, the values assigned to the layer_id field are preferred embodiments or simple examples, and thus the scope of the present invention is not limited to the numerical values.

상기 base_layer_id 필드는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림이 상위 계층(Enhancement Layer) 스트림일 경우, 해당 스트림이 참조하는 하위 계층의 layer_id 값을 나타낸다. 해당 스트림이 최하위 계층일 경우, 이 base_layer_id 필드는 무시된다(deprecated). 예를 들어, 해당 스케일러블 비디오 스트림이 제1 상위 계층(Enhancement Layer-1) 스트림일 경우, 제1 상위 계층의 스케일러블 비디오 스트림이 참조하는 하위 계층의 layer_id 값은 최하위 계층의 layer_id 값이 된다(즉, base_layer_id = 0x00). 또 다른 예로, 해당 스케일러블 비디오 스트림이 제2 상위 계층(Enhancement Layer-2) 스트림일 경우, 해당 스트림이 참조하는 하위 계층의 layer_id 값은 제1 상위 계층의 layer_id 값이다(즉, base_layer_id = 0x01). In an embodiment, the base_layer_id field may allocate 4 bits, and when the scalable video stream is an enhancement layer stream, it indicates a layer_id value of the lower layer referred to by the stream. If the stream is the lowest layer, this base_layer_id field is deprecated. For example, when the scalable video stream is the first enhancement layer-1 stream, the layer_id value of the lower layer referred to by the scalable video stream of the first upper layer becomes the layer_id value of the lowest layer ( Ie base_layer_id = 0x00). As another example, when the scalable video stream is a second enhancement layer-2 stream, the layer_id value of the lower layer referred to by the stream is the layer_id value of the first upper layer (ie, base_layer_id = 0x01). .

한편 상기 scalability_type 필드 값이 Temporal(예, 0x3)을 지시하거나 또는 최하위 계층(예, 0xF)을 지시하면 frame_rate_code 필드, frame_rate_num 필드, frame_rate_denom 필드 중 적어도 하나를 더 포함할 수 있다. On the other hand, if the scalability_type field value indicates a Temporal (eg, 0x3) or a lowest layer (eg, 0xF), the scalability_type field value may further include at least one of a frame_rate_code field, a frame_rate_num field, and a frame_rate_denom field.

상기 frame_rate_code는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림의 프레임 율(frame rate)을 계산하는데 사용된다. 일 예로, 상기 frame_rate_code 필드는 ISO/IEC 13818-2에서 정의한 frame_rate_code 필드 값을 표시할 수 있다. The frame_rate_code may allocate 4 bits in one embodiment, and is used to calculate a frame rate of the scalable video stream. For example, the frame_rate_code field may indicate a value of the frame_rate_code field defined in ISO / IEC 13818-2.

해당 스케일러블 비디오 스트림의 프레임 율은 다음과 같이 계산할 수 있다. 즉, frame_rate = frame_rate_value x (frame_rate_num + 1) / (frame_rate_denom + 1)이다. 여기서 frame_rate_value는 frame_rate_code로부터 추출되는 실제 frame_rate 값이다. 도 80은 본 발명에 따른 frame_rate_code 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다. 예를 들어, 도 80에서 frame_rate_code 필드 값이 1000이면 프레임 율이 60Hz임을 의미한다. The frame rate of the scalable video stream can be calculated as follows. That is, frame_rate = frame_rate_value x (frame_rate_num + 1) / (frame_rate_denom + 1). Here, frame_rate_value is an actual frame_rate value extracted from frame_rate_code. 80 shows an embodiment of values that can be assigned to the frame_rate_code field and its definition according to the present invention. For example, if the frame_rate_code field value is 1000 in FIG. 80, this means that the frame rate is 60 Hz.

상기 frame_rate_num 필드는 일 실시예로 2비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림의 프레임 율을 계산하는데 사용된다. 하지만, 프레임 율이 상기 frame_rate_code 필드로부터 바로 추출될 경우, 상기 frame_rate_num 필드는 '0'으로 설정한다. The frame_rate_num field may allocate 2 bits in one embodiment, and is used to calculate a frame rate of the scalable video stream. However, when the frame rate is extracted directly from the frame_rate_code field, the frame_rate_num field is set to '0'.

상기 frame_rate_denom 필드는 일 실시예로 5비트를 할당할 수 있으며, 해당 스케일러블 비디오의 프레임 율을 계산하는데 사용된다. 하지만, 프레임 율이 상기 frame_rate_code 필드로부터 바로 추출될 경우, 상기 frame_rate_denom 필드는 '0'으로 설정한다. The frame_rate_denom field may allocate 5 bits in one embodiment, and is used to calculate a frame rate of the scalable video. However, when the frame rate is extracted directly from the frame_rate_code field, the frame_rate_denom field is set to '0'.

한편 상기 scalability_type 필드 값이 Spatial(예, 0x1)을 지시하거나 또는 최하위 계층(예, 0xF)을 지시하면 profile_idc 필드, constraint_set0_flag ~ constraint_set3_flag 필드, level_idc 필드 중 적어도 하나를 더 포함할 수 있다. On the other hand, if the scalability_type field value indicates Spatial (eg, 0x1) or the lowest layer (eg, 0xF), the scalability_type field value may further include at least one of a profile_idc field, a constraint_set0_flag to constraint_set3_flag field, and a level_idc field.

상기 profile_idc 필드는 일 실시예로 8비트를 할당할 수 있으며, 전송되는 스케일러블 비디오 스트림의 프로파일을 나타낸다. 일 예로, 상기 profile_idc 필드는 ISO/IEC 14496-10에서 정의한 profile_idc 필드를 그대로 적용할 수 있다. 도 81은 본 발명에 따른 profile_idc 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다. 예를 들어, profile_idc 필드 값이 66이면 베이스라인(baseline) 프로파일을 의미한다. The profile_idc field may allocate 8 bits in one embodiment, and represents a profile of a scalable video stream transmitted. For example, the profile_idc field may apply the profile_idc field defined in ISO / IEC 14496-10 as it is. 81 shows an embodiment of values that can be assigned to the profile_idc field and its definition according to the present invention. For example, if the profile_idc field value is 66, it means a baseline profile.

상기 constraint_set0_flag ~ constraint_set3_flag 필드는 일 실시예로 각각 1비트를 할당할 수 있으며, 대응하는 해당 프로파일의 제약조건을 만족하고 있는지 여부를 나타낸다. In one embodiment, the constraint_set0_flag to constraint_set3_flag fields may be allocated 1 bit, and indicate whether the constraint of the corresponding corresponding profile is satisfied.

상기 level_idc 필드는 일 실시예로 8비트를 할당할 수 있으며, 전송되는 스케일러블 비디오 스트림의 레벨을 나타낸다. 일 예로, 상기 level_idc 필드는 ISO/IEC 14496-10에서 정의한 level_idc 필드를 그대로 적용할 수 있다. 도 82는 본 발명에 따른 level_idc 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다. 예를 들어, level_idc 필드 값이 11이면 1.1 레벨을 의미한다. The level_idc field may allocate 8 bits in one embodiment, and indicates a level of a scalable video stream transmitted. For example, the level_idc field may apply the level_idc field defined in ISO / IEC 14496-10 as it is. FIG. 82 shows an embodiment of values that can be assigned to the level_idc field and its definition according to the present invention. For example, if the level_idc field value is 11, it means 1.1 level.

또한 상기 각 ES 루프는 stream_type 필드 값이 모바일 서비스용 오디오(MPH Audio)를 지시하는 경우, additional_info_byte 필드를 더 포함할 수 있다. 상기 additional_info_byte 필드는 해당 elementary stream의 language code를 나타내는 ISO_639_language_code 필드를 포함할 수 있다. In addition, each ES loop may further include an additional_info_byte field when the stream_type field value indicates audio for mobile service (MPH Audio). The additional_info_byte field may include an ISO_639_language_code field indicating a language code of the corresponding elementary stream.

상기 도 77에서 보이고 있는 MPH_scalable_service_location_descriptor()에 할당되는 필드의 순서, 위치, 의미는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 MPH_scalable_service_location_descriptor()에 할당되는 필드의 순서, 위치, 의미, 추가 할당되는 필드의 수는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The order, location, and meaning of the fields allocated to the MPH_scalable_service_location_descriptor () shown in FIG. 77 are merely an example for helping understanding of the present invention. Since the number of fields can be easily changed by those skilled in the art, the present invention will not be limited to the above embodiment.

도 83은 도 75의 역다중화기(8001)에서 PSI/PSIP 정보 중 VCT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 흐름도로 보이고 있다. FIG. 83 is a flowchart illustrating an embodiment of a method for processing scalable video data of each layer using a VCT among PSI / PSIP information in the demultiplexer 8001 of FIG. 75.

즉, 가상 채널이 선택되면(S8101), 선택된 가상 채널의 정보를 포함하는 VCT를 수신한다(S8102). 수신된 VCT를 파싱하여 Major/Minor Channel Number, channel_TSID, source_id, hidden, hide_guide, service_type 정보 등을 추출한다(S8103). 이어 상기 VCT 내 MPH_scalable_service_location_descriptor()를 파싱하여(S8104), 상기 MPH_scalable_service_location_descriptor()로부터 stream_type, elementary_PID 정보 등을 추출한다(S8105). That is, when the virtual channel is selected (S8101), the VCT including the information of the selected virtual channel is received (S8102). The received VCT is parsed to extract major / minor channel number, channel_TSID, source_id, hidden, hide_guide, service_type information, etc. (S8103). Subsequently, MPH_scalable_service_location_descriptor () in the VCT is parsed (S8104), and stream_type, elementary_PID information, etc. are extracted from the MPH_scalable_service_location_descriptor () (S8105).

그리고 상기 stream_type 필드 값이 0xD2인지를 확인한다(S8106). 일 예로, 상기 stream_type 필드 값이 0xD2이면 그 스트림은 모바일 서비스용 스케일러블 비디오 데이터를 의미한다. Then, it is checked whether the stream_type field value is 0xD2 (S8106). As an example, if the stream_type field value is 0xD2, the stream means scalable video data for mobile service.

따라서 상기 S8106에서 상기 stream_type 필드 값이 0xD2라고 판별되면 해당 MPH_scalable_service_location_descriptor()로부터 scalability_type, layer_id, base_layer_id 필드, 프레임 율 정보(예, frame_rate_code, frame_rate_num, frame_rate_denom), 프로파일 정보(예, profile_idc, constraint_set0_flag ~ constraint_set3_flag, level_idc) 등을 추출한다(S8107). Therefore, when it is determined in S8106 that the stream_type field value is 0xD2, scalability_type, layer_id, base_layer_id field, frame rate information (eg, frame_rate_code, frame_rate_num, frame_rate_denom), profile information (eg, profile_idc_flag, constraint_set0_3flag, constraint_set0_3flag) from the corresponding MPH_scalable_service_location_descriptor (). ) And the like (S8107).

그리고 상기 layer_id 필드 값이 0x0인지를 확인한다(S8108). 일 예로, 상기 layer_id 필드 값이 0x0이면 해당 비디오 스트림은 최하위 계층의 비디오 스트림을 의미한다. Then, it is checked whether the layer_id field value is 0x0 (S8108). As an example, when the layer_id field value is 0x0, the corresponding video stream means a video stream of the lowest layer.

따라서 상기 S8108에서 상기 layer_id 필드 값이 0x0라고 판별되면 상기 최하위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력한다(S8109). 그리고 상기 비디오 디코더(8002)가 상위 계층을 지원하는지를 확인한다(S8110). 만일 상기 S8110에서 상위 계층을 지원한다고 확인되면 S8105로 되돌아가고, 상위 계층을 지원하지 않는다고 판별되면 S8115로 진행한다. 상기 S8115에서는 비디오 복호기(8002)를 통해 최하위 계층의 비디오 스트림에 대해서만 비디오 복호를 수행하여 유저에게 모바일 서비스(MPH service)를 제공한다. Therefore, when it is determined in step S8108 that the layer_id field value is 0x0, scalable video data of the lowest layer is output to the video decoder 8002 (S8109). In operation S8110, it is checked whether the video decoder 8002 supports a higher layer. If it is determined in S8110 that the upper layer is supported, the process returns to S8105. If it is determined that the upper layer is not supported, the process proceeds to S8115. In S8115, the video decoder 8002 performs video decoding only on the video stream of the lowest layer to provide the user with a mobile service (MPH service).

한편 상기 S8108에서 상기 layer_id 필드 값이 0x0이 아니라고 판별되면 해당 비디오 스트림이 상위 계층의 비디오 스트림을 의미하며, 이 경우 S8111로 진행한다. S8111에서는 비디오 디코더(8002)에서 해당 상위 계층의 스케일러블 비디오 데이터를 지원하는지를 확인한다. 만일 해당 상위 계층을 지원한다고 판별되면 해당 상위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력하고 S8105로 되돌아간다(S8112). 예를 들어, 상기 S8111에서 수신 시스템이 제1 상위 계층을 지원한다고 판별되면, S8112에서 제1 상위 계층의 스케일러블 비디오 데이터는 비디오 디코더(8002)로 출력된다. On the other hand, if it is determined in step S8108 that the layer_id field value is not 0x0, the corresponding video stream means a video stream of a higher layer. In this case, the process proceeds to S8111. In S8111, the video decoder 8002 checks whether scalable video data of a corresponding upper layer is supported. If it is determined that the upper layer is supported, the scalable video data of the upper layer is output to the video decoder 8002 and the process returns to S8105 (S8112). For example, if it is determined in S8111 that the receiving system supports the first higher layer, scalable video data of the first higher layer is output to the video decoder 8002 in S8112.

만일 S8111에서 해당 상위 계층을 지원하지 않는다고 판별되면 해당 상위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력하지 않고 버린다(Discard packets with this PID). 이때 해당 상위 계층보다 더 높은 상위 계층의 스케일러블 비디오 데이터도 비디오 디코더(8002)로 출력하지 않고 버린다(Discard upper enhanced layer packets). 예를 들어, 상기 S8111에서 수신 시스템이 제1 상위 계층을 지원하지 않는다고 판별되면 S8113에서는 제1,제2 상위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력하지 않고 버린다. If it is determined in S8111 that the upper layer is not supported, the scalable video data of the upper layer is discarded without being output to the video decoder 8002 (Discard packets with this PID). In this case, scalable video data of a higher layer higher than the corresponding upper layer is also discarded without being output to the video decoder 8002 (Discard upper enhanced layer packets). For example, if it is determined in S8111 that the receiving system does not support the first upper layer, in S8113 the scalable video data of the first and second higher layers is discarded without being output to the video decoder 8002.

한편 상기 S8106에서 stream_type 필드 값이 0xD2가 아니면 즉, 해당 스트림이 모바일 서비스용 스케일러블 비디오 데이터가 아니면 S8114로 진행한다. S8114에서는 입력되는 스트림을 해당 복호기로 출력한다. 이때 다른 스트림이 남아 있으면 S8105로 되돌아가고, 없으면 S8115로 진행한다. On the other hand, if the stream_type field value is not 0xD2 in S8106, that is, the stream is not scalable video data for mobile service, the process proceeds to S8114. In S8114, the input stream is output to the corresponding decoder. At this time, if another stream remains, the flow returns to S8105, and if not, the flow goes to S8115.

일 예로, 비디오 복호기(8002)가 제1 상위 계층까지 지원 가능하다면, 상기 S8115에서는 최하위 계층과 제1 상위 계층의 스케일러블 비디오 데이터에 대해 비디오 복호를 수행하여 유저에게 모바일 서비스를 제공한다. For example, if the video decoder 8002 can support the first upper layer, the S8115 performs video decoding on scalable video data of the lowest layer and the first upper layer to provide a mobile service to the user.

도 84는 도 75의 역다중화기(8001)에서 PSI/PSIP 정보 중 PMT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 블록도로 보이고 있다. FIG. 84 is a block diagram illustrating an embodiment of a method for processing scalable video data of each layer using PMT of PSI / PSIP information in the demultiplexer 8001 of FIG. 75.

즉, 수신 시스템은 PMT를 수신하고, 수신된 PMT 내의 MPH_scalable_video_descriptor를 파싱하여 해당 비디오 스트림 패킷이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)인지 확인한다. 만일 모바일 서비스 용 스케일러블 비디오로 확인되면 해당 비디오 스트림 패킷이 최하위 계층(Lowest Layer)의 스케일러블 비디오 데이터인지를 확인하여, 맞으면 해당 비디오 스트림 패킷을 비디오 복호기(8002)로 전달한다. That is, the receiving system receives the PMT and parses the MPH_scalable_video_descriptor in the received PMT to determine whether the corresponding video stream packet is scalable video for mobile service (MPH Scalable Video). If it is confirmed as scalable video for mobile service, it is determined whether the corresponding video stream packet is scalable video data of the lowest layer, and if it is correct, the corresponding video stream packet is transmitted to the video decoder 8002.

그런데 해당 비디오 스트림 패킷이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)로 확인되었으나, 상위 계층(Enhanced Layer)의 스케일러블 비디오 데이터라면 비디오 복호기(8002)의 디코딩 가능 여부에 따라 비디오 복호기(8002)로 출력하거나, 출력하지 않고 버린다. However, if the video stream packet is identified as MPH scalable video for mobile service, but is scalable video data of an enhanced layer, the video stream packet is sent to the video decoder 8002 according to whether the video decoder 8002 can be decoded. Output or not output.

예를 들어, 수신된 PMT 내 MPH_scalable_video_descriptor의 stream_type 필드 값이 모바일 서비스용 스케일러블 비디오를 지시하고, layer_id 필드 값이 최하위 계층을 지시하면, 해당 비디오 스트림 패킷은 무조건 비디오 디코더(8002)로 출력한다. 다른 예로, 수신된 PMT 내 MPH_scalable_video_descriptor의 stream_type 필드 값이 모바일 서비스용 스케일러블 비디오를 지시하고, layer_id 필드 값이 제1 상위 계층을 지시하면, 해당 비디오 스트림 패킷은 비디오 디코더(8002)로 출력하거나 출력하지 않고 버린다. For example, if the stream_type field value of the MPH_scalable_video_descriptor in the received PMT indicates scalable video for mobile service and the layer_id field value indicates the lowest layer, the video stream packet is unconditionally output to the video decoder 8002. As another example, if the stream_type field value of MPH_scalable_video_descriptor in the received PMT indicates scalable video for mobile service and the layer_id field value indicates the first upper layer, the corresponding video stream packet is not output or output to the video decoder 8002. Throw it away.

즉, 본 발명의 PMT의 PID는 PAT로부터 얻을 수 있다. 상기 PAT는 PID=0인 패킷에 의해 전송되는 특수 정보로서, 각 프로그램 번호마다 그 프로그램의 구성 요소를 기술하며, 프로그램 맵 테이블(PMT)을 전송하는 트랜스포트 패킷의 PID를 가리킨다. 즉, PID가 0인 PAT 테이블을 파싱하여 프로그램 번호(Program number)와 PMT의 PID를 알아낸다. That is, the PID of the PMT of the present invention can be obtained from the PAT. The PAT is special information transmitted by a packet whose PID is 0, and describes each component of the program for each program number, and indicates a PID of a transport packet that transmits a program map table (PMT). That is, the program number and the PID of the PMT are found by parsing a PAT table having a PID of 0.

상기 PAT로부터 얻어낸 PMT는 프로그램을 구성하는 구성 요소들간의 상관 관 계를 제공한다. 상기 PMT는 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트 스트림이 전송되고 있는 트랜스포트 패킷의 PID 리스트와 부속 정보를 기술하고 있다. 즉, 상기 PMT의 역할은 하나의 프로그램을 구성하는데 필요한 ES(elementary stream)들이 어떤 PID를 가지고 전송되는가에 대한 정보를 전송하는 데 있다. The PMT obtained from the PAT provides a correlation between the components constituting the program. The PMT describes the program identification number and the PID list and accessory information of the transport packet to which individual bit streams such as video and audio constituting the program are transmitted. That is, the role of the PMT is to transmit information on which PIDs of elementary streams (ES) required to configure a program are transmitted.

상기 PMT는 하나의 프로그램 번호(program_number)에 포함되는 ES의 수만큼 반복되는 'for' 루프의 반복문을 포함하는데, 상기 반복문도 설명의 편의를 위해 ES 루프(ES_loop)라 하기로 한다. The PMT includes a loop of a 'for' loop that is repeated by the number of ESs included in one program number (program_number). The loop is also referred to as an ES loop for convenience of description.

상기 각 ES 루프는 stream_type 필드, elementary_PID 필드, ES_info_length 필드, 및 해당 ES에 포함되는 디스크립터 수만큼 반복되는 'for' 루프로 된 디스크립터 루프 중 적어도 하나를 포함할 수 있다. 상기 디스크립터 루프에 포함되는 descriptor()는 각각의 ES에 개별적으로 적용되는 디스크립터이다. Each ES loop may include at least one of a stream_type field, an elementary_PID field, an ES_info_length field, and a descriptor loop including a 'for' loop repeated as many as the number of descriptors included in the corresponding ES. The descriptor () included in the descriptor loop is a descriptor applied to each ES individually.

상기 stream_type 필드는 해당 ES의 종류를 나타낸다. 도 78은 본 발명에 따른 stream_type 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 도시하고 있다. 도 78에 도시된 바와 같이, stream type으로는 ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream, PES packets containing A/90 streaming, synchronized data, DSM-CC sections containing A/90 asynchronous data, DSM-CC addressable sections per A/90, DSM-CC sections containing non-streaming, synchronized data, Audio per ATSC A/53E Annex B, Sections conveying A/90 Data Service Table, Network Resource Table, PES packets containing A/90 streaming, synchronous data 등이 적용될 수 있다. 한편, 본 발명에 따르면, stream type으로 Non-Scalable Video data for MPH, Audio data for MPH , Scalable Video data for MPH 등이 더 적용될 수 있다. The stream_type field represents the type of the corresponding ES. 78 is a view illustrating an embodiment of values that can be assigned to a stream_type field and its definition according to the present invention. As shown in FIG. 78, the stream type is ITU-T Rec. H.262 | ISO / IEC 13818-2 Video or ISO / IEC 11172-2 constrained parameter video stream, PES packets containing A / 90 streaming, synchronized data, DSM-CC sections containing A / 90 asynchronous data, DSM-CC addressable sections per A / 90 , DSM-CC sections containing non-streaming, synchronized data, Audio per ATSC A / 53E Annex B, Sections conveying A / 90 Data Service Table, Network Resource Table, PES packets containing A / 90 streaming, synchronous data, etc. . Meanwhile, according to the present invention, non-scalable video data for MPH, audio data for MPH, scalable video data for MPH, and the like may be further applied as a stream type.

상기 elementary_PID 필드는 해당 ES의 PID를 표시한다. The elementary_PID field indicates the PID of the corresponding ES.

본 발명은 상기 stream type 필드 값이 모바일 서비스용 스케일러블 비디오(Scalable Video Data for MPH, 즉 0xD2)를 지시하면, 상기 디스크립터 루프에 각 계층의 스케일러블 비디오 데이터를 구분할 수 있는 정보를 전송하는 MPH_scalable_video_descriptor를 포함하는 것을 일 실시예로 한다. 즉, PMT의 두 번째 루프의 descriptor()영역에 MPH_scalable_video_descriptor가 포함된다. According to the present invention, when the stream type field value indicates scalable video data for mobile service (0xD2), MPH_scalable_video_descriptor for transmitting information capable of distinguishing scalable video data of each layer to the descriptor loop is provided. In one embodiment it includes. That is, MPH_scalable_video_descriptor is included in the descriptor () region of the second loop of the PMT.

도 85는 본 발명에 따른 MPH_scalable_video_descriptor의 비트스트림 신택스 구조에 대한 일 실시예를 보이고 있다. 85 shows an embodiment of a bitstream syntax structure of MPH_scalable_video_descriptor according to the present invention.

도 85의 MPH_scalable_video_descriptor()는 descriptor_tag 필드, descriptor_length 필드, scalability_type 필드, layer_id 필드, 및 base_layer_id 필드 중 적어도 하나를 포함할 수 있다. MPH_scalable_video_descriptor () of FIG. 85 may include at least one of a descriptor_tag field, a descriptor_length field, a scalability_type field, a layer_id field, and a base_layer_id field.

또한 상기 MPH_scalable_video_descriptor()는 scalability_type 필드 값이 시간 스케일러비티를 지시하거나 최하위 계층을 지시하면, 프레임 율 정보 예를 들어, frame_rate_code 필드, frame_rate_num 필드, frame_rate_denom 필드 중 적어도 하나를 더 포함할 수 있다.  The MPH_scalable_video_descriptor () may further include at least one of frame rate information, for example, a frame_rate_code field, a frame_rate_num field, and a frame_rate_denom field, when a scalability_type field value indicates time scalability or a lower layer.

상기 MPH_scalable_video_descriptor()는 scalability_type 필드 값이 공간 스케일러비티를 지시하거나 최하위 계층을 지시하면, 프로파일 정보 예를 들어, profile_idc 필드, constraint_set0_flag ~ constraint_set3_flag 필드, level_idc 필드 중 적어도 하나를 더 포함할 수 있다. The MPH_scalable_video_descriptor () may further include at least one of profile information, for example, profile_idc field, constraint_set0_flag to constraint_set3_flag field, and level_idc field if the scalability_type field value indicates spatial scalability or lower layer.

이와 같이 구성된 도 85에서 descriptor_tag 필드는 일 실시예로 8 비트를 할당할 수 있으며, 해당 디스크립터를 유일하게 구분(identify)할 수 있는 값을 표시한다. In FIG. 85 configured as described above, the descriptor_tag field may allocate 8 bits according to an embodiment, and indicates a value capable of uniquely identifying the corresponding descriptor.

상기 descriptor_length 필드는 일 실시예로 8 비트를 할당할 수 있으며, 해당 디스크립터의 길이를 표시한다. The descriptor_length field may allocate 8 bits in one embodiment, and indicates the length of a corresponding descriptor.

상기 scalability_type 필드는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오(Scalable Video) 스트림의 Scalability 종류를 나타낸다. 도 79는 본 발명에 따른 scalability_type 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 도시하고 있다. 도 79에서는 상기 scalability_type 필드 값이 0x1이면 공간 스케일러비티를, 0x2이면 SNR 스케일러비티를, 0x03이면 시간 스케일러비티를, 0xF이면 최하위 계층을 나타내는 것을 일 실시예로 하고 있다. In an embodiment, the scalability_type field may allocate 4 bits, and indicates the type of scalability of the scalable video stream. 79 illustrates an embodiment of values that can be assigned to the scalability_type field and its definition according to the present invention. In FIG. 79, the scalability_type field value is 0x1, the spatial scalability is 0x2, the SNR scalability is 0x03, the time scalability is 0x03, and the lowest layer is 0xF.

상기 layer_id 필드는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림의 계층 정보를 나타내며, scalablity_type 필드와 함께 병행해서 해석되는 것이 바람직하다. 해당 비디오 스트림이 최하위 계층일 경우, 이 값을 0x0으로 할당하며, 상위 계층일수록 높은 값을 갖는다. According to an embodiment, the layer_id field may be allocated 4 bits, represents layer information of the scalable video stream, and may be interpreted in parallel with the scalablity_type field. If the video stream is the lowest layer, this value is assigned to 0x0, and the higher the layer, the higher the value.

상기 base_layer_id 필드는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림이 상위 계층(Enhancement Layer) 스트림일 경우, 해당 스트림이 참조하는 하위 계층의 layer_id 값을 나타낸다. 해당 스트림이 최하위 계층 일 경우, 이 base_layer_id 필드는 무시된다(deprecated). 예를 들어, 해당 스케일러블 비디오 스트림이 제1 상위 계층(Enhancement Layer-1) 스트림일 경우, 제1 상위 계층의 스케일러블 비디오 스트림이 참조하는 하위 계층의 layer_id 값은 최하위 계층의 layer_id 값이 된다(즉, base_layer_id = 0x00). 또 다른 예로, 해당 스케일러블 비디오 스트림이 제2 상위 계층(Enhancement Layer-2) 스트림일 경우, 해당 스트림이 참조하는 하위 계층의 layer_id 값은 제1 상위 계층의 layer_id 값이다(즉, base_layer_id = 0x01). In an embodiment, the base_layer_id field may allocate 4 bits, and when the scalable video stream is an enhancement layer stream, it indicates a layer_id value of the lower layer referred to by the stream. If the stream is the lowest layer, this base_layer_id field is deprecated. For example, when the scalable video stream is the first enhancement layer-1 stream, the layer_id value of the lower layer referred to by the scalable video stream of the first upper layer becomes the layer_id value of the lowest layer ( Ie base_layer_id = 0x00). As another example, when the scalable video stream is a second enhancement layer-2 stream, the layer_id value of the lower layer referred to by the stream is the layer_id value of the first upper layer (ie, base_layer_id = 0x01). .

한편 상기 scalability_type 필드 값이 Temporal(예, 0x3)을 지시하거나 또는 최하위 계층(예, 0xF)을 지시하면 frame_rate_code 필드, frame_rate_num 필드, frame_rate_denom 필드 중 적어도 하나를 더 포함할 수 있다. On the other hand, if the scalability_type field value indicates a Temporal (eg, 0x3) or a lowest layer (eg, 0xF), the scalability_type field value may further include at least one of a frame_rate_code field, a frame_rate_num field, and a frame_rate_denom field.

상기 frame_rate_code는 일 실시예로 4비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림의 프레임 율(frame rate)을 계산하는데 사용된다. 일 예로, 상기 frame_rate_code 필드는 ISO/IEC 13818-2에서 정의한 frame_rate_code 필드 값을 표시할 수 있다. The frame_rate_code may allocate 4 bits in one embodiment, and is used to calculate a frame rate of the scalable video stream. For example, the frame_rate_code field may indicate a value of the frame_rate_code field defined in ISO / IEC 13818-2.

해당 스케일러블 비디오 스트림의 프레임 율은 다음과 같이 계산할 수 있다. 즉, frame_rate = frame_rate_value x (frame_rate_num + 1) / (frame_rate_denom + 1)이다. 여기서 frame_rate_value는 frame_rate_code로부터 추출되는 실제 frame_rate 값이다. 도 80은 본 발명에 따른 frame_rate_code 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다. 예를 들어, 도 80에서 frame_rate_code 필드 값이 1000이면 프레임 율이 60Hz임을 의미한다. The frame rate of the scalable video stream can be calculated as follows. That is, frame_rate = frame_rate_value x (frame_rate_num + 1) / (frame_rate_denom + 1). Here, frame_rate_value is an actual frame_rate value extracted from frame_rate_code. 80 shows an embodiment of values that can be assigned to the frame_rate_code field and its definition according to the present invention. For example, if the frame_rate_code field value is 1000 in FIG. 80, this means that the frame rate is 60 Hz.

상기 frame_rate_num 필드는 일 실시예로 2비트를 할당할 수 있으며, 해당 스케일러블 비디오 스트림의 프레임 율을 계산하는데 사용된다. 하지만, 프레임 율이 상기 frame_rate_code 필드로부터 바로 추출될 경우, 상기 frame_rate_num 필드는 '0'으로 설정한다. The frame_rate_num field may allocate 2 bits in one embodiment, and is used to calculate a frame rate of the scalable video stream. However, when the frame rate is extracted directly from the frame_rate_code field, the frame_rate_num field is set to '0'.

상기 frame_rate_denom 필드는 일 실시예로 5비트를 할당할 수 있으며, 해당 스케일러블 비디오의 프레임 율을 계산하는데 사용된다. 하지만, 프레임 율이 상기 frame_rate_code 필드로부터 바로 추출될 경우, 상기 frame_rate_denom 필드는 '0'으로 설정한다. The frame_rate_denom field may allocate 5 bits in one embodiment, and is used to calculate a frame rate of the scalable video. However, when the frame rate is extracted directly from the frame_rate_code field, the frame_rate_denom field is set to '0'.

한편 상기 scalability_type 필드 값이 Spatial(예, 0x1)을 지시하거나 또는 최하위 계층(예, 0xF)을 지시하면 profile_idc 필드, constraint_set0_flag ~ constraint_set3_flag 필드, level_idc 필드 중 적어도 하나를 더 포함할 수 있다. On the other hand, if the scalability_type field value indicates Spatial (eg, 0x1) or the lowest layer (eg, 0xF), the scalability_type field value may further include at least one of a profile_idc field, a constraint_set0_flag to constraint_set3_flag field, and a level_idc field.

상기 profile_idc 필드는 일 실시예로 8비트를 할당할 수 있으며, 전송되는 스케일러블 비디오 스트림의 프로파일을 나타낸다. 일 예로, 상기 profile_idc 필드는 ISO/IEC 14496-10에서 정의한 profile_idc 필드를 그대로 적용할 수 있다. 도 81은 본 발명에 따른 profile_idc 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다. 예를 들어, profile_idc 필드 값이 66이면 베이스라인(baseline) 프로파일을 의미한다. The profile_idc field may allocate 8 bits in one embodiment, and represents a profile of a scalable video stream transmitted. For example, the profile_idc field may apply the profile_idc field defined in ISO / IEC 14496-10 as it is. 81 shows an embodiment of values that can be assigned to the profile_idc field and its definition according to the present invention. For example, if the profile_idc field value is 66, it means a baseline profile.

상기 constraint_set0_flag ~ constraint_set3_flag 필드는 일 실시예로 각각 1비트를 할당할 수 있으며, 대응하는 해당 프로파일의 제약조건을 만족하고 있는지 여부를 나타낸다. In one embodiment, the constraint_set0_flag to constraint_set3_flag fields may be allocated 1 bit, and indicate whether the constraint of the corresponding corresponding profile is satisfied.

상기 level_idc 필드는 일 실시예로 8비트를 할당할 수 있으며, 전송되는 스케일러블 비디오 스트림의 레벨을 나타낸다. 일 예로, 상기 level_idc 필드는 ISO/IEC 14496-10에서 정의한 level_idc 필드를 그대로 적용할 수 있다. 도 82는 본 발명에 따른 level_idc 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다. 예를 들어, level_idc 필드 값이 11이면 1.1 레벨을 의미한다. The level_idc field may allocate 8 bits in one embodiment, and indicates a level of a scalable video stream transmitted. For example, the level_idc field may apply the level_idc field defined in ISO / IEC 14496-10 as it is. FIG. 82 shows an embodiment of values that can be assigned to the level_idc field and its definition according to the present invention. For example, if the level_idc field value is 11, it means 1.1 level.

상기 도 85에서 보이고 있는 MPH_scalable_video_descriptor()에 할당되는 필드의 순서, 위치, 의미는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 MPH_scalable_video_descriptor()에 할당되는 필드의 순서, 위치, 의미, 추가 할당되는 필드의 수는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The order, position, and meaning of the fields allocated to the MPH_scalable_video_descriptor () shown in FIG. 85 are merely an example for helping understanding of the present invention, and the order, position, meaning, and additional assignment of the fields allocated to the MPH_scalable_video_descriptor () are provided. Since the number of fields can be easily changed by those skilled in the art, the present invention will not be limited to the above embodiment.

도 86은 도 75의 역다중화기(8001)에서 PSI/PSIP 정보 중 PMT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 흐름도로 보이고 있다. 86 is a flowchart illustrating an embodiment of a method for processing scalable video data of each layer using PMT of PSI / PSIP information in the demultiplexer 8001 of FIG. 75.

즉, 가상 채널이 선택되면(S8301), 선택된 가상 채널의 정보를 포함하는 PMT를 수신한다(S8302). 수신된 PMT를 파싱하여 program number 등을 추출한다(S8303). 이어 상기 PMT로부터 stream_type, elementary_PID 정보 등을 추출한다(S8304). That is, if a virtual channel is selected (S8301), a PMT including information on the selected virtual channel is received (S8302). The program PM is extracted by parsing the received PMT (S8303). Subsequently, stream_type, elementary_PID information, etc. are extracted from the PMT (S8304).

그리고 상기 stream_type 필드 값이 0xD2인지를 확인한다(S8305). 일 예로, 상기 stream_type 필드 값이 0xD2이면 그 스트림은 모바일 서비스용 스케일러블 비디오 데이터를 의미한다. 이 경우 PMT의 두 번째 루프에 MPH_scalable_video_descriptor()가 포함되어 전송된다. In operation S8305, it is checked whether the stream_type field value is 0xD2. As an example, if the stream_type field value is 0xD2, the stream means scalable video data for mobile service. In this case, MPH_scalable_video_descriptor () is included in the second loop of the PMT and transmitted.

따라서 상기 S8305에서 상기 stream_type 필드 값이 0xD2라고 판별되면 상기 MPH_scalable_video_descriptor()를 파싱하여(S8306), 상기 MPH_scalable_video_descriptor()로부터 scalability_type, layer_id, base_layer_id 필드, 프레임 율 정보(예, frame_rate_code, frame_rate_num, frame_rate_denom), 프로파일 정보(예, profile_idc, constraint_set0_flag ~ constraint_set3_flag, level_idc) 등을 추출한다(S8307). Therefore, if it is determined in step S8305 that the stream_type field value is 0xD2, the MPH_scalable_video_descriptor () is parsed (S8306), and scalability_type, layer_id, base_layer_id field, frame rate information (eg, frame_rate_code, frame_rate_num, frame_rate_num) from the MPH_scalable_video_descriptor (). Information (eg, profile_idc, constraint_set0_flag to constraint_set3_flag, level_idc) and the like are extracted (S8307).

그리고 상기 layer_id 필드 값이 0x0인지를 확인한다(S8308). 일 예로, 상기 layer_id 필드 값이 0x0이면 해당 비디오 스트림은 최하위 계층의 비디오 스트림을 의미한다. In operation S8308, it is checked whether the layer_id field value is 0x0. As an example, when the layer_id field value is 0x0, the corresponding video stream means a video stream of the lowest layer.

따라서 상기 S8308에서 상기 layer_id 필드 값이 0x0라고 판별되면 상기 최하위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력한다(S8309). 그리고 상기 비디오 디코더(8002)가 상위 계층을 지원하는지를 확인한다(S8310). 만일 상기 S8310에서 상위 계층을 지원한다고 확인되면 S8305로 되돌아가고, 상위 계층을 지원하지 않는다고 판별되면 S8315로 진행한다. 상기 S8315에서는 비디오 복호기(8002)를 통해 최하위 계층의 비디오 스트림에 대해서만 비디오 복호를 수행하여 유저에게 모바일 서비스(MPH service)를 제공한다. Therefore, when it is determined in step S8308 that the layer_id field value is 0x0, scalable video data of the lowest layer is output to the video decoder 8002 (S8309). In operation S8310, it is checked whether the video decoder 8002 supports a higher layer. If it is determined in S8310 that the upper layer is supported, the process returns to S8305. If it is determined that the upper layer is not supported, the process proceeds to S8315. In S8315, the video decoder 8002 performs video decoding only on the video stream of the lowest layer to provide a mobile service (MPH service) to the user.

한편 상기 S8308에서 상기 layer_id 필드 값이 0x0이 아니라고 판별되면 해당 비디오 스트림이 상위 계층의 비디오 스트림을 의미하며, 이 경우 S8311로 진행한다. S8311에서는 비디오 디코더(8002)에서 해당 상위 계층의 스케일러블 비디오 데이터를 지원하는지를 확인한다. 만일 해당 상위 계층을 지원한다고 판별되면 해당 상위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력하고 S8304로 되돌아간다(S8312). 예를 들어, 상기 S8311에서 수신 시스템이 제1 상위 계층을 지원한다고 판별되면, S8312에서 제1 상위 계층의 스케일러블 비디오 데이터는 비디오 디코더(8002)로 출력된다. On the other hand, if it is determined in S8308 that the layer_id field value is not 0x0, the corresponding video stream means a video stream of a higher layer. In this case, the process proceeds to S8311. In S8311, the video decoder 8002 checks whether scalable video data of a corresponding upper layer is supported. If it is determined that the upper layer is supported, the scalable video data of the upper layer is output to the video decoder 8002 and the process returns to S8304 (S8312). For example, if it is determined in S8311 that the receiving system supports the first higher layer, scalable video data of the first higher layer is output to the video decoder 8002 in S8312.

만일 S8311에서 해당 상위 계층을 지원하지 않는다고 판별되면 해당 상위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력하지 않고 버린다(Discard packets with this PID). 이때 해당 상위 계층보다 더 높은 상위 계층의 스케일러블 비디오 데이터도 비디오 디코더(8002)로 출력하지 않고 버린다(Discard upper enhanced layer packets). 예를 들어, 상기 S8311에서 수신 시스템이 제1 상위 계층을 지원하지 않는다고 판별되면 S8313에서는 제1, 제2 상위 계층의 스케일러블 비디오 데이터를 비디오 디코더(8002)로 출력하지 않고 버린다. If it is determined in S8311 that the upper layer is not supported, the scalable video data of the upper layer is discarded without being output to the video decoder 8002 (Discard packets with this PID). In this case, scalable video data of a higher layer higher than the corresponding upper layer is also discarded without being output to the video decoder 8002 (Discard upper enhanced layer packets). For example, if it is determined in S8311 that the receiving system does not support the first upper layer, in S8313 the scalable video data of the first and second higher layers is discarded without being output to the video decoder 8002.

한편 상기 S8305에서 stream_type 필드 값이 0xD2가 아니면 즉, 해당 스트림이 모바일 서비스용 스케일러블 비디오 데이터가 아니면 S8314로 진행한다. S8314에서는 입력되는 스트림을 해당 복호기로 출력한다. 이때 다른 스트림이 남아 있으면 S8304로 되돌아가고, 없으면 S8315로 진행한다. On the other hand, if the stream_type field value is not 0xD2 in S8305, that is, the corresponding stream is not scalable video data for mobile service, the process proceeds to S8314. In S8314, the input stream is output to the corresponding decoder. At this time, if another stream remains, the flow returns to S8304, and if not, the flow goes to S8315.

일 예로, 비디오 복호기(8002)가 제1 상위 계층까지 지원 가능하다면, 상기 S8315에서는 최하위 계층과 제1 상위 계층의 스케일러블 비디오 데이터에 대해 비디오 복호를 수행하여 유저에게 모바일 서비스를 제공한다. For example, if the video decoder 8002 can support the first upper layer, the S8315 performs video decoding on scalable video data of the lowest layer and the first upper layer to provide a mobile service to the user.

도 87은 본 발명의 또 다른 실시예에 따른 수신 시스템의 구성 블록도를 보 이고 있다. 87 is a block diagram illustrating a receiving system according to another embodiment of the present invention.

도 87의 수신 시스템은 어플리케이션 매니저(8500), 튜너(8501), 복조부(8502), 역다중화기(8503), 프로그램 테이블 버퍼(8504), 프로그램 테이블 복호기(8505), 프로그램 테이블 저장부(8506), A/V 복호기(8507), 데이터 핸들러(data handler)(8508), 미들웨어 엔진(8509), A/V 후처리기(post processor)(8510), 및 유저 인터페이스(8511)를 포함할 수 있다. 상기 어플리케이션 매니저(8500)는 채널 매니저, 및 서비스 매니저를 포함할 수 있다. The receiving system of FIG. 87 includes an application manager 8500, a tuner 8501, a demodulator 8502, a demultiplexer 8503, a program table buffer 8504, a program table decoder 8405, a program table storage 8006. A / V decoder 8507, data handler 8908, middleware engine 8509, A / V post processor 8510, and user interface 8511. The application manager 8500 may include a channel manager and a service manager.

도 87에서 데이터의 흐름은 실선으로 표시하고, 제어(control)의 흐름은 점선으로 표시하고 있다. 또한 도 87의 역다중화기(8503)는 도 73 내지 도 86에서 언급하는 역다중화기(8001)와 동일한 구조, 동일한 동작을 수행하는 것을 일 실시예로 한다. 또한 비디오 복호기(8002)는 A/V 복호기(8507)에 포함된다. In FIG. 87, the flow of data is indicated by a solid line, and the flow of control is indicated by a dotted line. In addition, the demultiplexer 8503 of FIG. 87 performs the same structure and the same operation as the demultiplexer 8001 described with reference to FIGS. 73 to 86. The video decoder 8002 is also included in the A / V decoder 8507.

상기 튜너(8501)는 안테나, 케이블, 위성 중 어느 하나를 통해 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조부(8502)로 출력한다. 이때 상기 튜너(8501)는 어플리케이션 매니저(8500) 내 채널 매니저의 제어를 받으며, 또한 튜닝되는 채널의 방송 신호의 결과(result)와 강도(strength)를 상기 채널 매니저에 보고한다. 상기 특정 채널의 주파수로 수신되는 데이터는 메인 서비스 데이터, 모바일 서비스 데이터, 상기 메인 서비스 데이터와 모바일 서비스 데이터의 복호(decoding)를 위한 테이블 데이터 등이 있다. The tuner 8501 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 demodulation unit 8802. At this time, the tuner 8501 is controlled by the channel manager in the application manager 8500, and also reports the result and strength of the broadcast signal of the channel being tuned to the channel manager. The data received at the frequency of the specific channel includes main service data, mobile service data, table data for decoding the main service data and mobile service data, and the like.

상기 복조부(8502)는 상기 튜너(8501)에서 출력되는 신호에 대해 VSB 복조, 채널 등화 등을 수행하고 메인 서비스 데이터와 모바일 서비스 데이터로 구분하여 출력한다. 상기 복조부(8502)는 전술한 도 36이 그 일 예가 될 것이다. 그러나 이는 일실시예들 일 뿐 본 발명의 권리범위는 이에 한정되지 않는다. The demodulator 8502 performs VSB demodulation, channel equalization, and the like, on the signal output from the tuner 8501, and outputs the main service data and the mobile service data. 36 is an example of the demodulator 8502. However, this is only one embodiment and the scope of the present invention is not limited thereto.

본 발명에서는 상기 복조부(8502)에서 출력되는 모바일 서비스 데이터만 역다중화기(8503)로 입력되는 것을 일 실시예로 설명한다. In the present invention, only the mobile service data output from the demodulator 8502 is input to the demultiplexer 8503 in one embodiment.

상기 역다중화기(8503)는 어플리케이션 매니저(8500)의 제어에 의해 입력되는 모바일 서비스 데이터로부터 섹션 형태의 프로그램 테이블 정보 예를 들어, PSI/PSIP 정보를 분리하여 프로그램 테이블 버퍼(8504)로 출력하고, 스트림 패킷 형태의 A/V/D 스트림을 분리하여 A/V 복호기(8507) 및/또는 데이터 핸들러(8508)로 각각 출력한다. 상기 프로그램 테이블 버퍼(8504)는 섹션 형태의 프로그램 테이블 정보를 일시 저장한 후 프로그램 테이블 복호기(8505)로 출력한다. The demultiplexer 8503 separates program table information, for example, PSI / PSIP information, in the form of sections from the mobile service data input by the control of the application manager 8500, and outputs the PSI / PSIP information to the program table buffer 8504 and streams. A / V / D streams in packet form are separated and output to the A / V decoder 8507 and / or data handler 8908, respectively. The program table buffer 8504 temporarily stores program table information in a section form and outputs the program table information to the program table decoder 8405.

이때, 상기 역다중화기(8503)로 입력되는 모바일 서비스 데이터는 RS 프레임 데이터 형태이다. 즉, 상기 복조부(8502)에서 블록 복호, RS 프레임 복호, 데이터 디랜더마이징 과정이 수행되면 상기 RS 프레임 데이터는 일 예로, N(row) * 187(column) 바이트의 크기를 갖는다. In this case, the mobile service data input to the demultiplexer 8503 is in the form of RS frame data. That is, when the block decoding, the RS frame decoding, and the data de-randomizing process are performed in the demodulator 8802, the RS frame data has, for example, a size of N (row) * 187 (column) bytes.

상기 RS 프레임은 각 계층별로 서로 다른 PID가 할당된 스케일러블 비디오 데이터를 포함할 수 있다. The RS frame may include scalable video data to which different PIDs are allocated for each layer.

상기 역다중화기(8503)는 비디오 스트림 패킷, 오디오 스트림 패킷, 데이터 스트림 패킷을 모두 입력받을 수 있으나, 본 발명에서는 비디오 스트림 패킷을 입력받아 처리하는 것을 일 실시예로 설명하고 있다. 상기 오디오 스트림 패킷, 데이터 스트림 패킷은 상기 비디오 스트림 패킷의 처리 과정을 참조하면 되므로 상세 설명을 생략한다. Although the demultiplexer 8503 can receive both a video stream packet, an audio stream packet, and a data stream packet, in the present invention, receiving and processing a video stream packet is described as an embodiment. The audio stream packet and the data stream packet may be referred to the processing procedure of the video stream packet, and thus detailed description thereof will be omitted.

즉, 상기 역다중화기(8503)는 입력되는 RS 프레임 내 비디오 스트림 패킷의 PID와 어플리케이션 매니저(8500)에서 제공하는 프로그램 테이블 정보 예를 들어, PSI/PSIP 정보를 참조하여 입력되는 비디오 스트림 패킷이 어느 계층의 패킷인지를 구분한다. 그리고 상기 역다중화기(8503)는 구분된 최하위 계층의 비디오 스트림 패킷을 A/V 복호기(8507)로 출력된다. 하지만 상위 계층의 비디오 스트림 패킷은 A/V 복호기(8507)로 출력하지 않고 버리거나, 또는 A/V 복호기(8507)로 출력한다. That is, the demultiplexer 8503 may include a PID of a video stream packet in an RS frame and a program table information provided by the application manager 8500, for example, a PSI / PSIP information. Distinguish whether the packet is The demultiplexer 8503 outputs the divided lowermost video stream packets to the A / V decoder 8507. However, the video stream packet of the upper layer is discarded without being output to the A / V decoder 8507 or is output to the A / V decoder 8507.

상기 상위 계층의 비디오 스트림 패킷을 A/V 복호기(8507)로 출력하거나, 또는 A/V 복호기(8507)로 출력하지 않고 버리는 판단 기준은 여러 가지가 있을 수 있다. 본 발명에서는 A/V 복호기(8507)의 비디오 복호(decoding) 능력에 따라 판단하는 것을 일 실시예로 한다. There may be various criteria for determining whether the upper stream video stream packet is outputted to the A / V decoder 8507 or discarded without being output to the A / V decoder 8507. According to the embodiment of the present invention, determination is made according to the video decoding capability of the A / V decoder 8507.

즉, 상기 A/V 복호기(8507)에서 상위 계층의 비디오 스트림 패킷을 처리할 수 있으면, 상기 역다중화기(8503)에서 구분된 상위 계층의 비디오 스트림 패킷은 A/V 복호기(8507)로 출력된다. 예를 들어, 상기 A/V 복호기(8507)에서 제1 상위 계층의 비디오 스트림 패킷까지 처리할 수 있으면, 상기 역다중화기(8503)에서 구분된 최하위 계층, 및 제1 상위 계층의 비디오 스트림 패킷은 A/V 복호기(8507)로 출력되지만 제2 상위 계층의 비디오 스트림 패킷은 A/V 복호기(8507)로 출력되지 않고 버려진다. That is, if the A / V decoder 8507 can process the video stream packet of the upper layer, the video stream packet of the higher layer classified by the demultiplexer 8503 is output to the A / V decoder 8507. For example, if the A / V decoder 8507 can process video stream packets of a first upper layer, the lowest layer divided by the demultiplexer 8503 and the video stream packets of the first upper layer are A. Although output to the / V decoder 8507, video stream packets of the second higher layer are discarded without being output to the A / V decoder 8507.

상기 A/V 복호기(8507)는 상기 역다중화기(8503)에서 입력되는 비디오 스트림 패킷을 해당 비디오 복호 알고리즘에 따라 복호(decoding)하여 A/V 후처리 기(8510)로 출력한다. 일 예로, 비디오 복호 알고리즘은 MPEG 2 video 복호 알고리즘, MPEG 4 video 복호 알고리즘, H.264 복호 알고리즘, SVC 복호 알고리즘, VC-1 복호 알고리즘 중 적어도 하나를 적용할 수 있다. The A / V decoder 8507 decodes the video stream packet input from the demultiplexer 8503 according to the video decoding algorithm and outputs the decoded video stream packet to the A / V postprocessor 8510. For example, the video decoding algorithm may apply at least one of an MPEG 2 video decoding algorithm, an MPEG 4 video decoding algorithm, an H.264 decoding algorithm, an SVC decoding algorithm, and a VC-1 decoding algorithm.

이때 상기 역다중화기(8503)에서 입력되는 스트림이 스케일러블 비디오 데이터인지, 어느 계층의 스케일러블 비디오 데이터인지 등을 구분하기 위해 전송 시스템에서는 PSI/PSIP 정보 중 VCT 내에 MPH_scalable_service_location_descriptor를 포함하여 전송하거나, PMT 내에 MPH_scalable_video_descriptor를 포함하여 전송한다. At this time, the transmission system includes MPH_scalable_service_location_descriptor in the VCT of the PSI / PSIP information to distinguish whether the stream inputted from the demultiplexer 8503 is scalable video data, which layer of scalable video data, or within the PMT. Transmit with MPH_scalable_video_descriptor.

상기 PSI/PSIP 정보는 프로그램 테이블 복호기(8505)에서 복호되어 프로그램 테이블 저장부(8506)에 데이터베이스화되거나, 어플리케이션 매니저(8500)로 출력된다. 즉, 상기 프로그램 테이블 복호기(8505)는 PSI/PSIP 데이터 내 table id와 section length를 이용해서 테이블들을 구분한 후, 구분된 테이블들의 섹션을 파싱하고 파싱 결과를 프로그램 테이블 저장부(8506)에 데이터베이스화한다. 일 예로, 상기 프로그램 테이블 복호기(8505)는 동일한 테이블 식별자(table_id)를 갖는 섹션들을 모아 테이블을 구성하여 파싱하고, 파싱 결과를 프로그램 테이블 저장부(8506)에 데이터베이스화한다. The PSI / PSIP information is decoded by the program table decoder 8405 and is databased in the program table storage 8506 or output to the application manager 8500. That is, the program table decoder 8405 divides the tables using the table id and the section length in the PSI / PSIP data, parses the sections of the divided tables, and stores the parsing results in the program table storage 8506. do. For example, the program table decoder 8405 collects sections having the same table identifier (table_id), constructs a table, parses the result, and databases the parsing result in the program table storage 8506.

이때, 상기 VCT 내 MPH_scalable_service_location_descriptor를 파싱하여 얻은 정보 및/또는 PMT 내 MPH_scalable_video_descriptor를 파싱하여 얻은 정보는 어플리케이션 매니저(8500)로 출력되고, 상기 어플리케이션 매니저(8500)는 이 정보에 따라 역다중화기(8503)를 제어한다. At this time, the information obtained by parsing the MPH_scalable_service_location_descriptor in the VCT and / or the information obtained by parsing the MPH_scalable_video_descriptor in the PMT is output to the application manager 8500, and the application manager 8500 controls the demultiplexer 8503 according to the information. do.

예를 들어, VCT 내의 MPH_scalable_service_location_descriptor를 파싱하여 역다중화기(8503)로 입력되는 해당 비디오 스트림 패킷이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)인지 확인한다. 만일 모바일 서비스용 스케일러블 비디오로 확인되면 해당 비디오 스트림 패킷이 최하위 계층의 스케일러블 비디오 데이터인지를 확인하여, 맞으면 해당 비디오 스트림 패킷을 A/V 복호기(8507)로 전달한다. 그런데 해당 비디오 스트림 패킷이 모바일 서비스용 스케일러블 비디오(MPH Scalable Video)로 확인되었으나, 상위 계층의 스케일러블 비디오 데이터라면 A/V 복호기(8507)의 비디오 복호 가능 여부에 따라 A/V 복호기(8507)로 출력하거나, 출력하지 않고 버린다. For example, the MPH_scalable_service_location_descriptor in the VCT is parsed to determine whether the corresponding video stream packet input to the demultiplexer 8503 is a scalable video for mobile service. If it is confirmed as scalable video for mobile service, it is determined whether the corresponding video stream packet is scalable video data of a lower layer, and if it is correct, the corresponding video stream packet is transmitted to the A / V decoder 8507. If the corresponding video stream packet is identified as MPH scalable video for mobile service, but is scalable video data of a higher layer, the A / V decoder 8507 depends on whether the A / V decoder 8507 can decode the video. Output to or discard without output.

상기 VCT 내 MPH_scalable_service_location_descriptor()에 포함되는 정보, PMT 내 MPH_scalable_video_descriptor()에 포함되는 정보, 및 이 정보들을 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 과정은 도 74 내지 도 86을 참조하면 되므로 여기서는 상세 설명을 생략하기로 한다. The process of processing scalable video data of each layer by using the information included in the MPH_scalable_service_location_descriptor () in the VCT, the information included in the MPH_scalable_video_descriptor () in the PMT, and the information will be described with reference to FIGS. 74 to 86. The description will be omitted.

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

상기 어플리케이션 매니저(8500)는 TV 시청자의 키 입력을 받아 TV 화면 상의 그래픽 유저 인터페이스(GUI)로 시청자 요구에 응한다. 또한 TV 전체의 GUI 제어, 유저 요구 및 TV 시스템 상태를 메모리(예, NVRAM or Flash)에 저장 및 복원한 다. 그리고 채널 매니저를 제어하여 채널 관련 운영(채널 MAP 관리 및 프로그램 테이블 복호기 운영)을 시킨다. The application manager 8500 receives a key input from a TV viewer and responds to viewer requests using a graphical user interface (GUI) on the TV screen. It also saves and restores the GUI control, user requirements and TV system state of the entire TV in memory (eg NVRAM or Flash). The channel manager is controlled to perform channel related operations (channel MAP management and program table decoder operation).

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

지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. 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은 본 발명에 따른 모바일 서비스 데이터의 송신과 수신을 위한 MPH 프레임 구조의 일 예를 보인 도면1 illustrates an example of an MPH frame structure for transmission and reception of 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는 본 발명에 따른 MPH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 순서의 일 예를 보인 도면9 illustrates an example of a data group order allocated to one subframe among five subframes constituting an MPH frame according to the present invention.

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

도 11은 본 발명에 따른 하나의 MPH 프레임에 세개의 퍼레이드를 할당할 때의 일 예를 보인 도면11 illustrates an example of allocating three parades to one MPH 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은 본 발명의 일 실시예에 따른 전송 시스템의 개략적인 구성 블록도13 is a schematic structural block diagram of a transmission system according to an embodiment of the present invention;

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

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

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

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

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

도 19의 (a),(b)는 본 발명에 따른 RS 프레임 모드 값에 따라 하나 또는 두개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션이 각 데이터 그룹에 할당되는 과정을 보인 도면19 (a) and (b) are diagrams illustrating 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 allocated to each data group.

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

도 21의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면21A to 21D illustrate a row mixing process in units of a super frame according to an embodiment of the present invention.

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

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

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

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

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

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

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

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

도 30은 도 16의 시그널링 부호기의 일 실시예를 보인 구성 블록도30 is a block diagram illustrating an embodiment of the signaling encoder of FIG. 16.

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

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

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

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

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

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

도 37은 본 발명에 따른 기지 데이터가 주기적으로 일반 데이터에 삽입되는 예를 보인 데이터 구조도37 is a data structure diagram showing an example in which known data is periodically inserted into general data according to the present invention.

도 38은 본 발명에 따른 복조기의 일 실시예를 보인 구성 블록도38 is a block diagram showing an embodiment of a demodulator according to the present invention;

도 39는 도 38의 복조기의 일 실시예를 보인 상세 블록도39 is a detailed block diagram illustrating an embodiment of the demodulator of FIG. 38.

도 40은 본 발명에 따른 주파수 옵셋 추정기 의 일 실시예를 보인 블록도40 is a block diagram illustrating an embodiment of a frequency offset estimator in accordance with the present invention.

도 41은 본 발명에 따른 기지 데이터 검출 및 초기 주파수 옵셋 추정기 의 일 실시예를 보인 구성 블록도41 is a block diagram illustrating an embodiment of a known data detection and initial frequency offset estimator in accordance with the present invention.

도 42는 도 41의 부분 상관기의 일 실시예를 보인 구성 블록도FIG. 42 is a block diagram illustrating an embodiment of the partial correlator of FIG. 41. FIG.

도 43은 본 발명에 따른 따른 타이밍 복구부의 일 실시예를 보인 도면43 is a view showing an embodiment of a timing recovery unit according to the present invention;

도 44의 (a),(b)는 기지 데이터와 수신된 신호의 상관값을 구하여 타이밍 에러를 검출하는 일 실시예를 보인 도면44A and 44B illustrate an embodiment of detecting a timing error by obtaining a correlation value between known data and a received signal.

도 45의 (a),(b)는 기지 데이터와 수신된 신호의 상관값을 구하여 타이밍 에러를 검출하는 다른 실시예를 보인 도면45A and 45B illustrate another embodiment of detecting a timing error by obtaining a correlation value between known data and a received signal.

도 46은 타이밍 에러가 있을 경우 상관값을 예시한 도면46 illustrates a correlation value when there is a timing error.

도 47은 시간 영역에서 타이밍 에러를 검출하는 타이밍 에러 검출기의 일 실시예를 보인 상세 블록도Figure 47 is a detailed block diagram illustrating one embodiment of a timing error detector for detecting timing errors in the time domain.

도 48은 타이밍 주파수 에러를 검출하는 타이밍 에러 검출기의 일 실시예를 보인 상세 블록도48 is a detailed block diagram illustrating one embodiment of a timing error detector for detecting timing frequency errors.

도 49는 타이밍 주파수 에러를 검출하는 타이밍 에러 검출기의 다른 실시예를 보인 상세 블록도FIG. 49 is a detailed block diagram illustrating another embodiment of a timing error detector for detecting timing frequency errors. FIG.

도 50은 본 발명에 따른 DC 제거기의 일 실시예를 보인 구성 블록도50 is a block diagram showing an embodiment of a DC remover according to the present invention;

도 51은 도 50의 DC 추정기 의 입력 샘플 데이터의 이동 예를 보인 도면FIG. 51 is a diagram illustrating an example of moving input sample data of the DC estimator of FIG. 50; FIG.

도 52는 본 발명에 따른 DC 제거기의 다른 실시예를 보인 구성 블록도52 is a block diagram showing another embodiment of the DC eliminator according to the present invention;

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

도 54는 도 53의 잔류 반송파 위상 에러 추정부의 일 실시예를 보인 구성 블록도FIG. 54 is a block diagram illustrating an embodiment of a residual carrier phase error estimator of FIG. 53;

도 55는 도 54의 위상 에러 검출기의 일 실시예를 보인 구성 블록도55 is a block diagram illustrating an embodiment of the phase error detector of FIG. 54.

도 56은 도 54의 위상 보상기의 일 실시예를 보인 구성 블록도56 is a block diagram illustrating an embodiment of the phase compensator of FIG. 54.

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

도 58은 본 발명에 따른 채널 등화기의 또 다른 실시예를 보인 구성 블록도58 is a block diagram showing another embodiment of a channel equalizer according to the present invention;

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

도 60은 본 발명에 따른 CIR 추정기 의 일 실시예를 보인 상세 블록도60 is a detailed block diagram illustrating one embodiment of a CIR estimator in accordance with the present invention.

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

도 62는 도 61의 피드백 디포맷터의 일 실시예를 보인 구성 블록도62 is a block diagram illustrating an embodiment of the feedback formatter of FIG. 61.

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

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

도 66은 본 발명의 일 실시예에 따른 수신 시스템의 전체 구성 블록도 66 is a block diagram showing the overall configuration of a receiving system according to an embodiment of the present invention.

도 67은 본 발명에 따른 가상 채널 테이블에 대한 신택스 구조의 일 실시예 를 보인 도면 67 illustrates an embodiment of a syntax structure for a virtual channel table according to the present invention

도 68은 본 발명에 따른 service_type 필드의 일 실시예를 보인 도면 68 is a view showing an embodiment of a service_type field according to the present invention.

도 69는 본 발명에 따른 서비스 로케이션 디스크립터에 대한 신택스 구조의 일 실시예를 보인 도면 69 illustrates an embodiment of a syntax structure for a service location descriptor according to the present invention.

도 70은 본 발명에 따른 stream_type 필드에 할당될 수 있는 값들과 그 정의의 예들을 보인 도면 70 shows examples of values that can be assigned to a stream_type field and definitions thereof according to the present invention.

도 71은 본 발명에 따른 이벤트 정보 테이블에 대한 신택스 구조의 일 실시예를 보인 도면 71 illustrates an embodiment of a syntax structure for an event information table according to the present invention.

도 72는 본 발명의 다른 실시예에 따른 수신 시스템의 전체 구성 블록도 72 is a block diagram showing the overall configuration of a receiving system according to another embodiment of the present invention.

도 73은 비디오 스트림의 연속 동작과 관련된 시간 스케일러빌리티에 대한 개념도73 is a conceptual diagram for temporal scalability related to continuous operation of a video stream.

도 74는 본 발명에 따른 스케일러블 비디오의 각 계층 데이터를 전송하는 방법의 일 실시예를 보인 도면74 is a view showing an embodiment of a method of transmitting respective layer data of scalable video according to the present invention

도 75는 본 발명에 따른 각 계층별로 서로 다른 PID가 할당되어 전송되는 스케일러블 비디오 데이터를 수신하여 처리하기 위한 수신 시스템의 개념도75 is a conceptual diagram of a reception system for receiving and processing scalable video data in which different PIDs are allocated and transmitted for each layer according to the present invention.

도 76은 본 발명에 따른 역다중화기에서 프로그램 테이블 정보 중 VCT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 블록도FIG. 76 is a block diagram illustrating an embodiment of a method for processing scalable video data of each layer using a VCT among program table information in a demultiplexer according to the present invention; FIG.

도 77은 본 발명에 따른 MPH_scalable_service_location_descriptor의 비트스트림 신택스 구조에 대한 일 실시예를 보인 도면 77 is a view showing an embodiment of a bitstream syntax structure of MPH_scalable_service_location_descriptor according to the present invention

도 78은 본 발명에 따른 stream_type 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보인 도면78 is a view showing an embodiment of values that can be assigned to a stream_type field and its definition according to the present invention.

도 79는 본 발명에 따른 scalability_type 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보인 도면79 illustrates an embodiment of values that can be assigned to a scalability_type field and its definition according to the present invention.

도 80은 본 발명에 따른 frame_rate_code 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보인 도면80 illustrates an embodiment of values that can be assigned to a frame_rate_code field and its definition according to the present invention.

도 81은 본 발명에 따른 profile_idc 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보이고 있다.81 shows an embodiment of values that can be assigned to the profile_idc field and its definition according to the present invention.

도 82는 본 발명에 따른 level_idc 필드에 할당될 수 있는 값들 및 그 정의의 실시예를 보인 도면 82 illustrates an embodiment of values that can be assigned to a level_idc field and its definition according to the present invention.

도 83은 본 발명에 따른 역다중화기에서 프로그램 테이블 정보 중 VCT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 흐름도83 is a flowchart illustrating an embodiment of a method of processing scalable video data of each layer using a VCT among program table information in a demultiplexer according to the present invention.

도 84는 본 발명에 따른 역다중화기에서 프로그램 테이블 정보 중 PMT를 이용하여 각 계층의 스케일러블 비디오 데이터를 처리하는 방법의 일 실시예를 블록도84 is a block diagram showing an embodiment of a method for processing scalable video data of each layer using PMT among program table information in a demultiplexer according to the present invention.

도 85는 본 발명에 따른 MPH_scalable_video_descriptor의 비트스트림 신택스 구조에 대한 일 실시예를 보인 도면85 is a view showing an embodiment of a bitstream syntax structure of MPH_scalable_video_descriptor according to the present invention

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

* 도면의 주요 부분에 대한 부호의 설명** Explanation of symbols for the main parts of the drawings *

8501 : 튜너 8502 : 복조부8501: Tuner 8502: Demodulator

8503 : 역다중화기 8504 : 프로그램 테이블 버퍼8503: demultiplexer 8504: program table buffer

8505 : 프로그램 테이블 복호기 8506 : 프로그램 테이블 저장부8505: program table decoder 8506: program table storage unit

8507 : A/V 복호기 8508 : 데이터 핸들러8507: A / V Decoder 8508: Data Handler

8509 : 미들웨어 엔진 8510 : A/V 후처리기8509 Middleware Engine 8510 A / V Postprocessor

8511 : 유저 인터페이스 8500 : 어플리케이션 매니저8511: user interface 8500: application manager

Claims (14)

기본 계층과 적어도 하나의 상위 계층으로 구성되며, 각 계층마다 서로 다른 식별자를 갖는 모바일 서비스를 위한 스케일러블 비디오 스트림을 포함하는 방송 신호를 수신하는 신호 수신부;A signal receiver configured to include a base layer and at least one upper layer and to receive a broadcast signal including a scalable video stream for a mobile service having a different identifier for each layer; 상기 수신된 방송 신호 중 각 계층의 스케일러블 비디오 스트림을 복조하는 복조부;A demodulator for demodulating a scalable video stream of each layer among the received broadcast signals; 프로그램 테이블 정보를 참조하여 상기 복조된 기본 계층의 비디오 스트림을 구분하여 출력하고, 기 설정된 조건에 따라 적어도 하나의 상위 계층의 비디오 스트림을 구분하여 출력하는 역다중화기; 및 A demultiplexer for dividing and outputting the video stream of the demodulated base layer with reference to program table information, and for dividing and outputting the video stream of at least one upper layer according to a preset condition; And 상기 역다중화기에서 구분되어 출력되는 적어도 하나의 계층의 비디오 스트림을 비디오 복호하는 복호기를 포함하는 것을 특징으로 하는 수신 시스템.And a decoder that decodes the video stream of at least one layer that is divided and output from the demultiplexer. 제 1 항에 있어서, 상기 복조부는The method of claim 1, wherein the demodulation unit 상기 신호 수신부로 수신되는 방송 신호로부터 송/수신측의 약속에 의해 알고 있는 기지 데이터를 검출하여 각 계층의 스케일러블 비디오 스트림의 복조에 이용하는 것을 특징으로 하는 수신 시스템.And receiving known data known by a promise of a transmitting / receiving side from the broadcast signal received by the signal receiving unit and using the same for demodulation of a scalable video stream of each layer. 제 1 항에 있어서, 상기 복조부는 The method of claim 1, wherein the demodulation unit 상기 신호 수신부로 수신되는 방송 신호 중 각 계층의 스케일러블 비디오 스 트림을 입력받아 캐리어 복구 및 타이밍 복구를 수행하는 복조기;A demodulator configured to receive a scalable video stream of each layer among the broadcast signals received by the signal receiver and perform carrier recovery and timing recovery; 상기 복조기에서 출력되는 각 계층의 스케일러블 비디오 스트림을 채널 등화하는 등화기;An equalizer for channel equalizing the scalable video stream of each layer output from the demodulator; 상기 등화기에서 등화된 각 계층의 스케일러블 비디오 스트림에 대해 블록 단위로 터보 복호를 수행하는 복호기; 및 A decoder that performs turbo decoding on a block-by-block basis for the scalable video stream of each layer equalized by the equalizer; And 상기 복호기에서 복호된 각 계층의 스케일러블 비디오 스트림에 발생된 에러를 정정하는 에러 정정부를 포함하는 것을 특징으로 하는 수신 시스템.And an error correction unit that corrects an error generated in the scalable video stream of each layer decoded by the decoder. 제 1 항에 있어서, 상기 역다중화기는The method of claim 1, wherein the demultiplexer 상기 프로그램 테이블 정보 중 가상 채널 테이블(VCT)에 포함된 정보를 참조하여 입력되는 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 확인하고, 확인된 각 비디오 스트림의 식별자를 참조하여 기본 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력하는 것을 특징으로 하는 수신 시스템.It is determined whether the input video stream is a scalable video stream for mobile service by referring to the information included in the virtual channel table (VCT) among the program table information, and the video stream of the base layer by referring to the identifier of each identified video stream. And output the video decoding for video decoding. 제 4 항에 있어서, 상기 역다중화기는 The method of claim 4, wherein the demultiplexer 비디오 복호의 가능 여부에 따라 적어도 하나의 상위 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력하는 것을 특징으로 하는 수신 시스템.And a video stream of at least one upper layer is classified according to whether video decoding is possible and then output for video decoding. 제 4 항에 있어서, 상기 VCT는 The method of claim 4, wherein the VCT is 입력된 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 식별할 수 있는 정보, 해당 비디오 스트림의 계층 정보를 적어도 포함하는 것을 특징으로 하는 수신 시스템.Receiving system, characterized in that it comprises at least information that can identify whether the input video stream is a scalable video stream for mobile services, the layer information of the video stream. 제 1 항에 있어서, 상기 역다중화기는The method of claim 1, wherein the demultiplexer 상기 프로그램 테이블 정보 중 프로그램 맵 테이블(PMT)에 포함된 정보를 참조하여 입력되는 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 확인하고, 확인된 각 비디오 스트림의 식별자를 참조하여 기본 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력하는 것을 특징으로 하는 수신 시스템.It is determined whether the input video stream is a scalable video stream for mobile service by referring to the information included in the program map table (PMT) among the program table information, and the video stream of the base layer by referring to the identifier of each identified video stream. And output the video decoding for video decoding. 제 7 항에 있어서, 상기 역다중화기는 The method of claim 7, wherein the demultiplexer 비디오 복호의 가능 여부에 따라 적어도 하나의 상위 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력하는 것을 특징으로 하는 수신 시스템.And a video stream of at least one upper layer is classified according to whether video decoding is possible and then output for video decoding. 제 7 항에 있어서, 상기 PMT는 The method of claim 7, wherein the PMT is 입력된 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 식별할 수 있는 정보, 해당 비디오 스트림의 계층 정보를 적어도 포함하는 것을 특징으로 하는 수신 시스템.Receiving system, characterized in that it comprises at least information that can identify whether the input video stream is a scalable video stream for mobile services, the layer information of the video stream. 기본 계층과 적어도 하나의 상위 계층으로 구성되며, 각 계층마다 서로 다른 식별자를 갖는 모바일 서비스를 위한 스케일러블 비디오 스트림을 포함하는 방송 신호를 수신하는 단계;Receiving a broadcast signal comprising a base layer and at least one upper layer and including a scalable video stream for a mobile service having a different identifier for each layer; 상기 수신된 방송 신호 중 각 계층의 스케일러블 비디오 스트림을 복조하는 단계;Demodulating a scalable video stream of each layer among the received broadcast signals; 프로그램 테이블 정보를 참조하여 상기 복조된 기본 계층의 비디오 스트림을 구분하여 출력하고, 기 설정된 조건에 따라 적어도 하나의 상위 계층의 비디오 스트림을 구분하여 출력하는 단계; 및 Classifying and outputting video streams of the demodulated base layer with reference to program table information, and classifying and outputting video streams of at least one upper layer according to preset conditions; And 상기 구분되어 출력되는 적어도 하나의 계층의 비디오 스트림을 비디오 복호하는 단계를 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.And video decoding the video streams of the at least one layer outputted separately. 제 10 항에 있어서, 상기 복조 단계는The method of claim 10, wherein the demodulation step 상기 수신되는 방송 신호로부터 송/수신측의 약속에 의해 알고 있는 기지 데이터를 검출하여 각 계층의 스케일러블 비디오 스트림의 복조에 이용하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.And detecting known data from the received broadcast signal by a promise of a transmitting / receiving side and demodulating the scalable video stream of each layer. 제 10 항에 있어서, 상기 복조 단계는The method of claim 10, wherein the demodulation step 상기 수신되는 방송 신호 중 각 계층의 스케일러블 비디오 스트림을 입력받아 캐리어 복구 및 타이밍 복구를 수행하는 단계;Receiving a scalable video stream of each layer among the received broadcast signals and performing carrier recovery and timing recovery; 상기 타이밍 및 캐리어 복구된 각 계층의 스케일러블 비디오 스트림을 채널 등화하는 단계;Channel equalizing the timing and carrier recovered scalable video streams of each layer; 상기 등화된 각 계층의 스케일러블 비디오 스트림에 대해 블록 단위로 터보 복호를 수행하는 단계; 및 Performing turbo decoding on a block-by-block basis for the scalable video stream of each equalized layer; And 상기 복호된 각 계층의 스케일러블 비디오 스트림에 발생된 에러를 정정하는 단계를 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.Correcting an error occurring in the scalable video stream of each of the decoded layers. 제 10 항에 있어서, 상기 역다중화 단계는The method of claim 10, wherein the demultiplexing step 상기 프로그램 테이블 정보 중 가상 채널 테이블(VCT)에 포함된 정보를 참조하여 입력되는 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 확인하고, 확인된 각 비디오 스트림의 식별자를 참조하여 각 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.It is determined whether the input video stream is a scalable video stream for mobile service by referring to the information included in the virtual channel table (VCT) among the program table information, and the video stream of each layer by referring to the identifier of each identified video stream. And classifying and outputting the video for video decoding. 제 10 항에 있어서, 상기 역다중화 단계는The method of claim 10, wherein the demultiplexing step 상기 프로그램 테이블 정보 중 프로그램 맵 테이블(PMT)에 포함된 정보를 참조하여 입력되는 비디오 스트림이 모바일 서비스용 스케일러블 비디오 스트림인지를 확인하고, 확인된 각 비디오 스트림의 식별자를 참조하여 각 계층의 비디오 스트림을 구분한 후 비디오 복호를 위해 출력하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.It is determined whether the input video stream is a scalable video stream for mobile service by referring to the information included in the program map table (PMT) among the program table information, and the video stream of each layer by referring to the identifier of each identified video stream. And classifying and outputting the video for video decoding.
KR1020080063524A 2007-07-02 2008-07-01 Digital broadcasting system and method of processing data in digital broadcasting system KR101513027B1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US12/167,241 US7782808B2 (en) 2007-07-02 2008-07-02 Digital broadcasting system and data processing method
CA2692484A CA2692484C (en) 2007-07-02 2008-07-02 Digital broadcasting system and data processing method
CN2008801052487A CN101796835B (en) 2007-07-02 2008-07-02 Digital broadcasting system and data processing method
PCT/KR2008/003907 WO2009005301A1 (en) 2007-07-02 2008-07-02 Digital broadcasting system and data processing method
US12/838,382 US8107790B2 (en) 2007-07-02 2010-07-16 Digital broadcasting system and data processing method
US13/332,324 US9078046B2 (en) 2007-07-02 2011-12-20 Digital broadcasting system and data processing method
US14/723,342 US9438931B2 (en) 2007-07-02 2015-05-27 Digital broadcasting system and data processing method
US15/220,359 US10045078B2 (en) 2007-07-02 2016-07-26 Digital broadcasting system and data processing method

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US94765207P 2007-07-02 2007-07-02
US60/947,652 2007-07-02
US95771407P 2007-08-24 2007-08-24
US60/957,714 2007-08-24
US97408407P 2007-09-21 2007-09-21
US60/974,084 2007-09-21
US97737907P 2007-10-04 2007-10-04
US60/977,379 2007-10-04

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020090003947A Division KR100904447B1 (en) 2007-07-02 2009-01-16 Digital broadcasting system and method of processing data in digital broadcasting system
KR1020150000807A Division KR101598524B1 (en) 2007-07-02 2015-01-05 Digital broadcasting system and method of processing data in digital broadcasting system

Publications (2)

Publication Number Publication Date
KR20090004653A true KR20090004653A (en) 2009-01-12
KR101513027B1 KR101513027B1 (en) 2015-04-17

Family

ID=40486910

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020080063524A KR101513027B1 (en) 2007-07-02 2008-07-01 Digital broadcasting system and method of processing data in digital broadcasting system
KR1020090003947A KR100904447B1 (en) 2007-07-02 2009-01-16 Digital broadcasting system and method of processing data in digital broadcasting system
KR1020150000807A KR101598524B1 (en) 2007-07-02 2015-01-05 Digital broadcasting system and method of processing data in digital broadcasting system
KR1020160019514A KR101674965B1 (en) 2007-07-02 2016-02-19 Digital broadcasting system and method of processing data in digital broadcasting system

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020090003947A KR100904447B1 (en) 2007-07-02 2009-01-16 Digital broadcasting system and method of processing data in digital broadcasting system
KR1020150000807A KR101598524B1 (en) 2007-07-02 2015-01-05 Digital broadcasting system and method of processing data in digital broadcasting system
KR1020160019514A KR101674965B1 (en) 2007-07-02 2016-02-19 Digital broadcasting system and method of processing data in digital broadcasting system

Country Status (1)

Country Link
KR (4) KR101513027B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031060A2 (en) * 2009-09-10 2011-03-17 Samsung Electronics Co., Ltd. Packet decoding method and apparatus for digital broadcast system
KR101148083B1 (en) * 2011-05-31 2012-05-22 삼성중공업 주식회사 Method for resizing of designed curved plate
KR20140113880A (en) * 2013-03-15 2014-09-25 인터실 아메리카스 엘엘씨 Vc-2 decoding using parallel decoding paths
WO2014163463A1 (en) * 2013-04-05 2014-10-09 삼성전자 주식회사 Multi-layer video coding method and device, and multi-layer video decoding method and device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016129866A1 (en) 2015-02-10 2016-08-18 엘지전자 주식회사 Broadcast signal transmitting device, broadcast signal receiving device, broadcast signal transmitting method, and broadcast signal receiving method
WO2016129904A1 (en) * 2015-02-10 2016-08-18 엘지전자 주식회사 Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4631235B2 (en) 2000-08-25 2011-02-16 ソニー株式会社 Digital broadcast transmission method, digital broadcast transmission apparatus, and digital broadcast reception apparatus
KR20050042377A (en) 2003-11-03 2005-05-09 주식회사 이머텍 Devided data transmission system and method for streaming service on a low speed channel
KR101080966B1 (en) 2004-11-23 2011-11-08 엘지전자 주식회사 Apparatus and method for transmitting/receiving broadcast signal
US7565506B2 (en) 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics
JP4643406B2 (en) 2005-09-27 2011-03-02 株式会社東芝 Broadcast receiver

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031060A2 (en) * 2009-09-10 2011-03-17 Samsung Electronics Co., Ltd. Packet decoding method and apparatus for digital broadcast system
WO2011031060A3 (en) * 2009-09-10 2011-06-23 Samsung Electronics Co., Ltd. Packet decoding method and apparatus for digital broadcast system
US8570878B2 (en) 2009-09-10 2013-10-29 Samsung Electronics Co., Ltd. Packet decoding method and apparatus for digital broadcast system
KR101148083B1 (en) * 2011-05-31 2012-05-22 삼성중공업 주식회사 Method for resizing of designed curved plate
KR20140113880A (en) * 2013-03-15 2014-09-25 인터실 아메리카스 엘엘씨 Vc-2 decoding using parallel decoding paths
WO2014163463A1 (en) * 2013-04-05 2014-10-09 삼성전자 주식회사 Multi-layer video coding method and device, and multi-layer video decoding method and device

Also Published As

Publication number Publication date
KR20150008511A (en) 2015-01-22
KR20090014240A (en) 2009-02-06
KR101674965B1 (en) 2016-11-10
KR20160024902A (en) 2016-03-07
KR101513027B1 (en) 2015-04-17
KR100904447B1 (en) 2009-06-26
KR101598524B1 (en) 2016-02-29

Similar Documents

Publication Publication Date Title
KR100902903B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101008652B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR100908060B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR100917212B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101430483B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004579A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004582A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004580A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20080114570A (en) Digital broadcasting system and data processing method
KR20090004659A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090010913A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090012111A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004581A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090050994A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20080114569A (en) Digital broadcasting system and data processing method
KR20090003105A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004773A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004661A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090004724A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20080114596A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090012180A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR20090010927A (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR101674965B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system
KR100917215B1 (en) Receiving system and method of processing data in receiving system
KR100917830B1 (en) Digital broadcasting system and method of processing data in digital broadcasting system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee