KR101632212B1 - Receiving system and method of processing broadcast signal in the receiving system - Google Patents
Receiving system and method of processing broadcast signal in the receiving system Download PDFInfo
- Publication number
- KR101632212B1 KR101632212B1 KR1020090095107A KR20090095107A KR101632212B1 KR 101632212 B1 KR101632212 B1 KR 101632212B1 KR 1020090095107 A KR1020090095107 A KR 1020090095107A KR 20090095107 A KR20090095107 A KR 20090095107A KR 101632212 B1 KR101632212 B1 KR 101632212B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame
- packet
- fic
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/65—Arrangements characterised by transmission systems for broadcast
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4343—Extraction or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/50—Tuning indicators; Automatic tuning control
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
방송 신호를 수신하여 처리하는 수신 시스템 및 방송 신호 처리 방법이 개시된다. 상기 수신 시스템은 신호 수신부, 시그널링 복호부, 에러 정정부, 제1 패킷 변환부, 제2 패킷 변환부, 및 오디오/비디오(A/V) 복호부를 포함한다. 상기 신호 수신부는 데이터 그룹을 구성하는 모바일 서비스 데이터가 포함된 방송 신호를 수신한다. 상기 시그널링 복호부는 상기 데이터 그룹으로부터 고속 정보 채널(FIC) 데이터와 전송 파라미터 채널(TPC) 데이터를 추출하여 복호한다. 상기 에러 정정부는 복수개의 데이터 그룹의 모바일 서비스 데이터로부터 RS 프레임을 구성하고, 상기 RS 프레임 단위로 에러 정정 복호를 수행한다. 상기 제1 패킷 변환부는 상기 에러 정정 복호된 RS 프레임을 제1 패킷으로 패킷화한다. 상기 제2 패킷 변환부는 상기 복호된 FIC 데이터를 제2 패킷으로 패킷화한다. 상기 A/V 복호부는 상기 제2 패킷에 포함된 FIC 데이터를 기초로 제1 패킷으로부터 오디오와 비디오 스트림 중 적어도 하나에 해당하는 모바일 서비스 데이터를 추출하여 복호한다.A receiving system and a broadcast signal processing method for receiving and processing a broadcast signal are disclosed. The receiving system includes a signal receiving unit, a signaling decoding unit, an error correction unit, a first packet converting unit, a second packet converting unit, and an audio / video (A / V) decoding unit. The signal receiving unit receives a broadcast signal including mobile service data constituting a data group. The signaling decoding unit extracts Fast Information Channel (FIC) data and transmission parameter channel (TPC) data from the data group and decodes it. The error correction unit forms an RS frame from the mobile service data of the plurality of data groups, and performs error correction decoding on the RS frame basis. The first packet conversion unit packetizes the error-correction-decoded RS frame into a first packet. The second packet conversion unit packetizes the decoded FIC data into a second packet. The A / V decoder extracts and decodes the mobile service data corresponding to at least one of audio and video streams from the first packet based on the FIC data included in the second packet.
RS 프레임, 고속 정보 채널, 패킷, 복호 RS frame, fast information channel, packet, decoding
Description
본 발명은 방송 신호를 송신하고 수신하기 위한 디지털 방송 시스템에 관한 것으로서, 특히 방송 신호를 수신하여 처리하기 위한 수신 시스템, 및 방송 신호의 처리 방법에 관한 것이다. The present invention relates to a digital broadcasting system for transmitting and receiving broadcast signals, and more particularly, to a receiving system for receiving and processing broadcast signals and a method for processing broadcast signals.
디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히 휴대용이나 이동형방송수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다. VSB (Vestigial Sideband) transmission system adopted as a digital broadcasting standard in North America and Korea in digital broadcasting is a single carrier system, so reception performance of a receiving system may be deteriorated in a poor channel environment. Particularly, in the case of a portable or mobile broadcast receiver, robustness against channel change and noise is further required, so that when the mobile service data is transmitted using the VSB transmission method, the reception performance is further degraded.
따라서 본 발명의 목적은 채널 변화 및 노이즈에 강한 디지털 방송 송/수신 시스템 및 방송 신호 처리 방법을 제공함에 있다. Accordingly, it is an object of the present invention to provide a digital broadcasting transmission / reception system and a broadcasting signal processing method which are resistant to channel changes and noise.
본 발명의 다른 목적은 수신된 방송 신호에 포함된 모바일 서비스 데이터와 시그널링 데이터를 MPEG-2 트랜스포트 패킷의 포맷으로 패킷화하여 오디오/비디오 복호를 수행하도록 하는 수신 시스템 및 방송 신호 처리 방법을 제공함에 있다.Another object of the present invention is to provide a receiving system and a broadcasting signal processing method for packetizing mobile service data and signaling data included in a received broadcast signal in the MPEG-2 transport packet format to perform audio / video decoding have.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 수신 시스템은 신호 수신부, 시그널링 복호부, 에러 정정부, 제1 패킷 변환부, 제2 패킷 변환부, 및 오디오/비디오(A/V) 복호부를 포함한다.According to an aspect of the present invention, there is provided a receiving system including a signal receiving unit, a signaling decoding unit, an error correction unit, a first packet converting unit, a second packet converting unit, and an audio / And a decoding unit.
상기 신호 수신부는 데이터 그룹을 구성하는 모바일 서비스 데이터가 포함된 방송 신호를 수신한다. 하나의 전송 프레임은 복수개의 서브 프레임으로 구성되고, 하나의 서브 프레임은 복수개의 슬롯으로 구성되고, 적어도 하나의 슬롯에 상기 데이터 그룹이 할당된다. 상기 시그널링 복호부는 상기 데이터 그룹으로부터 고속 정보 채널(FIC) 데이터와 전송 파라미터 채널(TPC) 데이터를 추출하여 복호한다. 상기 에러 정정부는 복수개의 데이터 그룹의 모바일 서비스 데이터로부터 RS 프레임을 구성하고, 상기 RS 프레임 단위로 에러 정정 복호를 수행한다. 상기 제1 패킷 변환부는 상기 에러 정정 복호된 RS 프레임을 제1 패킷으로 패킷화한다. 상기 제2 패킷 변환부는 상기 복호된 FIC 데이터를 제2 패킷으로 패킷화한다. 상기 A/V 복호부는 상기 제2 패킷에 포함된 FIC 데이터를 기초로 제1 패킷으로부터 오디오와 비디오 스트림 중 적어도 하나에 해당하는 모바일 서비스 데이터를 추출하여 복호한다.The signal receiving unit receives a broadcast signal including mobile service data constituting a data group. One transmission frame is composed of a plurality of subframes, one subframe is composed of a plurality of slots, and the data group is allocated to at least one slot. The signaling decoding unit extracts Fast Information Channel (FIC) data and transmission parameter channel (TPC) data from the data group and decodes it. The error correction unit forms an RS frame from the mobile service data of the plurality of data groups, and performs error correction decoding on the RS frame basis. The first packet conversion unit packetizes the error-correction-decoded RS frame into a first packet. The second packet conversion unit packetizes the decoded FIC data into a second packet. The A / V decoder extracts and decodes the mobile service data corresponding to at least one of audio and video streams from the first packet based on the FIC data included in the second packet.
상기 RS 프레임은 187개의 M/H 서비스 데이터 패킷으로 구성되고, 각 M/H 서 비스 데이터 패킷은 2 바이트의 M/H 헤더와 N-2 바이트의 M/H 페이로드로 구성되며, 상기 M/H 페이로드에 모바일 서비스 데이터가 포함된다.The RS frame is composed of 187 M / H service data packets, and each M / H service data packet is composed of 2 bytes of M / H header and N-2 bytes of M / H payload, The H payload contains mobile service data.
상기 제1 패킷 변환부는 M/H 서비스 데이터 패킷 단위로 상기 M/H 서비스 데이터 패킷의 데이터를 제1 패킷으로 패킷화하며, 상기 제1 패킷은 4 바이트의 헤더 영역과 184 바이트의 페이로드 영역으로 구성되고, 상기 페이로드 영역에 상기 M/H 서비스 데이터 패킷의 데이터가 삽입된다.The first packet conversion unit packetizes data of the M / H service data packet into a first packet in units of M / H service data packets, and the first packet includes a header area of 4 bytes and a payload area of 184 bytes And the data of the M / H service data packet is inserted into the payload area.
상기 헤더 영역은 동기 데이터를 표시하는 동기 필드, 상기 제1 패킷이 RS 프레임에 대한 패킷인지를 지시하는 타입 인디케이터 필드, 상기 제1 패킷이 상기 RS 프레임의 몇 번째 M/H 서비스 데이터 패킷에서 패킷화된 패킷인지를 표시하는 M/H 서비스 데이터 패킷 번호 필드, 상기 제1 패킷이 해당 M/H 서비스 데이터 패킷에서 몇 번째 패킷인지를 표시하는 패킷 순서 필드, 해당 M/H 서비스 데이터 패킷으로부터 패킷화되는 제1 패킷의 전체 개수를 표시하는 패킷 개수 필드, 상기 제1 패킷에 스터핑 데이터가 있는지를 표시하는 스터핑 인디케이터 필드 중 적어도 하나를 포함한다.Wherein the header field includes a synchronous field for indicating synchronous data, a type indicator field for indicating whether the first packet is a packet for an RS frame, a first indicator indicating whether the first packet is packetized in the M / H service data packet of the RS frame, H service data packet number field indicating whether the first packet is a packet received from the M / H service data packet, a packet order field indicating a number of the first packet in the M / H service data packet, A packet count field indicating the total number of the first packets, and a stuffing indicator field indicating whether there is stuffing data in the first packet.
상기 제2 패킷 변환부는 서브 프레임 단위로 상기 FIC 데이터를 제2 패킷으로 패킷화하며, 상기 제2 패킷은 4 바이트의 헤더 영역과 184 바이트의 페이로드 영역으로 구성되고, 상기 페이로드 영역에 상기 FIC 데이터가 삽입된다.Wherein the second packet conversion unit packetizes the FIC data into a second packet on a subframe basis, the second packet comprises a header area of 4 bytes and a payload area of 184 bytes, and the FIC Data is inserted.
상기 헤더 영역은 동기 데이터를 표시하는 동기 필드, 상기 제2 패킷이 FIC에 대한 패킷인지를 지시하는 타입 인디케이터 필드, 상기 제2 패킷이 상기 전송 프레임의 몇 번째 서브 프레임에서 패킷화된 패킷인지를 표시하는 서브 프레임 번 호 필드, 상기 제2 패킷이 해당 서브 프레임에서 몇 번째 패킷인지를 표시하는 패킷 순서 필드, 해당 서브 프레임에서 패킷화되는 제2 패킷의 전체 개수를 표시하는 패킷 개수 필드, 상기 제2 패킷에 스터핑 데이터가 있는지를 표시하는 스터핑 인디케이터 필드 중 적어도 하나를 포함한다.Wherein the header area includes a synchronization field for displaying synchronization data, a type indicator field for indicating whether the second packet is a packet for the FIC, and a second indicator for indicating whether the second packet is a packetized packet in a subframe of the transmission frame A packet order field for indicating the number of packets in the corresponding subframe, a packet number field for indicating the total number of packets to be packetized in the corresponding subframe, And a stuffing indicator field indicating whether there is stuffing data in the packet.
본 발명의 일 실시예에 따른 수신 시스템의 방송 신호 처리 방법은 하나의 전송 프레임은 복수개의 서브 프레임으로 구성되고, 하나의 서브 프레임은 복수개의 슬롯으로 구성되고, 적어도 하나의 슬롯에 데이터 그룹이 할당되며, 상기 데이터 그룹을 구성하는 모바일 서비스 데이터가 포함된 방송 신호를 수신하는 단계, 상기 데이터 그룹으로부터 고속 정보 채널(FIC) 데이터와 전송 파라미터 채널(TPC) 데이터를 추출하여 복호하는 단계, 복수개의 데이터 그룹의 모바일 서비스 데이터로부터 RS 프레임을 구성하고, 상기 RS 프레임 단위로 에러 정정 복호를 수행하는 단계, 상기 에러 정정 복호된 RS 프레임을 제1 패킷으로 패킷화하는 단계, 상기 복호된 FIC 데이터를 제2 패킷으로 패킷화하는 단계, 및 상기 제2 패킷에 포함된 FIC 데이터를 기초로 제1 패킷으로부터 오디오와 비디오 스트림 중 적어도 하나에 해당하는 모바일 서비스 데이터를 추출하여 오디오/비디오 복호하는 단계를 포함한다.A method of processing a broadcast signal in a receiving system according to an embodiment of the present invention is characterized in that one transmission frame is composed of a plurality of subframes, one subframe is composed of a plurality of slots, a data group is assigned to at least one slot Receiving a broadcast signal including mobile service data constituting the data group, extracting and decoding Fast Information Channel (FIC) data and transmission parameter channel (TPC) data from the data group, Comprising the steps of: constructing an RS frame from mobile service data of a group and performing error correction decoding in units of the RS frame; packetizing the error-correction decoded RS frame into a first packet; Packetized into a first packet based on the FIC data included in the second packet, Extracting mobile service data corresponding to at least one of an audio and a video stream and performing audio / video decoding.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다. Other objects, features and advantages of the present invention will become apparent from the detailed description of embodiments with reference to the accompanying drawings.
본 발명에 따른 수신 시스템 및 방송 신호 처리 방법은, 에러 정정 복호된 RS 프레임을 MPEG-2 트랜스포트 패킷(TP) 포맷의 패킷으로 패킷화하여 오디오/비디 오 복호기로 출력하고, 고속 정보 채널(FIC) 데이터도 MPEG-2 TP 포맷의 패킷으로 패킷화하여 오디오/비디오 복호기로 출력함으로써, MPEG-2 TP를 지원하는 오디오/비디오 복호기에서 모바일 서비스 데이터를 복호할 수 있게 한다. The reception system and the broadcast signal processing method according to the present invention packetize the error-correction-decoded RS frame into a packet of the MPEG-2 transport packet (TP) format and output it to an audio / video decoder, ) Data is also packetized into packets of the MPEG-2 TP format and outputted to an audio / video decoder, thereby enabling decoding of mobile service data in an audio / video decoder supporting MPEG-2 TP.
본 발명은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성이 가능한 이점이 있다. 본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러없이 수신할 수 있는 이점이 있다. 본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다. 특히 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다. The present invention is advantageous in that it is error-resistant when transmitting mobile service data through a channel and is also compatible with existing receivers. The present invention is advantageous in that mobile service data can be received without error even in a channel with ghost and severe noise. The present invention can improve the reception performance of a receiving system in an environment where a channel change is severe by inserting and transmitting known data at a specific location in a data area. Particularly, the present invention is more effective when applied to portable and mobile receivers where channel changes are severe and robustness against noise is required.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. The structure and operation of the present invention shown in the drawings and described by the drawings are described as at least one embodiment, and the technical ideas and the core structure and operation of the present invention are not limited thereby.
본 발명에서 사용되는 용어의 정의Definitions of terms used in the present invention
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다. The terms used in the present invention are selected from general terms that are widely used in the present invention while considering the functions of the present invention. However, the terms may vary depending on the intention or custom of the artisan or the emergence of new technology. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, it is to be understood that the term used in the present invention should be defined based on the meaning of the term rather than the name of the term, and on the contents of the present invention throughout.
본 발명에서 사용되는 용어 중 메인 서비스 데이터는 고정형 수신 시스템에서 수신할 수 있는 데이터로서, 오디오/비디오(A/V) 데이터를 포함할 수 있다. 즉, 상기 메인 서비스 데이터에는 HD(High Definition) 또는 SD(Standard Definition)급의 A/V 데이터가 포함될 수 있으며, 데이터 방송을 위한 각종 데이터가 포함될 수도 있다. 그리고 기지(Known) 데이터는 송/수신측의 약속에 의해 미리 알고 있는 데이터이다. Among the terms used in the present invention, main service data may include audio / video (A / V) data as data that can be received by a fixed receiving system. That is, the main service data may include HD (High Definition) or SD (Standard Definition) A / V data, and various data for data broadcasting may be included. The known data is previously known data by the promise of the transmitting / receiving side.
본 발명에서 사용되는 용어 중 M/H(또는 MH라 함)는 모바일(Mobile), 핸드헬드(Handheld) 각각의 첫 글자이며, 고정형에 반대되는 개념이다. 그리고 M/H 서비스 데이터는 모바일(Mobile) 서비스 데이터, 핸드헬드(Handheld) 서비스 데이터 중 적어도 하나를 포함하며, 설명의 편의를 위해 본 발명에서는 M/H 서비스 데이터를 모바일 서비스 데이터라 하기도 한다. 이때 상기 모바일 서비스 데이터에는 M/H 서비스 데이터뿐만 아니라, 이동이나 휴대를 의미하는 서비스 데이터는 어느 것이나 포함될 수 있으며, 따라서 상기 모바일 서비스 데이터는 상기 M/H 서비스 데이터로 제한되지 않을 것이다. Among the terms used in the present invention, M / H (or MH) is the first letter of each of a mobile and a handheld, and is a concept opposite to a fixed type. The M / H service data includes at least one of mobile service data and handheld service data. For convenience of explanation, the M / H service data is also referred to as mobile service data. At this time, the mobile service data may include not only M / H service data but also service data indicating movement or carrying, so that the mobile service data will not be limited to the M / H service data.
상기와 같이 정의된 모바일 서비스 데이터는 프로그램 실행 파일, 주식 정보 등과 같이 정보를 갖는 데이터일 수도 있고, A/V 데이터일 수도 있다. 특히 상기 모바일 서비스 데이터는 휴대용이나 이동형단말기(또는 방송 수신기)를 위한 서비스 데이터로서 메인 서비스 데이터에 비해서 작은 해상도와 작은 데이터 율을 가지는 A/V 데이터가 될 수도 있다. 예를 들어, 기존 메인 서비스를 위해 사용하는 A/V 코덱(Codec)이 MPEG-2 코덱(Codec)이라면, 모바일 서비스를 위한 A/V 코덱(Codec)으로는 보다 영상 압축 효율이 좋은 MPEG-4 AVC(Advanced Video Coding), SVC(Scalable Video Coding) 등의 방식이 사용될 수도 있다. 또한 상기 모바일 서비스 데이터로 어떠한 종류의 데이터라도 전송될 수 있다. 일례로 실시간으로 교통 정보를 방송하기 위한 TPEG(Transport Protocol Expert Group) 데이터가 모바일 서비스 데이터로 전송될 수 있다. The mobile service data defined above may be data having information such as a program executable file, stock information, etc., or A / V data. In particular, the mobile service data may be service data for a portable or mobile terminal (or broadcast receiver), and may be A / V data having a smaller resolution and smaller data rate than the main service data. For example, if the A / V codec used for the existing main service is an MPEG-2 codec, the A / V codec for mobile service may be MPEG-4 Advanced Video Coding (AVC), and Scalable Video Coding (SVC). Also, any kind of data can be transmitted with the mobile service data. For example, TPEG (Transport Protocol Expert Group) data for broadcasting traffic information in real time can be transmitted as mobile service data.
또한 상기 모바일 서비스 데이터를 이용한 데이터 서비스로는 날씨 서비스, 교통 서비스, 증권 서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임 서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공 서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공 서비스, 상품 정보 및 이에 대한 주문 등이 가능하도록 하는 서비스별, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으며, 본 발명은 이에 한정하지는 않는다. The data service using the mobile service data may include a weather service, a traffic service, a securities service, a viewer participation quiz program, a real-time opinion survey, an interactive education broadcast, a game service, a plot of a drama, Providing information on programs by service, media, hourly, or topic that enables information service for information, information on past competitions of sports, profiles and grades of athletes, and product information and orders Or the like, and the present invention is not limited thereto.
본 발명의 송신 시스템은 기존 수신 시스템에서 메인 서비스 데이터를 수신하는데 전혀 영향을 주지 않으면서(backward compatible), 동일한 물리적 채널에 메인 서비스 데이터와 모바일 서비스 데이터를 다중화하여 전송할 수 있도록 한다. The transmission system of the present invention allows backward compatible, main service data and mobile service data to be multiplexed on the same physical channel without any influence on reception of main service data in an existing receiving system.
본 발명의 송신 시스템은 모바일 서비스 데이터에 대해 추가적인 부호화를 수행하고, 송/수신측 모두가 미리 알고 있는 데이터 즉, 기지(known) 데이터를 삽입하여 전송할 수 있도록 한다. The transmission system of the present invention performs additional encoding on the mobile service data, and inserts known data, that is, known data, into both the transmitting and receiving sides.
이러한 본 발명에 따른 송신 시스템을 사용하면 수신 시스템에서는 모바일 서비스 데이터의 이동 수신이 가능하며, 또한 채널에서 발생하는 각종 왜곡과 노이즈에도 모바일 서비스 데이터의 안정적인 수신이 가능하다. By using the transmission system according to the present invention, it is possible to receive and receive mobile service data in a receiving system, and to receive stable mobile service data even with various distortions and noises occurring in a channel.
M/H 프레임 구조M / H frame structure
본 발명의 방송 신호에 포함된 모바일 서비스 데이터는 M/H 프레임 단위로 메인 서비스 데이터와 다중화된 후 VSB 방식으로 변조되어 수신 시스템으로 전송되는 것을 일 실시예로 한다. The mobile service data included in the broadcast signal of the present invention is multiplexed with main service data in units of M / H frames, modulated into a VSB scheme, and transmitted to a reception system.
이때 하나의 M/H 프레임은 K1개의 서브 프레임으로 구성되고, 하나의 서브 프레임은 K2개의 슬롯으로 구성될 수 있다. 또한 하나의 슬롯은 K3개의 데이터 패킷으로 구성될 수 있다. 본 발명에서 K1은 5, K2는 16, K3은 156으로 설정하는 것을 일 실시예로 한다. 본 발명에서 제시하는 K1,K2,K3의 값은 바람직한 실시예이거나 단순한 예시이며, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다. At this time, one M / H frame is composed of K1 subframes, and one subframe may be composed of K2 slots. Also, one slot may be composed of K3 data packets. In the present invention, K1 is set to 5, K2 is set to 16, and K3 is set to 156, as an embodiment. The values of K1, K2, and K3 suggested in the present invention are preferred embodiments or merely examples, and the scope of the present invention is not limited to the above values.
도 1은 본 발명에 따른 모바일 서비스 데이터를 송수신하기 위한 M/H 프레임 구조의 일 실시예를 보인 것이다. 도 1은 하나의 M/H 프레임이 5개의 서브 프레임으로 구성되고, 하나의 서브 프레임이 16개의 슬롯으로 구성되는 예를 보이고 있다. 이 경우 하나의 M/H 프레임은 5개의 서브 프레임, 80개의 슬롯을 포함함을 의미한다. FIG. 1 illustrates an M / H frame structure for transmitting and receiving mobile service data according to an embodiment of the present invention. Referring to FIG. FIG. 1 shows an example in which one M / H frame is composed of 5 subframes, and one subframe is composed of 16 slots. In this case, one M / H frame includes 5 subframes and 80 slots.
그리고 하나의 슬롯은 패킷 레벨에서는 156개의 데이터 패킷(즉, 트랜스포트 스트림 패킷)으로, 심볼 레벨에서는 156개의 데이터 세그먼트로 구성된다. 또는 VSB 필드의 반에 해당되는 크기를 갖는다. 즉, 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 데이터 패킷이 데이터 세그먼트의 개념으로 사용될 수 있다. One slot consists of 156 data packets (i.e., transport stream packets) at the packet level and 156 data segments at the symbol level. Or a half of the VSB field. That is, since one data packet of 207 bytes has the same amount of data as one data segment, a data packet before data interleaving can be used as a concept of a data segment.
이때 두개의 VSB 필드가 모여 하나의 VSB 프레임을 구성한다. At this time, two VSB fields are gathered to form one VSB frame.
도 2는 VSB 프레임 구조의 일 예를 보인 것으로서, 하나의 VSB 프레임은 두 개의 VSB 필드(즉, odd field, even field)로 구성된다. 그리고 각 VSB 필드는 하나의 필드 동기 세그먼트와 312개의 데이터 세그먼트로 구성된다. FIG. 2 shows an example of a VSB frame structure. One VSB frame is composed of two VSB fields (i.e., an odd field and an even field). Each VSB field is composed of one field sync segment and 312 data segments.
상기 슬롯은 모바일 서비스 데이터와 메인 서비스 데이터의 다중화를 위한 기본 시간 주기이다. 하나의 슬롯은 모바일 서비스 데이터를 포함할 수도 있고, 메인 서비스 데이터로만 구성될 수도 있다. The slot is a basic time period for multiplexing mobile service data and main service data. One slot may include mobile service data, or may consist of only main service data.
만일 모바일 서비스 데이터를 포함하는 데이터 그룹이 하나의 슬롯 동안 전송된다면, 슬롯 내 처음 118 데이터 패킷들이 하나의 데이터 그룹에 해당되고, 나머지 38 패킷들은 메인 서비스 데이터 패킷이 된다. 또 다른 예로, 하나의 슬롯에 데이터 그룹이 없다면, 해당 슬롯은 156개의 메인 서비스 데이터 패킷들로 구성된다. If a data group containing mobile service data is transmitted during one slot, the first 118 data packets in the slot correspond to one data group and the remaining 38 packets become the main service data packet. As another example, if there is no data group in one slot, the slot is made up of 156 main service data packets.
한편 상기 슬롯들을 VSB 프레임에 할당할 때, 그 위치에 있어서 옵셋을 가지고 있다. On the other hand, when the slots are assigned to VSB frames, they have offsets at their positions.
도 3은 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 공간 영역에서 보이고 있다. 도 4는 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 시간 영역에서 보이고 있다. FIG. 3 shows a mapping example of a first 4-slot position of a subframe in a space region with respect to one VSB frame. FIG. 4 shows a mapping example of a first 4-slot position of a subframe in a time domain for one VSB frame.
도 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 38th data packet (# 37) of the first slot (Slot # 0) is mapped to the first data packet of the od VSB field and the 38th data packet The
한편 하나의 데이터 그룹은 하나 이상의 계층화된 영역으로 구분할 수 있고, 계층화된 각 영역의 특성에 따라 각 영역에 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다. 데이터 그룹 내 각 영역은 일 예로, 데이터 그룹 내에서 수신 성능을 기준으로 분류할 수 있다. On the other hand, one data group can be divided into one or more layered areas, and the type of mobile service data inserted in each area can be changed according to the characteristics of each layered area. Each area in the data group can be classified based on the reception performance in the data group as an example.
본 발명에서는 데이터 인터리빙 후의 데이터 구성에서 하나의 데이터 그룹을 A,B,C,D 영역(Region)으로 구분하는 것을 일 실시예로 한다. In the present invention, one data group is divided into A, B, C, and D regions in a data structure after data interleaving.
도 5는 데이터 인터리빙 후의 데이터들이 구분되어 나열된 형태이다. 즉, 도 5와 같은 데이터 구조가 수신 시스템으로 전송된다. 다시 말해, 한 개의 데이터 패킷이 데이터 인터리빙되고 여러개의 데이터 세그먼트에 분산되어 수신 시스템으로 전송된다. 도 5는 하나의 데이터 그룹이 170개의 데이터 세그먼트에 분산되는 예를 보인다. 이때 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 패킷이 세그먼트의 개념으로 사용되기도 한다. FIG. 5 is a diagram in which data after data interleaving are sorted and listed. 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 over several data segments to the receiving system. 5 shows an example in which one data group is distributed over 170 data segments. In this case, since one data packet of 207 bytes has the same data amount as one data segment, a packet before data interleaving is used as a concept of a segment.
도 5는 데이터 인터리빙 후의 데이터 구성에서 데이터 그룹을 10개의 M/H 블록(MH 블록 B1~B10)으로 구분하는 예를 보이고 있다. 그리고 각 M/H 블록은 16 세그먼트의 길이를 갖는 것을 일 실시예로 한다. 도 5에서 M/H 블록 B1의 앞 5 세그먼트와 M/H 블록 B10 뒤의 5 세그먼트는 일부에 RS 패리티 데이터만 할당하며, 데이터 그룹의 A 영역 내지 D 영역에서 제외하는 것을 일 실시예로 한다. FIG. 5 shows an example of dividing a data group into 10 M / H blocks (MH blocks B1 to B10) in the data structure after data interleaving. And each M / H block has a length of 16 segments. In FIG. 5, only the RS parity data is allocated to a part of the 5 segments preceding the M / H block B1 and the 5 segments after the M / H block B10, and the data is excluded from the A area to the D area of the data group.
즉, 하나의 데이터 그룹이 적어도 A,B,C,D 영역을 포함한다고 가정하면, 데이터 그룹 내 각 M/H 블록의 특성에 따라 각 M/H 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시킬 수 있다. 이때 메인 서비스 데이터의 간섭 정도에 따라 각 M/H 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시키는 것을 일 실시예로 한다. That is, assuming that one data group includes at least the A, B, C, and D regions, each M / H block is divided into any one of the A region to the D region according to the characteristics of each M / . In this case, each M / H block may be included in any one of the A region to the D region according to the degree of interference of the main service data.
여기서, 상기 데이터 그룹을 다수개의 영역으로 구분하여 사용하는 이유는 각각의 용도를 달리하기 위해서이다. 즉, 메인 서비스 데이터의 간섭이 없거나 적은 영역은 그렇지 않은 영역보다 강인한 수신 성능을 보일 수 있기 때문이다. 또한, 송/수신측의 약속에 의해 알고 있는 기지(known) 데이터를 데이터 그룹에 삽입하여 전송하는 시스템을 적용하는 경우, 모바일 서비스 데이터에 연속적으로 긴 기지 데이터를 주기적으로 삽입하고자 할 때, 메인 서비스 데이터의 간섭이 없는 영역(즉, 메인 서비스 데이터가 섞이지 않는 영역)에는 일정 길이의 기지 데이터를 주기적으로 삽입하는 것이 가능하다. 그러나 메인 서비스 데이터의 간섭이 있는 영 역에는 메인 서비스 데이터의 간섭으로 기지 데이터를 주기적으로 삽입하는 것이 곤란하고 연속적으로 긴 기지 데이터를 삽입하는 것도 곤란하다. The reason why the data group is divided into a plurality of regions is to differentiate each use. That is, a region where there is no interference of the main service data or a region where there is no interference can show robust reception performance than the region where no interference occurs. In addition, when a system for inserting known data known by the promise of a transmitting / receiving end into a data group and transmitting the data is applied, when it is desired to periodically insert consecutively long base data into mobile service data, It is possible to periodically insert a known length of known data into an area where there is no interference of data (that is, an area where main service data is not mixed). However, it is difficult to periodically insert known data due to interference of main service data in an area where interference of main service data occurs, and it is also difficult to continuously insert long known data.
도 5의 데이터 그룹 내 M/H 블록 B4 내지 M/H 블록 B7은 메인 서비스 데이터의 간섭이 없는 영역으로서 각 M/H 블록의 앞뒤에 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 본 발명에서는 상기 M/H 블록 B4 내지 M/H 블록 B7을 포함하여 A 영역(=B4+B5+B6+B7)이라 하기로 한다. 상기와 같이 각 M/H 블록마다 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, A 영역 내지 D 영역 중 가장 강인한 등화 성능을 얻을 수가 있다. The M / H block B4 to the M / H block B7 in the data group of FIG. 5 show an example where long known data strings are inserted before and after each M / H block as an area free of interference of main service data. In the present invention, the A region (= B4 + B5 + B6 + B7) including the M / H block B4 to the M / H block B7 will be described. As described above, in the case of the A region having the known data sequence for each M / H block back and forth, the receiving system can perform equalization using the channel information obtained from the known data. Thus, the most robust equalization Performance can be obtained.
도 5의 데이터 그룹 내 M/H 블록 B3과 M/H 블록 B8은 메인 서비스 데이터의 간섭이 적은 영역으로서, 두 M/H 블록 모두 한쪽에만 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 즉, 메인 서비스 데이터의 간섭으로 인해 M/H 블록 B3은 해당 M/H 블록의 뒤에만 긴 기지 데이터 열이 삽입되고, M/H 블록 B8은 해당 M/H 블록의 앞에만 긴 기지 데이터 열이 삽입될 수 있다. 본 발명에서는 상기 M/H 블록 B3과 M/H 블록 B8을 포함하여 B 영역(=B3+B8)이라 하기로 한다. 상기와 같이 각 M/H 블록마다 어느 한쪽에만 기지 데이터 열을 갖는 B 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, C/D 영역보다 더 강인한 등화 성능을 얻을 수가 있다. The M / H block B3 and the M / H block B8 in the data group of FIG. 5 are areas where interference of main service data is small, and an example in which a long known data row is inserted into only one of both M / H blocks is shown. That is, due to the interference of the main service data, the M / H block B3 inserts a long base data string only after the corresponding M / H block, and the M / H block B8 inserts a long base data string only in front of the corresponding M / H block . In the present invention, the B region (= B3 + B8) including the M / H block B3 and the M / H block B8 will be described. As described above, in the case of the B region having the known data sequence in either one of the M / H blocks, the receiving system can perform equalization using the channel information obtained from the known data, The equalization performance can be obtained.
도 5의 데이터 그룹 내 M/H 블록 B2과 M/H 블록 B9은 메인 서비스 데이터의 간섭이 B 영역보다 더 많으며, 두 M/H 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입 할 수 없다. 본 발명에서는 상기 M/H 블록 B2와 M/H 블록 B9을 포함하여 C 영역(=B2+B9)이라 하기로 한다. The M / H block B2 and the M / H block B9 in the data group of FIG. 5 have more interference of the main service data than the B area, and can not insert a long known data row back and forth in both M / H blocks. In the present invention, a C region (= B2 + B9) including the M / H block B2 and the M / H block B9 will be described.
도 5의 데이터 그룹 내 M/H 블록 B1과 M/H 블록 B10은 메인 서비스 데이터의 간섭이 C 영역보다 더 많으며, 마찬가지로 두 M/H 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 M/H 블록 B1과 M/H 블록 B10을 포함하여 D 영역(=B1+B10)이라 하기로 한다. 상기 C/D 영역은 기지 데이터 열로부터 많이 떨어져 있기 때문에 채널이 빠르게 변하는 경우에는 수신 성능이 안 좋을 수가 있다. The M / H block B1 and the M / H block B10 in the data group of FIG. 5 have more interference of the main service data than the C area, and similarly, it is impossible to insert a long known data sequence back and forth in both M / H blocks. In the present invention, the D region (= B1 + B10) including the M / H block B1 and the M / H block B10 will be described. Since the C / D region is far away from the known data sequence, the reception performance may be poor if the channel changes rapidly.
즉, 도 5를 기준으로 M/H 블록 B2과 M/H 블록 B3 사이에 필드 동기가 위치하며, 이것은 슬롯이 해당 VSB 필드에 대해서 37 데이터 패킷의 옵셋을 가짐을 의미한다. That is, the field sync is located between the M / H block B2 and the M / H block B3 on the basis of FIG. 5, which means that the slot has an offset of 37 data packets for the corresponding VSB field.
지금까지 설명한 데이터 그룹의 크기, 데이터 그룹 내 계층화된 영역의 수와 각 영역의 크기, 각 영역에 포함되는 M/H 블록의 개수, 각 M/H 블록의 크기 등은 본 발명을 기술하기 위한 하나의 실시예일 뿐이므로 본 발명은 상기된 예로 제한되지 않을 것이다. The size of the data group, the number of layered areas in the data group and the size of each area, the number of M / H blocks included in each area, the size of each M / H block, The present invention is not limited to the above-mentioned examples.
도 6은 M/H 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 할당 순서의 일 예를 보인다. 일 예로, 데이터 그룹들을 할당하는 방법은 모든 M/H 프레임에 동일하게 적용할 수도 있고, M/H 프레임마다 달라질 수도 있다. 또한 하나의 M/H 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 이때 데이터 그룹의 할 당을 M/H 프레임 내 모든 서브 프레임에 동일하게 적용한다고 가정하면, 하나의 M/H 프레임에 할당되는 데이터 그룹의 수는 5의 배수가 된다. 6 shows an example of a data group allocation procedure to be assigned to one subframe among five subframes constituting an M / H frame. For example, the method of allocating data groups may be applied to all M / H frames or may be different for each M / H frame. The same applies to all subframes within one M / H frame, or may be applied to each subframe differently. Assuming that the assignment of the data group is applied to all the subframes in the M / H frame at this time, the number of data groups allocated to one M / H frame is a multiple of 5.
그리고 연속적인 복수개의 데이터 그룹들은 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다. And consecutively allocating a plurality of data groups as far apart as possible in a subframe. This makes it possible to strongly respond to burst errors that may occur in one subframe.
예를 들어, 하나의 서브 프레임에 3개의 그룹이 할당된다고 가정하면, 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯번째 슬롯(Slot #4), 아홉번째 슬롯(Slot #8)에 할당된다. 도 6은 이러한 할당 규칙을 적용하여 하나의 서브 프레임에 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) do. FIG. 6 shows an example in which 16 data groups are allocated in one subframe by applying the allocation rule. In this example, 0, 8, 4, 12, 1, 9, 5, 14, 3, 11, 7, and 15, respectively.
다음의 수학식 1은 상기와 같이 데이터 그룹들을 하나의 서브 프레임에 할당할 때의 규칙을 수학식으로 표현한 것이다. Equation (1) is a mathematical expression of rules for assigning data groups to one subframe as described above.
여기서, 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 사이의 값을 가질 수 있다. Here, j is a slot number in one subframe and may have a value between 0 and 15. The i is a group number and may have a value between 0 and 15.
본 발명은 하나의 M/H 프레임에 포함되는 데이터 그룹들의 집합(collection)을 퍼레이드(Parade)라 하기로 한다. 상기 퍼레이드는 RS 프레임 모드에 따라 하나 이상의 특정 RS 프레임의 데이터를 전송한다. In the present invention, a collection of data groups included in one M / H frame is 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 프레임까지 전송할 수 있다. The mobile service data in one RS frame may be all allocated to the A / B / C / D area in the data group or may be allocated to at least one area of the A / B / C / D area. In one embodiment, mobile service data in one RS frame is all allocated to an A / B / C / D area or allocated to only one of an A / B area and a C / D area. That is, in the latter case, the RS frame allocated to the A / B area in the data group is different from the RS frame allocated to the C / D area. For convenience of explanation, the RS frame allocated to the A / B area in the data group is referred to as 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 constitute one parade. That is, if mobile service data in one RS frame is all allocated in the A / B / C / D area in the data group, one parade transmits one RS frame. On the other hand, 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 corresponding data group, RS frames.
즉, 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 the RS frame mode.
for all Group RegionsThere is only a primary RS Frame
for all Group Regions
- 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 A and B
- Secondary RS Frame for Group Region C and
상기 표 1은 RS 프레임 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 표 1을 보면, RS 프레임 모드 값이 00이면, 하나의 퍼레이드가 하나의 RS 프레임을 전송함을 지시하고, RS 프레임 모드 값이 01이면, 하나의 퍼레이드가 두개의 RS 프레임 즉, 프라이머리 RS 프레임(Primary RS frame)과 세컨더리 RS 프레임(Secondary RS frame)을 전송함을 지시한다. 즉, 상기 RS 프레임 모드 값이 01이면, 프라이머리 RS 프레임(Primary RS frame for region A/B)의 데이터는 데이터 그룹의 A/B 영역에 할당되어 전송되고, 세컨더리 RS 프레임(Secondary RS frame for region C/D)의 데이터는 해당 데이터 그룹의 C/D 영역에 할당되어 전송됨을 지시한다. In Table 1, 2 bits are allocated to indicate the RS frame mode. Referring to Table 1, if the RS frame mode value is 00, it indicates that one parade transmits one RS frame. If the RS frame mode value is 01, one parade is transmitted to two RS frames, that is, primary RS Frame (Primary RS frame) and a secondary RS frame (Secondary RS frame). That is, when the RS frame mode value is 01, the data of the primary RS frame for region A / B is allocated to the A / B area of the data group and transmitted, and the secondary RS frame for region C / D) is assigned to the C / D area of the corresponding data group and is transmitted.
상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다. As in the case of the allocation of the data group, the parades are allocated as far as possible in the subframe as one embodiment. This makes it possible to strongly respond to burst errors that may occur in one subframe.
그리고 퍼레이드들의 할당 방법은 M/H 프레임을 기반으로 M/H 프레임마다 다르게 적용할 수 있고, 모든 M/H 프레임에 동일하게 적용할 수도 있다. 또한 하나의 M/H 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 본 발명은 M/H 프레임마다 달라질 수 있으며, 하나의 M/H 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. 즉, M/H 프레임 구조는 M/H 프레임 단위로 달라질 수 있으며, 이것은 앙상블 데이터 율을 자주 그리고, 탄력적으로 조정할 수 있게 한다. And, the allocation method of parades can be applied differently for each M / H frame based on M / H frame, and can be applied to all M / H frames equally. The same applies to all subframes within one M / H frame, or may be applied to each subframe differently. The present invention can be changed for each M / H frame, and is applied to all subframes in one M / H frame. That is, the M / H frame structure can be changed in units of M / H frames, which enables frequent and flexible adjustment of the ensemble data rate.
도 7은 하나의 M/H 프레임에 단일 퍼레이드를 할당할 때의 예를 보인 도면이다. 즉, 도 7은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 하나의 M/H 프레임에 할당할 때의 실시예를 보이고 있다. 7 is a diagram showing an example of assigning a single parade to one M / H frame. That is, FIG. 7 shows an embodiment in which a single parade with three data groups included in one subframe is allocated to one M / H frame.
도 7을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 M/H 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 M/H 프레임에 15개의 데이터 그룹이 할당된다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들이다. 따라서 하나의 서브 프레임은 4개의 VSB 프레임으로 구성되지만, 하나의 서브 프레임에는 3개의 데이터 그룹이 포함되므로, 하나의 서브 프레임 내 4개의 VSB 프레임 중 1개의 VSB 프레임에는 해당 퍼레이드의 데이터 그룹이 할당되지 않는다. Referring to FIG. 7, when three data groups are sequentially allocated in a 4-slot period in one subframe and this process is performed on 5 subframes in the corresponding M / H frame, 15 Data groups are assigned. Here, 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, a data group of the parade is allocated to one VSB frame of four VSB frames in one subframe Do not.
예를 들어, 하나의 퍼레이드가 하나의 RS 프레임을 전송하고, 해당 RS 프레임에 대해 후단의 RS 프레임 부호기에서 RS 부호화를 수행하여 해당 RS 프레임에 24 바이트의 패리티 데이터를 부가하여 전송하였다고 가정하면, 이 경우 전체 RS 부호어(code word)의 길이 중에서 패리티 데이터가 차지하는 비중은 약 11.37 % (=24/(187+24) x 100) 정도 된다. 한편 하나의 서브 프레임에 3개의 데이터 그룹이 포함되면서, 도 7과 같이 하나의 퍼레이드 내 데이터 그룹들을 할당한 경우에 15개의 데이터 그룹이 하나의 RS 프레임을 형성하므로 채널에서 발생한 버스트 노이즈에 의해서 하나의 그룹이 모두 오류가 발생한 상황이라 하더라도 그 비중이 6.67 %(=1/15 x 100) 이 된다. 그러므로 수신 시스템에서는 erasure RS decoding에 의해서 모든 에러를 정정할 수 있게 된다. 즉, erasure RS decoding을 수행하면 RS 패리티 개수만큼의 채널 에러를 정정할 수가 있으므로, 한 RS 부호어 중에서 RS 패리티의 개수 이하의 바이트 에러는 모두 정정 가능하다. 이렇게 하면, 수신 시스템에서는 하나의 퍼레이드 내 적어도 하나의 데이터 그룹의 에러를 정정할 수 있다. 이와 같이 하나의 RS 프레임에 하여 정정될 수 있는 최소 버스트 노이즈 길이는 1 VSB 프레임 이상이다(Thus the minimum burst noise length correctable by a RS frame is over 1 VSB frame). For example, assuming that one parade transmits one RS frame, RS encoding is performed in the RS frame encoder of the subsequent RS frame, and 24 bytes of parity data is added to the corresponding RS frame for transmission. The specific gravity occupied by the parity data among the lengths of the entire RS codeword is about 11.37% (= 24 / (187 + 24) x 100). Meanwhile, when three data groups are included in one subframe and 15 data groups form one RS frame when data groups within one parade are allocated as shown in FIG. 7, one burst frame Even if all the groups are in error, the percentage of them is 6.67% (= 1/15 x 100). Therefore, in the receiving system, all errors can be corrected by erasure RS decoding. That is, if erasure RS decoding is performed, channel errors corresponding to the number of RS parities can be corrected. Therefore, it is possible to correct all byte errors in RS codewords equal to or less than the number of RS parities. In this way, the receiving system can correct errors of at least one data group in one parade. The minimum burst noise length that can be corrected by one RS frame is more than 1 VSB frame. (Thus, the minimum burst noise length is correctable by a VSB frame.
한편, 도 7과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 할당되었을 때, 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터가 할당될 수도 있고, 다른 퍼레이드의 데이터 그룹들이 할당될 수도 있다. 즉, 하나의 M/H 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있다. Meanwhile, when data groups for one parade are allocated as shown in FIG. 7, main service data may be allocated between data groups and data groups of other parades may be allocated. That is, data groups for a plurality of parades may be allocated to one M / H frame.
기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당은 단일 퍼레이드의 경우와 다르지 않다. 즉, 하나의 M/H 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당된다. Basically, the assignment of data groups to multiple parades is not different from that of a single parade. In other words, data groups in other parades allocated to one M / H frame are also allocated in 4-slot periods.
이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다. At this time, 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.
예를 들어, 하나의 퍼레이드에 대한 데이터 그룹의 할당이 도 7과 같이 이루어졌다고 가정할 때, 다음 퍼레이드에 대한 데이터 그룹은 하나의 서브 프레임 내 12번째 슬롯부터 할당된다. 이것은 하나의 실시예이며, 다른 예를 들면, 다음 퍼레이드의 데이터 그룹은 하나의 서브 프레임 내 다른 슬롯 예를 들어, 3번째 슬롯부터 4 슬롯 주기로 순차적으로 할당할 수도 있다. For example, assuming that the allocation of data groups for one parade is made as shown in FIG. 7, the data group for the next parade is allocated from the 12th slot in one subframe. This is an example, and for another example, the data group of the next parade may be sequentially allocated in another slot in one subframe, for example, from the third slot to the fourth slot period.
도 8은 하나의 M/H 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 전송하는 예를 보인 것으로서, 특히 M/H 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임의 퍼레이드 전송 예를 보이고 있다. 8 shows an example in which three parades (
그리고 첫 번째 퍼레이드는 서브 프레임 당 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). That is, the data groups of the first parade are sequentially allocated to the first, fifth, and ninth slots (
두 번째 퍼레이드는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 3~4를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다. Assuming that 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 in the i value of Equation (1). That is, the data groups of the second parade are sequentially allocated to the second and twelfth slots (
또한 세 번째 퍼레이드는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 5~6을 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다. Also, 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 for the i value of Equation (1). That is, the data groups of the third parade are sequentially allocated to the seventh and eleventh slots (
이와 같이 하나의 M/H 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 할당은 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행되고 있다. In this manner, data groups for a plurality of parades can be allocated to one M / H frame, and the allocation of data groups in one subframe is performed in serial from left to right with a group space of 4 slots.
따라서 하나의 서브 프레임에 할당될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 M/H 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 M/H 프레임에 할당될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다. Therefore, the number of groups of one parade per sub-frame (NOG) that can be assigned to one subframe can be any one of integers from 1 to 8. Since one M / H frame includes five subframes, the number of data groups of one parade that can be allocated to one M / H frame is any one of multiples of 5 from 5 to 40 .
도 9는 도 8의 3개의 퍼레이드의 할당 과정을 하나의 M/H 프레임 내 5개의 서브 프레임으로 확장한 예를 보인 것이다. FIG. 9 shows an example in which the allocation process of the three parades in FIG. 8 is extended to five subframes in one M / H frame.
도 10은 본 발명의 일 실시예에 따른 데이터 전송 구조를 도시한 도면으로, 데이터 그룹 내에 시그널링 데이터가 포함되어 전송되는 모습을 도시한 도면이다. FIG. 10 is a diagram illustrating a data transmission structure according to an embodiment of the present invention, in which signaling data is included in a data group and transmitted.
상기에서 설명한 바와 같이, M/H 프레임은 5개의 서브 프레임으로 분할되며, 각각의 서브 프레임 내에 여러 개의 퍼레이드에 해당하는 데이터 그룹들이 섞여 존재한다. 그리고, 각각의 퍼레이드에 해당하는 데이터 그룹들이 M/H 프레임 단위로 묶여 하나의 퍼레이드를 구성하게 된다. As described above, the M / H frame is divided into five subframes, and data groups corresponding to several parades are present in each subframe. Then, the data groups corresponding to each parade are bundled in M / H frame units to constitute one parade.
도 10에서도 하나의 M/H 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)가 존재한다. 이때 각각의 데이터 그룹의 일정 부분(e.g. 37 bytes/데이터 그룹)은 모바일 서비스 데이터에 대한 RS 인코딩과 별도로 인코딩된 FIC(Fast Information Channel) 정보를 전달하는 용도로 사용된다. 각각의 데이터 그룹에 할당되는 FIC 영역은 하나의 FIC 세그먼트를 구성한다. Also in Fig. 10, there are three parades (
한편, 본 실시예에서는 M/H 앙상블(Ensemble) 개념을 도입하여, 서비스의 집합을 정의한다. 하나의 M/H 앙상블은 동일한 QoS를 가지며, 동일한 FEC 코드로 코딩된다. 또한 하나의 M/H 앙상블은 같은 고유 식별자(즉, ensemble id)를 가지며 연속하는 RS 프레임에 대응된다. In the present embodiment, M / H ensemble concept is introduced to define a set of services. One M / H ensemble has the same QoS and is coded with the same FEC code. Also, one M / H ensemble has the same unique identifier (i.e., ensemble id) and corresponds to successive RS frames.
도 10에 도시된 바와 같이, 각각의 데이터 그룹에 대응되는 FIC 세그먼트는 해당 데이터 그룹이 속하는 M/H 앙상블의 서비스 정보를 기술한다. As shown in FIG. 10, the FIC segment corresponding to each data group describes service information of the M / H ensemble to which the corresponding data group belongs.
FICFIC (( FastFast InformationInformation ChannelChannel ) )
본 발명의 송/수신 시스템은 두개의 데이터 채널을 운용하는 것을 일 실시예로 한다. 이 중 하나의 데이터 채널은 콘텐츠 전송을 위한 RS 프레임 데이터 채널이고, 다른 하나의 데이터 채널은 서비스 획득(Service Acquisition)을 위한 FIC (Fast Information Channel)이다. 본 발명은 앙상블과 모바일 서비스간의 매핑 정보를 FIC 청크를 이용하여 시그널링하고, 상기 FIC 청크는 FIC 세그먼트 단위로 분할하여 FIC를 통해 전송함으로써, 수신 시스템에서 빠른 서비스 획득을 수행할 수 있도록 한다.The transmitting / receiving system of the present invention operates two data channels according to an embodiment of the present invention. One of the data channels is an RS frame data channel for content transmission, and the other data channel is a Fast Information Channel (FIC) for service acquisition. In the present invention, mapping information between an ensemble and a mobile service is signaled using an FIC chunk, and the FIC chunk is divided into FIC segments and transmitted through an FIC, thereby enabling quick service acquisition in a receiving system.
상기 FIC 청크는 5 바이트의 FIC 청크 헤더와 가변 길이의 FIC 청크 페이로드로 이루어진다. The FIC chunk consists of a 5-byte FIC chunk header and a variable length FIC chunk payload.
도 11은 본 발명에 따른 FIC 청크 헤더의 신택스 구조의 일 실시예를 보이고 있다. 11 shows an embodiment of the syntax structure of the FIC chunk header according to the present invention.
상기 FIC 청크 헤더는 FIC_major_protocol_version 필드, FIC_minor_protocol_version 필드, FIC_chunk_header_extension_length 필드, ensemble_loop_header_extension_length 필드, M/H_service_loop_extension_length 필드, current_next_indicator 필드, transport_stream_id 필드, num_ensembles 필드를 포함할 수 있다. The FIC chunk header may include an FIC_major_protocol_version field, an FIC_minor_protocol_version field, an FIC_chunk_header_extension_length field, an ensemble_loop_header_extension_length field, an M / H_service_loop_extension_length field, a current_next_indicator field, a transport_stream_id field, and a num_ensembles field.
상기 FIC_major_protocol_version 필드는 일 실시예로 2 비트를 할당하며, 해당 FIC 청크 신택스의 메이저 프로토콜 버전을 표시한다. 상기 메이저 프로토콜 버전의 변경은 backward compatible하지 않은 레벨의 변경을 지시한다. 만일 이 필드 값이 업데이트되면, FIC 청크 프로토콜의 이전 메이저 프로토콜 버전을 처리할 수 있는 기존(legacy) 수신 시스템에서는 상기 FIC 청크를 처리하지 않는다(A two-bit unsigned integer field that represents the major version level of the syntax of the FIC Chunk. A change in the major version level shall indicate a non-backward-compatible level of change. When this field is updated, legacy receivers who can process the prior major version of FIC-Chunk protocol shall avoid attempting to process the FIC Chunk).The FIC_major_protocol_version field allocates 2 bits in one embodiment and indicates a major protocol version of the corresponding FIC chunk syntax. The change of the major protocol version indicates a change in level that is not backward compatible. If this field value is updated, then the FIC chunk is not processed by a legacy receiving system capable of processing the previous major protocol version of the FIC chunk protocol (A two-bit unsigned integer field that represents the major version level of The FIC-Chunk protocol shall be attempted to avoid attempting to use the FIC-Chunk protocol. The FIC-Chunk protocol shall be a non-backward-compatible level of change. process the FIC Chunk).
상기 FIC_minor_protocol_version 필드는 일 실시예로 3비트를 할당하며, 해당 FIC 청크 신택스의 마이너 프로토콜 버전을 표시한다. 상기 마이너 프로토콜 버전의 변경은 backward compatible한 레벨의 변경을 지시한다. 만일 이 필드가 업데이트되면, 상기 FIC 청크 프로토콜의 같은 메이저 프로토콜 버전을 처리할 수 있는 기존(legacy) 수신 시스템에서는 상기 FIC 청크의 일부를 처리할 수 있다(A three-bit unsigned integer field that represents the minor version level of the syntax of the FIC-Chunk. A change in the minor version level, provided the major version level remains the same, shall indicate a backward-compatible level of change. This means that, when this field is updated, legacy receivers who can process the same major version of FIC Chunk protocol may process a part of the FIC Chunk).The FIC_minor_protocol_version field allocates 3 bits in one embodiment and indicates a minor protocol version of the corresponding FIC chunk syntax. The change of the minor protocol version indicates a backward compatible level change. If this field is updated, then a legacy receiving system capable of handling the same major protocol version of the FIC chunk protocol can process a portion of the FIC chunk (A three-bit unsigned integer field that represents the minor The FIC-Chunk is the same as the FIC-Chunk, and the FIC-Chunk is the same as the FIC-Chunk. The FIC Chunk protocol may be a part of the FIC Chunk).
상기 FIC_Chunk_header_extension_length 필드는 일 실시예로 3비트를 할당하며, 해당 FIC 청크의 마이너 프로토콜 버전 업데이트에 의해 발생된 FIC 청크 헤더 확장 바이트의 길이를 표시한다. 상기 확장 바이트들은 해당 FIC 청크 헤더의 끝에 추가(Append)한다(This 3-bit unsigned integer field identifies the length of the FIC-Chunk header extension bytes caused by the minor protocol version update of the FIC-Chunk, where the extension bytes are appended at the end of the FIC-Chunk header).The FIC_Chunk_header_extension_length field allocates 3 bits in one embodiment and indicates the length of the FIC chunk header extension byte generated by the minor protocol version update of the corresponding FIC chunk. The extension bytes are appended to the end of the corresponding FIC chunk header (this 3-bit unsigned integer field identifies the length of the FIC-Chunk header extension bytes caused by the minor protocol version of the FIC-Chunk, where the extension bytes are appended at the end of the FIC-Chunk header).
상기 ensemble_header_extension_length 필드는 일 실시예로 3비트를 할당하며, 해당 FIC 청크의 마이너 프로토콜 버전 업데이트에 의해 발생된 앙상블 헤더 확장 바이트의 길이를 표시한다. 상기 확장 바이트들은 해당 앙상블 루프 헤더의 끝에 추가(Append)한다(This 3-bit unsigned integer field identifies the length of the ensemble header extension bytes caused by the minor protocol version update of the FIC-Chunk, where the extension bytes are appended at the end of the ensemble loop header).The ensemble_header_extension_length field allocates 3 bits in one embodiment and indicates the length of the ensemble header extension byte generated by the minor protocol version update of the corresponding FIC chunk. The extension bytes are appended to the end of the corresponding ensemble loop header. (This 3-bit unsigned integer field identifies the length of the ensemble header extension caused by the minor protocol version of the FIC-Chunk, appended at the end of the ensemble loop header).
상기 M/H_service_loop_extension_length 필드는 일 실시예로 3비트를 할당하며, 해당 FIC 청크의 마이너 프로토콜 버전 업데이트에 의해 발생된 모바일 서비스 루프 확장 바이트의 길이를 표시한다. 상기 확장 바이트들은 해당 모바일 서비스 루프의 끝에 추가(Append)한다(This 3-bit unsigned integer field identifies the length of the ensemble header extension bytes caused by the minor protocol version update of the M/H service loop, where the extension bytes are appended at the end of the M/H service loop).The M / H_service_loop_extension_length field is allocated 3 bits in one embodiment and indicates the length of the mobile service loop extension byte generated by the minor protocol version update of the corresponding FIC chunk. The extension bytes are appended to the end of the corresponding mobile service loop (This 3-bit unsigned integer field identifies the length of the ensemble header extension caused by the minor protocol version of the M / H service loop, where the extension bytes are appended at the end of the M / H service loop).
예를 들어, 상기 FIC 청크에 두 개의 앙상블(즉, 앙상블 0, 앙상블 1)이 존재하며, 앙상블 0을 통해 두 개의 모바일 서비스가, 앙상블 1을 통해 하나의 모바일 서비스가 전송된다고 가정하자. 이때 마이너 프로토콜 버전이 변경되면서, FIC 청크 헤더가 1바이트 확장된다면, 상기 FIC_chunk_header_extension_length 필드는 001을 표시한다. 이 경우, 상기 FIC 청크 헤더의 끝에 1바이트의 확장 필드(FIC_Chunk_header_extension_bytes 필드)가 추가되며, 기존 수신 시스템에서는 상기 FIC 청크 헤더의 끝에 추가된 1 바이트의 확장 필드는 처리하지 않고 스킵한다.For example, suppose that there are two ensembles in the FIC chunk (i.e.,
그리고 상기 FIC 청크 내 앙상블 루프 헤더가 2바이트 확장된다면, 상기 ensemble_loop_header_extension_length 필드는 010을 표시한다. 이 경우, 앙상블 0 루프 헤더와 앙상블 1 루프 헤더의 끝에 각각 2바이트의 확장 필드(Ensemble_loop_header_extension_bytes 필드)가 추가되며, 기존 수신 시스템에서는 상기 앙상블 0 루프 헤더와 앙상블 1 루프 헤더의 끝에 추가된 2 바이트의 확장 필드는 처리하지 않고 스킵한다.If the ensemble loop header in the FIC chunk is extended by 2 bytes, the ensemble_loop_header_extension_length field indicates 010. In this case, an extension field (Ensemble_loop_header_extension_bytes field) of 2 bytes is added to each end of the
또한 상기 FIC 청크의 모바일 서비스 루프가 1바이트 확장된다면, M/H_service_loop_extension_length 필드는 001을 표시한다. 이 경우 앙상블 0을 통해 전송되는 두 개의 모바일 서비스 루프와 앙상블 1을 통해 전송되는 하나의 모바일 서비스 루프의 끝에 각각 1바이트의 확장 필드(M/H_service_loop_extension_bytes 필드)가 추가된다. 그리고 기존 수신 시스템에서는 상기 앙상블 0을 통해 전송되는 2개의 모바일 서비스 루프와 앙상블 1을 통해 전송되는 하나의 모바일 서비스 루프의 끝에 추가된 1바이트의 확장 필드는 처리하지 않고 스킵한다.Also, if the mobile service loop of the FIC chunk is extended by one byte, the M / H_service_loop_extension_length field indicates 001. In this case, one extension field (M / H_service_loop_extension_bytes field) is added to each of two mobile service loops transmitted through
이와 같이 기존 수신 시스템, 즉 FIC 청크의 해당 minor protocol version 변경을 수용할 수 없는 수신 시스템은 FIC_minor_protocol version 필드 값이 변경되면, 확장 필드를 제외한 나머지 필드들은 처리하고, FIC_chunk_header_extension_length, ensemble_loop_header_extension_length, M/H_service_loop_extension_length 필드를 이용하여 해당 확장 필드들은 처리하지 않고 스킵한다. 만일, FIC 청크의 해당 minor protocol version 변경을 수용할 수 있는 수신 시스템이라면 각 길이 필드를 이용하여 해당 확장 필드까지 처리하게 된다. When the FIC_minor_protocol version field value is changed, the receiving system that can not accommodate the change of the minor protocol version of the existing receiving system, that is, the FIC chunk, processes the remaining fields except for the extension field, and sets FIC_chunk_header_extension_length, ensemble_loop_header_extension_length, and M / H_service_loop_extension_length fields The corresponding extension fields are skipped without being processed. If the receiving system can accommodate the change of the minor protocol version of the FIC chunk, it will process the corresponding extension field using each length field.
상기 current_next_indicator 필드는 일 실시예로 1 비트를 할당하며, 상기 필드 값이 1로 설정되면 해당 FIC 청크는 현재 M/H 프레임에 적용됨을 지시한다. 만일 상기 필드 값이 0으로 설정되면 해당 FIC 청크는 다음 M/H 프레임에 적용됨을 지시한다(A one-bit indicator, which when set to '1' shall indicate that this FIC-Chunk is currently applicable. When the bit is set to '0', it shall indicate that this FIC-Chunk will be applicable for the next M/H Frame. In the latter case, the most recent version of FIC-Chunk transmitted with the current_next_indicator bit set to '1' shall be currently applicable). 즉, 상기 필드 값이 1로 설정되면 해당 FIC 청크는 현재 M/H 프레임의 시그널링 데이터를 전송함을 의미한다. 또한 상기 필드 값이 0으로 설정되면 해당 FIC 청크는 다음 M/H 프레임의 시그널링 데이터를 전송함을 의미한다. 본 발명은 현재 M/H 프레임 내의 앙상블과 모바일 서비스 간의 매핑 정보와 다음 M/H 프레임의 앙상블과 모바일 서비스 간의 매핑 정보가 달라지는 리컨피규레이션(reconfiguration)이 발생할 때, 상기 reconfiguration이 발생하기 이전의 M/H 프레임을 현재 M/H 프레임이라 하고, reconfiguration이 발생하는 M/H 프레임을 다음 M/H 프레임이라 하기로 한다. The current_next_indicator field allocates 1 bit in one embodiment, and when the field value is set to '1', it indicates that the FIC chunk is applied to the current M / H frame. If the field value is set to '0', it indicates that the corresponding FIC chunk is applied to the next M / H frame (A one-bit indicator, which when set to '1' The FIC-Chunk transmitted with the current_next_indicator bit is set to '1', and the FIC-Chunk will be used for the next M / H Frame. shall be currently applicable). That is, if the field value is set to '1', the FIC chunk indicates that the signaling data of the current M / H frame is transmitted. If the field value is set to 0, the FIC chunk indicates that the signaling data of the next M / H frame is transmitted. When reconfiguration in which the mapping information between the ensemble and the mobile service in the current M / H frame is different from the mapping information between the ensemble of the next M / H frame and the mobile service, reconfiguration is performed before the reconfiguration occurs, H frame is referred to as a current M / H frame, and an M / H frame in which reconfiguration occurs is referred to as a next M / H frame.
상기 transport_stream_id 필드는 일 실시예로 16비트를 할당하며, 현재 FIC 청크가 전송되는 모바일 방송의 트랜스포트 스트림 ID를 표시한다. 이 필드 값은 프로그램 맵 테이블(PAT)의 transport_stream_id 필드 값과 동일하다(This 16-bit unsigned integer number field serves as a label to identify this M/H Broadcast. The value of this field shall be equal to the value of the transport_stream_id field in the Program Association Table (PAT) in the MPEG-2 transport stream of the main ATSC broadcast).The transport_stream_id field allocates 16 bits in one embodiment and indicates a transport stream ID of a mobile broadcast in which the current FIC chunk is transmitted. This field value is identical to the transport_stream_id field value of the program map table (PAT). (This 16-bit unsigned integer number field serves as a label to identify this M / H Broadcast. the transport_stream_id field in the PAT in the MPEG-2 transport stream of the main ATSC broadcast).
상기 num_ensembles 필드는 일 실시예로 8비트를 할당하며, 해당 물리적 전송 채널을 통해 전송되는 앙상블의 개수를 표시한다(An 8-bit unsigned integer field that shall equal the number of Ensembles carried through this physical transmission channel). In the num_ensembles field, an 8-bit field is allocated, and an 8-bit unsigned integer field indicates the number of ensembles to be transmitted on the corresponding physical transport channel. .
도 12는 본 발명에 따른 FIC 청크 페이로드의 신택스 구조의 일 실시예를 보이고 있다. 12 shows an embodiment of the syntax structure of the FIC chunk payload according to the present invention.
상기 FIC 청크 페이로드는 상기 도 11의 FIC 청크 헤더 내 num_ensembles 필드 값에 해당하는 각각의 앙상블들에 대하여, 앙상블의 구성(configuration) 정보, 그리고 각 앙상블을 통하여 전송되는 모바일 서비스에 대한 정보를 포함하고 있다. The FIC chunk payload includes configuration information of an ensemble and information on a mobile service transmitted through each ensemble, for each ensemble corresponding to the num_ensembles field value in the FIC chunk header of FIG. 11 have.
상기 FIC 청크 페이로드는 앙상블 루프와 앙상블 루프 하부의 모바일 서비스 루프로 구성된다. 상기 FIC 청크 페이로드를 통하여, 수신 시스템은 원하는 모바일 서비스가 어떤 앙상블을 통하여 전송되는지를 파악하고(이는 ensemble_id와 M/H_service_id 간의 Mapping으로 이루어짐), 해당 앙상블에 속하는 RS 프레임들을 수신할 수 있다. The FIC chunk payload consists of an ensemble loop and a mobile service loop under the ensemble loop. Through the FIC chunk payload, the receiving system can recognize which ensemble the desired mobile service is transmitted (which is composed of mapping between ensemble_id and M / H_service_id), and receive RS frames belonging to the ensemble.
이를 위해 상기 FIC 청크 페이로드의 앙상블 루프는 상기 num_ensembles 필드 값만큼 반복되는 ensemble_id 필드, ensemble_protocol_version 필드, SLT_ensemble_indicator 필드, GAT_ensemble_indicator 필드, MH_service_signaling_channel_version 필드, 및 num_MH_services 필드를 포함할 수 있다. 상기 모바일 서비스 루프는 num_MH_services 필드 값만큼 반복되는 MH_service_id 필드, multi_ensemble_service 필드, MH_service_status 필드, 및 SP_indicator 필드를 포함할 수 있다. To this end, the ensemble loop of the FIC chunk payload may include an ensemble_id field, an ensemble_protocol_version field, an SLT_ensemble_indicator field, a GAT_ensemble_indicator field, an MH_service_signaling_channel_version field, and a num_MH_services field repeated by the num_ensembles field value. The mobile service loop may include an MH_service_id field, a multi_ensemble_service field, an MH_service_status field, and an SP_indicator field repeated by a num_MH_services field value.
상기 ensemble_id 필드는 일 실시예로 8비트를 할당하며, 해당 앙상블의 고유 식별자를 표시한다. 일 예로, 상기 필드 값으로 0x00에서 0x7F의 값들이 할당될 수 있다. 이 필드는 모바일 서비스들과 앙상블을 묶어주는 역할을 한다. 상기 필드의 값은 TPC 데이터의 parade_id로부터 도출될 수 있다. 예를 들어, 해당 앙상블이 프라이머리 RS 프레임을 통해 전송될 경우에는 가장 상위 비트(MSB)는 '0'으로 설정되며, 나머지 7비트는 해당 퍼레이드의 parade_id의 값으로 이용한다. 한편, 해당 앙상블이 세컨더리 RS 프레임을 통해 전송될 경우에는 가장 상위 비트(MSB)는 '1'로 설정되며, 나머지 7비트는 해당 퍼레이드의 parade_id의 값으로 이용한다.The ensemble_id field allocates 8 bits in one embodiment and indicates a unique identifier of the ensemble. For example, values of 0x00 to 0x7F may be assigned to the field values. This field binds mobile services and ensembles. The value of the field may be derived from the parade_id of the TPC data. For example, when the ensemble is transmitted through the primary RS frame, the MSB is set to '0', and the remaining 7 bits are used as the parade_id value of the corresponding parade. On the other hand, when the ensemble is transmitted through the secondary RS frame, the most significant bit (MSB) is set to '1', and the remaining seven bits are used as the parade_id value of the parade.
상기 ensemble_protocol_version 필드는 일 실시예로 5 비트를 할당하며, 해당 앙상블 구조의 버전을 나타낸다.The ensemble_protocol_version field allocates 5 bits in one embodiment and indicates a version of the ensemble structure.
상기 SLT_ensemble_indicator 필드는 일 실시예로 1비트를 할당하며, SLT가 해당 앙상블의 서비스 시그널링 채널로 전송되는지 여부를 표시한다. 예를 들어, 상기 SLT_ensemble_indicator 필드 값이 1이면, 상기 서비스 시그널링 채널로 SLT가 전송됨을 지시하고, 0이면 전송되지 않음을 지시할 수 있다. The SLT_ensemble_indicator field allocates 1 bit in one embodiment and indicates whether the SLT is transmitted in the service signaling channel of the ensemble. For example, if the value of the SLT_ensemble_indicator field is 1, it indicates that the SLT is transmitted on the service signaling channel, and if it is 0, it indicates that the SLT is not transmitted.
상기 GAT_ensemble_indicator 필드는 일 실시예로 1비트를 할당하며, GAT가 해당 앙상블의 서비스 시그널링 채널로 전송되는지 여부를 표시한다. 예를 들어, 상기 GAT_ensemble_indicator 필드 값이 1이면, 상기 서비스 시그널링 채널로 GAT가 전송됨을 지시하고, 0이면 전송되지 않음을 지시할 수 있다. The GAT_ensemble_indicator field allocates 1 bit in one embodiment and indicates whether the GAT is transmitted in the service signaling channel of the ensemble. For example, if the value of the GAT_ensemble_indicator field is 1, it indicates that the GAT is transmitted on the service signaling channel, and if it is 0, it indicates that the GAT is not transmitted.
상기 MH_service_signaling_channel_version 필드는 일 실시예로 5 비트를 할당하며, 해당 앙상블의 서비스 시그널링 채널의 버전 번호를 표시한다. The MH_service_signaling_channel_version field allocates 5 bits in one embodiment and indicates the version number of the service signaling channel of the ensemble.
상기 num_M/H_services 필드는 일 실시예로 8비트를 할당하며, 해당 앙상블로 전송되는 모바일 서비스의 개수를 표시한다(An 8-bit unsigned integer field that represents the number of mobile(i.e., M/H) Services carried through this Ensemble).In the num_M / H_services field, 8 bits are allocated, and the number of mobile services transmitted in the ensemble is displayed (An 8-bit unsigned integer field represents the number of mobile ( ie, M / H) carried through this Ensemble).
일 예로, 상기 FIC 청크 헤더 내 마이너 프로토콜 버전이 변경되고, 앙상블 루프 헤더에 확장 필드가 추가된다면, 이 확장 필드는 상기 num_M/H_services 필드 다음에 추가된다. 다른 실시예로, 상기 num_M/H_services 필드가 모바일 서비스 루프에 포함된다면, 상기 앙상블 루프 헤더에 추가되는 확장 필드는 상기 M/H_service_configuration_version 필드 다음에 추가된다. In one example, if the minor protocol version in the FIC chunk header is changed and an extension field is added to the ensemble loop header, this extension field is added after the num_M / H_services field. In another embodiment, if the num_M / H_services field is included in the mobile service loop, an extension field added to the ensemble loop header is added after the M / H_service_configuration_version field.
상기 모바일 서비스 루프의 M/H_service_id 필드는 일 실시예로 16비트를 할당하며, 해당 모바일 서비스의 고유 식별자를 표시한다. 상기 필드 값은 모바일 방송에서 유일한 값을 갖는다. The M / H_service_id field of the mobile service loop allocates 16 bits in one embodiment and indicates a unique identifier of the corresponding mobile service. The field value has a unique value in mobile broadcasting.
상기 multi_ensemble_service 필드는 일 실시예로 2비트를 할당하며, 해당 모바일 서비스가 하나의 앙상블을 통하여 전송되는지, 또는 복수개의 앙상블을 통하여 전송되는지를 나타낸다. 또한 상기 multi_ensemble_service 필드 값은 상기 모바일 서비스가 해당 앙상블을 통해 전송되는 모바일 서비스 부분에 대해서만 유효한지 여부를 표시한다(A two-bit enumerated field that shall identify whether this M/H Service is carried across more than one M/H Ensemble. Also, this field identifies whether the M/H Service can be rendered meaningfully with only the portion of the M/H Service carried through this M/H Ensemble). The multi_ensemble_service field allocates 2 bits in one embodiment and indicates whether the corresponding mobile service is transmitted through one ensemble or a plurality of ensembles. Also, the value of the multi_ensemble_service field indicates whether the mobile service is valid only for the mobile service part transmitted through the ensemble. (A two-bit enumerated field that indicates whether the M / H service is carried across more than one M / H Ensemble. Also, this field identifies whether the M / H Service can be rendered meaningfully with only a portion of the M / H Service carried through this M / H Ensemble).
상기 M/H_service_status 필드는 일 실시예로 2비트를 할당하며, 해당 모바일 서비스의 상태를 표시한다. 일 예로, 상기 필드의 상위 비트는 해당 모바일 서비스가 액티브한지 여부를 표시하고, 하위 비트는 해당 모바일 서비스가 히든인지 여부를 표시한다(A 2-bit enumerated field that shall identify the status of this M/H Service. The most significant bit indicates whether this M/H Service is active (when set to 1) or inactive (when set to 0) and the least significant bit indicates whether this M/H Service is hidden (when set to 1) or not (when set to 0).The M / H_service_status field allocates 2 bits in one embodiment and indicates the status of the corresponding mobile service. For example, an upper bit of the field indicates whether the corresponding mobile service is active, and a lower bit indicates whether the corresponding mobile service is hidden (A 2-bit enumerated field that will identify the status of this M / H Service. The most significant bit is whether this M / H Service is active (when set to 1) or inactive (when set to 0) not (when set to 0).
상기 SP_indicator 필드는 일 실시예로 1비트를 할당하며, 해당 모바일 서비스의 서비스 보호(service protection) 여부를 나타낸다(A 1-bit field that indicates, when set to 1, service protection is applied to at least one of the components needed to provide a meaningful presentation of this M/H Service).The SP_indicator field is a 1 bit allocated to the mobile service, and indicates whether the mobile service is protected by a service (A 1-bit field indicates that when set to 1, service protection is applied to at least one of The components needed to provide a meaningful presentation of this M / H Service).
일 예로, 상기 FIC 청크 헤더 내 마이너 프로토콜 버전이 변경되고, 모바일 서비스 루프에 확장 필드가 추가된다면, 이 확장 필드는 상기 SP_indicator 필드 다음에 추가된다. In one example, if the minor protocol version in the FIC chunk header is changed and an extension field is added to the mobile service loop, this extension field is added after the SP_indicator field.
또한 상기 FIC 청크 페이로드는 FIC_chunk_stuffing() 필드를 포함할 수 있다. 상기 FIC_chunk_stuffing() 필드의 스터핑은 상기 FIC 청크의 바운더리가 상기 FIC 청크에 속하는 FIC 세그먼트들 중 마지막 FIC 세그먼트의 바운더리와 얼라인(align)되도록 하기 위해 필요하다(Stuffing may exist in an FIC-Chunk, to keep the boundary of the FIC-Chunk to be aligned with the boundary of the last FIC-Segment among FIC-segments belong to the FIC chunk. The length of the stuffing is determined by how much space is left after parsing through the entire FIC-Chunk payload preceding the stuffing.). The FIC chunk payload may also include a FIC_chunk_stuffing () field. Stuffing of the FIC_chunk_stuffing () field is necessary to allow the boundary of the FIC chunk to be aligned with the boundary of the last FIC segment of the FIC segments belonging to the FIC chunk (Stuffing may exist in an FIC-Chunk, The FIC-Chunk to be aligned with the boundary of the FIC-Segment among the FIC chunks. The length of the stuffing is determined by how much space is left after the parsing through the entire FIC- Chunk payload preceding the stuffing.).
이때 본 발명에 따른 송신 시스템(도시되지 않음)은 상기 FIC 청크를 복수개의 FIC 세그먼트로 분할하고, FIC 세그먼트 단위로 수신 시스템으로 전송한다. 각 FIC 세그먼트 단위의 크기는 37 바이트이고, 각 FIC 세그먼트는 2 바이트의 FIC 세그먼트 헤더와 35 바이트의 FIC 세그먼트 페이로드로 이루어져 있다. 즉, FIC 청크 헤더와 FIC 청크 페이로드로 구성되는 하나의 FIC 청크는 35 바이트씩 세그먼테이션(segmentation)된다. 그리고, 세그먼테이션된 각 35 바이트 앞에 2 바이트의 FIC 세그먼트 헤더를 부가하여 FIC 세그먼트를 구성한다. At this time, the transmission system (not shown) according to the present invention divides the FIC chunk into a plurality of FIC segments and transmits them to the reception system on an FIC segment basis. Each FIC segment unit is 37 bytes in size, and each FIC segment consists of a 2-byte FIC segment header and a 35-byte FIC segment payload. That is, one FIC chunk consisting of FIC chunk header and FIC chunk payload is segmented by 35 bytes. Then, a 2-byte FIC segment header is added to each of the segmented 35 bytes to form an FIC segment.
본 발명에서 FIC 청크 페이로드의 길이는 가변적인 것을 일 실시예로 한다. 상기 FIC 청크의 길이는 해당 물리적 전송 채널을 통해 전송되는 앙상블의 개수, 각 앙상블에 포함되는 모바일 서비스의 개수에 따라 달라진다. In an embodiment of the present invention, the length of the FIC chunk payload is variable. The length of the FIC chunk depends on the number of ensembles transmitted through the physical transmission channel and the number of mobile services included in each ensemble.
그리고 상기 FIC 청크 페이로드는 스터핑 데이터를 포함할 수 있다. 이 경우 상기 스터핑 데이터는 FIC 청크와 상기 FIC 청크에 속하는 FIC 세그먼트들 중 마지막 FIC 세그먼트의 바운더리(Boundary)와의 얼라인먼트(Alignment)를 위하여 사용되는 것을 일 실시예로 한다. 이렇게 스터핑 데이터의 길이를 최소화하면, FIC 세그먼트의 낭비를 줄일 수 있게 된다. And the FIC chunk payload may include stuffing data. In this case, the stuffing data is used for the alignment between the FIC chunk and the boundary of the last FIC segment among the FIC segments belonging to the FIC chunk. By minimizing the length of the stuffing data, waste of the FIC segment can be reduced.
그리고 본 발명은 하나의 FIC 청크로부터 분할된 FIC 세그먼트들을 하나의 서브 프레임을 통해 전송할 수도 있고, 복수개의 서브 프레임을 통해 전송할 수도 있다. 상기 후자의 경우처럼 FIC 청크를 전송한다면, 상기 FIC 청크를 통해 전송되어야 할 데이터의 양이 하나의 서브 프레임을 통하여 전송되는 FIC 세그먼트들의 양보다 클 경우(이 경우는 비트 레이트가 매우 낮은 다수의 서비스가 실행될 경우 등이 해당된다.)에도 필요한 시그널링 데이터를 상기 FIC 청크를 통해 모두 전송할 수 있다.In the present invention, FIC segments divided from one FIC chunk may be transmitted through one subframe or a plurality of subframes. If the amount of data to be transmitted through the FIC chunk is larger than the amount of FIC segments transmitted through one subframe (in this case, a plurality of services with a very low bit rate And the like), it is possible to transmit all the necessary signaling data through the FIC chunk.
이때 FIC 세그먼트 번호는 각 서브 프레임 내에서의 FIC 세그먼트의 번호가 아니라, 각 FIC 청크 내에서의 FIC 세그먼트 번호를 나타낸다. 이렇게 함으로써, FIC 청크와 서브 프레임의 종속 관계를 제거할 수 있으므로 FIC 세그먼트의 낭비를 줄일 수 있다. At this time, the FIC segment number indicates the FIC segment number in each FIC chunk, not the FIC segment number in each subframe. By doing so, the dependency of the FIC chunk and the subframe can be eliminated, thereby reducing the waste of the FIC segment.
또한 본 발명은 널 FIC 세그먼트(NULL FIC Segment)를 추가할 수 있다. 상기 널 FIC 세그먼트는 FIC 청크의 반복 전송에도 불구하고, 해당 M/H 프레임에서 스터핑이 필요할 경우 남는 FIC 세그먼트를 처리하기 위한 용도로 사용된다. 예를 들어, TNoG는 3이고, FIC 청크는 2개의 FIC 세그먼트로 분할되었다고 가정하자. 이때 하나의 M/H 프레임 내 5개의 서브 프레임을 통해 상기 FIC 청크를 반복 전송하게 되면, 5개의 서브 프레임 중 하나의 서브 프레임(예를 들어, 시간 순으로 가장 마지막 서브 프레임)에서는 2개의 FIC 세그먼트만 전송되게 된다. 이 경우 해당 서브 프레임에 하나의 널 FIC 세그먼트가 할당되어 전송된다. 즉, 상기 널 FIC 세그먼트는 FIC 청크의 바운더리와 M/H 프레임의 바운더리를 얼라인(align)하기 위해 사용된다. 이때 상기 널 FIC 세그먼트는 FIC 청크로부터 분할된 FIC 세그먼트가 아니므로, 상기 널 FIC 세그먼트에는 FIC 세그먼트 번호가 부여되지 않는다. Also, the present invention can add a null FIC segment. The null FIC segment is used to process the remaining FIC segments when stuffing is required in the corresponding M / H frame despite repeated transmission of FIC chunks. For example, suppose TNoG is 3 and the FIC chunk is divided into two FIC segments. At this time, when the FIC chunk is repeatedly transmitted through five subframes in one M / H frame, two FIC segments (i.e., the last subframe in time order) . In this case, one null FIC segment is allocated to the corresponding subframe and transmitted. That is, the null FIC segment is used to align the boundaries of the FIC chunk and the boundary of the M / H frame. At this time, since the null FIC segment is not an FIC segment segmented from the FIC chunk, the null FIC segment is not assigned an FIC segment number.
상기 널 FIC 세그먼트를 수신 시스템에서 처리하지 않고 버리기 위해서는, 상기 널 FIC 세그먼트를 구분할 수 있는 식별 정보가 필요하다.In order to discard the null FIC segment without processing in the receiving system, identification information capable of distinguishing the null FIC segment is required.
본 발명은 상기 널 FIC 세그먼트의 헤더 내 FIC_type 필드를 상기 널 FIC 세그먼트를 구분할 수 있는 식별 정보로 이용하는 것을 일 실시예로 한다. 본 발명은 상기 널 FIC 세그먼트의 헤더 내 FIC_type 필드 값을 '11'로 셋팅시켜, 상기 널 FIC 세그먼트를 구분하는 것을 일 실시예로 한다. 즉, 상기 널 FIC 세그먼트의 FIC_type 필드 값을 '11'로 셋팅하여 수신 시스템으로 전송하면, 상기 수신 시스템에서는 FIC_type 필드 값이 '11'로 셋팅된 FIC 세그먼트의 페이로드는 처리하지 않고 버릴 수 있게 된다. 상기 '11'은 본 발명의 이해를 돕기 위한 일 실시예이며, 미리 송/수신측 간에 약속이 이루어진다면 상기 널 FIC 세그먼트를 구분할 수 있는 값은 어느 것이나 가능하므로, 본 발명은 상기된 실시예로 한정되지 않을 것이다. 또한 상기 널 FIC 세그먼트를 구분할 수 있는 식별 정보는 FIC 세그먼트 헤더 내 다른 필드를 이용하여 표시할 수도 있다. The present invention uses the FIC_type field in the header of the null FIC segment as identification information capable of distinguishing the null FIC segment. The present invention sets the FIC_type field value in the header of the null FIC segment to '11' to distinguish the null FIC segment. That is, if the FIC_type field value of the null FIC segment is set to '11' and transmitted to the receiving system, the payload of the FIC segment whose FIC_type field value is set to '11' in the receiving system can be discarded without processing . The '11' is an embodiment for facilitating the understanding of the present invention, and any value that can distinguish the null FIC segment can be used if an agreement is made between the transmitting and receiving sides in advance. It will not be limited. Further, the identification information for distinguishing the null FIC segment may be displayed using another field in the FIC segment header.
도 13은 본 발명에 따른 FIC 세그먼트 헤더의 신택스 구조에 대한 일 실시예를 보이고 있다.FIG. 13 shows an embodiment of a syntax structure of an FIC segment header according to the present invention.
상기 FIC 세그먼트 헤더는 FIC_segment_type 필드, FIC_chunk_major_protocol_version 필드, current_next_indicator 필드, error_indicator 필드, FIC_segment_num 필드, 및 FIC_last_segment_num 필드를 포함할 수 있다. 각 필드에 대한 설명은 다음과 같다. The FIC segment header may include a FIC_segment_type field, a FIC_chunk_major_protocol_version field, a current_next_indicator field, an error_indicator field, an FIC_segment_num field, and a FIC_last_segment_num field. The description of each field is as follows.
상기 FIC_segment_type 필드(2 bit)는 해당 FIC segment의 타입(Type)을 나타낸다. 상기 필드 값이 '00'이면, 해당 FIC 세그먼트는 FIC 청크의 일부를 전송하는 FIC 세그먼트임을 지시한다. 상기 필드 값이 '11'이면, 해당 FIC 세그먼트는 스터핑 데이터를 전송하는 널 FIC 세그먼트임을 지시한다. 나머지 값들은 미래 사용을 위해 예약된다.(A two bit field, which indicates when set to '00', the FIC-Segment is carrying a portion of an FIC-Chunk and when set to '11', the FIC-Segment is a NULL FIC-Segment, which carries stuffing data. Other values are reserved for future use.).The FIC_segment_type field (2 bits) indicates the type of the corresponding FIC segment. If the field value is '00', it indicates that the corresponding FIC segment is an FIC segment transmitting a part of the FIC chunk. If the field value is '11', it indicates that the FIC segment is a null FIC segment for transmitting stuffing data. The remaining values are reserved for future use. (A two bit field, which indicates when set to '00', the FIC-Segment is carrying a portion of an FIC-Chunk and when set to '11' is a NULL FIC-Segment, which carries stuffing data.
상기 FIC_chunk_major_protocol_version 필드(2 bit)는 해당 FIC 청크의 메이저 프로토콜 버전을 표시한다. 이때 이 필드 값은 해당 FIC 청크 헤더 내 FIC_major_protocol_version 필드 값과 동일해야 한다. 상기 FIC 청크 신택스의 메이저 프로토콜 버전의 상세한 설명은 전술한 도 11의 FIC 청크 헤더에 대한 설명을 참조하면 되므로, 여기서는 생략하기로 한다.The FIC_chunk_major_protocol_version field (2 bits) indicates the major protocol version of the corresponding FIC chunk. The value of this field shall be the same as the FIC_major_protocol_version field value in the corresponding FIC chunk header. A detailed description of the major protocol version of the FIC chunk syntax will be omitted since it will be described with reference to the description of the FIC chunk header of FIG. 11 described above.
상기 current_next_indicator 필드(1 bit)는 해당 FIC 세그먼트가 현재 M/H 프레임에 적용되는지, 다음 M/H 프레임에 적용되는지를 표시한다. 예를 들어, 상기 필드 값이 1로 셋트되면, 해당 FIC 세그먼트는 현재 M/H 프레임에 적용될 수 있는 FIC 청크의 일부를 전송하는 것을 나타낸다. 반대로 상기 필드 값이 0으로 셋트되면, 해당 FIC 세그먼트는 다음 M/H 프레임에 적용될 수 있는 FIC 청크의 일부를 전송하는 것을 나타낸다. The current_next_indicator field (1 bit) indicates whether the corresponding FIC segment is applied to the current M / H frame or the next M / H frame. For example, if the field value is set to 1, the corresponding FIC segment indicates that a part of the FIC chunk applicable to the current M / H frame is transmitted. Conversely, if the field value is set to 0, the corresponding FIC segment indicates to transmit a part of the FIC chunk that can be applied to the next M / H frame.
상기 error_indicator 필드(1bit)는 전송 중 해당 FIC 세그먼트 내에 에러가 발생되었는지를 지시하며, 에러가 발생된 경우에는 '1'로, 에러가 없을 때는 '0'으로 설정된다. 즉, FIC 세그먼트를 구성하는 과정에서 복구하지 못한 에러가 존재할 때, 이 필드를 '1'로 설정한다. 이 필드를 통해 수신 시스템은 FIC 세그먼트의 에러 유무를 인지할 수 있다. The error_indicator field (1 bit) indicates whether an error has occurred in the corresponding FIC segment during transmission. The error_indicator field is set to '1' when an error occurs and to '0' when there is no error. That is, when there is an error that can not be recovered in the process of configuring the FIC segment, this field is set to '1'. This field allows the receiving system to recognize the presence or absence of an error in the FIC segment.
상기 FIC_seg_number 필드(4 bit)는 하나의 FIC 청크가 복수개의 FIC 세그먼트로 나뉘어 전송될 때 해당 FIC 세그먼트의 번호를 나타낸다. 예를 들어, 해당 FIC 세그먼트가 상기 FIC 청크의 첫 번째 FIC 세그먼트라면, 상기 FIC_seg_number 필드 값은 0x0으로 설정되고, 두 번째 FIC 세그먼트라면 상기 FIC_seg_number 필드 값은 0x1로 설정되는 것을 일 실시예로 한다. 즉, 상기 FIC_seg_number 필드는 상기 FIC 청크 내 각 추가 FIC 세그먼트와 함께 1씩 증가한다(A 4-bit unsigned integer number field which gives the number of this FIC-Segment. For the first FIC-Segment of an FIC-Chunk, the value of this field shall be set to 0x0. This field shall be incremented by one with each additional segment in the FIC 청크). 만일 상기 FIC 청크가 4개의 FIC 세그먼트로 분할된다면, 상기 FIC 청크의 마지막 FIC 세그먼트의 상기 FIC_seg_number 필드 값은 0x3이 표시된다. The FIC_seg_number field (4 bits) indicates the number of the corresponding FIC segment when one FIC chunk is divided into a plurality of FIC segments. For example, if the corresponding FIC segment is the first FIC segment of the FIC chunk, the FIC_seg_number field value is set to 0x0, and if the FIC segment is the second FIC segment, the FIC_seg_number field value is set to 0x1. That is, the FIC_seg_number field is incremented by 1 with each additional FIC segment in the FIC chunk (A 4-bit unsigned integer number field which gives the number of this FIC-Segment. For the first FIC-Segment of an FIC-Chunk , the value of this field shall be set to 0x0. This field shall be incremented by one additional segment in the FIC Chunk). If the FIC chunk is divided into four FIC segments, the FIC_seg_number field value of the last FIC segment of the FIC chunk is indicated by 0x3.
상기 FIC_last_seg_number 필드(4 bit)는 상기 완전한 FIC 청크의 마지막 FIC 세그먼트(즉, 가장 높은 FIC_segment_num 필드 값을 갖는 FIC 세그먼트)의 번호를 나타낸다(A 4-bit unsigned integer number field which gives the number of the last FIC-Segment (i.e., the FIC Segment with the highest FIC_segment_num) of the complete FIC Chunk). The FIC_last_seg_number field (4 bits) indicates the number of the last FIC segment of the complete FIC chunk (that is, the FIC segment having the highest FIC_segment_num field value) (A 4-bit unsigned integer number field which gives the number of the last FIC -Segment (i.e., the FIC Segment with the highest FIC_segment_num) of the complete FIC Chunk).
이때, 기존에는 한 서브 프레임 내의 FIC 세그먼트들에 대해 순차적으로 FIC 세그먼트 번호를 할당하는 방식이었기 때문에, 이 경우에 마지막 FIC 세그먼트 번호와 TNOG는 항상 일치하였다. 하지만, 본 발명에 따른 FIC 세그먼트 번호 할당 방식에서, 상기 마지막 FIC 세그먼트 번호와 TNOG는 항상 일치하지는 않는다. 즉, 일치할 수도 있고, 일치하지 않을 수도 있다. 상기 TNoG는 하나의 서브 프레임에 할당되는 전체 데이터 그룹의 개수이다. 예를 들어, TNoG가 6인데, FIC 청크가 8개의 FIC 세그먼트들로 분할된다면, 상기 TNoG는 6이고, 마지막 FIC 세그먼트 번호는 8이 된다. In this case, since FIC segment numbers are sequentially assigned to FIC segments in one subframe, the last FIC segment number and TNOG always match in this case. However, in the FIC segment number allocation scheme according to the present invention, the last FIC segment number and the TNOG do not always coincide with each other. That is, they may or may not match. The TNoG is the total number of data groups allocated to one subframe. For example, if TNoG is 6 and the FIC chunk is divided into 8 FIC segments, then the TNoG is 6 and the last FIC segment number is 8.
본 발명은 다른 실시예로, 상기 널 FIC 세그먼트는 FIC 세그먼트 헤더 내 FIC_segment_num 필드 값을 이용하여 구분할 수도 있다. 즉, 상기 널 FIC 세그먼트에는 FIC 세그먼트 번호가 할당되지 않으므로, 송신 시스템에서는 널 FIC 세그먼트의 FIC_segment_num 필드 값에 널 데이터를 할당하여 전송하고, 수신 시스템에서는 FIC_segment_num 필드 값에 널 데이터가 할당된 FIC 세그먼트는 널 FIC 세그먼트로 인식하도록 할 수도 있다. 상기 FIC_segment_num 필드 값에 널 데이터 대신 송/수신 시스템에서 미리 약속한 데이터를 할당할 수도 있다. In another embodiment of the present invention, the null FIC segment may be separated using the FIC_segment_num field value in the FIC segment header. That is, since the FIC segment number is not allocated to the null FIC segment, the transmission system allocates null data to the FIC_segment_num field value of the null FIC segment and transmits the null data. In the receiving system, the FIC segment to which the null data is allocated in the FIC_segment_num field value, It may be recognized as an FIC segment. It is also possible to allocate previously promised data in the transmitting / receiving system instead of the null data to the FIC_segment_num field value.
이와 같이 FIC 청크는 복수개의 FIC 세그먼트로 분할되어 하나의 서브 프레임을 통해 전송될 수도 있고, 복수개의 서브 프레임을 통해 전송될 수도 있다. 또한 하나의 서브 프레임을 통해 하나의 FIC 청크로부터 분할된 FIC 세그먼트들만 전송될 수도 있고, 하나의 서브 프레임을 통해 복수개의 FIC 청크로부터 분할된 FIC 세그먼트들이 전송될 수도 있다. 이때 각 FIC 세그먼트에 할당되는 번호는 해당 서브 프레임 내에서의 번호가 아니라, 해당 FIC 청크 내에서의 번호(즉, FIC_seg_number 필드 값)이다. 그리고 M/H 프레임의 바운더리와 FIC 청크의 바운더리를 얼라인하기 위해 널 FIC 세그먼트를 전송할 수도 있으며, 이때 상기 널 FIC 세그먼트에는 세그먼트 번호가 할당되지 않는다. As described above, the FIC chunk may be divided into a plurality of FIC segments and transmitted through one subframe or a plurality of subframes. In addition, only FIC segments divided from one FIC chunk may be transmitted through one subframe, and FIC segments divided from a plurality of FIC chunks may be transmitted through one subframe. Here, the number assigned to each FIC segment is not a number in the corresponding subframe, but a number in the corresponding FIC chunk (i.e., the FIC_seg_number field value). In order to align the boundary of the M / H frame and the boundary of the FIC chunk, a null FIC segment may be transmitted. In this case, no segment number is allocated to the null FIC segment.
그리고 본 발명은 상기와 같이 하나의 FIC 청크가 복수개의 서브 프레임을 통해 전송될 수도 있고, 복수개의 FIC 청크가 하나의 서브 프레임을 통해 전송될 수도 있지만, FIC 세그먼트들은 서브 프레임 단위로 인터리빙되어 전송되는 것을 일 실시예로 한다. As described above, one FIC chunk may be transmitted through a plurality of subframes, and a plurality of FIC chunks may be transmitted through one subframe. However, the FIC segments may be interleaved and transmitted in units of subframes As an embodiment.
송신 시스템의 개략적인 설명A schematic description of the transmission system
도 14는 전술한 구조를 갖는 본 발명을 적용하기 위한 송신 시스템의 일 실시예를 보인 개략도로서, 서비스 다중화기(Service Multiplexer)(100)와 송신기(Transmitter or exciter)(200)를 포함할 수 있다. FIG. 14 is a schematic diagram showing an embodiment of a transmission system for applying the present invention having the above-described structure, and may include a
여기서 상기 서비스 다중화기(100)는 각 방송국의 스튜디오에 위치하고, 송신기(200)는 스튜디오로부터 거리가 떨어진 지역(site)에 위치한다. 이때 상기 송신기(200)는 복수개의 서로 다른 지역에 위치할 수도 있다. 그리고 일 실시예로 상기 복수개의 송신기는 동일한 주파수를 공유할 수 있으며, 이 경우 복수개의 송신기는 모두 동일한 신호를 송신한다. 이것은 단일 주파수 망(Single Frequency Network ; SFN)을 이용한 데이터 전송에 해당된다. 그러면 수신 시스템에서는 채널 등화기가 반사파로 인한 신호 왜곡을 보상하여 원 신호를 복원할 수가 있다. 다른 실시예로, 상기 복수개의 송신기는 동일 채널에 대해 서로 다른 주파수를 가질 수도 있다. 이것은 멀티 주파수 망(Multi Frequency Network ; MFN)을 이용한 데이터 전송에 해당된다. Here, the
상기 서비스 다중화기와 원격지에 위치한 각 송신기간의 데이터 통신은 여러 가지 방법이 이용될 수 있으며, 일 실시예로 SMPTE-310M(Synchronous Serial Interface for transport of MPEG-2 data)과 같은 인터페이스 규격이 사용될 수도 있다. 상기 SMPTE-310M 인터페이스 규격에서는 서비스 다중화기의 출력 데이터 율이 일정한 데이터 율로 정해져 있다. 예를 들어, 8VSB의 경우 19.39 Mbps로 정해져 있고, 16VSB의 경우 38.78 Mbps로 정해져 있다. 또한 기존 8VSB 방식의 송신 시스템에서는 한 개의 물리적인 채널에 데이터 율이 약 19.39 Mbps인 트랜스포트 스트림(Transport Stream ; TS) 패킷을 전송할 수 있다. 기존 송신 시스템과 역방향 호환성을 가지는 본 발명에 따른 송신기에서도, 상기 모바일 서비스 데이터에 대하여 추가의 부호화를 수행한 후 이를 메인 서비스 데이터와 TS 패킷 형태로 다중화하여 전송하는데, 이때에도 다중화된 TS 패킷의 데이터 율은 약 19.39 Mbps가 된다. Various methods may be used for the data communication between the service multiplexer and each remote transmission station, and an interface standard such as SMPTE-310M (Synchronous Serial Interface for transport of MPEG-2 data) may be used . In the SMPTE-310M interface standard, the output data rate of the service multiplexer is fixed at a constant data rate. For example, it is set at 19.39 Mbps for 8VSB and 38.78 Mbps for 16VSB. Also, in the conventional 8VSB transmission system, a transport stream (TS) packet having a data rate of about 19.39 Mbps can be transmitted to one physical channel. Even in the transmitter according to the present invention, which is backward compatible with the existing transmission system, the mobile service data is further encoded and multiplexed in the TS packet format with the main service data. At this time, the multiplexed TS packet data The rate is about 19.39 Mbps.
이때 상기 서비스 다중화기(100)는 적어도 한 종류의 메인 서비스 데이터와 각 메인 서비스를 위한 테이블 정보 예를 들어, PSI/PSIP 테이블 데이터를 입력받아 TS 패킷으로 인캡슐레이션(encapsulation)한다. At this time, the
또한 상기 서비스 다중화기(100)는 일 실시예로, 적어도 한 종류의 모바일 서비스를 위한 모바일 서비스 데이터와 각 모바일 서비스를 위한 테이블 정보 예를 들어, PSI(Program Specific Information)/PSIP(Program and System Information Protocol) 테이블 데이터를 입력받아 각각 트랜스포트 스트림(TS) 패킷 형태의 모바일 서비스 데이터 패킷으로 인캡슐레이션(encapsulation)한다. The
상기 서비스 다중화기(100)는 다른 실시예로, 적어도 한 종류의 모바일 서비스를 위한 모바일 서비스 데이터와 각 모바일 서비스를 위한 테이블 정보를 포함하여 구성된 RS 프레임을 입력받아 트랜스포트 스트림(TS) 패킷 형태의 모바일 서비스 데이터 패킷으로 인캡슐레이션할 수 있다. The
그리고 상기 서비스 다중화기(100)는 인캡슐레이션된 상기 TS 패킷들을 기 설정된 다중화 규칙에 따라 다중화하여 송신기(200)로 출력한다. The
한편 상기 RS 프레임은 도 15에서와 같이 N (row) x 187 (column) 바이트 크기를 갖는다. 상기 N은 로우의 길이(즉 컬럼의 개수)이고, 187은 컬럼의 길이(즉, 로우의 개수)이다.Meanwhile, the RS frame has a size of N (row) x 187 (column) bytes as shown in FIG. N is the length of the row (i.e., the number of columns), and 187 is the length of the column (i.e., the number of rows).
본 발명에서는 상기 N 바이트로 된 각 로우를 설명의 편의를 위해 M/H 서비스 데이터 패킷이라 하기로 한다. 상기 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N-2 바이트의 M/H 페이로드로 구성될 수 있다. 여기서 M/H 헤더 영역을 2바이트로 할당하는 것은 하나의 실시예일 뿐해는 것이는 설계자에 의해 달라질로 할당하므로 본 발명은 상기 실시예로 제한되지 않을 것이다. In the present invention, each N-byte row is referred to as an M / H service data packet for convenience of explanation. The M / H service data packet may be composed of 2 bytes of M / H header and N-2 bytes of M / H payload. Here, the allocation of the M / H header area to 2 bytes is only an embodiment, and the designer allocates the M / H header area to be different, so that the present invention is not limited to the above embodiment.
상기 RS 프레임은 N-2(row) x 187(column) 바이트 크기의 테이블 정보 및/또는 IP 데이터그램을 모아 생성된다. 또한 하나의 RS 프레임은 하나 이상의 모바일 서비스에 해당하는 테이블 정보와 IP 데이터그램(즉, 모바일 서비스 데이터)을 포함할 수 있다. 예를 들어, 뉴스(예를 들어, IP datagram for mobile service 1)와 증권(예를 들어, IP datagram for mobile service 2)이라는 두 종류의 모바일 서비스의 IP 데이터그램과 테이블 정보가 하나의 RS 프레임에 포함될 수 있다. The RS frame is generated by collecting N-2 (row) x 187 (column) byte table information and / or IP datagram. One RS frame may also include table information and IP datagrams (i.e., mobile service data) corresponding to one or more mobile services. For example, IP datagrams and table information of two types of mobile services, news (e.g., IP datagram for mobile service 1) and securities (e.g., IP datagram for mobile service 2) .
즉, 상기 RS 프레임을 구성하는 M/H 서비스 데이터 패킷 내 M/H 페이로드에는 섹션 구조의 테이블 정보가 할당되거나, 모바일 서비스 데이터의 IP 데이터그램이 할당될 수 있다. That is, table information of a section structure may be allocated to the M / H payload in the M / H service data packet constituting the RS frame, or an IP datagram of the mobile service data may be allocated.
또는 상기 RS 프레임을 구성하는 M/H 서비스 데이터 패킷 내 M/H 페이로드에는 테이블 정보의 IP 데이터그램이 할당되거나, 모바일 서비스 데이터의 IP 데이터그램이 할당될 수 있다. Alternatively, an IP datagram of table information may be allocated to an M / H payload in an M / H service data packet constituting the RS frame, or an IP datagram of mobile service data may be allocated.
이때 M/H 서비스 데이터 패킷이 M/H 헤더를 포함하여 N 바이트가 되지 않는 경우가 발생할 수 있다. At this time, it may happen that the M / H service data packet does not become N bytes including the M / H header.
이 경우, 해당 M/H 서비스 데이터 패킷의 나머지 페이로드 부분에 스터핑(stuffing) 바이트를 할당할 수 있다. 예를 들어, 하나의 M/H 서비스 데이터 패킷에 프로그램 테이블 정보를 할당하고 난 후, 그 M/H 서비스 데이터 패킷의 길이가 M/H 헤더를 포함하여 N-20 바이트라면, 나머지 20 바이트에 스터핑 바이트를 할당할 수 있다. In this case, a stuffing byte may be allocated to the remaining payload portion of the corresponding M / H service data packet. For example, after assigning program table information to one M / H service data packet, if the length of the M / H service data packet is N-20 bytes including the M / H header, You can allocate bytes.
도 16은 본 발명에 따른 M/H 서비스 데이터 패킷 내 M/H 헤더 영역에 할당되는 필드들의 예를 보인 것으로서, type_indicator 필드, error_indicator 필드, stuff_indicator 필드, 및 pointer 필드를 포함할 수 있다. 16 shows an example of fields allocated to an M / H header field in an M / H service data packet according to the present invention, and may include a type_indicator field, an error_indicator field, a stuff_indicator field, and a pointer field.
상기 type_indicator 필드는 일 실시예로 3비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷 내 페이로드에 할당되는 데이터의 타입을 표시한다. 즉, 상기 M/H 페이로드의 데이터가 IP 데이터그램인지, 테이블 정보를 포함하는 시그널링 정보인지를 지시한다. 이때 각각의 데이터 타입은 하나의 논리적 채널을 구성한다. IP 데이터그램을 전송하는 논리적 채널에서는 여러 개의 모바일 서비스가 다중화되어 전송되며, 각 모바일 서비스는 IP 계층에서 역다중화를 거친다. The type_indicator field may allocate 3 bits in one embodiment and indicate the type of data allocated to the payload in the corresponding M / H service data packet. That is, it indicates whether the data of the M / H payload is an IP datagram or signaling information including table information. At this time, each data type constitutes one logical channel. In a logical channel transmitting an IP datagram, a plurality of mobile services are multiplexed and transmitted, and each mobile service is demultiplexed in the IP layer.
상기 error_indicator 필드는 일 실시예로 1비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷의 에러 여부를 표시한다. 예를 들어, 상기 error_indicator 필드 값이 0일 경우는 해당 M/H 서비스 데이터 패킷에 에러가 없음을 의미하고, 1이면 에러가 있음을 의미한다. The error_indicator field may allocate 1 bit in one embodiment and indicates whether the corresponding M / H service data packet is erroneous. For example, if the value of the error_indicator field is 0, it means that there is no error in the corresponding M / H service data packet, and if it is 1, it means that there is an error.
상기 stuff_indicator 필드는 일 실시예로 1비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷의 페이로드에 stuffing byte가 있는지 여부를 표시한다. 예를 들어, 상기 stuff_indicator 필드 값이 0이면 해당 M/H 서비스 데이터 패킷에 stuffing byte가 없음을 의미하고, 1이면 stuffing byte가 있음을 의미한다. The stuff_indicator field may allocate 1 bit in one embodiment, and indicates whether there is a stuffing byte in the payload of the corresponding M / H service data packet. For example, if the stuff_indicator field value is 0, it means that there is no stuffing byte in the corresponding M / H service data packet, and if it is 1, it means that there is a stuffing byte.
상기 pointer 필드는 일 실시예로 11비트를 할당할 수 있으며, 해당 M/H 서비스 데이터 패킷에서 새로운 데이터(즉, 새로운 시그널링 정보 또는 새로운 IP 데이터그램)가 시작되는 위치 정보를 표시한다. The pointer field may allocate 11 bits in one embodiment and indicate location information where new data (i.e., new signaling information or a new IP datagram) starts in the corresponding M / H service data packet.
예를 들어, 도 15와 같이 RS 프레임 내 첫 번째 M/H 서비스 데이터 패킷에 모바일 서비스 1을 위한 IP 데이터그램, 모바일 서비스 2를 위한 IP 데이터그램이 할당된다면, 상기 pointer 필드 값은 해당 M/H 서비스 데이터 패킷 내 모바일 서비스 2를 위한 IP 데이터그램의 시작 위치를 표시한다. For example, if an IP datagram for
또한 해당 M/H 서비스 데이터 패킷에 새로이 시작하는 데이터가 없으면 해당 pointer 필드 값을 최대값으로 표시하는 것을 일 실시예로 한다. 본 발명에서는 상기 pointer 필드에 11비트를 할당하는 것을 일 실시예로 하고 있으므로, 상기 pointer 필드 값에 2047이 표시되어 있으면 그 패킷에는 새로이 시작되는 데이터가 없음을 의미한다. 그리고 상기 pointer field가 0일 경우 가리키는 지점은 상기 type_indicator 필드 값과 stuff_indicator 필드 값에 따라서 달라질 수 있다. If there is no new data to start in the corresponding M / H service data packet, the pointer field value is displayed as a maximum value. In the present invention, 11 bits are allocated to the pointer field. Thus, if 2047 is indicated in the pointer field value, it means that there is no data to be newly started. The point indicated when the pointer field is 0 may be changed according to the type_indicator field value and the stuff_indicator field value.
상기 도 16에서 보이고 있는 M/H 서비스 데이터 패킷 내 M/H 헤더에 할당되는 필드의 순서, 위치, 의미는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 M/H 서비스 데이터 패킷 내 헤더에 할당되는 필드의 순서, 위치, 의미, 추가 할당되는 필드의 수는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.The order, location, and meaning of the fields allocated to the M / H header in the M / H service data packet shown in FIG. 16 are merely examples for facilitating understanding of the present invention. The order, location, meaning, and the number of fields to which additional fields are allocated can be easily changed by those skilled in the art, so that the present invention is not limited to the above embodiments.
도 17의 (a),(b)는 본 발명에 따른 RS 프레임의 다른 실시예로서, 도 17의 (a)는 데이터 그룹 내 A/B 영역에 할당될 RS 프레임의 예를 보이고 있고, 도 17의 (b)는 해당 데이터 그룹 내 C/D 영역에 할당될 RS 프레임의 구성 예를 보인 것이다. 17A and 17B show another example of an RS frame according to the present invention. FIG. 17A shows an example of an RS frame to be allocated to an A / B area in a data group, (B) shows a configuration example of an RS frame to be allocated to the C / D area in the data group.
도 17의 (a),(b)에서도 A/B 영역에 할당될 RS 프레임의 컬럼 길이(즉, 로우 개수)와 C/D 영역에 할당될 RS 프레임의 컬럼 길이(즉, 로우 개수)는 187로 동일하며, 다만 로우 길이(즉, 컬럼 개수)가 서로 다를 수 있다. 17A and 17B, the column length (i.e., the number of rows) of the RS frame to be allocated to the A / B area and the column length (i.e., the number of rows) of the RS frame to be allocated to the C / , But the row length (i.e., the number of columns) may be different from each other.
본 발명은 데이터 그룹 내 A/B 영역에 할당될 프라이머리 RS 프레임의 로우 길이는 N1 바이트, C/D 영역에 할당될 세컨더리 RS 프레임의 로우 길이는 N2 바이트라고 할 때, N1>N2 조건을 만족하는 것을 일 실시예로 한다. 여기서 상기 N1,N2는 전송 파라미터에 따라 또는 해당 RS 프레임이 데이터 그룹 내 어느 영역으로 전송될 지에 따라 달라질 수 있다. In the present invention, when the row length of the primary RS frame to be allocated to the A / B area in the data group is N1 bytes and the row length of the secondary RS frame to be allocated to the C / D area is N2 bytes, As an embodiment. Herein, N1 and N2 may be changed according to transmission parameters or depending on which area in the data group the corresponding RS frame is transmitted.
상기 N1, N2 바이트로 된 각 로우도 본 발명에서는 설명의 편의를 위해 M/H 서비스 데이터 패킷이라 하기로 한다. 데이터 그룹 내 A/B 영역에 할당될 RS 프레임 내 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N1-2 바이트의 M/H 페이로드로 구성될 수 있다. 그리고 데이터 그룹 내 C/D 영역에 할당될 RS 프레임 내 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N2-2 바이트의 M/H 페이로드로 구성될 수 있다. Each row of N1 and N2 bytes is also referred to as an M / H service data packet for convenience of explanation. The M / H service data packet in the RS frame to be allocated to the A / B area in the data group may be composed of 2 bytes of M / H header and N1-2 bytes of M / H payload. The M / H service data packet in the RS frame to be allocated to the C / D area in the data group may be composed of 2 bytes of M / H header and N2-2 bytes of M / H payload.
본 발명에서 데이터 그룹 내 A/B 영역을 위한 프라이머리 RS 프레임과 C/D 영역을 위한 세컨더리 RS 프레임은 테이블 정보와 IP 데이터그램 중 적어도 하나를 포함할 수 있다. 또한 하나의 RS 프레임에는 하나 이상의 모바일 서비스에 해당하는 IP 데이터그램이 포함될 수 있다. In the present invention, the primary RS frame for the A / B area in the data group and the secondary RS frame for the C / D area may include at least one of the table information and the IP datagram. Also, one RS frame may include an IP datagram corresponding to one or more mobile services.
도 17의 (a),(b)에서 설명되지 않은 부분은 도 15를 그대로 적용할 수 있다.The portions that are not described in Figs. 17 (a) and 17 (b) can be applied as they are in Fig.
한편 하나의 RS 프레임 내 컬럼의 개수인 N은 하기의 수학식 2에 따라 결정된다.On the other hand, the number N of the columns in one RS frame is determined according to the following equation (2).
상기 수학식 2에서 NoG는 하나의 서브 프레임에 할당되는 데이터 그룹의 개수, PL은 하나의 데이터 그룹에 할당되는 SCCC (Serial Concatenated Convolution Code) 페이로드 바이트의 개수, 그리고 P는 RS 프레임의 각 컬럼에 부가되는 RS 패리티 바이트의 개수이다. 그리고 는 X 이하의 가장 큰 정수이다. In Equation (2), NoG denotes the number of data groups allocated to one subframe, PL denotes the number of SCCC (Concatenated Convolution Code) payload bytes allocated to one data group, and P denotes a number The number of RS parity bytes to be added. And Is the largest integer less than or equal to X.
즉, 상기 수학식 2에서 PL(Portion Length)은 RS 프레임 포션 길이이며, 해당 데이터 그룹에 할당되는 SCCC 페이로드 바이트의 개수와 같다. 상기 PL은 RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 달라질 수 있다. 하기의 표 2 내지 표 5은 RS 프레임 모드, SCCC 블록 모드, 및 SCCC 아웃터 코드 모드에 따라 달라지는 PL 값의 실시예들을 보인 것이다. 상기 SCCC 블록 모드, SCCC 아웃터 코드 모드의 상세한 설명은 후술할 것이다. In Equation (2), PL (Portion Length) is an RS frame portion length, which is equal to the number of SCCC payload bytes allocated to the corresponding data group. The PL may vary according to the RS frame mode, the SCCC block mode, and the SCCC outer code mode. Tables 2 to 5 below illustrate examples of PL values depending on the RS frame mode, the SCCC block mode, and the SCCC outer code mode. A detailed description of the SCCC block mode and the SCCC outer code mode will be described later.
상기 표 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 according to 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 respectively 00 (i.e., coding of 1/2 coding rate is performed in the
상기 표 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 according to the SCCC outer code mode value when the RS frame mode value is 00 and the SCCC block mode value is 01. [
상기 표 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 varying according to 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 value of the A / B area is 00 each, 7644 bytes of mobile service data in the primary RS frame can be allocated to the A / B area of the corresponding data group.
상기 표 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 which varies according to 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 value of the C / D area is 00 each, 1980 bytes of mobile service data in the secondary RS frame can be allocated to the C / D area of the corresponding data group.
서비스 다중화기Service multiplexer
도 18은 상기 서비스 다중화기의 일 실시예를 보인 상세 블록도로서, 상기 서비스 다중화기의 전반적인 동작을 제어하는 제어기(Controller)(110), 메인 서비스를 위한 테이블 정보 발생기(120), 널 패킷 발생기(130), 모바일 서비스 다중화기(150), 및 트랜스포트 다중화기(160)를 포함할 수 있다. FIG. 18 is a detailed block diagram illustrating an exemplary embodiment of the service multiplexer, which includes a
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161), 및 트랜스포트 스트림(Transport Stream ; TS) 패킷 다중화기(162)를 포함할 수 있다.The
도 18을 보면, 적어도 한 종류의 압축 부호화된 메인 서비스 데이터와 상기 메인 서비스를 위해 테이블 정보 발생기(120)에서 발생된 테이블 데이터는 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161)로 입력된다. 상기 테이블 정보 발생기(120)는 MPEG-2 프라이빗 섹션(Private Section) 형태로 된 PSI/PSIP 테이블 데이터를 발생하는 것을 일 실시예로 한다.18, at least one kind of compression-encoded main service data and table data generated by the
상기 메인 서비스 다중화기(161)는 입력되는 메인 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 메인 서비스 다중화기(161)에서 출력되는 데이터 패킷을 설명의 편의를 위해 메인 서비스 데이터 패킷이라 하기로 한다. The
상기 모바일 서비스 다중화기(150)는 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위한 테이블 정보 예를 들어, PSI/PSIP 테이블 데이터를 입력받아 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력할 수 있다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다. The
또는 상기 모바일 서비스 다중화기(150)는 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위한 테이블 정보를 이용하여 생성된 RS 프레임을 입력받아 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 TS 패킷 다중화기(162)로 출력할 수 있다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다. Alternatively, the
상기 모바일 서비스 다중화기(150)는 도 15 또는 도 17의 (a),(b) 중 하나의 형태로 입력되는 RS 프레임을 TS 패킷 형태로 인캡슐레이션하는 것을 일 실시예로 한다.The
이때, 상기 송신기(200)에서 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분하여 처리하기 위해서는 식별 정보가 필요하다. 상기 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있으며, 해당 데이터 패킷 내 기 설정된 위치의 값을 변형시켜 이용할 수도 있다. At this time, the
본 발명에서는 일 실시예로, 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷에 각기 서로 다른 PID(Packet Identifier)를 할당하여 구분할 수 있다. 즉, 메인 서비스에 사용되지 않는 PID(또는 널 PID)를 모바일 서비스에 할당함으로써, 송신기(200)에서는 입력되는 데이터 패킷의 PID를 참조하여 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다.In 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, respectively. That is, by assigning a PID (or null PID) not used in the main service to the mobile service, the
다른 실시예로, 모바일 서비스 데이터 패킷의 헤더 내 동기 바이트를 변형함에 의해, 해당 서비스 데이터 패킷의 동기 바이트 값을 이용하여 구분할 수도 있다. 예를 들어, 메인 서비스 데이터 패킷의 동기 바이트는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 변형없이 그대로 출력하고, 모바일 서비스 데이터 패킷의 동기 바이트는 변형시켜 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. 반대로 메인 서비스 데이터 패킷의 동기 바이트를 변형하고, 모바일 서비스 데이터 패킷의 동기 바이트를 변형없이 그대로 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. In another embodiment, by modifying the synchronization byte in the header of the mobile service data packet, the synchronization byte value of the service data packet can be used to distinguish the mobile service data packet. For example, the synchronous byte of the main service data packet is output without modification as it is defined in ISO / IEC13818-1 (for example, 0x47), and the synchronous byte of the mobile service data packet is transformed and output, It is possible to distinguish between the data packet and the mobile service data packet. Conversely, the main service data packet and the mobile service data packet can be distinguished by modifying the synchronization byte of the main service data packet and outputting the synchronization byte of the mobile service data packet without modification.
상기 동기 바이트를 변형하는 방법은 여러 가지가 있을 수 있다. 예를 들어, 동기 바이트를 비트별로 반전시키거나, 일부 비트만을 반전시킬 수도 있다. There are various methods for modifying the sync byte. For example, the synchronization byte may be inverted bit by bit, or only some bits may be inverted.
이와 같이 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있는 식별 정보는 어느 것이나 가능하므로, 본 발명은 상기된 실시예들로 한정되지 않을 것이다. As described above, the identification information for distinguishing the main service data packet and the mobile service data packet can be any one, and therefore, the present invention is not limited to the above-described embodiments.
한편 상기 트랜스포트 다중화기(160)는 기존 디지털 방송 시스템에서 사용하는 트랜스포트 다중화기를 그대로 사용할 수 있다. 즉, 모바일 서비스 데이터를 메인 서비스 데이터와 다중화하여 전송하기 위하여 메인 서비스의 데이터 율을 (19.39-K) Mbps의 데이터 율로 제한하고, 나머지 데이터 율에 해당하는 K Mbps를 모바일 서비스에 할당하는 것이다. 이렇게 하면, 이미 사용되고 있는 트랜스포트 다중화기를 변경하지 않고 그대로 사용할 수 있다. Meanwhile, the
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비스 데이터 패킷을 다중화하여 송신기(200)로 전송한다. The
그런데 상기 모바일 서비스 다중화기(150)의 출력 데이터 율이 K Mbps가 안되는 경우가 발생할 수 있다. 예를 들어, 상기 서비스 다중화기(100)에서 19.39 Mbps 중 K Mbps를 모바일 서비스 데이터에 할당하고, 그 나머지인 (19.39-K) Mbps를 메인 서비스 데이터에 할당한다고 하면, 실제로 상기 서비스 다중화기(100)에서 다중화되는 모바일 서비스 데이터의 데이터 율은 K Mbps보다 작아진다. 이는 상기 모바일 서비스 데이터의 경우, 송신기(200)의 전 처리기(pre-processor)에서 추가의 부호화를 수행하여 데이터 량을 늘리기 때문이다. 이로 인해 서비스 다중화기(100)에서 전송할 수 있는 모바일 서비스 데이터의 데이터 율(data rate)이 K Mbps보다 작아지게 된다. However, it may happen that the output data rate of the
일 예로, 상기 송신기(200)의 전처리기에서는 모바일 서비스 데이터에 대해 적어도 1/2 부호율 이하의 부호화를 수행하므로, 전처리기의 출력 데이터의 양은 입력 데이터의 양보다 2배 이상 많게 된다. 따라서 서비스 다중화기(100)에서 다중화되는 메인 서비스 데이터의 데이터 율과 모바일 서비스 데이터의 데이터 율의 합은 항상 19.39 Mbps 보다 작거나 같게 된다. For example, the preprocessor of the
본 발명의 서비스 다중화기(100)는 모바일 서비스 다중화기(150)의 최종 출력 데이터 율을 K Mbps로 맞추기 위해 다양한 실시예들을 수행할 수 있다. The
일 실시예로, 널 패킷 발생기(130)에서 널 데이터 패킷을 발생하여 모바일 서비스 다중화기(150)로 출력하고, 상기 모바일 서비스 다중화기(150)에서는 널 데이터 패킷과 모바일 서비스 데이터 패킷을 다중화하여 출력 데이터 율을 K Mbps로 맞출 수 있다. In one embodiment, the
이때 상기 널 데이터 패킷은 송신기(200)로 전송된 후 버려진다. 즉, 수신 시스템으로 전송되지 않는다. 이를 위해 상기 널 데이터 구분할 수 있는 식별 정보도 필요하다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보도 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있으며, 상기 널 데이터 패킷 내 기 설정된 위치의 값을 변형시켜 이용할 수도 있다. 예를 들어, 널 패킷 생성기(130)에서 상기 널 데이터 패킷의 헤더 내 동기 바이트 값을 변형시켜 식별 정보로 이용할 수도 있고, transport_error_indicator 플래그(flag)를 1로 세팅시켜 식별 정보로 이용할 수도 있다. 본 발명에서는 널 데이터 패킷 내 헤더의 transport_error_indicator 플래그를 널 데이터 패킷을 구분할 수 있는 식별 정보로 이용하는 것을 일 실시예로 한다. 이 경우, 상기 널 데이터 패킷의 transport_error_indicator 플래그는 1로 셋팅하고, 상기 널 데이터 패킷 이외의 모든 데이터 패킷들의 transport_error_indicator 플래그는 0으로 리셋시켜 상기 널 데이터 패킷을 구분하는 것을 일 실시예로 한다. 즉, 상기 널 패킷 발생기(130)에서 널 데이터 패킷을 발생시킬 때 널 데이터 패킷의 헤더의 필드 중에서 transport_error_indicator 플래그를 '1'로 세팅하여 전송한다면 송신기(200)에서 이를 구분하여 버릴 수 있다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보는 널 데이터 패킷을 구분할 수 있는 값은 어느 것이나 가능하므로 본 발명은 상기된 실시예로 한정되지 않을 것이다. At this time, the null data packet is transmitted to the
상기 모바일 서비스 다중화기(150)의 최종 출력 데이터 율을 K Mbps로 맞추기 위한 다른 실시예로, OM 패킷(Operations and Maintenance Packet ; OMP라 하기도 함.)을 이용할 수도 있다. 이 경우 상기 모바일 서비스 다중화기(150)에서는 모바일 서비스 데이터 패킷, 널 데이터 패킷, 및 OM 패킷을 다중화하여 출력 데이터 율을 K Mbps로 맞출 수 있다. As another embodiment for adjusting the final output data rate of the
한편, 송신기(200)에서 모바일 서비스 데이터를 처리하기 위해서는 전송 파라미터와 같은 시그널링 데이터가 필요하다. In order to process the mobile service data in the
본 발명은 일 실시예로, 상기 전송 파라미터를 상기 OM 패킷의 페이로드 영역에 삽입하여 송신기(200)로 전송하는 것을 일 실시예로 한다.In one embodiment of the present invention, the transmission parameter is inserted into the payload area of the OM packet and transmitted to the
이때 상기 송신기(200)에서 상기 OM 패킷에 전송 파라미터가 삽입되어 있음을 식별할 수 있도록 하기 위해, 해당 OM 패킷의 타입 필드(=OM_type 필드)에 전송 파라미터가 삽입되었음을 알 수 있는 식별 정보를 표시하는 것을 일 실시예로 한다. At this time, to enable the
즉, 송신 시스템의 동작 및 관리를 위한 목적으로 OMP(Operations and Maintenance Packet) 라는 패킷이 정의되어 있다. 일 예로, 상기 OMP는 MPEG-2 TS 패킷의 형식을 따르며 해당 PID는 0x1FFA의 값을 가진다. 상기 OMP은 4바이트의 헤더와 184바이트의 페이로드로 구성된다. 상기 184 바이트 중 첫번째 바이트는 OM_type 필드로서 OM 패킷의 타입을 표시하고, 나머지 183 바이트는 OM_payload 필드로서 실제 데이터가 삽입된다. That is, a packet called an Operations and Maintenance Packet (OMP) is defined for the purpose of operation and management of the transmission system. For example, the OMP conforms to the format of the MPEG-2 TS packet and the corresponding 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, and the remaining 183 bytes are the actual data as the OM_payload field.
본 발명에서는 상기 OM_type 필드의 미사용 필드 값들 중에서 미리 약속된 값을 사용하여, 해당 OM 패킷에 전송 파라미터가 삽입되었음을 알 수 있게 한다. 그러면, 송신기(200)에서는 PID를 보고 OMP를 찾을 수 있으며, 상기 OMP 내 OM_type 필드를 파싱하여 해당 OM 패킷에 전송 파라미터가 삽입되었는지 알 수 있게 된다. In the present invention, it is possible to recognize that the transmission parameter is inserted in the corresponding OM packet by using a predetermined value among the unused field values of the OM_type field. Then, the
상기 OM 패킷으로 전송할 수 있는 전송 파라미터로는 M/H 프레임 정보(예를 들어, M/H frame_index), FIC 정보, 퍼레이드 정보(예를 들어, number_of_parades, parade_id, parade_repetition_cycle, ensemble_id), 그룹 정보(예를 들어, number_of_group, start_group_number), SCCC 정보(예를 들어, SCCC_block_mode, SCCC_outer_code_mode), RS 프레임 정보(예를 들어, RS_Frame_mode, RS_frame_continuity_counter), RS 부호화 정보(예를 들어, RS_code_mode) 등이 있다. The M / H frame information (e.g., M / H frame_index), FIC information, parade information (e.g., number_of_parades, parade_id, parade_repetition_cycle, ensemble_id), group information (E.g., number_of_group, start_group_number), SCCC information (e.g., SCCC_block_mode, SCCC_outer_code_mode), RS frame information (e.g., RS_Frame_mode, RS_frame_continuity_counter), and RS encoding information (e.g., RS_code_mode).
이때 상기 전송 파라미터가 삽입되는 OM 패킷은 일정한 주기로 발생되어 모바일 서비스 데이터 패킷과 다중화될 수 있다.At this time, the OM packets into which the transmission parameters are inserted are generated at regular intervals and can be multiplexed with mobile service data packets.
상기 모바일 서비스 다중화기(150), 메인 서비스 다중화기(161), TS 패킷 다중화기(160)의 다중화 규칙 및 널 데이터 패킷의 발생은 제어부(110)의 제어에 의해 이루어진다. The multiplexing rule of the
상기 TS 패킷 다중화기(162)는 메인 서비스 다중화기(161)에서 (19.39-K) Mbps로 출력되는 데이터 패킷과 모바일 서비스 다중화기(150)에서 K Mbps로 다중화되어 출력되는 데이터 패킷을 다중화하고, 다중화된 데이터 패킷을 19.39 Mbps 데이터 율로 송신기(200)로 전송한다. The
송신기transmitter
도 19는 본 발명의 일 실시예에 따른 송신기(200)의 구성 블록도로서, 제어부(201), 역다중화기(210), 패킷 지터 경감기(Packet jitter mitigator)(220), 전 처리기(Pre-Processor)(230), 패킷 다중화기(240), 후처리기(Post-Processor)(250), 동기(Sync) 다중화기(260), 및 송신부(transmission unit)(270)를 포함할 수 있다. FIG. 19 is a block diagram of a
상기 역다중화기(210)는 서비스 다중화기(100)로부터 데이터 패킷이 수신되면, 수신된 데이터 패킷이 메인 서비스 데이터 패킷인지, 모바일 서비스 데이터 패킷인지, 널 데이터 패킷인지를 구분하여야 한다. Upon receiving a data packet from the
일 실시예로, 상기 역다중화기(210)는 수신된 데이터 패킷 내 PID를 이용하여 모바일 서비스 데이터 패킷과 메인 서비스 데이터 패킷을 구분하고, transport_error_indicator 필드를 이용하여 널 데이터 패킷을 구분할 수 있다. In one embodiment, the
만일 상기 수신된 데이터 패킷에 OM 패킷이 포함되어 있다면, 상기 OM 패킷도 수신된 데이터 패킷 내 PID를 이용하여 구분할 수 있다. 이때 구분된 OM 패킷 내 OM_type 필드를 이용하면 해당 OM 패킷의 페이로드 영역에 전송 파라미터가 포함되어 수신되는지를 알 수 있다.If an OM packet is included in the received data packet, the OM packet can be identified using the PID in the received data packet. At this time, if the OM_type field in the separated OM packet is used, whether or not the transmission parameter is included in the payload area of the corresponding OM packet is received.
상기 역다중화기(210)에서 분리된 메인 서비스 데이터 패킷은 패킷 지터 경감기(220)로 출력되고, 모바일 서비스 데이터 패킷은 전처리기(230)로 출력되며, 널 데이터 패킷은 버려진다. 만일 상기 OM 패킷에 전송 파라미터가 포함되어 있다면 전송 파라미터가 추출되어 해당 블록으로 출력된 후 OM 패킷은 버려진다. 본 발명은 상기 OM 패킷에서 추출된 전송 파라미터는 제어부(201)를 통해 해당 블록으로 출력되는 것을 일 실시예로 한다.The main service data packet separated by the
상기 전처리기(230)는 역다중화기(210)에서 역다중화되어 출력되는 모바일 서비스 데이터 패킷 내 모바일 서비스 데이터에 대해 추가의 부호화 및 전송 프레임 상에 전송하고자 하는 데이터들의 용도에 따라 어느 특정 위치에 위치할 수 있도록 하는 데이터 그룹 형성 과정을 수행한다. 이는 상기 모바일 서비스 데이터가 노이즈 및 채널 변화에 빠르고 강력하게 대응하도록 하기 위해서이다. 상기 전처리기(230)는 추가의 부호화시에 상기 OM 패킷에서 추출된 전송 파라미터를 참조할 수도 있다. 또한 상기 전처리기(230)는 모바일 서비스 데이터 패킷을 다수개 모아 데이터 그룹을 형성하고, 상기 데이터 그룹 내 기 설정된 영역에 기지 데이터, 모바일 서비스 데이터, RS 패리티 데이터, MPEG 헤더 등을 할당한다. The pre-processor 230 demultiplexes the mobile service data in the mobile service data packet demultiplexed and output by the
송신기 내의 전처리기The preprocessor in the transmitter
도 20은 본 발명에 따른 전처리기(230)의 일 실시예를 보인 구성 블록도로서, M/H 프레임 부호기(301), 블록 처리기(302), 그룹 포맷터(303), 시그널링 부호기(305), 및 패킷 포맷터(305)를 포함할 수 있다. 20 is a block diagram showing an embodiment of the
이와 같이 구성된 전처리기(230) 내 M/H 프레임 부호기(301)는 역다중화기(210)를 통해 입력되는 모바일 서비스 데이터를 데이터 랜더마이징한 후 앙상블에 대응되는 RS 프레임을 형성하고, RS 프레임 단위로 에러 정정을 위한 부호화를 수행한다. 상기 M/H 프레임 부호기(301)는 하나 이상의 RS 프레임 부호기를 포함할 수 있다. 즉, 상기 RS 프레임 부호기는 M/H 프레임 내 퍼레이드의 수만큼 병렬로 구비될 수 있다. 전술한 바와 같이, M/H 프레임은 하나 이상의 퍼레이드를 전송하는 기본 시간 주기이다. 그리고 각 퍼레이드는 하나나 두 개의 RS 프레임으로 만들어진다. The M /
도 21은 상기 M/H 프레임 부호기(301)의 일 실시예를 보인 개념 블록도이다. 상기 M/H 프레임 부호기(301)는 역다중화기(input demux)(309), M개의 RS 프레임 부호기(310~31M-1), 및 다중화기(output mux)(320)를 포함할 수 있다. 여기서 M은 하나의 M/H 프레임 내 퍼레이드의 개수이다. FIG. 21 is a conceptual block diagram illustrating an embodiment of the M /
상기 역다중화기(309)는 입력되는 모바일 서비스 데이터를 앙상블 단위로 M개의 RS 프레임 부호기 중 해당 RS 프레임 부호기로 출력한다.The
이때 앙상블은 RS 프레임 부호기 또는 퍼레이드에 매핑되도록 할 수 있다. 예를 들어, 하나의 퍼레이드가 하나의 RS 프레임으로 구성된다면, 앙상블과 RS 프레임과 퍼레이드는 각각 1:1:1로 매핑될 수 있다. At this time, the ensemble can be mapped to the RS frame encoder or parade. For example, if one parade consists of one RS frame, the ensemble, RS frame and parade can be mapped to 1: 1: 1 respectively.
상기 RS 프레임 부호기는 입력되는 앙상블의 모바일 서비스 데이터로 대응하는 RS 프레임을 형성하고, RS 프레임 단위로 에러 정정 부호화 과정을 수행한다. 이어 복수개의 데이터 그룹에 할당하기 위해 에러 정정 부호화가 수행된 RS 프레임을 복수개의 포션(portion)으로 구분한다. 이때 상기 표 1의 RS 프레임 모드에 따라 하나의 RS 프레임의 데이터는 복수개의 데이터 그룹 내 A/B/C/D 영역에 모두 할당될 수도 있고, A/B 영역이나 C/D 영역에 할당될 수도 있다. The RS frame encoder forms a corresponding RS frame using the ensemble mobile service data, and performs an error correction coding process on an RS frame basis. The RS frame in which error correction coding is performed to allocate to a plurality of data groups is divided into a plurality of portions. At this time, data of one RS frame according to the RS frame mode of Table 1 may be all allocated to A / B / C / D regions in a plurality of data groups, or may be allocated to A / B regions or C / 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 in the secondary RS frame is allocated to the C / D area within the data group, 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, if the data of the primary RS frame is all allocated to the A / B / C / D area in the data group, each RS frame encoder outputs one RS frame for each parade, To form a primary RS frame.
그리고 상기 각 RS 프레임 부호기는 각 RS 프레임을 다수의 포션(several portions)으로 분리한다. 상기 RS 프레임의 각 포션은 하나의 데이터 그룹에 의해 전송될 수 있는 데이터 량에 대응된다. 상기 다중화기(320)는 M개의 RS 프레임(310~31M-1) 내 포션들을 다중화하여 블록 처리기(302)로 출력한다. Each of the RS frame encoders separates each RS frame into a plurality of portions. Each portion of the RS frame corresponds to an amount of data that can be transmitted by one data group. The
예를 들어, 하나의 퍼레이드가 두개의 RS 프레임을 전송한다면, M개의 RS 프레임(310~31M-1) 내 프라이머리 RS 프레임의 포션들끼리 다중화되어 출력되고, 세컨더리 RS 프레임의 포션들끼리 다중화되어 전송된다. For example, if one parade transmits two RS frames, the portions of the primary RS frame in the M RS frames 310 to 31M-1 are multiplexed and output, and the portions of the secondary RS frame are multiplexed .
상기 역다중화기(309)와 다중화기(320)는 제어부(201)의 제어 신호에 따라 동작한다. 상기 제어부(201)는 필요한 FEC 모드들을 각 RS 프레임 부호기에 제공할 수 있다. 상기 FEC 모드의 예로는 RS 코드 모드 등이 있으며, 뒤에서 상세히 설명하기로 한다. The
도 22는 M/H 프레임 부호기 내 복수의 RS 프레임 부호기 중 하나의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도이다. 22 is a detailed block diagram illustrating an embodiment of one RS frame encoder among a plurality of RS frame encoders in an M / H frame encoder.
하나의 RS 프레임 부호기는 프라이머리 부호기(410)와 세컨더리 부호기(420)를 포함할 수 있다. 여기서 세컨더리 부호기(420)는 RS 프레임 모드에 따라 동작될 수도 있고, 동작되지 않을 수도 있다. 예를 들어, RS 프레임 모드가 상기 표 1과 같이 00라면, 상기 세컨더리 부호기(420)는 동작하지 않는다. One RS frame encoder may include a
상기 프라이머리 부호기(410)는 데이터 랜더마이저(411), RS-CRC 부호기(412), 및 RS 프레임 디바이더(413)를 포함할 수 있다. 상기 세컨더리 부호기(420)는 데이터 랜더마이저(421), RS-CRC 부호기(422), 및 RS 프레임 디바이더(423)를 포함할 수 있다. The
즉, 상기 프라이머리 부호기(410)의 데이터 랜더마이저(411)는 역다중화기(309)에서 출력되는 프라이머리 앙상블의 모바일 서비스 데이터를 수신하여 랜더마이징한 후 RS-CRC 부호기(412)로 출력한다. 이때 상기 데이터 랜더마이저(411)에서 모바일 서비스 데이터에 대해 랜더마이징을 수행함으로써, 후처리기(250)의 데이터 랜더마이저(251)에서는 모바일 서비스 데이터에 대한 랜더마이징 과정을 생략할 수 있다. 상기 데이터 랜더마이저(411)는 모바일 서비스 데이터 패킷 내 동기 바이트를 버리고 랜더마이징을 수행할 수도 있다. 또는 상기 동기 바이트를 버리지 않고 랜더마이징을 수행할 수도 있으며, 이는 시스템 설계자의 선택 사항이다. 본 발명에서는 해당 모바일 서비스 데이터 패킷 내 동기 바이트를 버리지 않고 랜더마이징을 수행하는 것을 일 실시예로 한다. That is, the data randomizer 411 of the
상기 RS-CRC 부호기(412)는 랜더마이징된 프라이머리 앙상블에 대응하는 RS 프레임을 형성하고, RS 프레임 단위로 RS(Reed-Solomon)와 CRC(Cyclic Redundancy Check) 코드 중 적어도 하나를 사용하여 FEC(Forward Error Correction) 부호화한 후 RS 프레임 디바이더(413)로 출력한다. The RS-
즉, 상기 RS-CRC 부호기(412)는 랜더마이즈되어 입력되는 모바일 서비스 데이터 패킷을 복수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 부호화(encoding) 과정, 에러 검출 부호화 과정 중 적어도 하나의 과정을 수행한다. 이렇게 하면 모바일 서비스 데이터에 강건성을 부여하면서 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다. That is, the RS-
또한 상기 RS-CRC 부호기(412)는 복수개의 RS 프레임을 모아 수퍼 프레임(Super Frame)을 구성하고, 수퍼 프레임 단위로 로우(row) 섞음(permutation)을 수행할 수도 있다. 상기 로우 섞음(permutation)은 로우 인터리빙(interleaving)이라고도 하며, 본 발명에서는 설명의 편의를 위해 로우 섞음이라 하기로 한다. 상기 로우 섞음 과정은 생략될 수도 있다.In addition, the RS-
이때 상기 RS-CRC 부호기(412)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다. In this case, when the RS-
상기 RS-CRC 부호기(412)에서 에러 정정 부호화는 RS 부호화를 적용하고, 에러 검출 부호화는 CRC(Cyclic Redundancy Check) 부호화를 적용하는 것을 일 실시예로 한다. 상기 RS 부호화를 수행하면 에러 정정을 위해 사용될 패리티 데이터가 생성되고, CRC 부호화를 수행하면 에러 검출을 위해 사용될 CRC 데이터가 생성된다. The RS-
상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. 본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다. The CRC data generated by the CRC encoding can be used to indicate whether the mobile service data is transmitted through the channel and is damaged by an error. The present invention may use other error detection coding methods other than CRC coding, or may increase the overall error correction capability on the receiving side by using an error correction coding method.
여기서, 상기 RS-CRC 부호기(412)는 상기 제어부(201)를 통해 제공되는 전송 파라미터를 참조하여 RS 프레임 구성, RS 부호화, CRC 부호화, 수퍼 프레임 구성, 수퍼 프레임 단위의 로우 섞음 등을 수행할 수 있다. Here, the RS-
도 23의 (a),(b)는 RS 프레임 모드 값에 따라 하나 또는 두 개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션은 대응하는 데이터 그룹 내 해당 영역에 할당하는 과정을 보인 도면이다. 상기 데이터 그룹의 데이터 할당은 뒷단의 그룹 포맷터(303)에서 수행되는 것을 일 실시예로 한다.23A and 23B are diagrams illustrating a process of assigning one or two RS frames to a plurality of potions according to an RS frame mode value and assigning each potion to a corresponding area in a corresponding data group. The data allocation of the data group is performed in the
즉, 도 23의 (a)는 RS 프레임 모드가 00인 경우로서, 도 22에서 프라이머리 부호기(410)만 동작하여 하나의 퍼레이드에 대해 하나의 RS 프레임을 형성한다. 그리고 하나의 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 데이터는 대응하는 데이터 그룹 내 A/B/C/D 영역에 할당된다. That is, FIG. 23A shows a case where the RS frame mode is 00, and only the
도 23의 (b)는 RS 프레임 모드가 01인 경우로서, 도 22에서 프라이머리 부호기(410)와 세컨더리 부호기(420)가 모두 동작하여 하나의 퍼레이드에 대해 2개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 형성한다. 그리고 프라이머리 RS 프레임도 복수개의 포션으로 분할하고, 세컨더리 RS 프레임도 복수개의 포션으로 분할한다. 이때 각 프라이머리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되고, 각 세컨더리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 C/D 영역에 할당된다. FIG. 23B shows a case where the RS frame mode is 01. In FIG. 22, both the
RS 프레임의 구체적인 설명Specific description of RS frame
도 24의 (a)는 본 발명의 RS-CRC 부호기(412)에서 생성되는 RS 프레임의 예를 보인 것이다. 24 (a) shows an example of an RS frame generated by the RS-
상기 RS-CRC 부호기(412)는 도 24의 (a)와 같이 RS 프레임이 형성되면, 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc(=P)개의 패리티 바이트를 생성하고, 생성된 P개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P) 바이트의 한 컬럼을 만들 수가 있다. 여기서, Kc는 도 24의 (a)에서와 같이 187이며, Nc는 187+P이다. When the RS frame is formed as shown in FIG. 24A, the RS-
여기서, 상기 P 값은 RS 코드 모드 값에 따라 달라질 수 있다. Here, the P value may vary according to the RS code mode value.
하기의 표 6은 RS 부호화 정보 중 하나인 RS 코드 모드의 일 예를 보이고 있다. Table 6 below shows an example of the RS code mode which is one of the RS encoding information.
상기 표 6은 RS 코드 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 RS 코드 모드는 대응하는 RS 프레임의 패리티 개수를 나타낸다. In Table 6, two bits are allocated to indicate the RS code mode. The RS code mode indicates the number of parity of the corresponding RS frame.
예를 들어, RS 코드 모드 값이 10이라면, 도 24의 (a)의 RS 프레임에 대해 (235,187)-RS 부호화를 수행하여 48개의 패리티 바이트를 생성하고, 48개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 235 바이트의 한 컬럼을 만든다. For example, if the RS code mode value is 10, (235, 187) -RS encoding is performed on the RS frame in FIG. 24A to generate 48 parity bytes, and 48 parity bytes are allocated to the last Add one byte after the byte to make a column of 235 bytes.
그리고 상기 표 1의 RS 프레임 모드가 00 즉, 단일 RS 프레임을 표시하면 해당 RS 프레임에 대한 Reed-Solomon (RS) 코드 모드만 표시하면 된다. 하지만 상기 표 1의 RS 프레임 모드가 01 즉, 복수개의 분리된 RS 프레임을 표시하면, 프라이머리, 세컨더리 RS 프레임에 각각 대응하여 RS 코드 모드를 표시한다. 즉, 상기 RS 코드 모드는 프라이머리 RS 프레임과 세컨더리 RS 프레임에 독립적으로 적용되는 것이 바람직하다. If the RS frame mode in Table 1 is 00, i.e., a single RS frame is displayed, only the Reed-Solomon (RS) code mode for the corresponding RS frame is displayed. However, if the RS frame mode of Table 1 is 01, i.e., a plurality of separate RS frames are displayed, the RS code mode is displayed corresponding to the primary and secondary RS frames, respectively. That is, the RS code mode is preferably applied independently to the primary RS frame and the secondary RS frame.
이러한 RS 부호화 과정을 N개의 모든 컬럼에 대해서 수행하면, 도 24 의 (b) 와 같이 N(row) x (187+P)(column) 바이트의 크기를 갖는 RS 프레임을 만들 수가 있다. If the RS encoding process is performed for all N columns, an RS frame having a size of N (row) x (187 + P) (column) bytes as shown in FIG. 24B can be created.
이때 RS 프레임의 각 로우(row)는 N 바이트로 이루어져 있다. 그런데 송/수신간의 채널 상황에 따라서 상기 RS 프레임에 에러가 포함될 수가 있다. 이렇게 에러가 발생하는 경우에 각 로우 단위로 에러 여부를 검사하기 위하여 CRC(Cyclic Redundancy Check) 데이터(또는 CRC 코드 또는 CRC 체크섬이라고도 함)를 사용하는 것이 가능하다. At this time, each row of the RS frame is composed of N bytes. However, an error may be included in the RS frame according to channel conditions between the transmission and the reception. It is possible to use cyclic redundancy check (CRC) data (or a CRC code or a CRC checksum) to check whether an error occurs in each row unit.
상기 RS-CRC 부호기(412)는 상기 CRC 데이터를 생성하기 위하여 RS 부호화된 모바일 서비스 데이터에 대해 CRC 부호화를 수행할 수 있다. 상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. The RS-
본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다. The present invention may use other error detection coding methods other than CRC coding, or may increase the overall error correction capability on the receiving side by using an error correction coding method.
도 24 의 (c)는 CRC 데이터로 2 바이트(즉, 16비트) CRC 체크섬(checksum)을 사용하는 예를 보인 것으로서, 각 로우의 N 바이트에 대한 2바이트 CRC 체크섬을 생성한 후 N 바이트 후단에 부가하고 있다. 이렇게 함으로써, 각 로우는 N+2 바이트로 확장이 된다. 24C shows an example of using a 2-byte (i.e., 16-bit) CRC checksum as CRC data. After generating a 2-byte CRC checksum for N bytes of each row, . By doing this, each row is expanded to N + 2 bytes.
하기의 수학식 3은 N 바이트로 된 각 로우에 대해 2바이트 CRC 체크섬을 생성하는 다항식의 예를 보이고 있다. The following
상기 각 로우마다 2바이트 CRC 체크섬을 부가하는 것은 하나의 실시예이므로, 본 발명은 상기된 예로 제한되지 않을 것이다. Adding a 2-byte CRC checksum to each row is one embodiment, and the present invention is not limited to the above example.
지금까지 설명한 RS 부호화 및 CRC 부호화 과정을 모두 거치게 되면, N x 187 바이트의 RS 프레임은 (N+2) x (187+P) 바이트의 RS 프레임으로 확장하게 된다. When the RS coding and the CRC coding process described above are all performed, the RS frame of N x 187 bytes is expanded to the RS frame of (N + 2) x (187 + P) bytes.
이렇게 확장된 한 개의 RS 프레임의 에러 정정 시나리오를 살펴보면, RS 프레임 내의 바이트들은 로우 방향으로 채널 상에 전송된다. 이때 한정된 전송 시간에 다량의 에러가 발생하면 수신 시스템의 복호 과정의 RS 프레임에 로우 방향으로 에러가 발생하게 된다. 하지만 컬럼 방향으로 수행된 RS 부호 관점에서는 에러가 분산된 효과가 나타나므로 효과적인 에러 정정 수행이 가능하다. 이때 보다 강력한 에러 정정을 위한 방법으로 패리티 바이트(P)를 증가시키는 것이 있지만 전송 효율을 떨어뜨리므로 적당한 타협점이 필요하다. 이밖에도 복호시에 이레이저(Erasure) 복호(decoding)을 사용하여 에러 보정 능력을 향상시킬 수 있다. Looking at the error correction scenario of the extended RS frame, the bytes in the RS frame are transmitted on the channel in the row direction. At this time, if a large amount of error occurs in the limited transmission time, an error occurs in the RS frame of the decoding process of the receiving system in the row direction. However, since the RS codes are performed in the column direction, errors are dispersed and effective error correction can be performed. At this time, parity byte (P) is increased as a method for more accurate error correction, but a proper compromise is needed because transmission efficiency is lowered. In addition, the error correction capability can be improved by using the error decoding in decoding.
또한, 본 발명의 RS-CRC 부호기(412)에서는 RS 프레임의 에러 보정능력을 보다 향상시키기 위하여 수퍼 프레임 단위의 로우 섞음(permutation)을 수행할 수도 있다. In the RS-
도 25의 (a) 내지 (d)는 수퍼 프레임 단위의 로우 섞음 과정의 일 실시예를 보이고 있다. 25 (a) to 25 (d) show an embodiment of the low-mix process in units of super frames.
즉, RS-CRC 부호화된 RS 프레임들을 도 25의 (a)와 같이 G개 모아 수퍼 프레임을 구성한다. 이때 각각의 RS 프레임은 (N+2)x(187+P)바이트로 이루어져 있으므로, 하나의 수퍼 프레임은 (N+2)x(187+P)xG 바이트 크기로 이루어진다. That is, the RS-CRC-encoded RS frames constitute a G-group super frame as shown in FIG. 25 (a). Since each RS frame is composed of (N + 2) x (187 + P) bytes, one superframe consists of (N + 2) x (187 + P) x G bytes.
이렇게 구성된 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 도 25의 (b)와 같이 로우 섞음 전 수퍼 프레임의 i번째 로우는 로우 섞음이 수행되고 나면 도 25의 (c)와 같이 동일한 수퍼 프레임의 j번째 로우에 위치하게 된다. 이러한 i와 j의 관계는 하기의 수학식 4와 같은 로우 섞음 규칙을 통해서 알 수 있다. When the process of mixing each row of the superframe with the preset rule is performed, the positions of the rows before and after the low-mix in the superframe are changed. That is, the i-th row of the superframe before low-mixing as shown in FIG. 25 (b) is located at the j-th row of the same superframe as shown in FIG. 25 (c) after low- The relationship between i and j can be found through the low-mix rule as shown in Equation (4) below.
상기 수퍼 프레임 단위의 로우 섞음이 수행된 후에도 수퍼 프레임의 각 로우는 N+2 바이트로 구성된다. Even after the superframe-based low mixing is performed, each row of the superframe consists of N + 2 bytes.
그리고 상기 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 다시 도 25의 (d)와 같이 G개의 로우 섞음된 RS 프레임으로 나누어 RS 프레임 디바이더(413)로 제공한다. After all of the low-frame-by-super-frame shuffling is performed, the RS frame is divided into G low-mixed RS frames as shown in FIG. 25 (d) and provided to the
여기에서 주의할 점은 한 개의 수퍼 프레임을 구성하는 각각의 RS 프레임의 RS 패리티와 컬럼 수는 동일해야 한다는 것이다. Note that the RS parity and the number of columns of each RS frame constituting one superframe should be the same.
전술한 RS 프레임의 에러 정정 시나리오와 유사하게 수퍼 프레임의 경우는 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 더욱 향상된다. Similar to the above-described error correction scenario of the RS frame, even in the case of a superframe in which a large number of errors occur, since errors are contained in one RS frame to be decoded, the errors are dispersed throughout the superframe, The decoding capability is further improved as compared with the RS frame.
지금까지는 하나의 데이터 그룹을 A/B/C/D 영역으로 나눌 때, 하나의 RS 프레임의 데이터를 데이터 그룹 내 A/B/C/D 영역에 모두 할당할 때의 RS 프레임 형성 및 부호화 과정을 설명하였다. 즉, 하나의 퍼레이드로 하나의 RS 프레임을 전송할 때의 실시예로서, 이 경우 세컨더리 부호기(420)는 동작되지 않는다. Until now, when dividing one data group into A / B / C / D regions, the RS frame forming and encoding process when allocating data of one RS frame to A / B / C / . That is, as one embodiment of transmitting one RS frame in one parade, in this case, the
한편 하나의 퍼레이드로 2개의 RS 프레임을 전송할 때, 프라이머리 RS 프레임의 데이터는 데이터 그룹 내 A/B 영역에, 세컨더리 RS 프레임의 데이터는 해당 데이터 그룹 내 C/D 영역에 할당하여 전송할 수 있다. 이때 프라이머리 부호기(410)는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터를 입력받아 프라이머리 RS 프레임을 형성하고, RS 부호화와 CRC 부호화를 수행한다. 그리고 세컨더리 부호기(420)는 데이터 그룹 내 C/D 영역에 할당될 모바일 서비스 데이터를 입력받아 세컨더리 RS 프레임을 형성하고, RS 부호화와 CRC 부호화를 수행한다. 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임의 부호화는 서로 독립적으로 이루어진 다. On the other hand, when two RS frames are transmitted in one parade, the data of the primary RS frame can be allocated to the A / B area in the data group and the data of the secondary RS frame can be allocated to the C / D area in the corresponding data group. At this time, the
도 26의 (a),(b)는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터를 입력받아 프라이머리 RS 프레임을 구성하고, C/D 영역에 할당될 모바일 서비스 데이터를 모아 세컨더리 RS 프레임을 구성하여 각각 에러 정정 부호화 및 에러 검출 부호화를 수행한 예를 보이고 있다. 26 (a) and 26 (b) illustrate a case where mobile service data to be allocated to the A / B area in the data group is received and the primary RS frame is configured, the mobile service data to be allocated to the C / And error correction coding and error detection coding are performed, respectively.
즉, 도 26 의 (a)는 프라이머리 부호기(410)의 RS-CRC 부호기(412))에서 데이터 그룹 내 A/B 영역에 할당될 프라이머리 앙상블의 모바일 서비스 데이터를 입력받아 N1(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P1개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다. 26A, the mobile service data of the primary ensemble to be allocated to the A / B area in the data group is received from the RS-
도 26 의 (b)는 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 데이터 그룹 내 C/D 영역에 할당될 세컨더리 앙상블의 모바일 서비스 데이터를 입력받아 N2(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P2개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다. (B) of FIG. 26 receives the secondary ensemble mobile service data to be allocated to the C / D area in the data group in the RS-
이때 상기 각 RS-CRC 부호기(412,422)는 제어부(201)를 통해 제공되는 전송 파라미터를 참조하면 M/H 프레임 정보, FIC 정보, RS 프레임 정보(RS 프레임 모드 포함), RS 부호화 정보(RS 코드 모드 포함), SCCC 정보(SCCC 블록 모드 정보, SCCC 아웃터 코드 모드 정보 포함), 데이터 그룹 정보, 데이터 그룹 내 영역 정보 등을 알 수 있다. 상기 전송 파라미터는 각 RS-CRC 부호기(412,422)에서 RS 프레임 구성, 에러 정정 부호화, 에러 검출 부호화를 위해 참조될 뿐만 아니라, 수신 시스템에서의 정상적인 복호를 위해 수신 시스템으로 전송되어야 한다. 본 발명에서 상기 전송 파라미터는 전송 파라미터 채널(Transmission Parameter Channel ; TPC)을 통해 수신 시스템으로 전송되는 것을 일 실시예로 한다. 상기 TPC에 대해서는 뒤에서 상세히 설명하기로 한다.Referring to the transmission parameters provided through the
그리고 상기 프라이머리 부호기(410)의 RS-CRC 부호기(412)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 프라이머리 RS 프레임의 데이터는 RS 프레임 디바이더(413)로 출력된다. 만일 상기 세컨더리 부호기(420)가 동작하였다면, 상기 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 세컨더리 RS 프레임의 데이터는 RS 프레임 디바이더(423)로 출력된다. The data of the primary RS frame in which RS-frame encoding and super-frame low-mix are performed in the RS-
상기 프라이머리 부호기(410)의 RS 프레임 디바이더(413)는 프라이머리 RS 프레임을 다수의 포션(several portions)으로 분리한 후 다중화기(320)로 출력한다. 상기 프라이머리 RS 프레임의 각 포션은 하나의 데이터 그룹에 의해 전송될 수 있는 데이터 량에 대응된다. 마찬가지로, 세컨더리 부호기(420)의 RS 프레임 디바이더(423)는 세컨더리 RS 프레임을 다수의 포션(several portions)으로 분리한 후 다중화기(320)로 출력한다. The
본 발명은 프라이머리 부호기(410)의 RS 프레임 디바이더(413)에 대해 상세 히 설명하기로 한다. 그리고 설명의 편의를 위해 도 24의 (a) 내지 (c)와 같이 N(row) x 187(column) 바이트의 크기를 갖는 RS 프레임이 형성되고, 상기 RS 프레임에 RS 부호화를 통해 각 컬럼에 P 바이트의 패리티 데이터가 부가되고, CRC 부호화를 통해 각 로우에 2바이트의 CRC 체크섬이 부가되었다고 가정하자. The
그러면, RS 프레임 디바이더(413)는 N+2(row) x 187+P(column) 바이트의 크기를 갖는 부호화된 RS 프레임을 PL(여기서 PL은 상기 RS 프레임 포션 길이) 사이즈를 갖는 복수개의 포션으로 분할(partition)한다. Then, the
이때 상기 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 the RS frame mode, the SCCC block mode, and the 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 coding are 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) pots of PL size and one pot of PL size or smaller size. That is, the size of each potion except the last potion among the potions divided from one RS frame is equal to PL.
만일 마지막 포션의 사이즈가 PL보다 작다면, 부족한 바이트 수만큼 스터핑(stuffing) 바이트(또는 더미 바이트)를 마지막 포션에 삽입하여, 마지막 포션의 사이즈가 최종적으로 PL이 되도록 한다. If the size of the last portion is less than PL, stuffing bytes (or dummy bytes) are inserted into the last portion for the shortest number of bytes so that the size of the last portion 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 to be SCCC encoded and mapped into a single data group of one parade (each portion of a RS frame corresponds to the amount of data to be SCCC-encoded and mapped into a single data group of a Parade).
도 27의 (a), (b)는 (N+2) x (187+P) 크기의 RS 프레임을 PL 사이즈를 갖는 (5 x NoG)개의 포션으로 분할할 때, S개의 스터핑 바이트를 마지막 포션에 추가하는 실시예를 보이고 있다. 27 (a) and 27 (b) show that when dividing the (N + 2) x (187 + P) sized RS frame into (5 x NoG) As shown in FIG.
즉, 도 27의 (a)와 같이 RS 및 CRC 부호화된 RS 프레임은 도 27 의 (b)와 같이 복수개의 포션으로 분할된다. 상기 RS 프레임으로부터 분할되는 포션의 개수는 (5 x NoG)가 된다. 그리고 처음 ((5 x NoG) - 1)개의 포션들은 PL 사이즈를 포함하지만, 마지막 1개의 포션은 PL 사이즈와 같거나 작을 수 있다. 만일 PL 사이즈보다 작다면 마지막 포션은 PL 사이즈가 되도록 하기의 수학식 5와 같이 S개의 스터핑 바이트를 구하여 채울 수 있다. That is, as shown in FIG. 27 (a), RS and CRC-encoded RS frames are divided into a plurality of potions as shown in FIG. 27 (b). The number of potions to be divided from the RS frame is (5 x NoG). The first ((5 x NoG) - 1) potions include the PL size, but the last one potion may be equal to or less than the PL size. If the PL is smaller than the PL size, S stuffing bytes can be obtained and filled in as shown in Equation (5) so that the last portion is PL size.
상기 PL 사이즈의 데이터를 포함하는 각 포션은 M/H 프레임 부호기(301)의 다중화기(320)를 거쳐 블록 처리기(302)로 출력된다. Each portion including the PL size data is output to the
이때 상기 RS 프레임 포션들을 하나의 퍼레이드의 데이터 그룹들에 매핑하는 순서는 수학식 1에 정의된 데이터 그룹의 할당 순서와 동일하지 않다(The mapping order of the RS Frame Portions to a Parade of Groups is not identical with the Group assignment order defined in Equation 1). 즉, 하나의 M/H 프레임 내 퍼레이드의 데이터 그룹 위치가 주어지면, 상기 SCCC 부호화된 RS 프레임 포션들은 시간 순서로 할당된다(Given the Group positions of a Parade in an M/H Frame, the SCCC-encoded RS Frame Portions shall be mapped in time order). In this case, the order of mapping the RS frame positions to the data groups of one parade is not the same as the order of allocation of the data groups defined in Equation (1) with the Group assignment order defined in Equation 1). That is, given a data group location of a parade in one M / H frame, the SCCC encoded RS frame positions are allocated in a time order (Given the Group positions of a Parade in an M / H Frame, the SCCC- 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)에 배치된다. For example, in FIG. 11, the data groups of the second parade that is allocated are first allocated to the 13th slot (Slot # 12), and then allocated to the 3rd slot (Slot # 2). However, if data is placed in these assigned slots, the data is arranged in chronological order from left to right. That is, the first data group of
블록 처리기Block processor
한편, 상기 블록 처리기(302)는 상기 M/H 프레임 부호기(301)의 출력에 대해 SCCC 아웃터 부호화를 수행한다. 즉, 상기 블록 처리기(302)는 에러 정정 부호화되어 입력되는 각 포션의 데이터를 다시 1/H(여기서 H는 2 이상의 자연수) 부호율로 부호화하여 그룹 포맷터(303)로 출력한다. 본 발명은 입력 데이터를 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함)와 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함) 중 어느 하나로 부호화하여 출력하는 것을 일 실시예로 한다. 상기 M/H 프레임 부호기(301)에서 출력되는 각 포션의 데이터는 순수한 모바일 서비스 데이터, RS 패리티 데이터, CRC 데이터, 스터핑 데이터 중 적어도 하나를 포함하지만, 넓은 의미에서는 모바일 서비스를 위한 데이터들이다. 그러므로 각 포션의 데이터는 모두 모바일 서비스 데이터로 간주되어 설명될 것이다. Meanwhile, the
상기 그룹 포맷터(303)는 상기 블록 처리기(302)에서 SCCC 아웃터 부호화되어 출력되는 모바일 서비스 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 영역에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다. 그리고 나서, 상기 그룹 포맷터(303)는 데이터 그룹 내 데이터와 위치 홀더를 디인터리빙한다. The group formatter 303 inserts the mobile service data encoded and output by the
본 발명에서 데이터 그룹은 도 5에서와 같이 데이터 인터리빙 후를 기준으로 10개의 M/H 블록(B1~B10)으로 이루어지고, 4개의 영역(A,B,C,D)으로 구분된다. In the present invention, the data group is divided into four areas A, B, C, and D, and consists of ten M / H blocks B1 to B10 based on the data interleaving as shown in FIG.
그리고 도 5와 같이 데이터 그룹을 다수개의 계층화된 영역으로 구분한다고 가정하면, 블록 처리기(302)에서는 계층화된 영역의 특성에 따라 각 영역에 삽입될 모바일 서비스 데이터를 다른 부호율로 부호화할 수도 있다. As shown in FIG. 5, if the data group is divided into a plurality of layered regions, the
예를 들어, 데이터 그룹 내 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
또한 상기 블록 처리기(302)는 다른 실시예로서, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 상기 SCCC 블록은 적어도 하나의 M/H 블록을 포함한다. The
이때 1/H 부호화가 하나의 M/H 블록 단위로 이루어진다면, M/H 블록(B1~B10)과 SCCC 블록(SCB1~SCB10)은 동일하다(SCB1=B1, SCB2=B2, SCB3=B3, SCB4=B4, SCB5=B5, SCB6=B6, SCB7=B7, SCB8=B8, SCB9=B9, SCB10=B10). 예를 들어, M/H 블록 B1은 1/2 부호율로, M/H 블록 B2은 1/4 부호율로, M/H 블록 B3은 1/2 부호율로 부호화를 수행할 수 있다. 나머지 M/H 블록에 대해서도 마찬가지이다. The M / H blocks B1 to B10 and the SCCC blocks SCB1 to SCB10 are equal to each other (SCB1 = B1, SCB2 = B2, SCB3 = B3, SCB4 = B4, SCB5 = B5, SCB6 = B6, SCB7 = B7, SCB8 = B8, SCB9 = B9, SCB10 = B10). For example, the M / H block B1 can perform coding at a 1/2 coding rate, the M / H block B2 at a 1/4 coding rate, and the M / H block B3 at a 1/2 coding rate. The same is true for the remaining M / H blocks.
또는 A,B,C,D 영역 내 복수개의 M/H 블록을 하나의 SCCC 블록으로 묶어, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 이렇게 하면 C/D 영역의 수신 성능을 향상시킬 수 있게 된다. 예를 들어, M/H 블록 B1부터 M/H 블록 B5까지를 하나의 SCCC 블록으로 묶어 1/2 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 M/H 블록 B1부터 M/H 블록 B5까지 삽입하도록 할 수 있다. Alternatively, a plurality of M / H blocks in the A, B, C, and D regions may be grouped into one SCCC block, and 1 / H encoding may be performed in units of SCCC blocks. This improves the reception performance of the C / D region. For example, the M / H block B1 to M / H block B5 are grouped into one SCCC block to perform 1/2 coding, and the encoded mobile service data is transmitted to the
또한 M/H 블록 B6부터 M/H 블록 B10까지를 다른 SCCC 블록으로 묶어 1/4 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 M/H 블록 B6부터 M/H 블록 B10까지 삽입하도록 할 수 있다. 이 경우 하나의 데이터 그룹은 두개의 SCCC 블록으로 구성된다. Further, 1/4 encoding is performed by grouping the M / H block B6 to the M / H block B10 into other SCCC blocks, and the thus-coded mobile service data is transmitted from the M / H block B6 of the data group in the
또 다른 실시 예로써 M/H 블록을 2개씩 묶어서 하나의 SCCC 블록으로 구성할 수도 있다. 예를 들어서 M/H 블록 B1과 M/H 블록 B6을 묶어 하나의 SCCC(SCB1) 블록을 구성할 수 있다. 마찬가지로 M/H 블록 B2과 M/H 블록 B7을 묶어 다른 하나의 SCCC(SCB2) 블록, M/H 블록 B3과 블록 B8을 묶어 또 다른 하나의 SCCC(SCB3) 블록, M/H 블록 B4과 블록 B9을 묶어 또 다른 하나의 SCCC(SCB4) 블록, M/H 블록 B5과 M/H 블록 B10을 묶어 또 다른 하나의 SCCC(SCB5) 블록을 구성할 수 있다. 이 경우는 10개의 M/H 블록을 5개의 SCCC 블록으로 구성한 예이다. 이렇게 하면 채널 변화가 매우 심한 수신 환경에서 A 영역에 비해서 상대적으로 수신 성능이 떨어지는 C와 D 영역의 수신 성능을 보완할 수가 있다. 또한 A 영역에서 D 영역으로 갈수록 메인 서비스 데이터 심볼의 수가 점점 많아지게 되고 이것이 에러 정정 부호의 성능 저하를 가져오는데, 상기와 같이 복수개의 M/H 블록을 하나의 SCCC 블록으로 구성함으로써, 이러한 성능 저하를 줄일 수가 있다 As another embodiment, two M / H blocks may be combined into one SCCC block. For example, an M / H block B1 and an M / H block B6 may be combined to form one SCCC (SCB1) block. In the same manner, another SCCC (SCB2) block, an M / H block B3, and a block B8 are combined to form another SCCC (SCB3) block, an M / H block B4, B9 and another SCCC (SCB4) block, and another SCCC (SCB5) block by grouping the M / H block B5 and the M / H block B10. In this case, 10 M / H blocks are composed of 5 SCCC blocks. This can compensate for the reception performance of the C and D regions, where the reception performance is relatively low compared to the A region in the reception environment where the channel change is very severe. Also, the number of main service data symbols increases gradually from the area A to the area D, which causes performance degradation of the error correction code. As described above, by configuring a plurality of M / H blocks into one SCCC block, Can be reduced
상기와 같이 블록 처리기(302)에서 1/H 부호화가 이루어지면, 모바일 서비스 데이터를 정확하게 복원하기 위하여 SCCC 관련 정보가 수신 시스템으로 전송되어야 한다. When 1 / H encoding is performed in the
하기의 표 7은 SCCC 관련 정보 중 M/H 블록과 SCCC 블록 사이의 관계를 보인 SCCC 블록 모드의 일 예를 보이고 있다. Table 7 below shows an example of the SCCC block mode showing the relationship between the M / H block and the SCCC block among the SCCC related information.
상기 표 7은 SCCC 블록 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 블록 모드 값이 00이면 SCCC 블록과 M/H 블록이 동일함의 표시한다. 또한 상기 SCCC 블록 모드 값이 01이면 각 SCCC 블록이 2개의 M/H 블록으로 구성됨을 표시한다. In Table 7, two bits are allocated to indicate the SCCC block mode. For example, if the SCCC block mode value is '00', it indicates that the SCCC block and the M / H block are identical. If the SCCC block mode value is 01, it indicates that each SCCC block is composed of two M / H blocks.
만일 전술한 바와 같이 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성된다면 표 7에서는 표시하지 않았지만 SCCC 블록 모드로 이 정보도 표시할 수 있다. 예를 들어, SCCC 블록 모드 값이 10일 때는 각 SCCC 블록이 5개의 M/H 블록으로 구성되며, 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성됨을 표시할 수 있다. 여기서, SCCC 블록에 포함되는 M/H 블록의 개수 및 M/H 블록의 위치는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이며, 또한 SCCC 모드 정보의 확장도 가능하다. If one data group consists of two SCCC blocks as described above, this information can also be displayed in the SCCC block mode although it is not shown in Table 7. For example, when the SCCC block mode value is 10, each SCCC block is composed of 5 M / H blocks, and one data group can be composed of two SCCC blocks. Here, since the number of M / H blocks included in the SCCC block and the location of the M / H block may vary depending on the system designer, the present invention is not limited to the above embodiment, and the SCCC mode information can also be extended.
하기의 표 8은 SCCC 관련 정보 중 SCCC 블록의 부호율 정보 즉, SCCC 아웃터 코드 모드의 일 예를 보이고 있다. Table 8 below shows an example of code rate information of the SCCC block, that is, an SCCC outer code mode among the SCCC related information.
상기 표 8은 SCCC 블록의 부호율 정보를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 아웃터 코드 모드 값이 00이면 해당 SCCC 블록의 부호율은 1/2을 지시하고, 01이면 1/4을 지시한다. In Table 8, 2 bits are allocated to indicate the coding 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 indicates 1/4.
만일 상기 표 7의 SCCC 블록 모드 값이 00을 표시하면, 상기 SCCC 아웃터 코드 모드는 각 M/H 블록에 대응하여 각 M/H 블록의 부호율을 표시할 수 있다. 이 경우 하나의 데이터 그룹은 10개의 M/H 블록을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 10개의 M/H 블록에 대한 SCCC 블록 모드를 표시하기 위해 20비트가 필요하다. If the SCCC block mode value in Table 7 indicates 00, the SCCC outer code mode can display the coding rate of each M / H block corresponding to each M / H block. In this case, since one data group includes 10 M / H blocks and each SCCC block mode is assumed to be allocated 2 bits, 20 bits are required to indicate the SCCC block mode for 10 M / H blocks .
다른 예로, 상기 표 7의 SCCC 블록 모드 값이 00을 표시하면, 상기 SCCC 아웃터 코드 모드는 데이터 그룹 내 각 영역에 대응하여 각 영역의 부호율을 표시할 수도 있다. 이 경우 하나의 데이터 그룹은 A,B,C,D 4개의 영역을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 4개의 영역에 대한 SCCC 블록 모드를 표시하기 위해 8비트가 필요하다. As another example, if the SCCC block mode value in 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 be allocated two bits, 8 bits are required to indicate the SCCC block mode for four areas Do.
또 다른 예로, 상기 표 7의 SCCC 블록 모드 값이 01을 표시하면, 상기 데이터 그룹 내 A,B,C,D 영역은 동일한 SCCC 아웃터 코드 모드를 갖게 된다. As another example, if the SCCC block mode value in Table 7 indicates 01, the areas A, B, C, and D 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 the SCCC output block length (SOBL) for each SCCC block when the SCCC block mode value is 00. FIG.
즉, 각 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, knowing the SCCC output block length (SOBL) for each SCCC block determines the SCCC input block length (SIBL) for the corresponding SCCC block according to the outer code rate of each SCCC block . The SOBL is equal to the number of SCCC output (or outer encoded) bytes for each SCCC block, and SIBL is equal to the number of SCCC input (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.
이를 위해 상기 블록 처리기(302)는 도 28 과 같이 RS 프레임 포션-SCCC 블록 변환기(511), 바이트-비트 변환기(512), 콘볼루션 부호기(513), 심볼 인터리버(514), 심볼-바이트 변환기(515), 및 SCCC 블록-MH 블록 변환기(516)를 포함할 수 있다. To this end, the
상기 콘볼루션 부호기(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
즉, 상기 RS 프레임 포션-SCCC 블록 변환기(511)는 입력되는 RS 프레임 포션을 RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 표 9, 표 10의 SIBL을 사용함으로써, 복수의 SCCC 블록으로 분할한다. 여기서 상기 M/H 프레임 부호기(301)는 RS 프레임 모드에 따라 프라이머리 RS 프레임 포션을 출력하거나, 프라이머리 RS 프레임 포션과 세컨더리 RS 프레임 포션을 출력한다. That is, the RS frame portion-to-
상기 RS 프레임 모드가 00이라면, 프라이머리 RS 프레임의 포션은 블록 처리기(302)에서 SCCC 아웃터 부호화되어 하나의 데이터 그룹 내 10개의 M/H 블록에 매핑된 데이터 량과 같다. 만일 상기 SCCC 블록 모드가 00이라면, 상기 프라이머리 RS 프레임은 표 9에 따라 10개의 SCCC 블록으로 분할된다. 만일 SCCC 블록 모드가 01이라면, 상기 프라이머리 RS 프레임 포션은 표 10에 따라 5개의 SCCC 블록으로 분할된다. 한편 상기 RS 프레임 모드가 01이라면, 상기 블록 처리기(302)는 두개의 RS 프레임 포션을 입력받는다. 상기 RS 프레임 모드가 01인 경우, SCCC 블록 모드 값으로 01이 사용되지 않는다. 상기 프라이머리 RS 프레임으로터 분할된 프라이머리 포션은 블록 처리기(302)에서 SCCC 블록 SCB3, SCB4, SCB5, SCB6, SCB7, 및 SCB8으로서 SCCC 아웃터 부호화된다. 상기 SCCC 블록 SCB3, SCB8은 그룹 포맷터(303)에서 데이터 그룹 내 영역 B에 매핑되고, 상기 SCCC 블록 SCB4, SCB5, SCB6, SCB7은 영역 A에 매핑된다. 상기 세컨더리 RS 프레임으로부터 분할된 세컨더리 포션은 블록 처리기(302)에 의해 SCCC 블록 SCB1, SCB2, SCB9, 및 SCB10으로서 SCCC 아웃터 부호화된다. 상기 그룹 포맷터(303)는 상기 SCCC 블록 SCB1, SCB10은 해당 데이터 그룹 내 영역 D에 각각 매핑하고, 상기 SCCC 블록 SCB2, SCB9은 영역 C에 매핑된다. If the RS frame mode is 00, the portion of the primary RS frame is equal to the amount of data mapped to 10 M / H blocks in one data group by SCCC outcoding in the
상기 바이트-비트 변환기(512)는 상기 RS 프레임 포션-SCCC 블록 변환기(511)에서 출력되는 각 SCCC 블록의 모바일 서비스 데이터 바이트를 비트로 구분하여 콘볼루션 부호기(513)로 출력한다. The byte-to-
상기 콘볼루션 부호기(513)는 입력되는 모바일 서비스 데이터 비트에 대해 1/2 부호화 또는 1/4 부호화를 수행한다. The
도 29는 상기 콘볼루션 부호기(513)의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(521,523)와 3개의 가산기(522,524,525)로 구성되어, 입력 데이터 비트 U를 부호화하여 5비트(u0~u4)로 출력한다. 이때 입력 데이터 비트 U는 최상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1u2u3u4로 출력된다. FIG. 29 is a detailed block diagram showing an embodiment of the
즉, 입력 데이터 비트 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 bit U is directly output as the most significant bit u0 and simultaneously output to the first and
상기 제2 가산기(524)는 제1,제2 지연기(521,523)의 출력을 더하여 하위 비트 u3로 출력한다. 상기 제3 가산기(525)는 입력 데이터 비트 U와 제2 가산기(524)의 출력을 더하여 최하위 비트 u4로 출력한다. The
이때 제1,제2 지연기(521,523)는 각 SCCC 블록의 시작시에 0으로 리셋된다. 도 29의 콘볼루션 부호기(513)는 1/2 부호기로 사용할 수도 있고, 1/4 부호기로 사용할 수도 있다. At this time, the first and
즉, 도 29의 콘볼루션 부호기(513)의 일부 출력 비트를 선택하여 출력하면, 1/2 부호기 또는 1/4 부호기로 사용할 수 있다. That is, when a part of the output bits of the
하기의 표 11은 콘볼루션 부호기(513)의 출력 심볼의 일 예를 보인 것이다. Table 11 below shows an example of the output symbol of the
예를 들어, 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, that is, u0 and u1 bits, may be selected and output. In the case of the 1/4 code rate, two output symbols, i.e., four bits, may be selected and output according to the SCCC block mode. For example, when the SCCC block mode is 01, the output symbols of
상기 콘볼루션 부호화부(513)에서 1/2 또는 1/4 부호율로 부호화된 모바일 서비스 데이터 심볼은 심볼 인터리버(514)로 출력된다. The mobile service data symbols coded at 1/2 or 1/4 coding rate in the
상기 심볼 인터리버(514)는 상기 콘볼루션 부호기(513)의 출력 데이터 심볼에 대해 심볼 단위로 블록 인터리빙을 수행한다. 즉, 심볼 인터리버(514)는 블록 인터리버의 한 유형이다. 상기 심볼 인터리버(514)는 구조적으로 어¤구쉰서 재배열을 하는 인터리버이면 어느 인터리버라도 적용될 수 있다. 본 발명에서는 쉰서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버를 사용하는 것을 일 실시예로 설명한다. The symbol interleaver 514 performs block interleaving on the output data symbols of the
도 30 은 본 발명에 따른 심볼 인터리버의 일 실시예를 보인 도면으로서, B는 2112이고, L은 4096일 때의 심볼 인터리빙의 예이다. 30 shows an embodiment of a symbol interleaver according to the present invention, where B is 2112 and L is 4096 is an example of symbol interleaving.
여기서 상기 B는 콘볼루션 부호기(513)에서 심볼 인터리빙을 위해 출력되는 심볼 단위의 블록 길이(Block length in symbols)이고, L은 심볼 인터리버(514)에서 실제로 인터리빙이 되는 심볼 단위의 블록 길이이다. 이때 심볼 인터리버(514)로 입력되는 심볼 단위의 블록 길이 B는 4 x SOBL과 같다. 즉, 한 심볼은 2비트로 구성되므로, B는 4 x SOBL로 설정될 수 있다. Where B is the block length in symbols output for symbol interleaving in the
그리고 심볼 인터리빙시에, L = 2m(여기서 m은 자연수)이면서 L ≥ B 조건을 만족하여야 한다. 만일 B와 L의 값이 차이가 나게 되면, 차이나는 개수(=L-B)만큼 널(null 또는 dummy) 심볼이 추가되어 도 30 의 P'(i)와 같이 인터리빙 패턴이 만들어진다. In symbol interleaving, L = 2 m (where m is a natural number) and L ≥ B conditions. If the values of B and L are different, a null or dummy symbol is added as many as the number of differences (= LB), and an interleaving pattern is generated as shown in P '(i) of FIG.
그러므로 상기 B는 인터리빙을 위해 상기 심볼 인터리버(514)로 입력되는 실제 심볼들의 블록 크기가 되고, L은 상기 심볼 인터리버(514)에서 생성된 인터리빙 패턴에 의해 실제 인터리빙이 이루어지는 인터리빙 단위가 된다. Therefore, B is the block size of the actual symbols input to the
하기의 수학식 6은 상기 심볼 인터리버(514)에서 순서를 재배열하고자 하는 심볼 B개를 순서대로 입력받은 후, L = 2m이면서 L ≥ B 조건을 만족하는 L을 찾아 인터리빙 패턴을 만들어 재배열하는 과정을 수학식으로 표현한 것이다. Equation to 6, after the input symbol B dog to rearrange the order at the
P'(i) = 89 x i x (i+1) / 2 mod L P i (i) = 89 x i x (i + 1) / 2 mod L
여기서 L ≥ B , L = 2m이고, m은 자연수이다. Where L ≥ B, L = 2 m and m is a natural number.
상기 수학식 6, 도 30 의 P'(i)와 같이 L 심볼 단위로 B개의 입력 심볼과 (L-B)개의 널 심볼의 순서를 재배열한 후 도 30 의 P(i)와 같이 널 심볼의 위치를 제거하고 다시 정렬한다. 즉, 가장 낮은 i부터 시작하여, 제거된 널 심볼의 위치를 채우기 위해 P(i) 엔트리들을 왼쪽으로 쉬프트한다(Starting with the lowest i, shift the P(i) entries to the left to fill the empty entry locations). 그리고 정렬된 인터리빙 패턴 P(i)의 심볼들을 순서대로 심볼-바이트 변환기(515)로 출력 한다. 30, the order of B input symbols and (LB) null symbols is rearranged in units of L symbols as shown in P '(i) of Equation (6) and FIG. 30, Remove and rearrange. That is, starting from the lowest i, the P (i) entries are shifted to the left to fill the position of the removed null symbol (Starting with the lowest i, shift the P (i) entries to the left to fill the empty entry locations. And outputs the symbols of the aligned interleaving pattern P (i) to the symbol-to-
상기 심볼-바이트 변환기(515)는 상기 심볼 인터리버(514)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 바이트로 변환하여 SCCC 블록-MH 블록 변환기(516)로 출력한다. 상기 SCCC 블록-MH 블록 변환기(516)는 심볼 인터리빙된 SCCC 블록을 M/H 블록으로 변환하여 그룹 포맷터(303)로 출력한다. The symbol-to-
만일 SCCC 블록 모드가 00이라면, 상기 SCCC 블록은 데이터 그룹 내 각 M/H 블록에 1:1로 매핑된다. 다른 예로, SCCC 블록 모드가 01이라면, 상기 SCCC 블록은 데이터 그룹 내 두개의 대응하는 M/H 블록에 매핑된다. 예를 들어, SCCC 블록 SCB1은 (B1,B6)에, SCB2는 (B2,B7)에, SCB3은 (B3,B8)에, SCB4는 (B4,B9)에, 그리고 SCB5는 (B5,B10)에 매핑된다. 상기 SCCC 블록-MH 블록 변환기(516)에서 출력되는 M/H 블록은 모바일 서비스 데이터와 FEC 리더던시(redundancy)로 이루어진다. 본 발명은 M/H 블록의 모바일 서비스 데이터 뿐만 아니라 FEC 리더던시(redundancy)도 모바일 서비스 데이터로 간주하여 설명한다. If the SCCC block mode is 00, the SCCC block is mapped 1: 1 to each M / H block in the data group. As another example, if the SCCC block mode is 01, the SCCC block is mapped to two corresponding M / H blocks in the data group. For example, the SCCC block SCB1 corresponds to (B1, B6), the SCB2 corresponds to (B2, B7), the SCB3 corresponds to (B3, B8), the SCB4 corresponds to (B4, B9) Lt; / RTI > The M / H block output from the SCCC block-
그룹 포맷터Group formatter
상기 그룹 포맷터(303)는 상기 블록 처리기(302)에서 출력되는 M/H 블록의 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 M/H 블록에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다. The group formatter 303 inserts the data of the M / H block output from the
즉, 상기 그룹 포맷터(303)에서는 블록 처리기(302)에서 출력되는 부호화된 모바일 서비스 데이터들 외에도 도 5에서 보이는 것과 같이 후단의 데이터 디인터리빙과 관련하여 MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더를 데이터 그룹의 해당 영역에 삽입한다. 여기서 메인 서비스 데이터 위치 홀더를 삽입하는 이유는 도 5와 같이 데이터 인터리빙 후를 기준으로 B 영역 내지 D 영역에서는 모바일 서비스 데이터와 메인 서비스 데이터가 사이 사이에 서로 섞이게 되기 때문이다. 일 예로 상기 MPEG 헤더를 위한 위치 홀더는 상기 데이터 디인터리빙 후의 출력 데이터를 기준으로 볼 때, 각 패킷의 제일 앞에 할당될 수 있다. 또한 의도된 그룹 포맷을 구성하기 위해 더미 바이트를 삽입할 수도 있다. 또한 상기 그룹 포맷터(303)에서는 트렐리스 부호화부(Trellis Encoding Module)(256)의 초기화 데이터(즉, 트렐리스 초기화 바이트)를 해당 영역에 삽입한다. 일 실시예로, 상기 초기화 데이터는 상기 기지 데이터 열의 앞에 삽입할 수 있다. 상기 초기화 데이터는 트렐리스 부호화부(256) 내 메모리를 초기화하는데 이용되며, 수신 시스템으로 전송되지 않는다.That is, in the
그리고 상기 그룹 포맷터(303)에서는 시그널링 부호기(304)에서 부호화되어 출력되는 시그널링 정보도 데이터 그룹의 해당 영역에 삽입할 수 있다. Also, in the
이때 상기 시그널링 정보는 상기 그룹 포맷터(303)에서 각 데이터 및 위치 홀더를 데이터 그룹에 삽입할 때 참조될 수 있다. 상기 시그널링 정보의 부호화 및 데이터 그룹에 삽입하는 과정은 뒤에서 상세히 설명할 것이다. At this time, the signaling information may be referred to when each data and position holder is inserted into the data group in the
그리고 상기 그룹 포맷터(303)에서는 각종 데이터 및 위치 홀더를 데이터 그룹의 해당 영역에 삽입한 후, 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터 리빙의 역과정으로 디인터리빙하여 패킷 포맷터(305)로 출력한다. 상기 그룹 포맷터(303)는 도 31과 같이 그룹 포맷 형성부(Group format organizer)(527), 및 데이터 디인터리버(529)를 포함할 수 있다. 상기 그룹 포맷 형성부(527)는 상기와 같이 데이터 그룹 내 해당 영역에 데이터 및 위치 홀더를 삽입하고, 데이터 디인터리버(529)는 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙한다. The group formatter 303 inserts various data and position holders into corresponding areas of the data group, then deinterleaves the data in the data group and the position holder in the reverse process of data interleaving, and outputs the deinterleaved data to the
상기 패킷 포맷터(305)는 디인터리빙되어 입력된 데이터 중에서 디인터리빙을 위해 할당되었던 메인 서비스 데이터 위치 홀더와 RS 패리티 위치 홀더를 제거하고, 나머지 부분들을 모은 후, 3바이트의 MPEG 헤더 위치 홀더에 널 패킷 PID(또는 메인 서비스 데이터 패킷에서 사용하지 않는 PID)를 갖는 MPEG 헤더를 삽입한다. 그리고 각 187 바이트의 데이터 패킷의 시작 부분에 동기 바이트를 추가한다. The
또한 상기 패킷 포맷터(305)는 상기 그룹 포맷터(303)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 실제 기지 데이터를 삽입할 수도 있고, 또는 나중에 대체 삽입하기 위하여 상기 기지 데이터 위치 홀더를 조정없이 그대로 출력할 수도 있다. The
그리고 나서 상기 패킷 포맷터(305)는 상기와 같이 패킷 포맷팅된 데이터 그룹 내 데이터들을 188바이트 단위의 모바일 서비스 데이터 패킷(즉, MPEG TS 패킷)으로 구분하여 패킷 다중화기(240)에 제공한다. Then, the
상기 패킷 다중화기(240)는 상기 제어부(201)의 제어에 의해 패킷 포맷터(305)에서 패킷 포맷팅되어 출력되는 데이터 그룹과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 즉, 상기 제어부(201)는 패킷 다중화기(240)의 시간 다중화를 제어한다. 만일 상기 패킷 다중화기(240)가 상기 패킷 포맷터(305)로부터 118개의 모바일 서비스 데이터 패킷을 입력받는다면, 118개 중 37 모바일 서비스 데이터 패킷은 VSB 필드 동기 삽입 위치 앞에 배치되고(place), 또 다른 81 모바일 서비스 데이터 패킷은 상기 VSB 필드 동기 삽입 위치 뒤에 배치된다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의해서 조정이 가능하다. 상기 패킷 다중화기(240)에서의 다중화 방법 및 다중화 규칙에 대해서는 뒤에서 상세히 설명하기로 한다. The
그리고 상기 패킷 다중화 과정에서 메인 서비스 데이터 사이사이에 모바일 서비스 데이터를 포함하는 데이터 그룹이 다중화(또는 할당)되기 때문에 메인 서비스 데이터 패킷의 시간적인 위치가 상대적으로 이동하게 된다. 그런데 수신 시스템의 메인 서비스 데이터 처리를 위한 시스템 목표 디코더(즉, MPEG 디코더)에서는 메인 서비스 데이터만을 수신하여 복호하고 모바일 서비스 데이터 패킷은 널 데이터 패킷으로 인식하여 버리게 된다. Since the data group including the mobile service data is multiplexed (or allocated) between the main service data in the packet multiplexing process, the temporal location of the main service data packet is relatively moved. However, in a system target decoder (i.e., an MPEG decoder) for processing main service data of the receiving system, only the main service data is received and decoded, and the mobile service data packet is recognized as a null data packet.
따라서 수신 시스템의 시스템 목표 디코더가 데이터 그룹과 다중화된 메인 서비스 데이터 패킷을 수신할 경우 패킷 지터가 발생하게 된다. Therefore, packet jitter occurs when the system target decoder of the receiving system receives the main service data packet multiplexed with the data group.
이때 상기 시스템 목표 디코더에서는 비디오 데이터를 위한 여러 단계의 버퍼가 존재하고 그 사이즈가 상당히 크기 때문에 상기 패킷 다중화기(240)에서 발생시키는 패킷 지터는 비디오 데이터의 경우, 큰 문제가 되지 않는다. 그러나 시스템 목표 디코더 내 오디오 데이터를 위한 버퍼의 사이즈는 작기 때문에 문제가 될 수 있다. At this time, since the system target decoder has buffers of various stages for video data and its size is considerably large, the packet jitter generated in the
즉, 상기 패킷 지터로 인해 수신 시스템의 메인 서비스 데이터를 위한 버퍼, 예를 들면 오디오 데이터를 위한 버퍼에서 오버플로우(overflow)나 언더플로우(underflow)가 발생할 수 있다. That is, due to the packet jitter, an overflow or an underflow may occur in a buffer for a main service data of the receiving system, for example, a buffer for audio data.
따라서 패킷 지터 경감기(220)에서는 상기 시스템 목표 디코더의 버퍼에서 오버플로우 또는 언더플로우가 발생하지 않도록 메인 서비스 데이터 패킷의 상대적인 위치를 재조정한다. Therefore, the
본 발명에서는 오디오 버퍼의 동작에 주는 영향을 최소화하기 위하여 메인 서비스 데이터의 오디오 데이터 패킷의 위치를 재배치하는 실시예들을 설명한다. 상기 패킷 지터 경감기(220)는 메인 서비스의 오디오 데이터 패킷이 최대한 균일하게 위치할 수 있도록 메인 서비스 데이터 구간에서 오디오 데이터 패킷을 재배치한다. Embodiments for rearranging the positions of the audio data packets of the main service data in order to minimize the influence on the operation of the audio buffer will be described. The
또한 메인 서비스 데이터 패킷의 위치를 상대적으로 재조정하게 되면 그에 따른 PCR(Program Clock Reference) 값을 수정해 주어야 한다. PCR 값은 MPEG 디코더의 시간을 맞주기 위한 시간 기준값으로 TS 패킷의 특정 영역에 삽입되어 전송된다. 상기 패킷 지터 경감기(220)에서 PCR 값 수정도 수행하는 것을 일 실시예로 한다. Also, if the position of the main service data packet is relocated relatively, the PCR (Program Clock Reference) value should be corrected accordingly. The PCR value is inserted into a specific area of the TS packet as a time reference value for matching the time of the MPEG decoder and transmitted. The
상기 패킷 지터 경감기(220)의 출력은 패킷 다중화기(240)로 입력된다. 상기 패킷 다중화기(240)는 전술한 바와 같이 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷과 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷을 기 설정된 다중화 규칙에 따라 다중화하여 후 처리기(250)의 데이터 랜더마이저(251)로 출력한다. The output of the
상기 데이터 랜더마이저(251)는 입력된 데이터가 메인 서비스 데이터 패킷이면 기존의 랜더마이저와 동일하게 랜더마이징을 수행한다. 즉, 메인 서비스 데이터 패킷 내 동기 바이트를 버리고 나머지 187 바이트를 내부에서 발생시킨 의사랜덤(pseudo random) 바이트를 사용하여 랜덤하게 만든 후 RS 부호기/비체계적 RS 부호기(252)로 출력한다. If the input data is a main service data packet, the
그러나 입력된 데이터가 모바일 서비스 데이터 패킷이면, 패킷의 일부만을 랜더마이징할 수도 있다. 예를 들어, 상기 전처리기(230)에서 모바일 서비스 데이터에 대해 미리 랜더마이징을 수행하였다고 가정하면, 상기 데이터 랜더마이저(251)는 상기 모바일 서비스 데이터 패킷에 포함된 4바이트의 MPEG 헤더 중 동기 바이트를 버리고 나머지 3바이트에 대해서만 랜더마이징을 수행하여 상기 RS 부호기/비체계적 RS 부호기(252)로 출력한다. 즉, 상기 MPEG 헤더를 제외한 나머지 모바일 서비스 데이터에 대해서는 랜더마이징을 수행하지 않고 상기 RS 부호기/비체계적 RS 부호기(252)로 출력한다. 상기 데이터 랜더마이저(251)는 모바일 서비스 데이터 패킷에 포함된 기지 데이터(또는 기지 데이터 위치 홀더)와 초기화 데이터에 대해서는 랜더마이징을 수행할 수도 있고 수행하지 않을 수도 있다. However, if the input data is a mobile service data packet, only a part of the packet may be rendered. For example, if it is assumed that the
상기 RS 부호기/비체계적 RS 부호기(252)는 상기 데이터 랜더마이저(251)에서 랜더마이징되는 데이터 또는 바이패스되는 데이터에 대해 RS 부호화를 수행하여 20바이트의 RS 패리티를 부가한 후 데이터 인터리버(253)로 출력한다. 이때 상기 RS 부호기/비체계적 RS 부호기(252)는 입력된 데이터가 메인 서비스 데이터 패킷인 경우 기존 방송 시스템과 동일하게 체계적 RS 부호화를 수행하여 20바이트의 RS 패리티를 187바이트의 데이터 뒤에 부가한다. 그리고 모바일 서비스 데이터 패킷이면 비체계적 RS 부호화를 수행하고, 이때 얻은 20바이트의 RS 패리티를 패킷 내 미리 정해진 패리티 바이트 위치에 삽입한다. The RS encoder /
상기 데이터 인터리버(253)는 바이트 단위의 길쌈(convolutional) 인터리버이다. The data interleaver 253 is a convolutional interleaver on a byte basis.
상기 데이터 인터리버(253)의 출력은 패리티 치환기(254)와 비체계적 RS 부호기(255)로 입력된다. The output of the data interleaver 253 is input to a
한편 상기 패리티 치환기(254)의 후단에 위치한 트렐리스 부호화부(256)의 출력 데이터를 송/수신측에서 약속에 의해 정의한 기지 데이터로 하기 위해 먼저 트렐리스 부호화부(256) 내의 메모리의 초기화가 필요하다. 즉 입력되는 기지 데이터 열이 트렐리스 부호화되기 전에 먼저 트렐리스 부호화부(256)의 메모리를 초기화시켜야 한다. On the other hand, in order to convert the output data of the
이때 입력되는 기지 데이터 열의 시작 부분은 실제 기지 데이터가 아니라 전처리기(230) 내 그룹 포맷터에서 삽입된 초기화 데이터이다. 따라서 입력되는 기지 데이터 열이 트렐리스 부호화되기 직전에 트렐리스 부호화부(256) 내 메모리 값을 해당 초기화 데이터와 치환하는 과정이 필요하다. At this time, the beginning of the inputted known data sequence is not the actual known data but the initialization data inserted in the group formatter in the
즉, 초기화 데이터는 트렐리스 부호화부(256) 내 메모리 값으로 치 환(replace)되어 트렐리스 부호화부(256)로 입력된다. 이때 상기 초기화 데이터를 대체(replace)하는 메모리 값은 트렐리스 부호화부(256) 내 해당 메모리 값과 익스클루시브 오아 연산되어 해당 메모리로 입력된다. 따라서 해당 메모리는 0으로 초기화된다. 또한 초기화 데이터를 대체한 메모리 값으로 RS 패리티를 다시 계산하여 상기 데이터 인터리버(253)에서 출력되는 RS 패리티와 대체하는 과정이 필요하다.In other words, the initialization data is replaced with a memory value in the
따라서 상기 비체계적 RS 부호기(255)에서는 상기 데이터 인터리버(253)로부터 초기화 데이터가 포함된 모바일 서비스 데이터 패킷을 입력받고, 트렐리스 부호화부(256)로부터 메모리 값을 입력받는다. 그리고 입력된 모바일 서비스 데이터 패킷 중 초기화 데이터를 메모리 값으로 치환하고 상기 모바일 서비스 데이터 패킷에 부가된 RS 패리티 데이터를 제거한 후 비체계적인 RS 부호화를 수행한다. 그리고 상기 비체계적 RS 부호화하여 얻은 RS 패리티를 상기 패리티 치환기(255)로 출력한다. 그러면 상기 패리티 치환기(255)는 모바일 서비스 데이터 패킷 내 데이터는 상기 데이터 인터리버(253)의 출력을 선택하고, RS 패리티는 비체계적 RS 부호기(255)의 출력을 선택하여 트렐리스 부호화부(256)로 출력한다. Therefore, the
한편 상기 패리티 치환기(254)는 메인 서비스 데이터 패킷이 입력되거나 또는 초기화 데이터가 포함되지 않은 모바일 서비스 데이터 패킷이 입력되면 상기 데이터 인터리버(253)에서 출력되는 데이터와 RS 패리티를 선택하여 그대로 트렐리스 부호화부(256)로 출력한다. Meanwhile, when the main service data packet is input or the mobile service data packet including no initialization data is inputted, the
상기 트렐리스 부호화부(256)는 패리티 치환기(254)에서 출력되는 바이트 단위의 데이터를 심볼 단위로 바꾸고 12-way 인터리빙하여 트렐리스 부호화한 후 동 기 다중화기(260)로 출력한다. The
도 32는 트렐리스 부호화부(256) 내 12개의 트렐리스 부호기 중 하나의 트렐리스 부호기의 상세 도면이다. 상기 트렐리스 부호기는 2개의 다중화기(531,541), 2개의 익스클루시브 오아 게이트(532,543), 및 3개의 메모리(533,542,544)를 포함할 수 있다. 32 is a detailed diagram of one trellis coder of the 12 trellis coders in the
즉, 상기 패리티 치환기(254)에서 초기화 데이터 대신 출력되는 메모리 값에 의해 상기 제1 내지 제3 메모리(533,542,544)는 초기화된다. 다시 말해, 초기화 데이터(즉, 각 트렐리스 초기화 데이터 바이트)로부터 변환된 처음 심볼(즉, 2비트)이 입력되면, 트렐리스 부호기의 입력 비트들은 도 32 에서 보는 바와 같이 트렐리스 부호기의 메모리 값들로 대체된다(More specifically, when the first two 2-bit symbols converted from each trellis initialization byte are inputted, the input bits of the trellis encoder shall be replaced by the memory values of the trellis encoder, as shown in Figure 32). That is, the first to
그리고 두 심볼(즉, 4비트)이 트렐리스 초기화를 위해 요구되기 때문에, 트렐리스 초기화 데이터 바이트들의 마지막 2 심볼은 트렐리스 초기화를 위해 사용되지 않으며, 기지 데이터 바이트의 심볼로 취급된다(Since 2 symbols (4 bits) are required for trellis initialization, the last 2 symbols (4 bits) from trellis initialization bytes are not used for trellis initialization and are treated like a symbol from a known data byte). And since the two symbols (i.e., four bits) are required for the trellis initialization, the last two symbols of the trellis initialization data bytes are not used for the trellis initialization and are treated as symbols of known data bytes Since 2 symbols (4 bits) are required for trellis initialization, the last 2 symbols (4 bits) from trellis initialization bytes are not used for trellis initialization.
도 32의 트렐리스 부호기가 초기화 모드이면, 상기 트렐리스 부호기의 입력 은 패리티 치환기(254)의 출력(X2X1) 대신 내부 트렐리스 상태에서 온다(When the trellis encoder is in initialization mode, the input comes from an internal trellis state instead of from the parity replacer 254). 그리고 노말 모드이면, 상기 트렐리스 부호기는 상기 패리티 치환기(254)로부터 입력 심볼(X2X1)을 제공받아 처리한다(When the trellis encoder is in the normal mode, the input symbol from the parity replacer 254 shall be processed). 상기 트렐리스 부호기는 트렐리스 초기화를 위해 변경된 입력 데이터를 상기 비체계적 RS 부호기(255)로 제공한다(The trellis encoder provides the modified input data for trellis initialization to the non-systematic RS encoder 255). When the trellis encoder of FIG. 32 is in the initialization mode, the input of the trellis encoder comes from the internal trellis encoder instead of the output (X2X1) of the
즉, 상기 제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, when the selection signal indicates the normal mode, the
상기 선택 신호는 초기화 데이터 바이트로부터 변환된 처음 두 심볼 동안 초기화 모드를 지시한다.The select signal indicates an initialization mode during the first two symbols converted from the initialization data byte.
예를 들어, 선택 신호가 초기화 모드를 지시하면, 제1 배타적 오아 게이트(532)는 제1 다중화기(531)를 통해 제공되는 제1 메모리(533)의 값과 제1 메모리(533)에서 직접 제공되는 메모리 값을 배타적 오아 연산한다. 즉, 동일한 비트를 2개 받아 배타적 오아 연산한다. 일반적으로 배타적 오아 게이트는 피연산자의 두 개의 비트 중 하나만 1일 때는 결과가 1이 되고, 그렇지 않으면 0이 된다. 그러므로, 제1 메모리(533)의 값을 배타적 오아 연산하면 결과는 항상 0이 된다. 그리고 상기 제1 배타적 오아 게이트(532)의 출력 즉, 0이 제1 메모리(533)로 입력되므로, 제1 메모리(533)는 0으로 초기화된다. For example, if the select signal indicates an initialization mode, the first exclusive OR
마찬가지로, 선택 신호가 초기화 모드를 지시하면, 제2 배타적 오아 게이트(543)는 제1 다중화기(541)를 통해 제공되는 제2 메모리(542)의 값과 제2 메모리(542)에서 직접 제공되는 메모리 값을 배타적 오아 연산한다. 그러므로. 제2 배타적 오아 게이트(543)의 출력도 항상 0이 된다. 상기 제2 배타적 오아 게이 트(543)의 출력 즉, 0이 제3 메모리(544)로 입력되므로, 제3 메모리(544)도 0으로 초기화된다. 제3 메모리(544)의 출력은 다음 클럭에서 제2 메모리(542)로 입력되어, 제2 메모리(542)를 0으로 초기화시킨다. 이때에도 선택 신호는 초기화 모드를 지시한다. Likewise, if the select signal indicates an initialization mode, the second exclusive OR
즉, 초기화 데이터 바이트로부터 변환된 처음 심볼이 제1,제2 메모리(533,542) 값으로 대체되어 트렐리스 부호기로 입력되면, 트렐리스 부호기 내 제1, 제3 메모리(533,544)가 00으로 초기화된다. 이어 두 번째 심볼이 제1,제2 메모리(533,542) 값으로 대체되어 트렐리스 부호기로 입력되면, 트렐리스 부호기 내 제1,제2,제3 메모리(533,542,544)가 000으로 초기화된다. 이와 같이, 2 심볼이 트렐리스 부호기의 메모리를 초기화하기 위해 필요하다. 이때 상기 선택 신호가 초기화 모드를 지시하는 동안에는 제1,제2 메모리(533,542)의 출력 비트(X2'X1')가 새로운 RS 패리티 계산을 위해 비체계적 RS 부호기(255)로 입력된다.That is, when the first symbol converted from the initialization data byte is replaced with the values of the first and
상기 동기 다중화기(260)는 트렐리스 부호화부(256)의 출력에 필드 동기와 세그먼트 동기를 삽입하여 송신부(270)의 파일롯 삽입기(271)로 출력한다. The
상기 파일롯 삽입기(271)에서 파일롯이 삽입된 데이터는 변조기(272)에서 기 설정된 변조 방식 예를 들어, VSB 방식으로 변조된 후 RF 업 컨버터(273)를 통해 각 수신 시스템으로 전송된다. The pilot inserted data in the
패킷 다중화기(240)의 다중화 방법The multiplexing method of the
즉, 에러 정정 부호화 및 1/H 부호화된 프라이머리 RS 프레임(즉, RS 프레임 모드가 00) 또는 프라이머리/세컨더리 RS 프레임(즉, RS 프레임 모드가 01)의 데이터는 그룹 포맷터(303)에서 복수개의 데이터 그룹에 분할되어 각 데이터 그룹의 A 내지 D 영역 중 적어도 하나의 영역에 할당되거나, M/H 블록 B1 내지 B10 중 적어도 하나의 M/H 블록에 할당되어 디인터리빙된다. 그리고 디인터리빙된 데이터 그룹은 패킷 포맷터(305)를 거쳐 패킷 다중화기(240)에서 메인 서비스 데이터와 기 정해진 다중화 규칙에 따라 다중화된다. That is, the data of the error correction coding and 1 / H encoded primary RS frame (i.e., the RS frame mode is 00) or the primary / secondary RS frame (i.e., the RS frame mode 01) And is allocated to at least one area of the A to D areas of each data group, or is allocated to at least one M / H block among the M / H blocks B1 to B10 and deinterleaved. The deinterleaved data group is multiplexed in the
상기 패킷 다중화기(240)는 연속적인 복수개의 데이터 그룹들이 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화하여 출력한다. 예를 들어, 하나의 서브 프레임에 3개의 데이터 그룹을 다중화하여 전송한다고 가정하면, 3개의 데이터 그룹은 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯번째 슬롯(Slot #4), 아홉번째 슬롯(Slot #8)에 순차적으로 할당되어 출력된다. The
상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화되어 출력된다. 상기 데이터 그룹 및 퍼레이드들의 할당 방법은 M/H 프레임을 기반으로 M/H 프레임마다 다르게 적용할 수 있고, 하나의 M/H 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. Like the assignment of the data group, the parades are multiplexed and outputted so as to be far apart from each other in the subframe. The method of allocating the data group and the parade may be applied differently for each M / H frame based on the M / H frame, and the same applies to all subframes within one M / H frame.
도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 상기 패킷 다중화기(240)에서 하나의 M/H 프레임에 할당할 때의 실시예를 보이고 있다. 도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 M/H 프레임 내 5개의 서브 프레임 에 대해 수행되면, 하나의 M/H 프레임에 15개의 데이터 그룹이 할당됨을 알 수 있다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들이다. FIG. 10 shows an embodiment in which a single parade with three data groups included in one subframe is allocated to one M / H frame by the
상기 도 10과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 M/H 프레임에 할당되었을 때, 상기 패킷 다중화기(240)는 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터를 할당할 수도 있고, 다른 퍼레이드의 데이터 그룹들을 할당할 수도 있다. 즉, 상기 패킷 다중화기(240)는 하나의 M/H 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 할당할 수 있다. As shown in FIG. 10, when data groups for one parade are allocated to M / H frames, the
기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당 방법도 단일 퍼레이드의 경우와 다르지 않다. 즉, 상기 패킷 다중화기(240)는 하나의 M/H 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당한다. Basically, the method of assigning data groups to multiple parades is not different from that of a single parade. That is, the
이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다. At this time, 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 the allocation of data groups for one parade is performed as shown in FIG. 10, the data group for the next parade can be allocated from the 12th slot in one subframe.
도 11은 상기 패킷 다중화기(240)에서 하나의 M/H 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 할당하여 전송하는 예를 보인 것이다. 11 shows an example in which the
일 예로, 첫 번째 퍼레이드(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 data groups per subframe, the
두 번째 퍼레이드(Parade #1)는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 3~4를 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다. Assuming that the second parade (Parade # 1) includes two data groups per subframe, the
또한 세 번째 퍼레이드(Parade #2)는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 5~6을 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다. If the third parade (Parade # 2) includes two groups per subframe, the
이와 같이 상기 패킷 다중화기(240)는 하나의 M/H 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 다중화하여 출력할 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 다중화는 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행한다. 따라서 하나의 서브 프레임에 다중화될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 M/H 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 M/H 프레임에 다중화될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다. As described above, the
시그널링 정보 처리Signaling information processing
본 발명은 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 각 데이터 그룹 내 일부 영역(area)에 할당하는 것을 일 실시예로 한다. The present invention is an embodiment in which a signaling information area for inserting signaling information is allocated to a certain area within each data group.
도 33은 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 데이터 그룹 내 M/H 블록 B4의 첫 번째 세그먼트부터 두 번째 세그먼트의 일부까지 할당한 예를 보이고 있다. 즉, 각 데이터 그룹의 M/H 블록 B4의 276(=207+69) 바이트가 시그널링 정보를 삽입하기 위한 영역으로 할당된 예이다. 다시 말해, 상기 시그널링 정보 영역은 M/H 블록 B4의 첫 번째 세그먼트인 207 바이트와 두 번째 세그먼트의 처음 69 바이트로 구성된다. 일 예로, 상기 M/H 블록 B4의 첫 번째 세그먼트는 VSB 필드의 17번째 또는 173번째 세그먼트에 해당한다. 33 shows an example in which a signaling information area for inserting signaling information is allocated from the first segment to the second segment of the M / H block B4 in the data group. That is, 276 (= 207 + 69) bytes of the M / H block B4 of each data group are allocated as areas for inserting signaling information. In other words, the signaling information area is composed of 207 bytes, which is the first segment of the M / H block B4, and the first 69 bytes of the second segment. For example, the first segment of the M / H block B4 corresponds to the 17th or 173rd segment of the VSB field.
상기 시그널링 정보 영역에 삽입될 시그널링 정보는 시그널링 부호기(304)에서 FEC 부호화되어 그룹 포맷터(303)로 입력된다. 상기 시그널링 정보는 OM 패킷의 페이로드 영역에 삽입되어 역다중화기(210)로 수신된 전송 파라미터를 포함할 수 있다. The signaling information to be inserted into the signaling information area is FEC-coded by the signaling
상기 그룹 포맷터(303)에서는 상기 시그널링 부호기(304)에서 FEC 부호화되어 출력되는 시그널링 정보를 데이터 그룹 내 시그널링 정보 영역에 삽입한다. In the
상기 시그널링 정보는 크게 두 종류의 시그널링 채널로 구분할 수 있다. 하나는 전송 파라미터 채널(Transmission Parameter Channel ; TPC)이고, 다른 하나는 도 11 내지 도 13에서 설명한 고속 정보 채널(Fast Information Channel ; FIC)이다. The signaling information can be divided into two types of signaling channels. One is a Transmission Parameter Channel (TPC), and the other is a Fast Information Channel (FIC) described in Figs.
상기 TPC 데이터는 RS 프레임 정보, RS 부호화 정보, FIC 정보, 데이터 그룹 정보, SCCC 정보, M/H 프레임 정보 등과 같은 전송 파라미터를 포함하는 시그널링 정보이다. 상기 TPC 데이터는 본 발명의 이해를 돕기 위한 일 실시예일뿐이며, 상기 TPC에 포함되는 시그널링 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The TPC data is signaling information including transmission parameters such as RS frame information, RS coding information, FIC information, data group information, SCCC information, and M / H frame information. The TPC data is merely an example for facilitating understanding of the present invention, and addition and deletion of signaling information included in the TPC can be easily changed by those skilled in the art, so the present invention is not limited to the above embodiments.
상기 FIC 데이터는 도 11 내지 도 13에서와 같이 수신기에서 빠른 서비스 획득(fast service acquisition)이 가능하도록 하기 위해 제공되며, 물리 계층과 상위 계층 사이의 크로스 계층 정보를 포함한다(The FIC is provided to enable the fast service acquisition of receivers and it contains cross layer information between the physical layer and the upper layer(s)). The FIC data is provided to allow fast service acquisition at the receiver as shown in FIG. 11 to FIG. 13, and includes cross layer information between the physical layer and the upper layer (The FIC is provided to enable The fast service acquisition of receivers and it contains cross layer information between the physical layer and the upper layer (s).
도 34는 시그널링 부호기(304)의 일 실시예를 보인 상세 블록도이다. FIG. 34 is a detailed block diagram illustrating an embodiment of a
상기 시그널링 부호기(304)는 TPC 부호기(561), FIC 부호기(562), 블록 인터리버(563), 다중화기(564), 시그널링 랜덤마이저(565), 및 회귀적 터보 부호기(Iterative Turbo Encoder) (566)를 포함할 수 있다. The signaling
상기 TPC 부호기(561)는 10 바이트의 TPC 데이터를 입력받아 (18,10)-RS 부호화를 수행하여 10 바이트의 TPC 데이터에 8바이트의 패리티 데이터를 부가한다. 상기 RS-부호화된 18 바이트의 TPC 데이터는 다중화기(564)로 출력된다. The
상기 FIC 부호기(562)는 37 바이트의 FIC 데이터를 입력받아 (51,37)-RS 부호화를 수행하여 37 바이트의 FIC 데이터에 14바이트의 패리티 데이터를 부가한다. 상기 RS-부호화된 51 바이트의 FIC 데이터는 블록 인터리버(563)로 입력되어 기 설정된 블록 단위로 인터리빙된다. 일 예로, 상기 블록 인터리버(563)는 가변 길이 블록 인터리버이며, RS 부호화되어 입력되는 각 서브 프레임 내 FIC 데이터를 TNoG (column) x 51 (row) 블록 단위로 인터리빙한 후 다중화기(564)로 출력한다. 여기서 상기 TNoG는 하나의 서브 프레임에 할당되는 전체 데이터 그룹의 개수이다. 상기 블록 인터리버(563)는 각 서브 프레임의 처음 FIC 데이터에 동기된다. The
상기 블록 인터리버(563)는 51 바이트의 RS 코드워드를 로우 단위로 왼쪽으로 오른쪽으로, 위에서 아래로 쓰고, 컬럼 단위로 위에서 아래로, 왼쪽에서 오른쪽으로 읽어 51 바이트 단위로 출력한다(The Block interleaver shall write the incoming RS codewords of 51 bytes row-by-row from left to right and top-to-bottom and shall output the data in units of 51 bytes by reading column by column from top-to-bottom and left-to-right). The
상기 다중화기(564)는 상기 TPC 부호기(561)에서 RS 부호화된 TPC 데이터와 블록 인터리버(563)에서 블록 인터리빙된 FIC 데이터를 시간축으로 다중화하고, 다중화된 69 바이트의 데이터를 시그널링 랜덤마이저(565)로 출력한다. The
상기 시그널링 랜덤마이저(565)는 다중화된 데이터를 랜덤마이징하여 회귀적 터보 부호기(566)로 출력한다. 상기 시그널링 랜덤마이저(565)는 모바일 서비스 데 이터를 위한 랜덤마이저의 생성 다항식을 그대로 이용할 수 있다. 또한 초기화는 매 데이터 그룹마다 일어난다(occur). The
상기 회귀적 터보 부호기(566)는 랜더마이징된 데이터 즉, 시그널링 정보 데이터에 PCCC 방식으로 회귀적 터보 부호화를 수행하는 인너 부호기이다. 상기 회귀적 터보 부호기(566)는 6개의 이븐 컨포넌트 부호기와 6개의 오드 컨포넌트 부호기로 구성될 수 있다. The
도 35는 상기 TPC 부호기(561)로 입력되는 TPC 데이터의 신택스 구조의 일 실시예를 보인 도면이다. 상기 TPC 데이터는 각 데이터 그룹의 시그널링 정보 영역에 삽입되어 전송된다. 35 is a diagram showing a syntax structure of TPC data input to the
상기 TPC 데이터는 Sub-Frame_number 필드, Slot_number 필드, Parade_id 필드, starting_Group_number (SGN) 필드, number_of_Group (NoG) 필드, Parade_repetition_cycle (PRC) 필드, RS_Frame_mode 필드, RS_code_mode_primary 필드, RS_code_mode_secondary 필드, SCCC_Block_mode 필드, SCCC_outer_code_mode_A 필드, SCCC_outer_code_mode_B 필드, SCCC_outer_code_mode_C 필드, SCCC_outer_code_mode_D 필드, FIC_version 필드, Parade_continuity_counter 필드, TNoG 필드 등을 포함할 수 있다. The TPC data includes at least one of a Sub-Frame number field, a Slot_number field, a Parade_id field, a starting_Group_number field, a number_of_Group field, a Parade_repetition_cycle field, an RS_Frame_mode field, an RS_code_mode_primary field, an RS_code_mode_secondary field, an SC_CC_Block_mode field, an SCCC_outer_code_mode_A field, An SCCC_outer_code_mode_C field, an SCCC_outer_code_mode_D field, a FIC_version field, a Parade_continuity_counter field, a TNoG field, and the like.
상기 Sub-frame_number 필드는 해당 M/H 프레임 내 현재 서브 프레임의 개수를 표시하며, M/H 프레임 동기화를 위해 전송된다. 상기 Sub-frame_number 필드 값은 0~4 사이의 값을 가질 수 있다(The Sub-Frame_number field shall be the current Sub-Frame number within the M/H Frame, which is transmitted for M/H Frame synchronization. Its value shall range from 0 to 4). The Sub-frame_number field indicates the number of current subframes in the M / H frame, and is transmitted for M / H frame synchronization. The Sub-frame_number field value may have a value between 0 and 4. (The Sub-Frame_number field shall be the current sub-frame number within the M / H Frame, which is transmitted for M / H Frame synchronization. shall range from 0 to 4).
상기 Slot_number 필드는 해당 서브 프레임 내 현재 슬롯의 개수를 표시하며, M/H 프레임 동기화를 위해 전송된다. 상기 Slot_number 필드 값은 0~15 사이의 값을 가질 수 있다(The Slot_number field is the current Slot number within the Sub-Frame, which is transmitted for M/H Frame synchronization. Its value shall range from 0 to 15). The Slot_number field indicates the number of current slots in the corresponding subframe and is transmitted for M / H frame synchronization. The Slot_number field value may have a value between 0 and 15. (The Slot_number field is the current Slot number within the Sub-Frame, which is transmitted for M / H Frame synchronization.
상기 Parade_id 필드는 해당 데이터 그룹이 속한 퍼레이드를 식별하기 위한 식별자를 표시한다. 상기 Parade_id 필드값은 7비트로 표시할 수 있다. 하나의 M/H 전송에서 각 퍼레이드는 유일한 Parade_id을 갖는다(The Parade_id field identifies the Parade to which this Group belongs. The value of this field may be any 7-bit value. Each Parade in a M/H transmission shall have a unique Parade_id). 이때 물리 계층과 상위 계층 사이에서 Parade_id 의 통신은 상기 Parade_id 의 왼쪽에 1비트를 추가함에 의해 형성되는 Ensemble_id에 의해 이루어진다(Communication of the Parade_id between the physical layer and the management layer shall be by means of an Ensemble_id formed by adding one bit to the left of the Parade_id). 상기 퍼레이드를 통해 전송되는 프라이머리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 0을 표시하여 형성되고, 세컨더리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 1을 표시하여 형성될 수 있다(If the Ensemble_id is for the primary Ensemble delivered through this Parade, the added MSB shall be ‘0’. Otherwise, if it is for the secondary Ensemble, the added MSB shall be ‘1’). The Parade_id field indicates an identifier for identifying a parade to which the data group belongs. The Parade_id field value can be expressed by 7 bits. In a M / H transmission, each parade has a unique Parade_id (Parade_id field identifies the Parade to which this Group belongs. The value of this field may be any 7-bit value. a unique Parade_id). At this time, the communication of the Parade_id between the physical layer and the upper layer is performed by the Ensemble_id formed by adding one bit to the left of the Parade_id (the communication layer of the physical layer and the management layer is formed by an ensemble_id formed by adding one bit to the left of the Parade_id). The Ensemble_id for distinguishing the primary ensemble transmitted through the parade is formed by marking 0 in the added MSB, and the Ensemble_id for distinguishing the secondary ensemble can be formed by displaying 1 in the added MSB (If The MSB shall be '0'. Otherwise, the MSB shall be '1').
상기 SGN 필드는 상기 데이터 그룹이 속한 퍼레이드에 대한 첫 번째 슬롯 번호를 표시한다(The starting_Group_number (SGN) field shall be the first Slot_number for a Parade to which this Group belongs, as determined by Equation 1 (after the Slot numbers for all preceding Parades have been calculated).) 상기 SGN와 NoG 필드는 수학식 1을 적용하여, 해당 서브 프레임 내 하나의 퍼레이드에 할당된 슬롯 번호를 얻기 위해 사용된다. The SGN field indicates the first slot number for the parade to which the data group belongs. (The starting_group_number (SGN) field shall be the first slot number for a Parade to which this Group belongs, as determined by
상기 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 NoG field indicates the number of groups assigned to the parade to which the data group belongs. (The number_of_Groups (NoG) field shall indicate the number of groups in a sub-frame assigned to the Parade. 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. The slot numbers assigned to the corresponding parade can be calculated from SGN and NoG using Equation (1).
상기 PRC 필드는 M/H 프레임 단위로 전송되는 퍼레이드의 반복 주기를 하기의 표 12와 같이 지시한다(The Parade_repetition_cycle (PRC) field shall be the cycle time over which the Parade is transmitted, minus 1, specified in units of M/H Frames, as described in Table 12). The PRC field indicates the repetition period of the parade transmitted in units of M / H frames as shown in Table 12 below (The Parade_repetition_cycle (PRC) field shall be the parade is transmitted, minus 1, of M / H Frames, as described in Table 12).
[표 12] [Table 12]
예를 들어, 상기 PRC 필드 값이 001이라면, 상기 퍼레이드는 2 M/H 프레임마다 한번씩 전송됨을 지시한다. For example, if the PRC field value is 001, the parade is transmitted once every 2 M / H frames.
상기 RS_Frame_mode 필드는 하나의 퍼레이드로 하나의 RS 프레임을 전송하는지, 2개의 RS 프레임을 전송하는지를 표시하며, 표 1과 같이 정의된다. The RS_Frame_mode field indicates whether one RS frame or two RS frames are transmitted in one parade, and is defined as shown in Table 1.
상기 RS_code_mode_primary 필드는 프라이머리 RS 프레임에 대한 RS 코드 모드를 표시하며, 표 6과 같이 정의될 수 있다. The RS_code_mode_primary field indicates an RS code mode for the 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 the RS code mode for the secondary RS frame, and may be defined as shown in Table 6. [
상기 SCCC_Block_mode는 데이터 그룹 내 M/H 블록들이 SCCC 블록에 어떻게 할당되는지를 표시하며, 표 7과 같이 정의될 수 있다. The SCCC_Block_mode indicates how the M / H 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 can 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 the version of the FIC data.
상기 Parade_continuity_counter 필드는 0~15까지 증가하며, (PRC+1) M/H 프레임마다 1씩 증가한다. 예를 들어, PRC = 011라면, 상기 Parade_continuity_counter 필드는 4번째 M/H 프레임마다 증가한다. The Parade_continuity_counter field is incremented from 0 to 15, and increases by 1 for each (PRC + 1) M / H frame. For example, if PRC = 011, the Parade_continuity_counter field is incremented every fourth M / H frame.
상기 TNoG 필드는 하나의 서브 프레임 내에 할당되는 전체 데이터 그룹의 개수를 표시한다. The TNoG field indicates the total number of data groups allocated in one subframe.
상기 TPC 데이터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TPC 데이터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. The information included in the TPC data is only an example for facilitating understanding of the present invention. Addition and deletion of information included in the TPC data can be easily changed by those skilled in the art. I will not.
이때 각 퍼레이드에 대한 TPC 데이터(Sub-Frame_number 필드, Slot_number 필드는 제외)는 하나의 M/H 프레임 동안 그 값들이 변경되지 않는다. 그리고 같은 정보가 하나의 M/H 프레임 동안 해당 퍼레이드 내 모든 데이터 그룹을 통해 반복적으로 전송된다. 이렇게 함으로써, TPC 데이터의 수신이 매우 로버스트하게 되어, 수신 성능을 높일 수 있다. 그리고 상기 Sub-Frame_number 필드, Slot_number 필드 값은 증가하는 카운터 값들이므로, 상기 필드들은 규치적으로 기대되는 값들의 전송으로 인해 로버스트하다(Since the TPC parameters (except Sub-Frame_number and Slot_number) for each Parade do not change their values during an M/H Frame, the same information is transmitted repeatedly through all M/H Groups belonging to that Parade during an M/H Frame. This allows very robust and reliable reception of the TPC data. Because the Sub-Frame_number and the Slot_number are increasing counter values, they also are robust due to the transmission of regularly expected values). At this time, the TPC data (except for the Sub-Frame_number field and the Slot_number field) for each parade are not changed during one M / H frame. The same information is repeatedly transmitted through all the data groups in the parade during one M / H frame. By doing so, reception of TPC data becomes extremely robust, and reception performance can be enhanced. Since the Sub-Frame_number field and the Slot_number field value are incrementing counter values, the fields are robust due to the transmission of the expected values. (For Sub-Frame_number and Slot_number) for each Parade do Because the Sub-Tx data is transmitted to the M / H frame, the M / H frame is the same as the M / H frame, and the same information is transmitted repeatedly through the M / Frame_number and the Slot_number are increasing counter values, and they are also robust due to the transmission of regularly expected values.
도 36은 TPC 데이터와 FIC 데이터의 전송 시나리오의 예를 보인 도면이다. 상기 도 35의 Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter 정보는 특정 M/H 프레임 내 5개의 서브 프레임을 통해 현재 M/H 프레임에 대응하는 그들의 값을 갖는다(Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter shall have their values corresponding to the current M/H Frame throughout the 5 Sub-Frames within a particular M/H Frame). 상기 TPC 데이터의 일부 그리고, FIC 데이터는 미리 시그널링된다(Some of TPC parameters and FIC data are signaled in advance). 36 is a diagram showing 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 in FIG. 35 have their values corresponding to the current M / H frame through five subframes in a specific M / H frame (Sub-Frame_number, Slot_number, Parade_id , Parade_repetition_cycle, and Parade_continuity_counter shall have their values corresponding to the current M / H Frame throughout the 5 Sub-Frames within a particular M / H Frame). Some of the TPC data and the FIC data are signaled in advance.
상기 SGN, NoG, 및 모든 FEC 모드들은 처음 2개의 서브 프레임에서 현재 M/H 프레임에 대응하는 값들을 갖는다. 상기 SGN, NoG, 및 모든 FEC 모드들은 현재 M/H 프레임의 3,4,5번째 서브 프레임을 통해 다음 퍼레이드가 나타나는 M/H 프레임에 대응하는 값들을 갖는다. 이렇게 함으로써, 수신기는 신뢰성 높은 전송 파라미터를 미리 얻을 수 있다(SGN, NoG and all FEC modes shall have values corresponding to the current M/H Frame in the first two Sub-Frames. SGN, NoG and all FEC modes shall have values corresponding to the Frame in which the Parade next appears throughout the 3rd, 4th and 5th Sub-Frames of the current M/H Frame. This enables the M/H receivers to get the transmission parameters in advance very reliably.).The SGN, NoG, and all FEC modes have values corresponding to the current M / H frame in the first two subframes. The SGN, NoG, and all FEC modes have values corresponding to the M / H frame in which the next parade appears through the third, fourth, and fifth subframes of the current M / H frame. By doing so, the receiver can obtain reliable transmission parameters in advance (SGN, NoG and all FEC modes shall have values corresponding to the current M / H frame in the first two sub-frames. values corresponding to the Frame in which the Parade is next appearing throughout the 3 rd , 4 th and 5 th Sub-Frames of the current M / H Frame. This enables the M / H receivers to obtain the transmission parameters in advance very reliably.
예를 들어, Parade_repetition_cycle = ‘000’이면, 현재 M/H 프레임의 3,4,5번째 서브 프레임의 값들은 다음 M/H 프레임에 대응한다. 상기 Parade_repetition_cycle = ‘011’이면, 현재 M/H 프레임의 3,4,5번째 서브 프레임의 값들은 네 번째 이후 M/H 프레임에 대응한다. For example, if Parade_repetition_cycle = '000', the values of the third, fourth and fifth subframes of the current M / H frame correspond to the next M / H frame. If Parade_repetition_cycle = '011', the values of the third, fourth and fifth subframes of the current M / H frame correspond to the fourth and subsequent M / H frames.
상기 FIC_version와 FIC_data는 현재 M/H 프레임의 1,2번째 서브 프레임 동안에 현재 M/H 프레임에 적용되는 값을 갖는다. 그리고 상기 FIC_version와 FIC_data는 현재 M/H 프레임의 3,4,5번째 서브 프레임 동안에 바로 다음 M/H 프레임에 적용되는 값을 갖는다(FIC_version and FIC_data shall have values that apply to the current M/H Frame during the 1st Sub-Frame and the 2nd Sub-Frame, and they shall have values corresponding to the immediately following M/H Frame during the 3rd, 4th and 5th Sub-Frames of the current M/H Frame.).The FIC_version and FIC_data have values applied to the current M / H frame during the first and second subframes of the current M / H frame. In addition, the FIC_version and FIC_data have values applied to the next M / H frame during the third, fourth and fifth subframes of the current M / H frame (FIC_version and FIC_data) the 1 st Sub-Frame and the 2 nd Sub-Frame, and they shall have values corresponding to the immediately following M / H Frame during the 3 rd , 4 th and 5 th Sub-Frames of the current M / H Frame.).
한편 수신 시스템에서는 원하는 퍼레이드의 데이터 그룹이 할당된 구간에서만 전원을 온시켜 데이터를 수신하고 그 외 구간에서는 전원을 오프시키도록 함으로써, 수신 시스템의 소모 전력을 줄일 수가 있다. 이러한 특성은 전력 소모가 적어야하는 휴대용 수신기에서 특히 유용하다. 예를 들어, 하나의 M/H 프레임에 NOG 가 3인 제1 퍼레이드, NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 37과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 수신 시스템에서는 도 37 과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서 전원을 온 시키고, 나머지 슬롯에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다. 이때 수신을 원하는 실제 데이터 그룹이 할당된 슬롯보다 조금 일찍 전원을 온 시킬 필요가 있는데 이는 튜너나 복조기(demodulator)가 미리 수렴하도록 하기 위함이다. On the other hand, in the receiving system, power is turned on only in a period in which a desired parade data group is allocated, and power is turned off in other intervals, thereby reducing power consumption of the receiving system. This feature is particularly useful in portable receivers where power consumption is low. For example, assume that data groups of a first parade with NOG of 3, a second parade with NOG of 2, and a third parade of NOG of 2 are allocated to one M / H frame as shown in FIG. And the user selects a mobile service included in the first parade through a remote control or a keypad provided in the terminal. In this case, as shown in FIG. 37, the receiving system can reduce the power consumption by turning on the power in the slot to which the data group of the first parade is allocated and turning off the power in the remaining slots. At this time, it is necessary to turn on the power slightly earlier than the slot to which the actual data group to be received is allocated, so that the tuner or the demodulator converges in advance.
기지 데이터(Base data ( knownknown datadata oror trainingtraining signalsignal ) 영역 할당Area allocation
상기 송신 시스템은 길고 규칙적인 길이의 트레이닝 시퀀스를 각 데이터 그룹에 삽입한다. 각 데이터 그룹은 6개의 트레이닝 시퀀스를 포함하는 것을 일 실시예로 한다. 상기 트레이닝 시퀀스들은 트렐리스 부호화 전에 특정화된다(specified). 상기 트레이닝 시퀀스는 트렐리스 부호화되고, 트렐리스 부호화된 시퀀스들은 기지 데이터 시퀀스가 된다. 이는 상기 트렐리스 부호기의 메모리들이 각 시퀀스의 시작 위치에시 기 설정된 값들에 따라 초기화되기 때문이다. 도 38은 트렐리스 부호화되기 전 바이트 레벨에서 6개의 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 38은 그룹 포맷터(303)에서 수행된 트레이닝 시퀀스의 배열 예이다. The transmission system inserts a training sequence of a long and regular length into each data group. Each data group includes 6 training sequences as an embodiment. The training sequences are specified prior to trellis encoding. The training sequence is Trellis coded, and the Trellis coded sequences are known data sequences. This is because the memories of the trellis encoder are initialized according to preset values at the start position of each sequence. FIG. 38 shows an example of insertion of six training sequences at the byte level before Trellis coding. 38 is an example of the arrangement of the training sequence performed in the
제1 트레이닝 시퀀스는 M/H 블록 B3의 마지막 2 세그먼트에 삽입된다. 제2 트레이닝 시퀀스는 M/H 블록 B4의 두 번째와 세 번째 세그먼트에 삽입된다. 상기 제2 트레이닝 시퀀스는 도 5에서와 같이 시그널링 정보 영역 다음이다. 제3 내지 제6 트레이닝 시퀀스는 M/H 블록 B4,B5,B6, B7의 마지막 2 세그먼트에 각각 삽입된다. The first training sequence is inserted into the last two segments of the M / H block B3. A second training sequence is inserted into the second and third segments of M / H block B4. The second training sequence is next to the signaling information area as in FIG. The third to sixth training sequences are inserted into the last two segments of the M / H blocks B4, B5, B6 and B7, respectively.
도 38 에서와 같이, 상기 제1, 제3 내지 제 6 트레이닝 시퀀스는 16 세그먼트만큼 떨어져있다. 도 38 에서, 도트된 영역(dotted area)은 트렐리스 데이터 바이트를 지시하고, 줄을 친 영역(lined area)은 트레이닝 데이터 바이트를 지시한다. 그리고 하얀 영역(white area)은 FEC 부호화된 모바일 서비스 데이터 바이트 또는 더미 데이터 바이트와 같은 다른 데이터를 지시한다. As in FIG. 38, the first, third, and sixth training sequences are separated by 16 segments. In Figure 38, a dotted area indicates a trellis data byte, and a lined area indicates a training data byte. And the white area indicates other data such as FEC encoded mobile service data bytes or dummy data bytes.
도 39는 트렐리스 부호기에 의해 트레리스 부호화된 후 심볼 레벨에서 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 39에서, 도트된 영역은 세그먼트 동기 심볼을 지시하고, 줄을 친 영역은 트레이닝 데이터 심볼들을 지시한다. 그리고 하얀 영역은 FEC 부호화된 모바일 서비스 데이터 심볼들, FEC 부호화된 시그널링 데이터 심볼들, 메인 서비스 데이터 심볼들, RS 패리티 데이터 심볼들, 더미 데이터 심볼들, 트렐리스 초기화 심볼들 및/또는 초기 트레이닝 시퀀스 데이터 심볼들과 같은 다른 데이터 심볼을 지시한다. FIG. 39 shows an example of inserting training sequences at symbol level after being trellis coded by a trellis encoder. In Fig. 39, the dotted area indicates the segment sync symbol, and the striated area indicates the training data symbols. And the white region may comprise FEC encoded mobile service data symbols, FEC encoded signaling data symbols, main service data symbols, RS parity data symbols, dummy data symbols, trellis initialization symbols, and / 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 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, both sequences being the same pattern. That is, the 528-symbol sequence is repeated after the 4-symbol data segment sync signal. At the end of each training sequence, the memory values of the twelve trellis encoders are reset to zero.
수신 시스템Receiving system
도 40은 본 발명의 일 실시예에 따른 수신 시스템의 구성 블록도이다. 40 is a configuration block diagram of a receiving system according to an embodiment of the present invention.
본 발명에 따른 수신 시스템은 튜너(2001), 오퍼레이션 제어기(2000), 복조기(2002), 등화기(2003), 기지 데이터 검출기(2004), 블록 복호기(2005), RS 프레임 복호기(2006), 제1 패킷 변환부(2007), 및 A/V 복호기(2015)를 포함할 수 있다. 상기 수신 시스템은 메인 서비스 데이터 처리부(2008)를 더 포함할 수 있다. 상기 메인 서비스 데이터 처리부는 데이터 디인터리버, RS 복호기, 및 데이터 디랜더마이저를 포함할 수 있다. 상기 수신 시스템은 시그널링 복호부(2013)와 제2 패킷 변환부(2014)를 더 포함할 수 있다. 또한 수신 시스템은 수신 시스템의 일부 소자의 전원 공급을 제어하는 전원 제어기(5000)를 더 포함할 수 있다. The reception system according to the present invention includes a
상기 튜너(2001)는 안테나, 케이블, 위성 중 어느 하나를 통해 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조기(2002)와 기지 데이터 검출기(2004)로 출력한다. 상기 특정 채널의 주파수로 수신되는 데이터는 메인 서비스 데이터, 모바일 서비스 데이터, 상기 메인 서비스 데이터와 모바일 서비스 데이터의 복호(decoding)를 위한 프로그램 테이블 정보 데이터, 전송 파라미터 등이 있다. The
이때 다운 컨버전된 데이터는 통과대역의 아날로그 IF 신호를 디지털 IF 신호로 변환하는 아날로그/디지털 변환기(Analog/Digital Converter ; ADC, 도시되지 않음)를 거쳐 복조기(2002)와 기지 데이터 검출기(2004)로 입력되는 것을 일 실시예로 한다. At this time, the down-converted data is input to a
상기 복조기(2002)는 입력되는 통과대역의 디지털 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 만든 후 등화기(2003)와 기지 데이터 검출기(2004)로 출력한다. The
상기 등화기(2003)는 상기 복조된 신호에 포함된 채널 상의 왜곡을 보상한 후 블록 복호기(2005)로 출력한다. The
이때 상기 기지 데이터 검출기(2004)는 상기 복조기(2002)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 일부 이루어진 데이터로부터 송신측에서 삽입한 기지 데이터 위치를 검출하고 위치 정보와 함께 그 위치에서 발생시킨 기지 데이터의 심볼 열(sequence)을 복조기(2002), 등화기(2003), 시그널링 복호기(2013), 및 오퍼레이션 제어기(2000)로 출력한다. 또한 상기 기지 데이터 검출기(2004)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 상기 블록 복호기(2005)에 의해서 구분할 수 있도록 하기 위한 정보를 상기 블록 복호기(2005)로 출력한다. At this time, the known
그리고 도 40 의 도면에서 연결 상태를 도시하지는 않았지만 상기 기지 데이터 검출기(2004)에서 검출된 정보는 수신 시스템에 전반적으로 사용이 가능하며, RS 프레임 복호기(2006) 등에서 사용할 수도 있다. 40, the information detected by the known
상기 복조기(2002)에서 복조된 데이터 또는 등화기(2003)에서 채널 등화된 데이터도 시그널링 복호부(2013)로 입력된다. 또한 기지 데이터 검출기(2004)에서 검출된 기지 데이터 위치 정보도 시그널링 복호부(2013)로 입력된다. Data demodulated in the
상기 시그널링 복호부(2013)는 입력되는 데이터로부터 송신측에서 삽입하여 전송한 시그널링 정보(예를 들어, TPC 정보)를 추출하여 복호한 후, 복호된 시그널링 정보를 필요한 블록으로 제공한다. The signaling
즉, 상기 시그널링 복호기(2013)는 상기 등화된 데이터로부터 송신측에서 삽입하여 전송한 TPC 데이터와 FIC 데이터를 추출하여 복호한 후, TPC 데이터는 operation controller(200), 기지 데이터 검출기(2004), 전원 제어기(5000)로 출력하고, FIC 데이터는 제2 패킷 변환부(2014)로 출력한다. 일 예로, 상기 TPC 데이터와 FIC 데이터는 각 데이터 그룹의 시그널링 정보 영역에 삽입되어 수신된다. That is, the
상기 시그널링 복호기(2013)는 도 34의 시그널링 부호기의 역과정으로 시그널링 복호를 수행하여 TPC 데이터와 FIC 데이터를 추출한다. 예를 들어, 입력되는 데이터를 PCCC 방식으로 복호하고, 디랜더마이징을 수행한 후 TPC 데이터와 FIC 데이터로 분리한다. 이때 분리된 TPC 데이터에 RS 복호를 수행하여 상기 TPC에 발생된 에러를 정정한다. 그리고, 상기 분리된 FIC 데이터에 대해 디인터리빙을 수행한 후 RS 복호를 수행하여 상기 FIC 데이터에 발생된 에러를 정정한다. 상기 에러 정정된 TPC 데이터는 Operation Controller(2000), 기지 데이터 검출기(2004), 전원 제어기(5000)로 출력된다. 상기 에러 정정된 FIC 데이터는 제2 패킷 변환부(2014)로 출력된다.The
상기 TPC 데이터는 서비스 다중화기(100)에서 OM 패킷의 페이로드 영역에 삽입하여 송신기(200)로 전송한 전송 파라미터를 포함할 수 있다. The TPC data may include a transmission parameter that is inserted into the payload area of the OM packet by the
여기서 TPC 데이터는 도 35에서와 같이 RS 프레임 정보, SCCC 정보, M/H 프레임 정보 등을 포하할 수 있다. 상기 RS 프레임 정보는 RS 프레임 모드 정보와 RS 코드 모드 정보를 포함할 수 있다. 상기 SCCC 정보는 SCCC 블록 모드 정보와 SCCC 아웃터 코드 모드 정보를 포함할 수 있다. 상기 M/H 프레임 정보는 M/H 프레임 인덱스 정보를 포함할 수 있다. 또한 상기 TPC 데이터는 서브 프레임 카운트 정보, 슬롯 카운트 정보, parade_id 정보, SGN 정보, NOG 정보 등을 포함할 수 있다. Here, the TPC data may include RS frame information, SCCC information, M / H frame information, and the like, as shown in FIG. The RS frame information may include RS frame mode information and RS code mode information. The SCCC information may include SCCC block mode information and SCCC outer code mode information. The M / H frame information may include M / H frame index information. The TPC data may include subframe count information, slot count information, parade_id information, SGN information, NOG information, and the like.
이때 상기 기지 데이터 검출기(2004)에서 출력되는 기지 데이터 정보를 이용하면 데이터 그룹 내 시그널링 정보 영역을 알 수 있다. 즉, 제1 기지 데이터 열(sequence)(또는 트레이닝 시퀀스라 함)은 데이터 그룹 내 M/H 블록 B3의 마지막 2 세그먼트에 삽입되고, 제2 기지 데이터 열은 M/H 블록 B4의 두 번째와 세 번째 세그먼트 사이에 삽입된다. 이때 제2 기지 데이터 열은 시그널링 정보 영역 다음에 삽입되어 수신되므로, 상기 시그널링 복호부(2013)는 복조기(2002) 또는 채널 등화기(2003)에서 출력되는 데이터로부터 시그널링 정보 영역의 시그널링 정보를 추출하여 복호할 수 있다. At this time, if the known data information output from the known
상기 전원 제어기(5000)는 시그널링 복호부(2013)로부터 M/H 프레임 관련 정보를 입력받아 튜너, 복조기 등의 전원을 제어한다. 상기 전원 제어기(5000)는 오퍼레이션 제어기(2000)로부터 전력 제어 정보를 입력받아 튜너, 복조기 등의 전원을 제어할 수도 있다.The
상기 전원 제어기(5000)는 유저가 원하는 모바일 서비스를 포함하는 퍼레이드의 데이터 그룹이 할당된 슬롯에서 전원을 온시켜 데이터를 수신하고 그 외 슬롯 에서는 전원을 오프시키는 것을 일 실시예로 한다. The
예를 들어, 하나의 M/H 프레임에 NOG가 3인 제1 퍼레이드와 NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 37과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 전원 제어기(5000)에서는 도 37과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서 전원을 온 시키고, 나머지 구간에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다. 이때 수신을 원하는 실제 데이터 그룹이 할당된 슬롯보다 조금 일찍 전원을 온 시킬 필요가 있는데 이는 튜너나 복조기(demodulator)가 미리 수렴하도록 하기 위함이다.For example, assume that the first parade with NOG of 3, the second parade with NOG of 2, and the third parade of NOG with 2 are allocated to one M / H frame as shown in FIG. And the user selects a mobile service included in the first parade through a remote control or a keypad provided in the terminal. In this case, the
상기 복조기(2002)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 심볼열을 이용함으로써, 복조 성능을 향상시킬 수 있고, 등화기(2003)에서도 마찬가지로 상기 기지 데이터를 사용하여 등화 성능을 향상시킬 수 있다. 또한 상기 블록 복호기(2005)의 복호 결과를 상기 등화기(2003)로 피드백하여 등화 성능을 향상시킬 수도 있다. The
복조기 및 기지 데이터 검출기Demodulator and base data detector
이때, 수신 시스템에서는 도 5와 같이 기지 데이터 열이 주기적으로 삽입된 데이터 그룹을 포함하는 데이터 프레임(or VSB frame)을 수신할 수 있다. 상기 데이터 그룹은 도 5와 같이 A 내지 D 영역으로 구분되고, A 영역은 M/H 블록 B4 내지 M/H 블록 B7을, B 영역은 M/H 블록 B3 과 M/H 블록 B8을, C 영역은 M/H 블록 B2과 M/H 블록 B9을, D 영역은 M/H 블록 B1과 M/H 블록 B10을 포함하는 것을 일 실시예로 한다. At this time, the receiving system can receive a data frame (or VSB frame) including a data group in which a known data sequence is periodically inserted, as shown in FIG. As shown in FIG. 5, the data group is divided into A to D regions, and the A region includes M / H block B4 to M / H block B7, the B region includes M / H block B3 and M / H block B8, An M / H block B2 and an M / H block B9, and a D area, an M / H block B1 and an M / H block B10.
도 38, 도 39에서와 같이 기지 데이터 열이 주기적으로 삽입되는 기지 데이터 구간에는 동일한 패턴의 기지 데이터 열이 포함되는데, 동일한 패턴의 기지 데이터 열과 해당 기지 데이터 구간의 전체 기지 데이터 열의 길이는 같을 수도 있고, 다를 수도 있다. 다른 경우, 전체 기지 데이터 열은 동일한 패턴의 기지 데이터 열보다 길으며, 전체 기지 데이터 열에 동일한 패턴의 기지 데이터 열이 포함된다. As shown in FIGS. 38 and 39, the known data sequence in which the known data sequence is periodically inserted includes the known pattern data sequence of the same pattern. The known data sequence of the same pattern and the entire known data sequence of the known data section may be the same , May be different. In other cases, the entire known data sequence is longer than the known data sequence of the same pattern, and the known data sequence of the same pattern is included in the entire known data sequence.
이렇게 기지 데이터가 주기적으로 모바일 서비스 데이터들 사이에 삽입될 경우 수신 시스템의 채널 등화기에서는 상기 기지 데이터를 훈련 열(training sequence)로 이용하여 정확한 판별값으로 사용할 수 있다. 다른 실시예로, 상기 채널 등화기에서는 채널의 임펄스 응답을 추정하는데 상기 기지 데이터를 사용할 수도 있다. 또 다른 실시예로, 상기 채널 등화기에서는 필터 계수(즉, 등화 필터)를 업데이트하는데 상기 기지 데이터를 이용할 수 있다. When the known data is periodically inserted between the mobile service data, the channel equalizer of the receiving system can use the known data as a training sequence to be used as an accurate discrimination value. In another embodiment, the channel equalizer may use the known data to estimate the impulse response of the channel. In another embodiment, the channel equalizer may use the known data to update filter coefficients (i.e., equalization filters).
한편 동일한 패턴의 기지 데이터가 주기적으로 삽입될 경우에는 각 기지 데이터 구간이 본 발명에 따른 채널 등화기에서 가드 구간(guard interval)으로 사용될 수 있다. 상기 가드 구간은 다중 경로 채널에 의해서 발생하는 블록 간의 간섭을 방지하는 역할을 한다. 이는 모바일 서비스 데이터 구간(즉, 데이터 블록)의 뒤에 있는 기지 데이터가 상기 모바일 서비스 데이터 구간의 앞에 복사된 것으로 생 각할 수 있기 때문이다.On the other hand, when known data of the same pattern is periodically inserted, each known data interval can be used as a guard interval in the channel equalizer according to the present invention. The guard interval serves to prevent interference between blocks caused by the multipath channel. This is because the base data behind the mobile service data interval (i.e., the data block) may be considered to have been copied before the mobile service data interval.
이러한 구조를 사이클릭 프리픽스(Cyclic Prefix)라 하기도 하며, 이러한 구조는 송신 시스템에서 전송한 데이터 블록과 채널의 임펄스 응답이 시간 영역에서 원형 길쌈(circular convolution)되도록 해준다. 따라서 수신 시스템의 채널 등화기에서는 FFT(Fast Fourier Transform)와 IFFT(Inverse FFT)를 사용하여 주파수 영역에서 채널 등화를 하기에 용이하다. This structure is also referred to as a cyclic prefix, and this structure allows circular convolution of the impulse response of the data block and the channel transmitted in the transmission system in the time domain. Therefore, it is easy to perform channel equalization in the frequency domain using FFT (Fast Fourier Transform) and IFFT (Inverse FFT) in the channel equalizer of the receiving system.
즉, 수신 시스템에서 받은 데이터 블록이 주파수 영역에서 보면 데이터 블록과 채널 임펄스 응답(Channel Impulse Response ; CIR)의 곱으로 표현되기 때문에, 채널 등화시 주파수 영역에서 채널의 역을 곱해줌으로써, 간단히 채널 등화가 가능하다. That is, since the data block received in the receiving system is expressed by a product of a data block and a channel impulse response (CIR) in the frequency domain, channel equalization is performed by multiplying the inverse of the channel in the frequency domain during channel equalization, It is possible.
상기 기지 데이터 검출기(2004)에서는 이렇게 주기적으로 삽입되어 전송되는 기지 데이터 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(2002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다. In the known
한편 도 5와 같은 구조로 기지 데이터가 전송되는 경우, 상기 기지 데이터 검출기(2004)에서는 먼저, 동일한 패턴이 두 번 반복되는 제2 기지 데이터 영역의 기지 데이터를 이용하여 제2 기지 데이터 영역의 위치를 검출한다. On the other hand, when the known data is transmitted in the structure as shown in FIG. 5, the known
이때, 상기 기지 데이터 검출기(2004)는 데이터 그룹의 구조를 알고 있으므로, 상기 제2 기지 데이터 영역의 위치가 검출되면, 상기 제2 기지 데이터 영역 위 치를 기준으로 심볼 또는 세그먼트를 카운트하여 해당 데이터 그룹 내 제1, 제3 내지 제6 기지 데이터 영역 위치를 추정할 수 있다. 만일 해당 데이터 그룹이 필드 동기를 포함하는 데이터 그룹이라면 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 상기 제2 기지 데이터 영역보다 시간적으로 앞에 위치한 해당 데이터 그룹 내 필드 동기의 위치를 추정할 수 있다. 또한 상기 기지 데이터 검출기(2004)는 시그널링 복호부(2013)로부터 입력되는 M/H 프레임 관련 정보를 참조하여 유저가 선택한 모바일 서비스를 포함한 퍼레이드에서 기지 데이터 위치 정보, 필드 동기 위치 정보를 출력할 수 있다. Since the known
이렇게 추정된 기지 데이터 위치 정보, 필드 동기 위치 정보 중 적어도 하나는 복조기(2002), 채널 등화기(2003), 시그널링 복호부(2013), 및 오퍼레이션 제어기(2000)로 제공된다. At least one of the estimated known data location information and the field synchronous location information is provided to the
또한 상기 기지 데이터 검출기(2004)는 상기 제2 기지 데이터 영역 즉, ACQ 기지 데이터 영역에 삽입된 기지 데이터를 이용하여 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(2002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다. Also, the known
OperationOperation ControllerController
상기 Operation Controller(2000)는 상기 기지 데이터 위치 정보 및 전송 파라미터 정보를 입력받아 M/H 프레임 시간 정보, 선택된 Parade의 데이터 그룹 존재 유무, 데이터 그룹 내의 기지 데이터의 위치 정보, 전력 제어 정보 등을 각 블록에 전달한다. 상기 Operation Controller(2000)는 도 40의 도면에서 나타낸 바와 같이 상기 복조기(2002), 등화기(2003), 블록 복호기(2005) 및 RS 프레임 복호기(2006)의 동작을 제어하며, 도시하지는 않았지만 이 외의 수신 시스템 전반의 동작을 제어할 수 있다. The
도 41은 Operation Controller(2000)의 전체 블록도이다. 41 is an overall block diagram of the
상기 Operation Controller(2000)는 퍼레이드 ID 체커(Parade ID Checker)(3101), 프레임 동기부(Frame Synchronizer)(3102), 퍼레이드 매퍼(Parade Mapper)(3103), 그룹 콘트롤러(3104), 및 기지 시퀀스 지시 콘트롤러(Known Sequence Indication Controller)(3105)를 포함할 수 있다. The
상기 Operation Controller(2000)는 기지 데이터 검출기(2004)로부터 기지 데이터 위치 정보를, 시그널링 복호기(2013)로부터 전송 파라미터 정보를 입력으로 받아 수신 시스템에 필요한 제어 신호를 만들어낸다. 일 예로, 기지 데이터 검출기(2004)에서 검출된 기지 데이터 위치 정보는 기지 시퀀스 지시 콘트롤러(Known Sequence Indication Controller)(3105)로 입력되고, 시그널링 복호기(2013)에서 복호된 전송 파라미터 정보(즉, TPC 데이터)는 퍼레이드 ID 체커(Parade ID Checker)(3101)로 입력된다. The
상기 Parade ID Checker(3101)는 상기 User control 신호에 포함된 Parade ID (User가 선택한 Parade ID)와 시그널링 복호기(2013)로부터 입력되는 Parade ID를 비교한다. 이때 두 Parade ID가 동일하지 않을 경우 상기 Parade ID Checker(3101)는 상기 시그널링 복호기(2013)로부터 다음 전송 파라미터가 입력될 때까지 기다린다. The
한편 두 Parade ID가 동일할 경우, 상기 Parade ID Checker(3101)는 전송 파라미터 정보를 Operation Controller(2000) 내부의 블록 및 시스템 전반에 출력한다. If the two parade IDs are the same, the
즉, 상기 Parade ID checker(3101)에 입력되는 전송 파라미터 정보 중 Parade ID가 User가 선택한 Parade ID와 동일한 것으로 확인되면, 상기 Parade ID Checker(3101)는 퍼레이드 매퍼(Parade Mapper)(3103)로 starting_group_number (SGN)와 number_of_groups(NoG)를 출력한다. 또한 상기 Parade ID Checker(3101)는 프레임 동기부(Frame Synchronizer)(3102)로 sub_frame_number, slot_number, parade_repetition_cycle (PRC)을 출력하고, 블록 복호기(2005)로 SCCC_block_mode, SCCC_outer_code_mode_A, SCCC_outer_code_mode_B, SCCC_outer_code_mode_C, SCCC_outer_code_mode_D를 출력하고, RS 프레임 복호기(2006)로 RS_frame_mode, RS_code_mode_primary, RS_code_mode_secondary를 출력한다. That is, if it is determined that the Parade ID among the transmission parameter information input to the
상기 퍼레이드 매퍼(3103)는 상기 Parade ID Checker(3101)로부터 SGN과 NoG를 입력으로 받아 Sub-frame내의 16개 Slot 중 어느 Slot에 데이터 그룹이 전송되는지 판단해 해당 정보를 출력한다. Sub-frame 마다 전송되는 데이터 그룹 번호(Group number)는 SGN부터 (SGN+NoG-1)까지의 연속되는 정수로 정해진다. 예를 들어 SGN = 3, NoG = 4 라면 Group number가 3,4,5,6 인 4개의 데이터 Group이 각 Sub-frame마다 전송되게 된다. 상기 Parade Mapper(3103)는 SGN과 NoG로부터 얻어낸 Group number i를 가지고 상기 수학식 1에 따라 데이터 그룹이 전송되는 Slot number j를 구한다. The
상기 예에서와 같이 SGN = 3, NoG = 4 인 경우, 이를 수학식 1에 대입하여 보면, 전송되는 데이터 그룹의 슬롯 번호(Slot number)는 차례대로 12,2,6,10 이 된다. When SGN = 3 and NoG = 4 as in the above example, substituting this into Equation (1), the slot numbers of the data groups to be transmitted are 12, 2, 6, and 10, respectively.
상기 Parade Mapper(3103)는 구해낸 슬롯 번호 정보를 출력한다. The
상기 슬롯 번호를 출력하는 일 실시예로, 16 Bit 을 가지는 Bit vector를 사용할 수 있다. As an example of outputting the slot number, a bit vector having 16 bits can be used.
Bit vector SNi (i= 0 ~ 15) 는 i 번째 Slot에 전송되는 데이터 그룹이 있으면 1, 없으면 0으로 설정될 수 있고, 이 Bit vector를 Slot number 정보로 출력할 수 있다. The bit vector SNi (i = 0 to 15) can be set to 1 if there is a data group transmitted in the i-th slot, and to 0 if there is a data group transmitted in the i-th slot, and this bit vector can be output as the slot number information.
상기 Frame Synchronizer(3102)는 상기 Parade ID Checker(3101)로부터 sub_frame_number, slot_number, PRC를 입력 받아 slot_counter와 frame_mask 신호를 연산하여 출력으로 내보낸다. 상기 slot_counter는 수신기가 동작하는 현 시점의 slot_number를 나타내고, frame_mask는 현재 Frame에 해당 Parade가 전송되는지 알려주는 신호이다. 상기 Frame Synchronizer(3102)는 처음 시그널링 정보를 받을 때 slot_counter와 sub_frame_counter, frame_counter를 초기화시키는 과정을 수행한다. 이 과정에서 입력된 시그널링 정보가 복호될 때까지 걸리는 시간에 따라 지연되는 Slot 개수 L 을 더하여 현 시점의 counter 값을 생성한다. 초기화 과정 이 후에는 한 Slot 주기마다 slot_counter를 업데이트하고, slot_counter 값의 주기마다 sub_frame_counter를 업데이트하며, sub_frame_counter의 주기마다 frame_counter를 업데이트 한다. 그리고 상기 frame_counter 정보와 PRC 정보를 참조하여 frame_mask 신호를 생성하게 된다. 실시 예로 현재 프레임에 해당 Parade가 전송되고 있으면 frame_mask로 1을 출력하고, 아닐 경우 0을 출력할 수 있다. The
상기 그룹 콘트롤러(Group Controller)(3104)는 상기 Parade Mapper(3103)로부터 Slot number 정보를 입력 받고, 상기 Frame Synchronizer(3102)로부터 slot_counter 와 frame_mask 정보를 입력 받아 현재 데이터 그룹이 전송되는지 알려주는 group_presence_indicator를 출력한다. 예를 들어, 상기 Parade Mapper(3103)로부터 입력되는 slot number 정보가 12,2,6,10이라면, 상기 Frame Synchronizer(3102)로부터 입력되는 frame_mask 정보가 1이고 slot_counter가 2,6,10,12일 때는 group_presence_indicator로 1을 출력하고 그 밖의 값일 때는 0을 출력할 수 있다.The
상기 Known Sequence Indication Controller(3105)는 입력되는 특정 기지 데이터의 위치 정보를 가지고 다른 기지 데이터의 위치 정보 및 데이터 그룹 시작 위치 정보 등을 출력한다. 이때, 데이터 그룹 내에서 기지 데이터는 미리 약속된 위치에 존재하므로 복수개의 기지 데이터 열 중 하나의 기지 데이터 열의 위치 정보를 알면 다른 기지 열의 데이터 위치 정보 및 데이터 그룹 시작 위치 정보 등을 알 수 있다. 상기 Known Sequence Indication Controller(3105)는 상기group_presence_indicator 정보를 이용해 데이터 그룹이 전송되는 경우에만 수신 시스템의 복조부에서 필요한 기지 데이터 및 데이터 그룹 위치 정보를 출력하도록 할 수도 있다. 상기 Known Sequence Indication Controller(3105)의 역할은 기지 데이터 검출기(2004)에서 수행할 수도 있다.The Known
채널 등화기Channel equalizer
상기 복조기(2002)에서 기지 데이터를 이용하여 복조된 데이터는 등화기(2003)로 입력된다. 또한 상기 복조된 데이터는 기지 데이터 검출기(2004)로 입력될 수도 있다. The demodulated data using the known data in the
이때 등화를 위해 입력된 하나의 데이터 그룹은 도 5와 같이, A 내지 D 영역으로 구분되고, A 영역은 M/H 블록 B4 내지 M/H 블록 B7을, B 영역은 M/H 블록 B3과 M/H 블록 B8을, C 영역은 M/H 블록 B2과 M/H 블록 B9을, D 영역은 M/H 블록 B1과 M/H 블록 B10을 포함하는 것을 일 실시예로 한다. 즉, 하나의 데이터 그룹은 B1부터 B10까지 각 16 세그먼트 길이의 M/H 블록으로 구분되며 M/H 블록 B4~B8의 시작 부분에 긴 트레이닝 시퀀스(long training sequence, 즉, 기지 데이터 시퀀스)가 삽입된다. 또한 1개의 VSB 필드에는 2개의 데이터 그룹이 할당될 수 있으며, 이때 두 데이터 그룹 중 하나는 데이터 그룹의 37번째 세그먼트 다음에 필드 동기가 위치한다. 5, the A region is divided into M / H block B4 to M / H block B7, and the B region is divided into M / H block B3 and M / H block B8, the C area includes M / H block B2 and M / H block B9, and the D area includes M / H block B1 and M / H block B10. That is, one data group is divided into M / H blocks each having a length of 16 segments from B1 to B10 and a long training sequence (i.e., a known data sequence) is inserted at the beginning of the M / H blocks B4 to B8 do. Also, one VSB field may be assigned two data groups, one of which is the field sync after the 37 th segment of the data group.
본 발명은 송/수신측의 약속에 의해 위치와 내용을 알고 있는 기지 데이터 및/또는 필드 동기를 채널 등화에 이용할 수 있다. According to the present invention, known data and / or field synchronization, which are known in terms of location and contents, can be used for channel equalization by the promise of the transmitting / receiving side.
상기 채널 등화기(2003)는 다양한 방법으로 채널 등화를 수행할 수 있는데, 본 발명에서는 기지 데이터 및/또는 필드 동기를 이용하여 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행하는 것을 일 실시예로 설명한다. The
특히 본 발명에서는 송신 시스템에서 계층화되어 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 것을 일 실시예로 설명한다. Particularly, in the present invention, estimation and application of a channel impulse response (CIR) are different according to each region in a data group layered and transmitted in a transmission system.
이때 데이터 그룹은 하나의 VSB 프레임에 최대 4개까지 할당되어 전송될 수 있으므로, 이 경우 모든 데이터 그룹이 필드 동기를 포함하지는 않는다. 본 발명은 필드 동기를 포함하는 데이터 그룹은 필드 동기와 기지 데이터를 이용하여 CIR을 추정하고, 필드 동기를 포함하지 않는 데이터 그룹은 기지 데이터만을 이용하여 CIR을 추정하는 것을 일 실시예로 한다. At this time, up to four data groups can be allocated and transmitted in one VSB frame. In this case, not all data groups include field synchronization. The present invention estimates CIR using field synchronization and known data for a data group including field synchronization, and estimates CIR using only known data for a data group that does not include field synchronization.
일 예로, 필드 동기를 포함하는 데이터 그룹의 경우 M/H 블록 B3의 데이터는 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용해서 채널 등화할 수 있다. 또한 M/H 블록 B1, B2의 데이터도 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다. 그러나 필드 동기를 포함하지 않는 데이터 그룹의 경우 필드 동기로부터 CIR을 구할 수 없으므로, M/H 블록 B1~B3의 데이터는 제1 기지 데이터 영역과 제3 기지 데이터 영역에서 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다. For example, in the case of a data group including field synchronization, the data of the M / H block B3 can be channelized using the CIR obtained from the field sync and the known data of the first known data area. Also, the data of the M / H blocks B1 and B2 can be compensated for the channel distortion using the CIR obtained from the CIR obtained from field synchronization and the known data of the first known data area. However, since the CIR can not be obtained from the field sync in the case of a data group that does not include field sync, the data of the M / H blocks B1 to B3 use the CIR obtained in the first known data area and the third known data area to perform channel distortion You can compensate.
본 발명은 상기 기지 데이터 영역에서 추정된 CIR을 이용하여 데이터 그룹 내 데이터에 대해 채널 등화를 수행하는데, 이때 데이터 그룹의 각 영역의 특징에 따라 상기 추정된 CIR들 중 하나를 그대로 사용하기도 하고, 적어도 복수개 이상의 CIR을 보간(interpolation)하거나, 외삽(extrapolation)하여 생성된 CIR을 사용하기도 한다. The present invention performs channel equalization on the data in the data group using the estimated CIR in the known data region. In this case, one of the estimated CIRs is used as it is according to the characteristic of each region of the data group, CIRs generated by interpolation of a plurality of CIRs or extrapolation may be used.
여기서 보간(interpolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 어떤 시점에서의 함수값을 추정하는 것을 의미하며, 상기 보간의 가장 간단한 예로 선형 보간(Linear Interpolation)이 있다. 도 42는 선형 보간의 일례를 보인 도면이다. Here, interpolation is a function value at a certain point between Q and S when a function value F (Q) at a point Q and a function value F (S) at a point S are known for a certain function F (x) And the most simple example of the interpolation is linear interpolation. 42 is a diagram showing an example of linear interpolation.
즉, 임의의 함수 F(x)에서 x=Q의 함수값 F(Q)와 x=S의 함수값 F(S)가 주어졌을 경우 x=P에서의 함수값의 추정치 는 다음의 수학식 7과 같이 추정할 수 있다. 다시 말해, 시점 Q, S에서의 함수값 F(Q), F(S)를 알고 있으므로 두 지점을 지나는 직선을 구해서 P시점에서의 함수값의 근사값 를 구할 수 있다. 이때, (Q,F(Q)), (S,F(S))를 지나는 직선의 수식은 다음의 수학식 7과 같다. That is, given a function F (Q) of x = Q and a function F (S) of x = S in an arbitrary function F (x) Can be estimated as the following Equation (7). In other words, since the function values F (Q) and F (S) at the points Q and S are known, a straight line passing through the two points is obtained and an approximate value of the function value at the point P Can be obtained. At this time, a straight line passing through (Q, F (Q)) and (S, F (S)) is expressed by Equation (7).
따라서 상기 수학식 7의 x에 P를 대입하여, P 시점에서의 함수값 의 근사값 을 구하면 다음의 수학식 8과 같다. Therefore, P is substituted into x in Equation (7), and an approximate value of the function value at the point P The following equation (8) is obtained.
상기 수학식 8의 선형 보간 기법은 수많은 보간 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. The linear interpolation technique of Equation (8) is the simplest example of the many interpolation techniques. Since various interpolation techniques can be used in addition to the above method, the present invention is not limited to the above example.
또한 외삽(extrapolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 구간이 아닌 바깥쪽의 시점에서의 함수값을 추정하는 것을 의미한다. 상기 외삽의 가장 간단한 예로 선형 외삽(Linear Extrapolation)이 있다. Also, extrapolation is a process that determines the function value F (Q) at time Q and the function value F (S) at time S for a certain function F (x) It means to estimate the function value at the time point. The simplest example of such extrapolation is linear extrapolation.
도 43은 선형 외삽의 일례를 보인 도면이다. 상기 선형 보간의 예와 마찬가지로, 상기 선형 외삽의 경우에도 임의의 함수 F(x)에서 시점 Q, S에서의 함수값 F(Q), F(S)를 알고 있다면 두 지점을 지나는 직선을 구해서 P시점에서의 함수값의 근사값 를 구할 수 있다.43 is a diagram showing an example of linear extrapolation. If the function values F (Q) and F (S) at the time Q and S are known in an arbitrary function F (x) in the case of the linear extrapolation as described above, a straight line passing through the two points is obtained, Approximate value of function at time Can be obtained.
상기 선형 외삽 기법은 수많은 외삽 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 외삽 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다. The linear extrapolation technique is the simplest example of a number of extrapolation techniques, and various extrapolation techniques can be used in addition to the above-described method, so that the present invention is not limited to the above example.
도 44는 본 발명에 따른 채널 등화기의 일 실시예이다. Figure 44 is an embodiment of a channel equalizer according to the present invention.
도 44는 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도로서, 제1 주파수 영역 변환부(4100), 채널 추정부(4110), 제2 주파수 영역 변환부(4121), 계수 계산부(4122), 왜곡 보상부(4130), 및 시간 영역 변환부(4140)를 포함하여 구성된다. FIG. 44 is a block diagram illustrating an embodiment of a channel equalizer according to the present invention. The channel equalizer includes a first frequency
상기 채널 등화기는 잔류 반송파 위상 에러 제거부, 잡음 제거부(Noise Canceller ; NC), 및 결정(Decision)부를 더 포함할 수 있다. The channel equalizer may further include a residual carrier phase error removing unit, a noise canceler (NC), and a decision unit.
상기 제1 주파수 영역 변환부(4100)는 입력 데이터를 중첩하는 중첩(overlap)부(4101), 및 중첩부(4101)의 출력 데이터를 주파수 영역으로 변환하는 FFT(Fast Fourier Transform)부(4102)를 포함하여 구성된다. The first frequency
상기 채널 추정부(4110)는 입력 데이터로부터 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하는 CIR 추정기(4111), 제1 클리너(Pre-CIR Cleaner)(4113), CIR 연산기(4114), 제2 클리너(Post-CIR Cleaner)(4115), 및 제로 패딩(zero-padding)부(4116)를 포함할 수 있다. The
상기 채널 추정부(4110)는 상기 CIR 추정기(4111)에서 추정된 CIR의 위상을 보상하는 위상 보상기를 더 포함할 수 있다. The
상기 제2 주파수 영역 변환부(4121)는 상기 채널 추정부(4110)에서 출력되는 CIR을 주파수 영역으로 변환하는 FFT부를 포함하여 구성된다. The second
상기 시간 영역 변환부(4140)는 상기 왜곡 보상부(4130)에서 왜곡이 보상된 데이터를 시간 영역으로 변환하는 IFFT부(4141), 및 상기 IFFT부(4141)의 출력 데이터로부터 유효 데이터만을 추출하는 세이브(save)부(4142)를 포함하여 구성된다. 상기 세이브부(4142)의 출력 데이터가 채널 등화된 데이터다. The time
이때 상기 시간 영역 변환부(4140)의 출력단에 잔류 반송파 위상 에러 제거부를 더 구비하여, 채널 등화된 데이터에 포함된 잔류 반송파 위상 에러를 추정하여 제거할 수 있다. At this time, the residual carrier phase error removing unit may be provided at the output of the time
또한 상기 시간 영역 변환부(4140)의 출력단에 잡음 제거부를 더 구비하여, 채널 등화된 데이터에 포함된 잡음을 추정하여 제거할 수 있다.Also, the noise removing unit may further include a noise removing unit at an output terminal of the time
상기 왜곡 보상부(4130)는 복소수 곱셈 역할을 수행하는 소자는 어느 것이나 가능하다. The
즉, 도 44를 보면, 복조되어 입력되는 데이터는 제1 주파수 영역 변환부(4100)의 중첩부(4101)에서 기 설정된 중첩 비율로 중첩되어 FFT부(4102)로 출력된다. 상기 FFT부(4102)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜곡 보상부(4130)로 출력된다. 44, the demodulated input data is superimposed in the overlapping
상기 왜곡 보상부(4130)는 상기 제1 주파수 영역 변환부(4100)의 FFT부(4102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(4122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(4102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(4140)의 IFFT부(4141)로 출력한다. 상기 IFFT부(4141)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(4142)로 출력한다. 상기 세이브부(4142)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출하여 출력한다. The
한편 복조된 수신 데이터는 채널 등화기 내 제1 주파수 영역 변환부(4100)의 중첩부(4101)로 입력됨과 동시에 채널 추정부(4110)의 CIR 추정기(4111)로도 입력 된다. The demodulated received data is input to the overlapping
상기 CIR 추정기(4111)는 트레이닝 시퀀스를 이용하여 CIR을 추정한다. 만일 채널 등화할 데이터가 필드 동기를 포함하는 데이터 그룹 내 데이터라면 상기 CIR 추정기(4111)에서 이용되는 트레이닝 시퀀스는 필드 동기 데이터와 기지 데이터가 될 수 있다. 하지만 채널 등화할 데이터가 필드 동기를 포함하지 않는 데이터 그룹 내 데이터라면 상기 트레이닝 시퀀스는 기지 데이터만 될 수 있다. The
일 예로, 상기 CIR 추정기(4111)는 기지 데이터 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 기지 데이터를 이용하여 채널 임펄스 응답(CIR)을 추정한다. 이를 위해 상기 CIR 추정기(4111)는 상기 기지 데이터 검출기(2004)로부터 기지 데이터 위치 정보(Known Data Position Information)를 제공받는다. For example, the
또한 상기 CIR 추정기(4111)는 필드 동기가 포함되는 데이터 그룹이라면 필드 동기 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 채널의 임펄스 응답(CIR_FS)을 추정할 수 있다. 이를 위해 상기 CIR 추정기(4111)는 상기 기지 데이터 검출기(2004)로부터 필드 동기 위치 정보(Field Sync Position Information)를 제공받을 수도 있다. In addition, the
상기와 같이 추정된 CIR은 제1 클리너(4113)를 거쳐 또는 제1 클리너(4113)를 바이패스하여 CIR 연산기(4114)로 입력된다. 상기 CIR 연산기(4114)는 추정된 CIR에 대해 보간 또는 외삽하여 제2 클리너(4115)로 출력한다. The estimated CIR is input to the
상기 CIR 연산기(4114)가 추정된 CIR에 대해 보간을 하는지, 외삽을 하는지 에 따라 제1 클리너(4113)가 동작할 수도 있고, 동작하지 않을 수도 있다. 예를 들어, 추정된 CIR에 대해 보간을 수행하면 제1 클리너(4113)가 동작 안하고, 추정된 CIR에 대해 외삽을 수행하면 제1 클리너(4113)가 동작한다. The
즉, 기지 데이터로부터 추정된 CIR에는 구하고자 하는 채널 성분뿐만 아니라 잡음에 의한 지터(jitter) 성분도 포함된다. 이러한 지터 성분은 등화기 성능을 저하하는 요인이 되므로 계수 계산부(4122)에서 CIR을 사용하기 전에 제거하는 것이 좋다. 따라서 상기 제1, 제2 클리너(4113,4115)에서는 입력되는 CIR 성분 중 파워(power)가 기 설정된 임계값(threshold) 이하인 부분을 제거(즉, '0'으로 만듦)하는 것을 일 실시예로 한다. 그리고 이러한 제거 과정을 CIR cleaning이라 한다. That is, the CIR estimated from the known data includes not only channel components to be obtained but also jitter components due to noise. Since such a jitter component is a factor for lowering the performance of the equalizer, it is preferable to remove the jitter component before using the CIR in the
즉, 상기 CIR 연산기(4114)에서 CIR 보간(interpolation)은, 상기 CIR 추정기(4112)에서 추정된 두 개의 CIR에 각각 계수를 곱하고 더하여 이루어진다. 이때 CIR의 잡음 성분 중 일부는 서로 더해져 상쇄된다. 따라서 상기 CIR 연산기(4114)에서 CIR 보간을 하는 경우에는 잡음 성분이 남아있는 원래의 CIR을 사용한다. 즉, 상기 CIR 연산기(4114)에서 CIR 보간을 하는 경우, 상기 추정된 CIR은 제1 클리너(4113)를 바이패스하여 CIR 연산기(4114)로 입력된다. 그리고 상기 CIR 연산기(4114)에서 보간된 CIR은 제2 클리너(4115)에서 클리닝한다. That is, the CIR interpolation in the
반면 상기 CIR 연산기(4114)에서 CIR 외삽은, 상기 CIR 추정기(4112)에서 추정된 두 CIR의 차를 이용해 두 CIR 바깥에 위치한 CIR을 추정하여 이루어진다. 그러므로 이때는 CIR의 잡음 성분이 오히려 증폭된다. 따라서 상기 CIR 연산기(4114)에서 CIR 외삽을 하는 경우에는 상기 제1 클리너(4113)에서 클리닝된 CIR를 사용한 다. 즉, 상기 CIR 연산기(4114)에서 CIR 외삽을 하는 경우, 상기 외삽된 CIR은 제2 클리너(4115)를 거쳐 제로 패딩부(4116)로 입력된다. On the other hand, the CIR extrapolation in the
한편 상기 제2 클리너(4115)에서 클링닝되어 출력되는 CIR을 상기 제2 주파수 영역 변환부(4121)에서 주파수 영역으로 변환할 때 입력되는 CIR의 길이와 FFT 사이즈(Size)가 일치하지 않는 경우가 발생할 수 있다. 즉, CIR의 길이가 FFT 사이즈보다 작은 경우가 발생할 수 있다. 이 경우 제로 패딩부(4116)에서는 FFT 사이즈와 입력되는 CIR 길이의 차이만큼 CIR에 '0'을 첨가하여 상기 제2 주파수 영역 변환부(4121)로 출력한다. 여기서 제로 패딩되는 CIR은 보간된 CIR, 외삽된 CIR, 기지 데이터 구간에서 추정된 CIR 중 하나가 될 수 있다. On the other hand, when the CIR output from the
상기 제2 주파수 영역 변환부(4121)는 입력되는 시간 영역의 CIR를 FFT하여 주파수 영역의 CIR로 변환한 후 계수 계산부(4122)로 출력한다. The second
상기 계수 계산부(4122)는 상기 제2 주파수 영역 변환부(4121)에서 출력되는 주파수 영역의 CIR을 이용하여 등화 계수를 계산한 후 왜곡 보상부(4130)로 출력한다. 이때 상기 계수 계산부(4122)는 일 실시예로, 상기 주파수 영역의 CIR로부터 평균 자승 에러를 최소화(Minimum Mean Square Error : MMSE)하는 주파수 영역의 등화 계수를 구하여 왜곡 보상부(4130)로 출력한다. The
상기 왜곡 보상부(4130)는 상기 제1 주파수 영역 변환부(4100)의 FFT부(4102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(4122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(4102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한다. The
블록 복호기Block decoder
한편 상기 등화기(2003)에서 채널 등화된 후 블록 복호기(2005)로 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터(예를 들어, RS 프레임 내 데이터)이면 송신측의 역으로 트렐리스 복호 및 블록 복호가 수행되고, 블록 부호화는 수행되지 않 블트렐리스 부호화만 수행된 데이터(예를 들어, 메인 서비스 데이터)이면 트렐리스 복호만 수행된다. On the other hand, if the data input to the
상기 블록 복호기(2005)에서 트렐리스 복호 및 블록 복호된 데이터는 RS 프레임 복호기(2006)로 출력된다. 즉, 상기 블록 복호기(2005)는 데이터 그룹 내 데이터들 중 기지 데이터, 트렐리스 초기화에 이용된 데이터, 시그널링 정보 데이터, MPEG 헤더 그리고 송신 시스템의 RS 부호기/비체계적 RS 부호기 또는 비체계적 RS 부호기에서 부가된 RS 패리티 데이터들을 제거하고 RS 프레임 복호기(2006)로 출력한다. 여기서 데이터 제거는 블록 복호전에 이루어질 수도 있고, 블록 복호 중이나 블록 복호 후에 이루어질 수도 있다. The trellis-decoded and block-decoded data in the
한편 상기 블록 복호기(2005)에서 트렐리스 복호된 데이터는 메인 서비스 데이터 처리부(2008)의 데이터 디인터리버로 출력된다. 이때 상기 블록 복호기(2005)에서 트렐리스 복호되어 데이터 디인터리버로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, RS 프레임 내 데이터, 시그널링 정보도 포함될 수 있다. 또한 송신측에서 전처리기(230) 이후에 부가되는 RS 패리티 데이터도 상기 데이터 디인터리버로 출력되는 데이터에 포함될 수 있다. Meanwhile, the trellis decoded data in the
다른 실시예로, 송신측에서 블록 부호화는 수행되지 않고, 트렐리스 부호화만 수행된 데이터는 상기 블록 복호기(2005)에서 그대로 바이패스되어 데이터 디인터리버로 출력될 수도 있다. 이 경우 상기 데이터 디인터리버 전단에 트렐리스 복호기를 더 구비하여야 한다. In another embodiment, block coding is not performed on the transmission side, and data subjected to only trellis coding may be bypassed as it is in the
상기 블록 복호기(2005)는 입력되는 데이터가 송신측에서 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터라면, 입력 데이터에 대해 비터비(또는 트렐리스) 복호를 수행하여 하드 판정값을 출력하거나, 또는 소프트 판정값을 하드 판정하고 그 결과를 출력할 수도 있다. The
상기 블록 복호기(2005)는 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터라면, 입력 데이터에 대하여 소프트 판정값을 출력한다. The
즉, 상기 블록 복호기(2005)는 입력되는 데이터가 송신측의 블록 처리기(302)에서 블록 부호화가 수행되고, 트렐리스 부호화부(256)에서 트렐리스 부호화가 수행된 데이터라면, 송신측의 역으로 트렐리스 복호와 블록 복호를 수행한다. 이때 송신측의 블록 처리기는 외부 부호기로 볼 수 있고, 트렐리스 부호화부는 내부 부호기로 볼 수 있다. That is, in the
이러한 연접 부호의 복호시에 외부 부호의 복호 성능을 최대한 발휘하기 위해서는 내부 부호의 복호기에서 소프트 판정값을 출력하는 것이 좋다. In order to maximize the decoding performance of the outer code in decoding the concatenated code, it is preferable to output the soft decision value in the decoder of the inner code.
도 45는 본 발명에 따른 블록 복호기(2005)의 일 실시예를 보인 상세 블록도로서, 피드백 제어기(5010), 입력 버퍼(5011), 트렐리스 복호부(5012), 심볼-바이 트 변환기(5013), 외부 블록 추출기(Outer Block Extractor)(5014), 피드백 디포맷터(5015), 심볼 디인터리버(5016), 외부 심볼 매퍼(Outer Symbol Mapper)(5017), 심볼 복호기(5018), 내부 심볼 매퍼(Inner Symbol Mapper)(5019), 심볼 인터리버(5020), 피드백 포맷터(5021), 출력 버퍼(5022)를 포함할 수 있다. 송신측과 마찬가지로, 상기 트렐리스 복호부(5012)는 내부 복호기로 볼 수 있고, 심볼 복호기(5018)는 외부 복호기로 볼 수 있다. 45 is a detailed block diagram illustrating an embodiment of a
상기 입력 버퍼(5011)는 등화기(2003)에서 채널 등화되어 출력되는 심볼값 들 중에서 블록 부호화된 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값들을 일시 저장하며, 저장된 심볼값들을 터보 복호를 위한 터보 복호 크기(TDL)로 트렐리스 복호부(5012)에 M번 반복 출력한다. 상기 터보 복호 크기(TDL)를 터보 블록이라 하기도 한다. 여기서 TDL은 최소한 하나 이상의 SCCC 블록 크기를 포함할 수 있어야 한다. 그러므로 도 5에 정의된 바와 같이, 하나의 M/H 블록이 16 세그먼트 단위이고, 10개의 M/H 블록들의 조합으로 한 개의 SCCC 블록이 구성된다고 가정하면, TDL은 그 조합 가능한 최대 크기보다 크거나 같아야 한다. 예를 들어 2개의 M/H 블록이 1개의 SCCC 블록을 구성한다고 가정하면, TDL은 32 세그먼트(828x32 = 26496 심볼) 이상이 될 수 있다. The
상기 M은 피드백 제어기(5010)에서 미리 정한 터보 복호의 반복 횟수이다. The M is a repetition number of turbo decoding predetermined by the
또한 상기 입력 버퍼(5011)는 등화기(2003)에서 채널 등화되어 출력되는 심볼값 중에 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이 터 심볼, CRC 데이터 심볼들을 포함)값이 전혀 포함되지 않은 구간에서의 입력 심볼값들은 저장하지 않고 바이패스한다. 즉, SCCC 블록 부호화가 수행되지 않았던 구간의 입력 심볼값에 대해서는 트렐리스 복호만 수행하므로 입력 버퍼(5011)는 상기 입력에 대해 저장 및 반복 출력 과정을 수행하지 않고 그대로 트렐리스 복호부(5012)로 입력시킨다.Also, the
상기 입력 버퍼(5011)의 저장, 반복, 및 출력은 피드백 제어기(5010)의 제어에 의해 이루어진다. 상기 피드백 제어기(5010)는 오퍼레이션 제어기(2000) 또는 시그널링 복호부(2013)에서 출력되는 SCCC 관련 정보 예를 들어, SCCC 블록 모드와 SCCC 아웃터 코드 모드를 참조하여 입력 버퍼(5011)의 저장 및 출력을 제어할 수 있다. The storage, repetition, and output of the
상기 트렐리스 복호부(5012)는 12-way 트렐리스 부호기와 대응하기 위해서 12-way TCM(Trellis Coded Modulation) 복호기를 포함한다. 그리고 상기 12-way 트렐리스 부호기의 역과정으로 입력 심볼값에 대해 12-way 트렐리스 복호를 수행한다. The
즉, 상기 트렐리스 복호부(5012)는 입력 버퍼(5011)의 출력 심볼값과 피드백 포맷터(5021)의 소프트 판정값(soft-decision value)을 각각 TDL만큼 입력받아 각 심볼의 TCM 복호를 수행한다. That is, the
이때, 상기 피드백 포맷터(5021)에서 출력되는 소프트 판정값들은 상기 피드백 제어기(5010)의 제어에 의해 상기 입력 버퍼(5011)에서 출력되는 TDL만큼의 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(5012)로 입력된다. 즉, 상기 입력 버퍼(5011)에서 출력되는 심볼값과 터보 복호되어 입력되는 데이터는 해당 터보 블록(TDL) 내 같은 위치끼리 매칭되어 트렐리스 복호부(5012)로 출력된다. 예를 들어, 상기 터보 복호된 데이터가 터보 블록 내 세 번째 심볼값이라면 상기 입력 버퍼(5011)에서 출력되는 터보 블록 내 세 번째 심볼값과 매칭되어 트렐리스 복호부(5012)로 출력된다. At this time, the soft decision values output from the
이를 위해 상기 피드백 제어기(5010)는 회귀적인 터보 복호가 이루어지는 동안 상기 입력 버퍼(5011)에서 해당 터보 블록 데이터를 저장하도록 제어하며, 지연 등을 통해 심볼 인터리버(5020)의 출력 심볼의 소프트 판정값(예를 들어, LLR)과 상기 출력 심볼의 블록 내 같은 위치에 해당하는 입력 버퍼(5011)의 심볼값이 일대일 매칭되어 해당 경로(way)의 TCM 복호기로 입력될 수 있도록 제어한다. 이때 블록 부호화된 심볼값이 아닌 경우, 터보 복호되지 않기 때문에 상기 피드백 포맷터(5021)에서 매칭되는 출력 위치에 널(null)을 입력한다.For this, the
이러한 과정이 터보 복호의 기 설정된 반복 횟수동안 진행되고 나면, 다음 터보 블록의 데이터가 입력 버퍼(5011)로부터 출력되어 상기 터보 복호 과정을 반복한다. After this process is performed for a predetermined number of times of turbo decoding, data of the next turbo block is output from the
상기 트렐리스 복호부(5012)의 출력은 전송된 심볼들에 대해서 송신측 트렐리스 부호기에 입력된 심볼들의 신뢰도를 의미한다. 예를 들어 송신측의 트렐리스 부호화부(256)의 입력은 두 비트가 한 심볼이므로 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(Log Likelihood Ratio ; LLR)를 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)할 수 있다. 상기 LLR(Log Likelihood Ratio)이란 입력 비트가 1일 확률값과 0일 확률값의 비율에 대한 로그값을 의미한다. 또는 2비트, 즉 한 심볼이 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 4개의 조합(00,01,10,11)에 대해 모두 출력(심볼 단위 출력)할 수 있다. 이것은 결국 수신한 심볼에 대한 소프트 판정값으로서, 트레릴스 부호기에 입력되었던 비트들의 신뢰도를 나타낸다. 상기 트렐리스 복호부(5012) 내 각 TCM 복호기의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.The output of the
상기 트렐리스 복호부(5012)의 출력은 심볼-바이트 변환기(5013)와 외부 블록 추출기(5014)로 출력된다. The output of the
상기 심볼-바이트 변환기(5013)는 상기 트렐리스 복호부(5012)에서 트렐리스 복호되어 출력되는 소프트 판정값을 하드 판정(hard-decision)한 후 4 심볼을 하나의 바이트 단위로 묶어 도 40의 메인 서비스 데이터 처리부(2008)의 데이터 디인터리버로 출력한다. 즉, 상기 심볼-바이트 변환기(5013)는 트렐리스 복호부(5012)의 출력 심볼의 소프트 판정값에 대해 비트 단위의 하드 판정을 수행한다. 그러므로 상기 심볼-바이트 변환기(5013)에서 하드 판정되어 바이트 단위로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등이 포함된다.The symbol-to-
상기 외부 블록 추출기(5014)는 상기 트렐리스 복호부(5012)의 TDL만큼의 소프트 판정값들 중 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터, CRC 데이터 심볼들을 포함)에 해당하는 B 만큼의 소프트 판정값들을 구 분하여 피드백 디포맷터(5015)로 출력한다. 즉, 상기 외부 블록 추출기(5014)에서 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등의 소프트 판정값은 피드백 디포맷터(5015)로 출력되지 않고 버려진다. The
상기 피드백 디포맷터(5015)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)로 입력되는 중간 과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 모바일 서비스 데이터 심볼의 처리 순서 변화의 역과정으로 모바일 서비스 데이터 심볼의 소프트 판정 값의 처리 순서를 변경(reordering)한 후 심볼 디인터리버(5016)로 출력한다. 이는 송신측의 블록 처리기(302)의 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하며, 이 블록들로 인해 블록 처리기(302)에서 출력되는 모바일 서비스 데이터 심볼의 순서와 트렐리스 부호화부(256)로 입력되는 모바일 서비스 데이터 심볼의 순서가 달라지기 때문이다. 따라서 상기 피드백 디포맷터(5015)는 상기 심볼 디인터리버(5016)로 입력되는 모바일 서비스 데이터 심볼의 순서가 송신측의 블록 처리기(302)의 출력 순서와 일치하도록 상기 외부 블록 추출기(5014)에서 출력되는 모바일 서비스 데이터 심볼의 순서를 재배열(reordering)한다. 이러한 재배열(reordering) 과정은 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다.The
상기 심볼 디인터리버(5016)는 송신측의 심볼 인터리버(514)의 심볼 인터리빙의 역과정으로, 상기 피드백 디포맷터(5015)에서 순서가 변경되어 출력되는 데이터 심볼의 소프트 판정값에 대해 디인터리빙한다. 상기 심볼 디인터리버(5016)에서 디인터리빙시 사용되는 블록의 크기는 송신측의 심볼 인터리버의 실제 심볼의 인터리빙 크기(즉, B)와 동일하며 이것은 터보 복호가 트렐리스 복호부(5012)와 심볼 복호기(5018) 간에 이루어지기 때문이다. The
상기 심볼 디인터리버(5016)의 입력과 출력은 모두 소프트 판정값이며, 상기 디인터리빙된 소프트 판정값은 외부 심볼 매퍼(5017)로 출력된다. The input and output of the
상기 외부 심볼 매퍼(5017)는 송신측의 콘볼루션 부호기(513)의 구성 및 부호율에 따라 그 동작이 달라질 수 있다. 예를 들어, 상기 콘볼루션 부호기(513)에서 1/2 부호화되어 전송된 데이터라면 상기 외부 심볼 매퍼(5017)는 입력 데이터를 그대로 심볼 복호기(5018)로 출력한다. 다른 예로, 상기 콘볼루션 부호기(513)에서 1/4 부호화되어 전송된 데이터라면 심볼 복호기(5018)의 입력 형식에 맞게 입력 데이터를 변환하여 심볼 복호기(5018)로 출력한다. 이를 위해 상기 외부 심볼 매퍼(5017)는 시그널링 복호부(2013)로부터 SCCC 관련 정보 예를 들어, SCCC 블록 모드와 SCCC 아웃터 코드 모드를 입력받을 수 있다.The operation of the
상기 심볼 복호기(5018, 즉 외부 복호기)는 송신측의 콘볼루션 부호기(513)의 역과정으로, 외부 심볼 매퍼(5017)의 출력에 대해 심볼 복호를 수행한다. 이때 상기 심볼 복호기(5018)에서는 2가지 소프트 판정값이 출력된다. 하나는 콘볼루션 부호기(513)의 출력 심볼과 매칭되는 소프트 판정 값(이하, 제1 소프트 판정값이라 함)이고 다른 하나는 콘볼루션 부호기(513)의 입력 비트와 매칭되는 소프트 판정 값(이하, 제2 소프트 판정값이라 함)이다. 상기 제1 소프트 판정값은 콘볼루션 부호기(513)의 출력 심볼 즉, 두 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)를 심볼을 구성하는 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)하거나, 2비트가 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 모든 조합에 대해 출력(심볼단위 출력)할 수 있다. 상기 제1 소프트 판정값은 내부 심볼 매퍼(5019)와 심볼 인터리버(5020), 및 피드백 포맷터(5021)를 통해 트렐리스 복호부(5012)로 피드백된다. 상기 제2 소프트 판정값은 송신측의 콘볼루션 부호기(513)의 입력 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)로 표현되어 외부 버퍼(5022)로 출력된다. 상기 심볼 복호기(5018)의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.The symbol decoder 5018 (i.e., the outer decoder) performs symbol decoding on the output of the
상기 심볼 복호기(5018)에서 출력되는 제1 소프트 판정값은 내부 심볼 매퍼(5019)로 입력된다. 상기 내부 심볼 매퍼(5019)는 제1 소프트 판정값을 트렐리스 복호부(5012)의 입력 형식에 맞게 변환하여 심볼 인터리버(5020)로 출력한다. 상기 내부 심볼 매퍼(5019)도 송신측의 콘볼루션 부호기(513)의 구조 및 부호율에 따라 그 동작이 달라질 수 있다. The first soft decision value output from the
상기 심볼 인터리버(5020)는 상기 내부 심볼 매퍼(5019)에서 출력되는 제1 소프트 판정값에 대해 도 30과 같이 심볼 인터리빙하여 피드백 포맷터(5021)로 출력한다. 상기 심볼 인터리버(5020)의 출력도 소프트 판정값이 된다.The
상기 피드백 포맷터(5021)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)에 입력되는 중간과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 심볼의 처리 순서 변화에 맞춰 상기 심볼 인터리버(5020)의 출력 값들의 순서를 변경한 후 트렐리스 복호부(5012)로 출력한다. 상기 피드백 포맷터(5021)의 재배열(reordering) 과정도 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다. The
상기 심볼 인터리버(5020)에서 출력되는 소프트 판정 값들은 입력 버퍼(5011)에서 출력되는 TDL만큼의 모바일 서비스 데이터 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(5012)로 입력된다. 이때 메인 서비스 데이터 심볼이나 메인 서비스 데이터의 RS 패리티 심볼, 기지 데이터 심볼, 시그널링 정보 데이터 등은 모바일 서비스 데이터 심볼이 아니므로, 상기 피드백 포맷터(5021)는 해당 위치에 널 데이터를 삽입하여 트렐리스 복호부(5012)로 출력한다. 또한 상기 TDL 크기의 심볼들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 심볼 인터리버(5020)로 부터 피드백되는 값이 없으므로, 상기 피드백 포맷터(5021)는 피드백 제어기(5010)의 제어를 받아 모바일 서비스 데이터 심볼을 포함한 모든 심볼 위치에 널 데이터를 삽입하여 트렐리스 복호부(5012)로 출력한다.The soft decision values output from the
상기 출력 버퍼(5022)는 피드백 제어기(5010)의 제어에 따라 상기 심볼 복호기(5018)에서 제2 소프트 판정값을 입력받아 일시 저장한 후 RS 프레임 복호기(2006)로 출력한다. 일 예로, 상기 출력 버퍼(5022)는 M번의 터보 복호가 수행될 때까지 상기 심볼 복호기(5018)의 제2 소프트 판정값을 오버라이트하고 있다가, 하나의 TDL에 대해 M번의 터보 복호가 모두 수행되면, 그때의 제2 소프트 판정값을 RS 프레임 복호기(2006)로 출력한다. The
상기 피드백 제어기(5010)는 도 45와 같은 블록 복호기 전체의 터보 복호 및 터보 복호 반복 횟수를 제어한다.The
즉, 기 설정된 반복 횟수동안 터보 복호가 이루어지고 나면, 심볼 복호기(5018)의 제2 소프트 판정값은 출력 버퍼(5022)를 통해 RS 프레임 복호기(2006)로 출력되고, 한 터보 블록에 대한 블록 복호 과정이 완료된다.That is, after the turbo decoding is performed for the preset number of repetitions, the second soft decision value of the
이를 본 발명에서는 설명의 편의를 위해 회귀적인 터보 복호 과정이라 한다.This is referred to as a recursive turbo decoding process for convenience of explanation in the present invention.
이때 상기 트렐리스 복호부(5012)와 심볼 복호기(5018) 사이의 회귀적인 터보 복호 횟수는 하드웨어 복잡도와 에러정정 성능을 고려하여 정의할 수 있는데 횟수가 증가하면 에러 정정 능력은 우수해지지만 하드웨어는 복잡해지는 단점이 있다. At this time, the number of recursive turbo decoding operations between the
한편 도 40의 메인 서비스 데이터 처리부(2008)는 메인 서비스 데이터를 수신하기 위해 필요한 블록들로서, 오직 모바일 서비스 데이터만을 수신하기 위한 수신 시스템 구조에서는 필요하지 않을 수도 있다. On the other hand, the main service
상기 메인 서비스 데이터 처리부(2008) 내 데이터 디인터리버는 송신측의 데이터 인터리버의 역과정으로 상기 블록 복호기(2005)에서 출력되는 데이터를 디인터리빙하여 RS 복호기로 출력한다. 상기 데이터 디인터리버로 입력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, RS 패리티, MPEG 헤더 등을 포함한다. The data deinterleaver in the main service
상기 RS 복호기는 디인터리빙된 데이터에 대해 체계적 RS 복호를 수행하여 디랜더마이저로 출력한다. The RS decoder performs systematic RS decoding on the deinterleaved data and outputs the decoded data to the derandomizer.
상기 디랜더마이저는 RS 복호기의 출력을 입력받아서 송신기의 랜더마이저와 동일한 의사 랜덤(pseudo random) 바이트를 발생시켜 이를 bitwise XOR(exclusive OR)한 후 MPEG 동기 바이트를 매 패킷의 앞에 삽입하여 188 바이트 패킷 단위로 출력한다. The de-randomizer receives the output of the RS decoder and generates pseudo-random bytes that are the same as the renderer of the transmitter, bitwise XORs (exclusive OR) them, inserts MPEG sync bytes in front of every packet, .
RSRS 프레임 복호기 Frame decoder
상기 블록 복호기(2005)에서 출력되는 데이터는 포션(portion) 단위이다. 즉, 송신측에서 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역에 할당되거나, A/B 영역과 C/D 영역 중 어느 하나에 할당되어 수신측으로 전송된다. 따라서 상기 RS 프레임 복호기(2006)에서는 하나의 퍼레이드 내 복수개의 포션을 모아 하나의 RS 프레임을 구성하거나, 두개의 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 복호를 수행한다. The data output from the
예를 들어, RS 프레임 모드가 00이라면 하나의 퍼레이드는 하나의 RS 프레임을 전송하는데, 이때 하나의 RS 프레임은 복수개의 포션으로 구분되고, 구분된 각 포션의 모바일 서비스 데이터는 대응하는 데이터 그룹의 A/B/C/D 영역에 할당되어 전송된다. 이 경우, 상기 RS 프레임 복호기(2006)는 도 46의 (a)와 같이 데이터 그룹 내 A/B/C/D 영역에서 모바일 서비스 데이터를 추출하여 하나의 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹에 대해 수행하여 복수개의 포션을 얻을 수 있다. 그리고 복수개의 포션의 모바일 서비스 데이터를 모아 하나의 RS 프레임을 구성할 수 있다. 이때 마지막 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 RS 프레임을 구성한다. For example, if the RS frame mode is 00, one parade transmits one RS frame. At this time, one RS frame is divided into a plurality of potions, and mobile service data of each divided port is divided into A / B / C / D area. In this case, the
다른 예로, RS 프레임 모드가 01이라면 하나의 퍼레이드는 두개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 전송한다. 이때 프라이머리 RS 프레임은 복수개의 프라이머리 포션으로 구분되고, 구분된 각 프라이머리 포션의 모바일 서비스 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되어 전송된다. 그리고 세컨더리 RS 프레임은 복수개의 세컨더리 포션으로 구분되고, 구분된 각 세컨더리 포션의 모바일 서비스 데이터는 해당 데이터 그룹 내 C/D 영역에 할당되어 전송된다. 이 경우, 상기 RS 프레임 복호기(2006)는 도 46의 (b)와 같이 데이터 그룹 내 A/B 영역에서 모바일 서비스 데이터를 추출하여 하나의 프라이머리 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹의 A/B 영역에 대해 수행하여 복수개의 프라이머리 포션을 얻을 수 있다. 그리고 복수개의 프라이머리 포션을 모아 프라이머리 RS 프레임을 구성할 수 있다. 이때 마지막 프라이머리 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 프라이머리 RS 프레임을 구성한다. 또한 해당 데이터 그룹 내 C/D 영역에서 모바일 서비스 데이터를 추출하여 하나의 세컨더리 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹의 C/D 영역에 대해 수행하여 복수개의 세컨더리 포션을 얻을 수 있다. 그리고 복수개의 세컨더리 포션을 모아 세컨더리 RS 프레임을 구성할 수 있다. 이때 마지막 세컨더리 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 세컨더리 RS 프레임을 구성한다. In another example, if the RS frame mode is 01, one parade transmits two RS frames, i.e., a primary RS frame and a secondary RS frame. At this time, the primary RS frame is divided into a plurality of primary parts, and the mobile service data of each divided primary part is allocated and transmitted to the A / B area in the corresponding data group. The secondary RS frame is divided into a plurality of secondary potions, and the mobile service data of each secondary position is assigned to the C / D area in the corresponding data group and transmitted. In this case, the
즉, 상기 RS 프레임 복호기(2006)는 상기 블록 복호기(2005)로부터 RS 부호화 및/또는 CRC 부호화된 각 포션의 모바일 서비스 데이터를 입력받고, 오퍼레이션 제어기(2000)(또는 시그널링 복호부(2013))로부터 출력되는 RS 프레임 관련 정보에 따라 입력되는 복수개의 포션을 모아 RS 프레임을 구성한 후 에러 정정을 수행한다. 상기 RS 프레임 관련 정보 내 RS 프레임 모드 값을 참조하면 RS 프레임을 구성할 수 있고, RS 프레임을 구성하기 위해 사용된 RS 코드의 패리티의 개수와 코드 크기에 대한 정보를 알 수가 있다.That is, the
상기 RS 프레임 복호기(2006)에서는 RS 프레임 관련 정보를 참조하여 송신 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한다. 그리고 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가한 후 디랜더마이징을 수행한다. The
도 47은 RS 프레임 모드 값이 00일 때, 즉 하나의 퍼레이드로 전송되는 복수개의 포션을 모아 하나의 RS 프레임과 RS 프레임 신용 맵(Reliability Map)을 형성하는 과정을 도시하고 있다. FIG. 47 shows a process of forming one RS frame and an RS frame credit map (Reliability Map) when a RS frame mode value is 00, that is, collecting a plurality of potions transmitted in one parade.
즉, 상기 RS 프레임 복호기(2006)는 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 송신 시스템에서 RS 프레임 단위로 RS 부호화된 데이터인 것을 일 실시예로 한다. 이때 에러 정정 부호화 예를 들어, CRC 부호화는 수행되어 있을 수도 있고, 생략되어 있을 수도 있다. That is, the
만일, 송신 시스템에서 (N+2)x(187+P) 바이트 크기의 RS 프레임을 M개의 포션으로 구분하고, M개의 포션의 모바일 서비스 데이터를 대응하는 M개의 데이터 그룹의 A/B/C/D 영역에 할당하여 전송하였다고 가정하면, 수신 시스템에서도 도 47의 (a)와 같이 각 포션의 모바일 서비스 데이터를 모아 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성한다. If the transmission system divides the (N + 2) x (187 + P) bytes of the RS frame into M potions, and the mobile service data of M potions is divided into A / B / C / D region, the receiving system constructs an RS frame of size (N + 2) x (187 + P) bytes by collecting the mobile service data of each port as shown in FIG.
이때 해당 RS 프레임을 구성하는 적어도 하나의 포션에 스터핑 바이트(S)가 추가되어 전송되었다면 상기 스터핑 바이트는 제거되고 RS 프레임과 RS 프레임 신용 맵이 구성된다. 예를 들어, 도 27에서와 같이 S개의 스터핑 바이트가 추가되었다면 S개의 스터핑 바이트가 제거된 후 RS 프레임과 RS 프레임 신용 맵이 구성된다. At this time, if the stuffing byte S is added to at least one portion constituting the corresponding RS frame, the stuffing byte is removed and an RS frame and an RS frame credit map are configured. For example, if S stuffing bytes are added as shown in FIG. 27, the S stuffing bytes are removed and an RS frame and an RS frame credit map are constructed.
예를 들어, 상기 블록 복호기(2005)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(2006)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 퍼레이드 내 복수개의 포션(또는 데이터 그룹)의 소프트 판정값에 대해 모두 수행하면 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성할 수가 있게 된다. For example, assuming that the
또한 본 발명은 소프트 판정값을 RS 프레임을 구성하는데 이용할 뿐만 아니라, 신용 맵(Reliability Map)을 구성하는데 이용한다.Further, the present invention uses a soft decision value not only to construct an RS frame but also to construct a reliability map.
상기 신용 맵은 상기 소프트 판정값의 부호로 결정된 비트를 8개 모아 구성한 해당 바이트가 믿을만한지 여부를 나타낸다. The credit map indicates whether the corresponding byte constituted by collecting eight bits determined by the sign of the soft decision value is reliable.
일 실시예로, 소프트 판정값의 절대값이 기 설정된 문턱값을 넘을 경우에는 해당 소프트 판정값의 부호로 판단한 해당 비트 값은 믿을만하다고 판단하고, 넘지 못할 경우에는 믿을만하지 못하다고 판단한다. 그리고 나서, 소프트 판정값의 부호 로 판단한 비트를 8개 모아 구성한 한 바이트 내 한 비트라도 믿을만하지 못하다고 판단된 경우에는 신용 맵에 해당 바이트가 신용이 없다고 표시한다. 여기서 한 비트는 하나의 실시예이며, 복수개 예를 들어, 4개의 이상의 비트가 신용이 없다고 판단된 경우에 신용 맵에 해당 바이트가 신용이 없다고 표시할 수도 있다.In one embodiment, when the absolute value of the soft decision value exceeds a predetermined threshold value, the corresponding bit value determined as the sign of the soft decision value is determined to be reliable, and if the absolute value is not exceeded, it is determined that it is unreliable. Then, if 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 corresponding bit in the credit map indicates that there is no credit. Where one bit is one embodiment and may indicate that the corresponding byte in the credit map does not have a credit if, for example, four or more bits are determined to be non-creditable.
반대로 한 바이트 내 모든 비트가 신용이 있다고 판단된 경우 즉, 한 바이트의 모든 비트의 소프트 판정값의 절대값이 기 설정된 문턱값을 넘는 경우에는 신용 맵에 해당 바이트가 신용이 있다고 표시한다. 마찬가지로, 한 바이트 내 복수개 예를 들어, 4개 이상의 비트가 신용이 있다고 판단된 경우에는 신용 맵에 해당 바이트가 신용이 있다고 표시한다. Conversely, if all bits in a byte are determined to be creditable, that is, if the absolute value of the soft decision value of all bits of one byte exceeds a predetermined threshold, the credit map indicates that the corresponding byte is credit. Similarly, if a plurality of bits within one byte, for example, four or more bits, are found to be creditable, the credit map indicates that the corresponding byte has credit.
상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다. The numerical values shown above are only examples, and the numerical values do not limit the scope of the present invention.
상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 (N+2) x (187+P) 바이트 크기를 가진다면, 상기 신용 맵은 (N+2) x (187+P) 비트 크기를 가진다. 도 47의 (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 to each byte in the RS frame with 1: 1. For example, if one RS frame has a size of (N + 2) x (187 + P) bytes, then the credit map has a size of (N + 2) x (187 + P) bits. 47 (a ') and (b') show the process of forming a credit map according to the present invention.
이어 상기 RS 프레임에 대해 RS 프레임 신용 맵 정보를 이용하여 에러 정정을 수행한다. And performs error correction using the RS frame credit map information for the RS frame.
도 48은 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 것이다. FIG. 48 shows an embodiment of an error correction decoding process according to the present invention.
도 48은 송신 시스템에서 RS 프레임에 대해 RS 부호화와 CRC 부호화를 모두 수행한 경우의 에러 정정 과정을 보인 실시예이다.FIG. 48 shows an example of an error correction process in the case where both the RS encoding and the CRC encoding are performed on the RS frame in the transmission system.
다음은 도 48에 도시된 에러 정정 과정을 상세히 설명한다.Next, the error correction process shown in FIG. 48 will be described in detail.
즉, 도 48의 (a),(a')와 같이 (N+2)x(187+P) 바이트 크기의 RS 프레임과 (N+2)x(187+P) 비트 크기의 RS 프레임 신용 맵이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 48의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 Nx(187+P) 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 48의 (b')와 같이 Nx(187+P)개의 신용 정보만을 남긴다. That is, as shown in FIGS. 48 (a) and 48 (a '), an RS frame credit RS frame having an (N + 2) x (187 + A CRC syndrome check is performed on the RS frame to check whether an error has occurred in each row. Next, the 2-byte CRC checksum is removed as shown in FIG. 48 (b) to construct an RS frame of Nx (187 + P) bytes size and an error flag is displayed in the error flag corresponding to each row. Likewise, since the portion corresponding to the CRC checksum in the credit map is not utilized, this portion is removed to leave only Nx (187 + P) pieces of credit information as shown in (b ') of FIG.
상기와 같이 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 48의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 RS 패리티 개수(P)이다. After the CRC syndrome check is performed as described above, RS decoding is performed in the column direction. At this time, the RS may perform erasure correction according to the number of the CRC error flags. 48C, a CRC error flag corresponding to each row in the RS frame is checked, and when the number of rows having errors is RS-decoded in the column direction, RS is set to a maximum value capable of performing laser correction Is equal to or smaller than the number of errors. The maximum number of errors is the number (P) of RS parities inserted in RS encoding.
본 발명에서는 일 실시예로 각 컬럼마다 부가되는 RS 패리티 개수(P)가 48개라고 가정한다.In an embodiment of the present invention, it is assumed that the number of RS parities P added for each column is 48.
이 경우 CRC 에러를 가진 로우의 개수가 RS 이레이저 복호(decoding)로 수정 가능한 최대 에러 개수(실시예에 따르면 48)보다 작거나 같다면 도 48의 (d)와 같 이 (187+P) 즉, 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 48의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 RS 패리티 데이터를 제거한다. In this case, if the number of rows with a CRC error is less than or equal to the maximum number of errors (48 according to an embodiment) that can be corrected by laser decoding, then (187 + P) (235, 187) -RS in the column direction with respect to the RS frame having 235 N-byte rows and removes 48 bytes of RS parity data added to the end of each column as shown in FIG. 48 (e) do.
그런데, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 크다면 RS 이레이저 복호를 수행할 수가 없다. However, if the number of rows with CRC errors is greater than the maximum number of errors (i.e., 48) that the RS can modify with laser decoding, the RS can not perform laser decoding.
이러한 경우 일반적인 RS 복호를 통해서 에러 정정을 수행할 수 있다. 또한 본 발명은 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 이용하여 에러 정정 능력을 더욱 높일 수 있다. In this case, error correction can be performed through general RS decoding. Further, the present invention can further enhance the error correction capability by using the credit map generated together with the RS frame from the soft decision value.
즉, 상기 RS 프레임 복호기에서는 블록 복호기(2005)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개프트아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다. That is, in the RS frame decoder, the absolute value of the soft decision value of the
따라서 본 발명은 도 48의 (c)와 같이 특정 로우의 CRC 신드롬 체크 결과, 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 신용이 없다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 신용이 없다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다. Therefore, according to the present invention, even if it is determined that there is a CRC error in the row as a result of the CRC syndrome check of a specific row as shown in (c) of FIG. 48, it is not assumed that all bytes of the row have an error, The error is set only for the byte that is judged as not having a credit. That is, regardless of whether or not the CRC error of the corresponding row exists, only the byte that is judged to have no credit in the credit information of the credit map is set as the erasure point.
또 다른 방법으로 CRC 신드롬 체크 결과 해당 로우에 CRC 에러가 있다고 판단되면서 신용 맵의 신용 정보가 신용이 없다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우에 CRC 에러가 있으면서 신용 맵의 신용 정보에서 신용이 없다고 판단이 되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.As another method, it is determined that there is a CRC error in the corresponding row as a result of the CRC syndrome check, and therefore, the credit information of the credit map is set as an error only for the byte that is judged to have no credit. That is, only the byte which is judged to have no credit in the credit information of the credit map with the CRC error in the corresponding row is set as the erasure point.
그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 개수(즉, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다. Then, if the number of error points for each column is less than or equal to the maximum number of errors that can be corrected by laser decoding (ie, 48), the RS performs laser decoding on that column. Conversely, if the number of error points is greater than the maximum number that can be corrected by laser decoding (i.e., 48), RS performs a general RS decoding on the column.
즉, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(예를 들면, 48)보다 크면, 신용 맵의 신용 정보에 의해 결정된 해당 컬럼 내 이레이저 포인트 수에 따라 그 컬럼에 대해서 RS 이레이저 복호를 수행하거나, 일반적인 RS 복호를 수행한다. That is, if the number of rows with CRC errors is greater than the maximum error number (e.g., 48) that the RS can modify with laser decoding, then the number of rows in the column determined by the credit information in the credit map, The RS performs laser decoding on the RS, or performs general RS decoding on the RS.
예를 들어, 상기 RS 프레임 내에서 CRC 에러를 가진 로우의 개수가 48보다 크고, 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한다. For example, if the number of rows with CRC errors in the RS frame is greater than 48, the number of laser points determined by credit information in the credit map is 40 in the first column, and 50 in the second column Let's assume. Then, (235, 187) -RS performs laser decoding on the first column and (235, 187) -RS decoding on the second column.
상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 48의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다. If error correction decoding is performed in all column directions in the RS frame by performing the above-described process, 48-byte parity data added to the end of each column is removed as shown in (e) of FIG.
이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다. As described above, the number of all CRC errors corresponding to each row in the RS frame is larger than the maximum number of errors that can be corrected by laser decoding in the CR decoding of the specific column, If the number of low-confidence bytes is equal to or less than the maximum error count that can be corrected by laser decoding, the RS can perform laser decoding on that column.
여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (RS 패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 RS 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다. Here, the difference between general RS decoding and RS-laser decoding is the number of correctable errors. That is, when general RS decoding is performed, the error can be corrected by a number (for example, 24) corresponding to the inserted (number of RS parities) / 2 in the RS encoding process. If RS performs laser decoding, The error can be corrected by the number of inserted RS parities (for example, 48).
상기와 같이 에러 정정 복호가 수행되고 나면, 도 48의 (e)와 같이 187개의 N 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다.After the error correction decoding is performed as described above, RS frames of 187 N-byte low (i.e., packets) can be obtained as shown in FIG. 48 (e).
본 발명은 RS 프레임 복호기를 하나의 M/H 프레임 내 퍼레이드의 수(=M)만큼 병렬로 구비하고, M개의 RS 프레임 복호기의 입력단에는 복수의 포션들을 다중화하는 다중화기를, M개의 RS 프레임 복호기의 출력단에는 역다중화기를 구비하여 RS 프레임 복호기를 구성할 수도 있다. A multiplexer for multiplexing a plurality of parts is provided at an input terminal of M RS frame decoders, and a multiplexer for multiplexing a plurality of parts at M input terminals of M RS frame decoders An output terminal may include a demultiplexer to configure an RS frame decoder.
상기 RS 프레임 복호기(2006)에서 CRC 복호 및 RS 복호된 RS 프레임에 포함된 오디오 및/또는 비디오 데이터를 유저에게 서비스하기 위해서는 상기 RS 프레임은 A/V 복호기(2015)로 출력되어야 한다. In order to service the audio and / or video data included in the RS frame decoded by the
이때 상기 A/V 복호기(2015)에서 상기 RS 프레임에 포함된 오디오 및/또는 비디오 데이터를 추출하여 복호하려면 FIC 데이터가 필요하다. 그리고 상기 A/V 복호기(2015)는 MPEG-2 트랜스포트 패킷(TP) 포맷을 지원하는 것을 일 실시예로 한 다.At this time, FIC data is required to extract and decode audio and / or video data included in the RS frame in the A /
이 경우, 상기 RS 프레임 복호기(2006)에서 CRC 복호 및 RS 복호된 RS 프레임의 데이터와 상기 시그널링 복호기(2013)에서 복호된 FIC 데이터는 MPEG-2 TP 포맷으로 상기 A/V 복호기(2015)로 출력되어야 한다. In this case, the data of the RS frame decoded by the
이를 위해 본 발명은 상기 RS 프레임을 MPEG-2 TP 포맷의 패킷으로 변환하는 제1 패킷 변환부(2007)와 상기 FIC 데이터를 MPEG-2 TP 포맷의 패킷으로 변환하는 제2 패킷 변환부(2014)를 포함한다. 본 발명은 설명의 편의를 위해 MPEG-2 TP 포맷의 패킷을 TP라 하기도 한다.To this end, the present invention includes a first
상기 CRC 복호 및 RS 복호된 RS 프레임은 N (row) x 187 (column) 바이트 크기를 갖는다. 상기 N은 로우의 길이(즉 컬럼의 개수)이고, 187은 컬럼의 길이(즉, 로우의 개수)이다. 즉, 상기 CRC 복호 및 RS 복호된 RS 프레임은 187개의 M/H 서비스 데이터 패킷의 집합이다. 그리고 각 M/H 서비스 데이터 패킷은 2 바이트의 M/H 헤더와 N-2 바이트의 M/H 페이로드로 구성된다. 여기서 N은 상기 수학식 2를 적용하여 구할 수 있으며, 전송 모드에 따라 19에서 1822 바이트까지 다양한 크기를 가질 수 있다. The CRC-decoded and RS-decoded RS frames have N (row) x 187 (column) bytes. N is the length of the row (i.e., the number of columns), and 187 is the length of the column (i.e., the number of rows). That is, the CRC decoded and RS decoded RS frames are a set of 187 M / H service data packets. Each M / H service data packet consists of 2 bytes of M / H header and N-2 bytes of M / H payload. Here, N can be obtained by applying Equation (2) and can have various sizes ranging from 19 to 1822 bytes according to a transmission mode.
상기 제1 패킷 변환부(2007)는 M/H 서비스 데이터 패킷 단위로 RS 프레임의 데이터를 MPEG-2 TP 포맷의 패킷으로 변환하는 것을 일 실시예로 한다. The
상기 제2 패킷 변환부(2014)는 서브 프레임 단위로 FIC 데이터를 MPEG-2 TP 포맷의 패킷으로 변환하는 것을 일 실시예로 한다.The second
도 49, 도 50은 본 발명에 따른 RS 프레임을 위한 TP의 예를 보이고 있다. 49 and 50 show an example of a TP for an RS frame according to the present invention.
본 발명에 따른 RS 프레임을 위한 TP는 크게 4 바이트의 헤더 영역과 184 바이트의 페이로드 영역으로 구성된다. The TP for the RS frame according to the present invention is largely composed of a header area of 4 bytes and a payload area of 184 bytes.
상기 페이로드 영역은 1 바이트(즉, 8비트)의 페이로드 길이(payload length) 필드를 포함한다. 상기 페이로드 영역은 상기 페이로드 길이 필드 값에 따라 RS 프레임 데이터를 전송하는 1~183 바이트의 페이로드 바이트 필드를 포함할 수 있다. 또한 상기 페이로드 영역은 상기 페이로드 길이 필드 값에 따라 스터핑 데이터를 전송하는 1~183 바이트의 스터핑 바이트 필드를 포함할 수 있다.The payload field includes a payload length field of 1 byte (i.e., 8 bits). The payload area may include a payload byte field of 1 to 183 bytes for transmitting RS frame data according to the payload length field value. The payload field may include a stuffing byte field of 1 to 183 bytes for transmitting stuffing data according to the payload length field value.
도 49는 스터핑 바이트 필드가 존재하지 않을 때의 TP의 예이다. 이때의 페이로드 영역은 1 바이트의 페이로드 길이 필드와 183 바이트의 페이로드 바이트 필드로 구성된다.49 is an example of a TP when the stuffing byte field does not exist. At this time, the payload area consists of a payload length field of 1 byte and a payload byte field of 183 bytes.
도 50은 스터핑 바이트 필드가 존재할 때의 TP의 예이다. 이때의 페이로드 영역은 1 바이트의 페이로드 길이 필드, 183-k 바이트의 페이로드 바이트 필드, k 바이트의 스터핑 바이트 필드로 구성된다. 즉, 페이로드 바이트 필드는 스터핑 바이트 필드 길이에 따라 존재할 수도 있고, 존재하지 않을 수도 있다.Figure 50 is an example of a TP when a stuffing byte field is present. The payload area at this time is composed of a payload field of 1 byte, a payload byte field of 183-k bytes, and a stuffing byte field of k bytes. That is, the payload byte field may or may not exist according to the stuffing byte field length.
예를 들어, 상기 페이로드 영역 내 페이로드 길이 필드 값이 10진수로 30이 표시되면, 상기 페이로드 영역에 30 바이트의 페이로드 바이트 필드와 153 바이트의 스터핑 바이트 필드가 할당된다. 그리고 상기 페이로드 영역 내 페이로드 길이 필드 값이 10진수로 183이 표시되면, 상기 페이로드 영역에 183 바이트의 페이로드 바이트 필드가 할당되고, 스터핑 바이트 필드는 할당되지 않는다. 또한 상기 페이로드 영역 내 페이로드 길이 필드 값이 10진수로 0이 표시되면, 상기 페이로드 영 역에 페이로드 바이트 필드는 할당되지 않고, 183 바이트의 스터핑 바이트 필드만 할당된다. For example, if the value of the payload field in the payload area is 30 in decimal, a payload byte field of 30 bytes and a stuffing byte field of 153 bytes are allocated to the payload area. If the value of the payload field in the payload area is displayed as a
본 발명에서 페이로드 길이 필드는 헤더 영역 다음에 할당하는 것을 일 실시예로 한다. In the present invention, the payload length field is allocated after the header area as an embodiment.
그리고 본 발명에서 스터핑 바이트 필드는 페이로드 바이트 필드가 존재할 경우, 상기 페이로드 바이트 필드 다음에 할당하는 것을 일 실시예로 한다. 본 발명은 다른 실시예로, 상기 스터핑 바이트 필드는 페이로드 바이트 필드가 존재할 경우, 상기 페이로드 바이트 필드 앞에 할당할 수도 있다. In the present invention, if the payload byte field is present, the stuffing byte field is allocated after the payload byte field. According to another embodiment of the present invention, the stuffing byte field may be allocated before the payload byte field if the payload byte field exists.
도 49, 도 50의 RS 프레임을 위한 TP의 헤더 영역은 동기(sync) 필드, 타입 인디케이터(type indicator) 필드, M/H 서비스 데이터 패킷 번호(M/H service data packet number) 필드, 패킷 순서(packet order) 필드, 패킷 개수(# of packet) 필드, 스터핑 인디케이터(stuffing indicator) 필드를 포함하는 것을 일 실시예로 한다.49 and 50, the header field of the TP for the RS frame includes a sync field, a type indicator field, an M / H service data packet number field, a packet order field, a # of packet field, and a stuffing indicator field.
상기 동기 필드(8비트)는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 표시한다.The synchronization field (8 bits) indicates a value (for example, 0x47) defined by ISO / IEC 13818-1.
상기 타입 인디케이터 필드(4비트)는 해당 TP가 RS 프레임의 TP인지, FIC의 TP인지를 구분하는 값을 표시한다. 상기 타입 인디케이터 필드 값이 0x0이면 RS 프레임의 TP이고, 0xF이면 FIC의 TP인 것을 일 실시예로 한다.The type indicator field (4 bits) indicates a value for discriminating whether the corresponding TP is the TP of the RS frame or the TP of the FIC. If the type indicator field value is 0x0, it is the TP of the RS frame, and if it is 0xF, it is the TP of the FIC.
상기 M/H 서비스 데이터 패킷 번호 필드(8비트)는 해당 TP가 해당 RS 프레임의 몇 번째 M/H 서비스 데이터 패킷의 TP인지를 표시한다. 상기 M/H 서비스 데이터 패킷 번호 필드 값은 0~186 중 하나의 값을 갖는 것을 일 실시예로 한다. 즉, 상기 M/H 서비스 데이터 패킷 번호 필드 값이 0이면 첫 번째 M/H 서비스 데이터 패킷을 지시하고, 186이면 마지막 M/H 서비스 데이터 패킷을 지시한다.The M / H service data packet number field (8 bits) indicates the TP of the M / H service data packet of the corresponding RS frame. The M / H service data packet number field value has one of 0 to 186 as one embodiment. That is, if the value of the M / H service data packet number field is 0, the first M / H service data packet is indicated. If the value is 186, the last M / H service data packet is indicated.
상기 패킷 순서 필드(4비트)는 해당 TP가 해당 M/H 서비스 데이터 패킷에서 몇 번째 TP인지를 표시한다. 상기 패킷 순서 필드 값이 0이면 첫 번째 TP를 지시하는 것을 일 실시예로 한다.The packet order field (4 bits) indicates the number of the TP in the corresponding M / H service data packet. And indicates the first TP if the packet order field value is 0.
상기 패킷 개수 필드(4비트)는 해당 M/H 서비스 데이터 패킷으로부터 패킷화되는 TP의 전체 개수를 표시한다. 상기 패킷 개수 필드 값은 상기 M/H 서비스 데이터 패킷의 길이인 N 값에 따라 달라진다. 상기 패킷 개수 필드 값은 전체 개수에서 1을 뺀 값이 표시되는 것을 일 실시예로 한다. The packet count field (4 bits) indicates the total number of TPs packetized from the corresponding M / H service data packet. The packet count field value depends on the N value, which is the length of the M / H service data packet. The packet number field value is a value obtained by subtracting 1 from the total number.
상기 스터핑 인디케이터 필드(1비트)는 해당 TP에 스터핑 데이터가 있는지를 표시한다. 즉, 해당 TP에 스터핑 바이트 필드가 할당되어 있는지 여부를 표시한다. 상기 스터핑 인디케이터 필드 값이 0이면 스터핑 데이터가 없고, 1이면 스터핑 데이터가 있는 것을 일 실시예로 한다.The stuffing indicator field (1 bit) indicates whether there is stuffing data in the corresponding TP. That is, it indicates whether a stuffing byte field is assigned to the corresponding TP. If the stuffing indicator field value is 0, there is no stuffing data, and if the stuffing indicator field is 1, there is stuffing data.
또한 상기 헤더 영역에는 미래 사용을 위해 3비트의 reserved 필드가 할당된다. Also, a 3-bit reserved field is allocated to the header area for future use.
상기 도 49와 도 50에서 보이고 있는 RS 프레임을 위한 TP의 헤더 영역에 할당되는 필드의 순서, 위치, 의미는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TP의 헤더 영역에 할당되는 필드의 순서, 위치, 의미, 추가 할당되는 필드의 수는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.The order, position and meaning of the fields allocated to the header field of the TP for the RS frame shown in FIG. 49 and FIG. 50 are only an example for facilitating the understanding of the present invention, and the field assigned to the header field of the TP The order, the location, the meaning, and the number of additional allocated fields can be easily changed by those skilled in the art, the present invention is not limited to the above embodiment.
도 51은 M/H 서비스 데이터 패킷의 길이인 N이 407일 때의 첫 번째 M/H 서비스 데이터 패킷(즉, 도 51의 (a))과 두 번째 M/H 서비스 데이터 패킷(즉, 도 51의 (b))을 183 바이트 단위로 나누어 MPEG-2 TP 포맷으로 패킷화하는 예를 보이고 있다.FIG. 51 is a view showing a first M / H service data packet (that is, FIG. 51 (a)) and a second M / H service data packet (B) of FIG. 18 is divided into units of 183 bytes and packetized in the MPEG-2 TP format.
여기서 N 값이 407이라고 가정할 때, 하나의 TP의 페이로드 영역에 최대 183 바이트의 RS 프레임 데이터가 삽입될 수 있으므로, 각 M/H 서비스 데이터 패킷으로부터 3개의 TP가 생성된다(=2*183+41). 이때 마지막 TP(즉, 3번째 TP)의 페이로드 영역의 페이로드 바이트 필드에 해당 M/H 서비스 데이터 패킷의 마지막 41 바이트의 데이터가 삽입되고, 138 바이트의 스터핑 데이터가 스터핑 바이트 필드에 삽입된다.Assuming that the N value is 407, up to 183 bytes of RS frame data can be inserted into the payload area of one TP, so that three TPs are generated from each M / H service data packet (= 2 * 183 +41). At this time, data of the last 41 bytes of the corresponding M / H service data packet is inserted into the payload byte field of the payload field of the last TP (i.e., third TP), and stuffing data of 138 bytes is inserted into the stuffing byte field.
도 51의 (a)는 M/H 서비스 데이터 패킷의 길이인 N이 407일 때, 첫 번째 M/H 서비스 데이터 패킷을 183 바이트 단위로 나누어 MPEG-2 TP 포맷으로 패킷화하는 예를 보이고 있다. 51A shows an example in which the first M / H service data packet is divided into units of 183 bytes and packetized in the MPEG-2 TP format when N, which is the length of the M / H service data packet, is 407. FIG.
첫 번째 TP의 헤더 영역의 동기 필드 값에 47, 타입 인디케이터 필드 값에 0, M/H 서비스 데이터 패킷 번호 필드 값에 0, 패킷 순서 필드 값에 0, 패킷 개수 필드 값에 2, 스터핑 인디케이터 필드 값에 0이 표시된다. 그리고 상기 첫 번째 TP의 페이로드 영역의 페이로드 길이 필드 값에 B7이 표시되고, 페이로드 바이트 필드에 첫 번째 M/H 서비스 데이터 패킷의 처음 183 바이트의 데이터가 삽입된다.47 in the header field of the first TP, 0 in the type indicator field value, 0 in the M / H service data packet number field value, 0 in the packet order field value, 2 in the packet number field value, 2 in the stuffing
두 번째 TP의 헤더 영역의 동기 필드 값에 47, 타입 인디케이터 필드 값에 0, M/H 서비스 데이터 패킷 번호 필드 값에 0, 패킷 순서 필드 값에 1, 패킷 개수 필드 값에 2, 스터핑 인디케이터 필드 값에 0이 표시된다. 그리고 상기 두 번째 TP의 페이로드 영역의 페이로드 길이 필드 값에 B7이 표시되고, 페이로드 바이트 필드에 첫 번째 M/H 서비스 데이터 패킷의 183 바이트 다음의 183 바이트의 데이터가 삽입된다.47, a type indicator field value of 0, an M / H service data packet number field value of 0, a packet order field value of 1, a packet number field value of 2, a stuffing
세 번째 TP의 헤더 영역의 동기 필드 값에 47, 타입 인디케이터 필드 값에 0, M/H 서비스 데이터 패킷 번호 필드 값에 0, 패킷 순서 필드 값에 2, 패킷 개수 필드 값에 2, 스터핑 인디케이터 필드 값에 1이 표시된다. 그리고 상기 세 번째 TP의 페이로드 영역의 페이로드 길이 필드 값에 29가 표시되고, 페이로드 바이트 필드에 첫 번째 M/H 서비스 데이터 패킷의 마지막 41 바이트의 데이터가 삽입된다. 이어, 스터핑 바이트 필드에 138 바이트의 스터핑 데이터가 삽입된다.47, a type indicator field value of 0, an M / H service data packet number field value of 0, a packet order field value of 2, a packet number field value of 2, a stuffing
도 51의 (b)는 M/H 서비스 데이터 패킷의 길이인 N이 407일 때, 두 번째 M/H 서비스 데이터 패킷을 183 바이트 단위로 나누어 MPEG-2 TP 포맷으로 패킷화하는 예를 보이고 있다. 도 51의 (a)와 달라지는 부분은 헤더 영역 내 M/H 서비스 데이터 패킷 번호 필드 값이다. 이 경우 상기 필드 값에 1이 표시된다.51B shows an example in which the second M / H service data packet is divided into units of 183 bytes and packetized in the MPEG-2 TP format when N, which is the length of the M / H service data packet, is 407. FIG. 51 (a) is the M / H service data packet number field value in the header area. In this case, 1 is displayed in the field value.
이러한 과정을 하나의 RS 프레임 내 187개의 M/H 서비스 데이터 패킷에 대해 수행하면, 561(=3x187)개의 MPEG-2 TP 포맷의 패킷이 생성되어 A/V 복호기(2015)로 출력된다.When this process is performed on 187 M / H service data packets in one RS frame, 561 (= 3x187) MPEG-2 TP format packets are generated and output to the A /
도 52는 본 발명에 따른 RS 프레임을 MPEG-2 TP 포맷으로 패킷화하는 방법의 일 실시예를 보인 흐름도이다. 52 is a flowchart showing an embodiment of a method of packetizing an RS frame according to the present invention into an MPEG-2 TP format.
먼저, 상기 수학식 2를 이용하여 해당 RS 프레임의 N 값을 계산한다(S6001). 그리고, 상기 N 값을 이용하여 각 M/H 서비스 데이터 패킷으로부터 패킷화될 TP의 개수와 각 M/H 서비스 데이터 패킷에서 마지막 TP의 페이로드 길이 필드 값을 구한다(S6002). 예를 들어, N 값이 407이라면, 각 M/H 서비스 데이터 패킷으로부터 패킷화될 TP의 개수는 3이 되고, 각 M/H 서비스 데이터 패킷에서 마지막 TP의 페이로드 길이 필드 값은 십진수로 41이 된다.First, the N value of the corresponding RS frame is calculated using Equation (2) (S6001). In step S6002, the number of TPs to be packetized from each M / H service data packet and the payload length field value of the last TP in each M / H service data packet are obtained using the N value. For example, if N is 407, the number of TPs to be packetized from each M / H service data packet is 3, and the payload length field value of the last TP in each M / H service data packet is 41 in decimal do.
상기 S6002가 수행되고 나면, 첫 번째 M/H 서비스 데이터 패킷의 데이터를 183 바이트로 구분하고, 구분된 첫 번째 183 바이트에 4바이트의 헤더 영역을 추가하여 도 49와 같이 헤더 영역의 각 필드 값을 설정한다(S6003). 그리고 나서, 헤더 영역 다음에 위치한 페이로드 길이 필드의 값을 설정한다(S6004). 그러면, 188 바이트의 TP가 생성된다. 이어 상기 TP가 해당 M/H 서비스 데이터 패킷의 마지막 TP인지를 확인한다(S6005). 만일 마지막 TP가 아니면, 해당 TP의 페이로드 영역은 RS 프레임 데이터로만 구성되며, 다음 TP를 생성하기 위해 상기 S6003으로 되돌아간다(S6006).After S6002 is performed, the data of the first M / H service data packet is divided into 183 bytes, and a 4-byte header area is added to the first 183 bytes, (S6003). Then, the value of the payload length field located next to the header area is set (S6004). Then, a TP of 188 bytes is generated. Then, it is confirmed whether the TP is the last TP of the corresponding M / H service data packet (S6005). If it is not the last TP, the payload area of the corresponding TP is composed of only the RS frame data, and the process returns to step S6003 to generate the next TP (S6006).
이러한 과정이 반복되어 상기 S6005에서 마지막 TP라고 확인되면, 상기 마지막 TP의 페이로드 길이 필드 값이 십진수로 183보다 작은지를 확인한다(S6007). If it is determined in step S6005 that the TP is the last TP, it is checked whether the value of the payload field of the last TP is less than 183 in decimal (S6007).
만일 상기 페이로드 길이 필드 값이 183보다 작지 않다면, 즉 같다면 해당 TP의 페이로드 영역은 RS 프레임 데이터로만 구성되며(S6008), 이때의 TP를 상기 A/V 복호기(2015)로 출력한다(S6009). 그리고 나서, 상기 TP가 해당 RS 프레임 내 마지막 M/H 서비스 데이터 패킷으로부터 생성된 TP인지를 확인한다(S6010). 예를 들어, M/H 서비스 데이터 패킷 번호 필드 값이 186이면, 상기 TP는 마지막 M/H 서비스 데이터 패킷의 마지막 TP라고 판단한다. 상기 S6010에서 마지막 M/H 서비스 데이터 패킷이 아니라고 판단되면, 다음 M/H 서비스 데이터 패킷을 MPEG-2 TP 포맷의 패킷으로 패킷화하기 위하여 상기 S6003로 되돌아간다. If the value of the payload length field is not smaller than 183, that is, if the payload field value is equal to or smaller than 183, the payload area of the corresponding TP is composed of only RS frame data (S6008) and outputs the TP to the A / V decoder 2015 ). Then, it is confirmed whether the TP is a TP generated from the last M / H service data packet in the corresponding RS frame (S6010). For example, if the value of the M / H service data packet number field is 186, the TP determines that it is the last TP of the last M / H service data packet. If it is determined in step S6010 that the packet is not the last M / H service data packet, the process returns to step S6003 to packetize the next M / H service data packet into a packet of the MPEG-2 TP format.
만일 상기 페이로드 길이 필드 값이 183보다 작다면 해당 TP의 페이로드 영역은 RS 프레임 데이터와 스터핑 데이터로 구성되며(S6011), 이때의 TP를 상기 A/V 복호기(2015)로 출력한다(S6012). 그리고 나서, 상기 TP가 해당 RS 프레임 내 마지막 M/H 서비스 데이터 패킷으로부터 생성된 TP인지를 확인한다(S6013). 상기 S6013에서 마지막 M/H 서비스 데이터 패킷이 아니라고 판단되면, 다음 M/H 서비스 데이터 패킷을 MPEG-2 TP 포맷의 패킷으로 패킷화하기 위하여 상기 S6003로 되돌아간다. If the value of the payload length field is smaller than 183, the payload area of the TP is composed of RS frame data and stuffing data (S6011), and outputs the TP to the A / V decoder 2015 (S6012) . Then, it is confirmed whether the TP is a TP generated from the last M / H service data packet in the corresponding RS frame (S6013). If it is determined in step S6013 that the packet is not the last M / H service data packet, the process returns to step S6003 to packetize the next M / H service data packet into a packet of the MPEG-2 TP format.
도 53, 도 54는 본 발명에 따른 FIC를 위한 TP의 예를 보이고 있다. 53 and 54 show examples of TPs for FIC according to the present invention.
본 발명에 따른 FIC를 TP는 크게 4 바이트의 헤더 영역과 184 바이트의 페이로드 영역으로 구성된다.The FIC according to the present invention comprises a header area of 4 bytes and a payload area of 184 bytes.
상기 페이로드 영역은 1 바이트(즉, 8비트)의 페이로드 길이(payload length) 필드를 포함한다. 상기 페이로드 영역은 상기 페이로드 길이 필드 값에 따라 FIC 데이터를 전송하는 1~183 바이트의 페이로드 바이트 필드를 포함할 수 있다. 또한 상기 페이로드 영역은 상기 페이로드 길이 필드 값에 따라 스터핑 데이터를 전송하는 1~183 바이트의 스터핑 바이트 필드를 포함할 수 있다.The payload field includes a payload length field of 1 byte (i.e., 8 bits). The payload area may include a payload byte field of 1 to 183 bytes for transmitting FIC data according to the payload length field value. The payload field may include a stuffing byte field of 1 to 183 bytes for transmitting stuffing data according to the payload length field value.
도 53은 스터핑 바이트 필드가 존재하지 않을 때의 TP의 예이다. 이때의 페 이로드 영역은 1 바이트의 페이로드 길이 필드와 183 바이트의 페이로드 바이트 필드로 구성된다.53 is an example of a TP when the stuffing byte field does not exist. The payload area at this time consists of a payload field of 1 byte and a payload byte field of 183 bytes.
도 54는 스터핑 바이트 필드가 존재할 때의 TP의 예이다. 이때의 페이로드 영역은 1 바이트의 페이로드 길이 필드, 183-k 바이트의 페이로드 바이트 필드, k 바이트의 스터핑 바이트 필드로 구성된다. 즉, 페이로드 바이트 필드는 스터핑 바이트 필드 길이에 따라 존재할 수도 있고, 존재하지 않을 수도 있다.54 is an example of a TP when a stuffing byte field exists. The payload area at this time is composed of a payload field of 1 byte, a payload byte field of 183-k bytes, and a stuffing byte field of k bytes. That is, the payload byte field may or may not exist according to the stuffing byte field length.
본 발명에서 페이로드 길이 필드는 헤더 영역 다음에 할당하는 것을 일 실시예로 한다. In the present invention, the payload length field is allocated after the header area as an embodiment.
그리고 본 발명에서 스터핑 바이트 필드는 페이로드 바이트 필드가 존재할 경우, 상기 페이로드 바이트 필드 다음에 할당하는 것을 일 실시예로 한다. 본 발명은 다른 실시예로, 상기 스터핑 바이트 필드는 페이로드 바이트 필드가 존재할 경우, 상기 페이로드 바이트 필드 앞에 할당할 수도 있다. In the present invention, if the payload byte field is present, the stuffing byte field is allocated after the payload byte field. According to another embodiment of the present invention, the stuffing byte field may be allocated before the payload byte field if the payload byte field exists.
도 53, 도 54의 FIC를 위한 TP의 헤더 영역은 동기(sync) 필드, 타입 인디케이터(type indicator) 필드, 서브 프레임 번호(sub-frame number) 필드, 패킷 순서(FIC packet order) 필드, 패킷 개수(# of FIC packet) 필드, 스터핑 인디케이터(stuffing indicator) 필드를 포함하는 것을 일 실시예로 한다.The header fields of the TP for the FIC in FIGS. 53 and 54 include a sync field, a type indicator field, a sub-frame number field, a FIC packet order field, (# of FIC packet) field, and a stuffing indicator field.
상기 동기 필드(8비트)는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 표시한다.The synchronization field (8 bits) indicates a value (for example, 0x47) defined by ISO / IEC 13818-1.
상기 타입 인디케이터 필드(4비트)는 해당 TP가 RS 프레임의 TP인지, FIC의 TP인지를 구분하는 값을 표시한다. 상기 타입 인디케이터 필드 값이 0x0이면 RS 프 레임의 TP이고, 0xF이면 FIC의 TP인 것을 일 실시예로 한다.The type indicator field (4 bits) indicates a value for discriminating whether the corresponding TP is the TP of the RS frame or the TP of the FIC. If the type indicator field value is 0x0, it is the TP of the RS frame, and if it is 0xF, it is the TP of the FIC.
상기 서브 프레임 번호 필드(8비트)는 해당 TP가 해당 M/H 프레임의 몇 번째 서브 프레임의 FIC 데이터의 TP인지를 표시한다. 이때 하나의 M/H 프레임은 5개의 서브 프레임으로 구성되므로, 상기 서브 프레임 번호 필드 값은 0~4 중 하나의 값을 갖는 것을 일 실시예로 한다. 즉, 상기 서브 프레임 번호 필드 값이 0이면 첫 번째 서브 프레임을 지시하고, 4이면 마지막 서브 프레임을 지시한다. The sub-frame number field (8 bits) indicates the TP of the FIC data of the sub-frame of the corresponding M / H frame. At this time, since one M / H frame is composed of 5 subframes, the subframe number field value has one of 0 to 4 as an embodiment. That is, if the value of the sub-frame number field is 0, the first sub-frame is indicated, and if it is 4, the last sub-frame is indicated.
상기 패킷 순서 필드(4비트)는 해당 TP가 해당 서브 프레임에서 몇 번째 TP인지를 표시한다. 상기 패킷 순서 필드 값이 0이면 첫 번째 TP를 지시하는 것을 일 실시예로 한다. The Packet Order field (4 bits) indicates the number of the TP in the corresponding subframe. And indicates the first TP if the packet order field value is 0.
상기 패킷 개수 필드(4비트)는 해당 서브 프레임으로부터 패킷화되는 TP의 전체 개수를 표시한다. 상기 패킷 개수 필드 값은 상기 서브 프레임에 할당되는 전체 데이터 그룹의 개수(TNOG)에 따라 달라진다. 상기 패킷 개수 필드 값은 전체 개수에서 1을 뺀 값이 표시되는 것을 일 실시예로 한다. The packet count field (4 bits) indicates the total number of TPs packetized from the corresponding subframe. The packet count field value depends on the number TNOG of all data groups allocated to the subframe. The packet number field value is a value obtained by subtracting 1 from the total number.
상기 스터핑 인디케이터 필드(1비트)는 해당 TP에 스터핑 데이터가 있는지를 표시한다. 즉, 해당 TP에 스터핑 바이트 필드가 할당되어 있는지 여부를 표시한다. 상기 스터핑 인디케이터 필드 값이 0이면 스터핑 데이터가 없고, 1이면 스터핑 데이터가 있는 것을 일 실시예로 한다.The stuffing indicator field (1 bit) indicates whether there is stuffing data in the corresponding TP. That is, it indicates whether a stuffing byte field is assigned to the corresponding TP. If the stuffing indicator field value is 0, there is no stuffing data, and if the stuffing indicator field is 1, there is stuffing data.
또한 상기 헤더 영역에는 미래 사용을 위해 3비트의 reserved 필드가 할당된다. Also, a 3-bit reserved field is allocated to the header area for future use.
상기 도 53과 도 54에서 보이고 있는 FIC를 위한 TP의 헤더 영역에 할당되는 필드의 순서, 위치, 의미는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TP의 헤더 영역에 할당되는 필드의 순서, 위치, 의미, 추가 할당되는 필드의 수는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.The order, location, and meaning of the fields allocated to the header fields of the TP for the FIC shown in FIGS. 53 and 54 are merely examples for facilitating understanding of the present invention, and the order of fields allocated to the header fields of the TP , Location, meaning, and the number of additional allocated fields can be easily changed by those skilled in the art, the present invention is not limited to the above embodiment.
도 55는 TNOG가 5일 때, 각 데이터 그룹에 포함되어 수신되는 FIC 데이터를 모아 183 바이트 단위로 나누고, 이를 MPEG-2 TP 포맷으로 패킷화하는 예를 보이고 있다. 즉, 본 발명에 따른 송신 시스템은 FIC 청크를 35 바이트씩 세그먼테이션(segmentation)한 후, 세그먼테이션된 각 35 바이트 앞에 2 바이트의 FIC 세그먼트 헤더를 부가하여 FIC 세그먼트를 구성한다. 그리고 하나의 데이터 그룹의 시그널링 정보 영역에 하나의 FIC 세그먼트를 할당하여 전송한다. 다시 말해, 각 데이터 그룹마다 하나의 FIC 세그먼트가 포함되어 있다. 만일, TNOG가 5라면, 각 서브 프레임마다 5개의 데이터 그룹을 통해 5개의 FIC 세그먼트가 수신된다. 각 데이터 그룹에 포함되어 수신되는 FIC 데이터는 시그널링 복호기(2013)에서 추출되고, 에러 정정 복호된 후 제2 패킷 변환부(2014)로 출력된다. 상기 제2 패킷 변환부(2014)에서 5개의 데이터 그룹으로부터 추출되어 에러 정정 복호된 FIC 세그먼트를 모아 해당 서브 프레임의 FIC 데이터를 구성하고, 상기 서브 프레임 단위로 상기 FIC 데이터를 MPEG-2 TS 포맷의 패킷으로 패킷화한다.FIG. 55 shows an example in which when the TNOG is 5, the FIC data included in each data group is collected and divided into 183 byte units and packetized into the MPEG-2 TP format. That is, the transmission system according to the present invention constructs an FIC segment by segmenting the FIC chunk by 35 bytes, and adding a 2-byte FIC segment header before each segmented 35 bytes. Then, one FIC segment is allocated to the signaling information area of one data group and transmitted. In other words, one FIC segment is included for each data group. If the TNOG is 5, 5 FIC segments are received through 5 data groups in each subframe. The FIC data included in each data group is extracted by the
여기서 TNOG 값이 5라고 가정할 때, 하나의 TP의 페이로드 영역에 최대 183 바이트의 FIC 데이터가 삽입될 수 있으므로, 각 서브 프레임으로부터 2개의 TP가 생성된다(=5x37=185=183+2). 이때 마지막 TP(즉, 2번째 TP)의 페이로드 영역의 페 이로드 바이트 필드에 해당 서브 프레임의 마지막 2 바이트의 FIC 데이터가 삽입되고, 180 바이트의 스터핑 데이터가 스터핑 바이트 필드에 삽입된다.Assuming that the TNOG value is 5, since a maximum of 183 bytes of FIC data can be inserted into the payload area of one TP, two TPs are generated from each subframe (= 5x37 = 185 = 183 + 2) . At this time, the FIC data of the last 2 bytes of the corresponding subframe is inserted into the payload field of the payload field of the last TP (i.e., the second TP), and 180 bytes of stuffing data is inserted into the stuffing byte field.
즉, 도 55는 TNOG가 5일 때, 첫 번째 서브 프레임의 FIC 데이터를 183 바이트 단위로 나누어 MPEG-2 TP 포맷으로 패킷화하는 예를 보이고 있다. That is, FIG. 55 shows an example of packetizing the FIC data of the first subframe into the MPEG-2 TP format when the TNOG is 5, by dividing the FIC data by 183 bytes.
첫 번째 TP의 헤더 영역의 동기 필드 값에 47, 타입 인디케이터 필드 값에 1, 서브 프레임 번호 필드 값에 0, 패킷 순서 필드 값에 0, 패킷 개수 필드 값에 1, 스터핑 인디케이터 필드 값에 0이 표시된다. 그리고 상기 첫 번째 TP의 페이로드 영역의 페이로드 길이 필드 값에 B7이 표시되고, 페이로드 바이트 필드에 첫 번째 서브 프레임의 처음 183 바이트의 FIC 데이터가 삽입된다.47 in the header field of the first TP, 1 in the type indicator field, 0 in the sub-frame number field value, 0 in the packet order field value, 1 in the packet count field value, and 0 in the stuffing indicator field value do. B7 is displayed in the payload field value of the payload field of the first TP, and FIC data of the first 183 bytes of the first subframe is inserted in the payload byte field.
두 번째 TP의 헤더 영역의 동기 필드 값에 47, 타입 인디케이터 필드 값에 1, 서브 프레임 번호 필드 값에 0, 패킷 순서 필드 값에 1, 패킷 개수 필드 값에 1, 스터핑 인디케이터 필드 값에 1이 표시된다. 그리고 상기 두 번째 TP의 페이로드 영역의 페이로드 길이 필드 값에 2가 표시되고, 페이로드 바이트 필드에 첫 번째 서브 프레임의 마지막 2 바이트의 FIC 데이터가 삽입된다. 이어, 스터핑 바이트 필드에 180 바이트의 스터핑 데이터가 삽입된다.47 in the synchronous field value of the header area of the second TP, 1 in the type indicator field value, 0 in the subframe number field value, 1 in the packet order field value, 1 in the packet count field value, and 1 in the stuffing indicator field value do. 2 is displayed in the payload field value of the payload field of the second TP, and FIC data of the last 2 bytes of the first subframe is inserted into the payload byte field. Then, 180 bytes of stuffing data are inserted into the stuffing byte field.
이러한 과정을 하나의 M/H 프레임 내 5개의 서브 프레임에 대해 수행하면, 10(=2x5)개의 MPEG-2 TP 포맷의 패킷이 생성되어 A/V 복호기(2015)로 출력된다.When this process is performed on five subframes in one M / H frame, 10 (= 2x5) MPEG-2 TP format packets are generated and output to the A /
상기 A/V 복호기(2015)는 상기 제1 패킷 변환부(2007)에서 출력되는 RS 프레임의 TP들로부터 RS 프레임을 복원한다. 또한 상기 A/V 복호기(2015)는 상기 제2 패킷 변환부(2014)에서 출력되는 FIC 데이터의 TP들로부터 FIC 청크를 복원한다. The A /
즉, 상기 A/V 복호기(2015)는 RS 프레임의 TP의 헤더 영역의 각 필드 정보를 이용하여 해당 TP가 RS 프레임의 TP인지, 몇 번째 M/H 서비스 데이터 패킷의 TP인지, 해당 M/H 서비스 데이터 패킷에서 몇 번째 TP인지, 해당 TP에 스터핑 데이터가 삽입되어 있는지 등을 알 수 있다. 이러한 정보를 이용하여 각 TP로부터 RS 프레임의 데이터를 모으면 RS 프레임을 복원할 수 있다. 또한 상기 A/V 복호기(2015)는 FIC의 TP의 헤더 영역의 각 필드 정보를 이용하여 해당 TP가 FIC의 TP인지, 몇 번째 서브 프레임의 TP인지, 해당 서브 프레임에서 몇 번째 TP인지, 해당 TP에 스터핑 데이터가 삽입되어 있는지 등을 알 수 있다. 이러한 정보를 이용하여 각 TP로부터 FIC 데이터를 모으면 FIC 청크를 복원할 수 있다.That is, the A /
그리고 상기 FIC 청크에 포함된 데이터를 이용하여 상기 RS 프레임으로부터 유저가 선택한 오디오 및/또는 비디오 스트림을 구분한 후, 각각의 복호 알고리즘을 통해 복호한다. 일 예로, 오디오 복호 알고리즘은 AC-3 복호 알고리즘, MPEG 2 audio 복호 알고리즘, MPEG 4 audio 복호 알고리즘, AAC 복호 알고리즘, AAC+ 복호 알고리즘, HE AAC 복호 알고리즘, AAC SBR 복호 알고리즘, MPEG surround 복호 알고리즘, BSAC 복호 알고리즘 중 적어도 하나를 적용하고, 비디오 복호 알고리즘은 MPEG 2 video 복호 알고리즘, MPEG 4 video 복호 알고리즘, H.264 복호 알고리즘, SVC 복호 알고리즘, VC-1 복호 알고리즘 중 적어도 하나를 적용할 수 있다. Then, the audio and / or video streams selected by the user are separated from the RS frame using the data included in the FIC chunk, and decoded through the respective decoding algorithms. For example, the audio decoding algorithm may be an AC-3 decoding algorithm, an
지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, .
도 1은 본 발명에 따른 모바일 서비스 데이터의 송신과 수신을 위한 M/H 프레임 구조의 일 예를 보인 도면 1 is a diagram showing an example of an M / H frame structure for transmission and reception of mobile service data according to the present invention;
도 2는 일반적인 VSB 프레임 구조의 일 예를 보인 도면 2 is a diagram showing an example of a general VSB frame structure;
도 3은 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 공간 영역에서 보인 본 발명의 도면 FIG. 3 is a diagram illustrating a mapping example of a first four-slot position of a subframe for one VSB frame in the spatial domain
도 4는 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 시간 영역에서 보인 본 발명의 도면 FIG. 4 is a diagram showing a mapping example of the first four slot positions of a subframe for one VSB frame in the time domain; FIG.
도 5는 본 발명에 따른 데이터 인터리빙 후의 데이터 그룹의 구조에 대한 일 실시예를 보인 도면 5 is a diagram showing an embodiment of a structure of a data group after data interleaving according to the present invention.
도 6은 본 발명에 따른 M/H 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 순서의 일 예를 보인 도면 6 is a diagram showing an example of a data grouping order allocated to one subframe among 5 subframes constituting an M / H frame according to the present invention.
도 7은 본 발명에 따른 하나의 M/H 프레임에 단일 퍼레이드를 할당할 때의 일 예를 보인 도면 7 is a diagram showing an example of assigning a single parade to one M / H frame according to the present invention.
도 8은 본 발명에 따른 하나의 M/H 프레임에 세개의 퍼레이드를 할당할 때의 일 예를 보인 도면 8 is a diagram showing an example of allocating three parades to one M / H frame according to the present invention.
도 9는 도 8의 3개의 퍼레이드의 할당 과정을 5개의 서브 프레임으로 확장한 예를 보인 도면 FIG. 9 is a diagram showing an example in which the allocation process of three parades in FIG. 8 is extended to five subframes
도 10은 본 발명의 실시예에 따른 데이터 전송 구조를 도시한 도면으로, 데이터 그룹 내에 시그널링 데이터가 포함되어 전송되는 모습을 도시한 도면 FIG. 10 is a diagram illustrating a data transmission structure according to an embodiment of the present invention, in which signaling data is included in a data group and transmitted
도 11은 본 발명에 따른 FIC 청크 헤더의 신택스 구조에 대한 일 실시예를 보인 도면11 is a diagram showing an embodiment of a syntax structure of an FIC chunk header according to the present invention.
도 12는 본 발명에 따른 FIC 청크 페이로드의 신택스 구조에 대한 일 실시예를 보인 도면12 is a diagram showing an embodiment of a syntax structure of an FIC chunk payload according to the present invention.
도 13은 본 발명에 따른 FIC 세그먼트 헤더의 신택스 구조에 대한 일 실시예를 보인 도면13 is a diagram showing an embodiment of a syntax structure of an FIC segment header according to the present invention.
도 14는 본 발명의 일 실시예에 따른 송신 시스템의 개략적인 구성 블록도 14 is a schematic block diagram of a transmission system according to an embodiment of the present invention
도 15는 본 발명에 따른 RS 프레임의 일 실시예를 보인 도면 15 is a view showing an embodiment of an RS frame according to the present invention;
도 16은 본 발명에 따른 M/H 서비스 데이터 패킷 내 M/H 헤더 구조의 일 예를 보인 도면 16 is a diagram showing an example of an M / H header structure in an M / H service data packet according to the present invention.
도 17의 (a),(b)는 본 발명에 따른 RS 프레임의 다른 실시예를 보인 도면 17 (a) and 17 (b) are views showing another embodiment of the RS frame according to the present invention.
도 18은 도 14의 서비스 다중화기의 일 실시예를 보인 구성 블록도 FIG. 18 is a block diagram showing an embodiment of the service multiplexer of FIG. 14
도 19는 도 14의 송신기의 일 실시예를 보인 구성 블록도 Fig. 19 is a block diagram showing an embodiment of the transmitter of Fig. 14
도 20은 도 19의 전처리기의 일 실시예를 보인 구성 블록도 FIG. 20 is a block diagram showing an embodiment of the preprocessor of FIG. 19
도 21은 도 20의 M/H 프레임 부호기의 일 실시예를 보인 구성 블록도 FIG. 21 is a block diagram showing an embodiment of the M / H frame encoder of FIG. 20
도 22는 도 21의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도 22 is a detailed block diagram illustrating an embodiment of the RS frame encoder of FIG.
도 23의 (a),(b)는 본 발명에 따른 RS 프레임 모드 값에 따라 하나 또는 두개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션이 각 데이터 그룹에 할당되는 과정을 보인 도면 23 (a) and 23 (b) are diagrams showing a process in which one or two RS frames are divided into a plurality of potions according to the RS frame mode value according to the present invention, and each potion is assigned to each data group
도 24의 (a) 내지 (c)는 본 발명의 일 실시예에 따른 에러 정정 부호화 및 에러 검출 부호화 과정을 보인 도면 24A to 24C illustrate an error correction coding and error detection coding process according to an embodiment of the present invention.
도 25의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면 25 (a) to 25 (d) are diagrams showing a low-shuffling process in units of superframes according to an embodiment of the present invention
도 26의 (a),(b)는 하나의 퍼레이드가 두개의 RS 프레임으로 구성되는 예를 보인 도면 26 (a) and 26 (b) show an example in which one parade is composed of two RS frames
도 27의 (a),(b)는 본 발명에 따른 데이터 그룹을 구성하기 위해 RS 프레임을 분할하는 과정의 일 실시예를 보인 도면 27 (a) and 27 (b) are diagrams showing an embodiment of a process of dividing an RS frame to form a data group according to the present invention
도 28의 본 발명에 따른 블록 처리기의 일 실시예를 보인 구성 블록도 28 is a block diagram showing an embodiment of a block processor according to the present invention
도 29는 본 발명에 따른 블록 처리기 내 콘볼루션 부호기의 일 실시예를 보인 도면 29 is a view showing an embodiment of a convolutional encoder in a block processor according to the present invention;
도 30은 본 발명에 따른 블록 처리기의 심볼 인터리빙 예를 보인 도면 30 is a diagram showing an example of symbol interleaving of a block processor according to the present invention;
도 31은 도 20의 그룹 포맷터의 일 실시예를 보인 구성 블록도 FIG. 31 is a block diagram showing an embodiment of the group formatter of FIG. 20
도 32는 본 발명에 따른 트렐리스 부호기의 일 실시예를 보인 구성 블록도 32 is a block diagram showing an embodiment of a trellis encoder according to the present invention;
도 33은 본 발명에 따른 데이터 그룹 내 일부 영역에 시그널링 정보 영역을 할당하는 예를 보인 도면 33 is a diagram showing an example of allocating a signaling information area to a partial area in a data group according to the present invention
도 34는 도 20의 시그널링 부호기의 일 실시예를 보인 구성 블록도 FIG. 34 is a block diagram showing an embodiment of the signaling encoder of FIG. 20
도 35는 본 발명에 따른 TPC 데이터의 신택스 구조에 대한 일 실시예를 보인 도면 35 is a diagram showing an embodiment of a syntax structure of TPC data according to the present invention.
도 36은 본 발명에 따른 TPC 데이터와 FIC 데이터의 전송 시나리오의 일 예를 보인 도면 36 is a diagram showing an example of a transmission scenario of TPC data and FIC data according to the present invention;
도 37은 본 발명에 따른 퍼레이드 단위로 전원을 제어하기 위한 예를 보인 도면 37 is a diagram showing an example for controlling power supply in units of a parade according to the present invention;
도 38은 본 발명에 따른 트렐리스 부호화 전의 데이터 그룹 내 트레이닝 시퀀스의 배치 예를 보인 도면 38 is a diagram showing an example of the arrangement of a training sequence in a data group before Trellis coding according to the present invention;
도 39는 본 발명에 따른 트렐리스 부호화 후의 데이터 그룹 내 트레이닝 시퀀스의 배치 예를 보인 도면 FIG. 39 is a diagram showing an example of the arrangement of a training sequence in a data group after Trellis coding according to the present invention; FIG.
도 40은 본 발명에 따른 수신 시스템의 일 실시예를 보인 구성 블록도 40 is a block diagram showing an embodiment of a receiving system according to the present invention
도 41은 도 40의 오퍼레이션 제어기의 일 실시예를 보인 상세 구성 블록도FIG. 41 is a detailed block diagram showing an embodiment of the operation controller of FIG. 40
도 42은 본 발명에 따른 선형 보간의 일 예를 보인 도면42 is a diagram showing an example of the linear interpolation according to the present invention;
도 43은 본 발명에 따른 선형 외삽의 일 예를 보인 도면43 is a diagram showing an example of linear extrapolation according to the present invention;
도 44는 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도44 is a block diagram showing an embodiment of a channel equalizer according to the present invention;
도 45는 본 발명에 따른 블록 복호기의 일 실시예를 보인 상세 블록도45 is a detailed block diagram illustrating an embodiment of a block decoder according to the present invention.
도 46의 (a),(b)는 복수개의 포션들을 모아 하나나 두개의 RS 프레임을 구성하는 과정의 일 예를 보인 도면46 (a) and 46 (b) are views showing an example of a process of collecting a plurality of potions and constructing one or two RS frames
도 47, 도 48은 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 도면47 and 48 are diagrams showing an embodiment of an error correction decoding process according to the present invention.
도 49는 본 발명에 따른 RS 프레임을 위한 TP 구조의 일 예를 보인 도면49 is a diagram showing an example of a TP structure for an RS frame according to the present invention;
도 50은 본 발명에 따른 RS 프레임을 위한 TP 구조의 다른 예를 보인 도면50 is a diagram showing another example of a TP structure for an RS frame according to the present invention;
도 51의 (a),(b)는 본 발명에 따른 RS 프레임을 MPEG-2 TP 포맷의 패킷으로 패킷화한 예를 보인 도면51 (a) and 51 (b) are diagrams showing an example in which an RS frame according to the present invention is packetized into packets of the MPEG-2 TP format
도 52는 본 발명에 따른 RS 프레임을 MPEG-2 TP 포맷의 패킷으로 패킷화하는 방법의 일 실시예를 보인 흐름도52 is a flowchart illustrating an embodiment of a method of packetizing RS frames according to the present invention into packets in MPEG-2 TP format
도 53은 본 발명에 따른 FIC를 위한 TP 구조의 일 예를 보인 도면53 is a view showing an example of a TP structure for FIC according to the present invention;
도 54는 본 발명에 따른 FIC를 위한 TP 구조의 다른 예를 보인 도면54 is a view showing another example of the TP structure for FIC according to the present invention;
도 55는 본 발명에 따른 FIC를 MPEG-2 TP 포맷의 패킷으로 패킷화한 예를 보인 도면55 is a diagram showing an example in which the FIC according to the present invention is packetized into packets of the MPEG-2 TP format
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090095107A KR101632212B1 (en) | 2009-10-07 | 2009-10-07 | Receiving system and method of processing broadcast signal in the receiving system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090095107A KR101632212B1 (en) | 2009-10-07 | 2009-10-07 | Receiving system and method of processing broadcast signal in the receiving system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160073807A Division KR101698860B1 (en) | 2016-06-14 | 2016-06-14 | Receiving system and method of processing broadcast signal in the receiving system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110037602A KR20110037602A (en) | 2011-04-13 |
KR101632212B1 true KR101632212B1 (en) | 2016-07-01 |
Family
ID=44045058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090095107A KR101632212B1 (en) | 2009-10-07 | 2009-10-07 | Receiving system and method of processing broadcast signal in the receiving system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101632212B1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005167B2 (en) * | 2007-08-24 | 2011-08-23 | Lg Electronics Inc. | Digital broadcasting system and method of processing data in digital broadcasting system |
KR101435841B1 (en) * | 2007-08-24 | 2014-09-01 | 엘지전자 주식회사 | Digital broadcasting system and method of processing data in digital broadcasting system |
KR101498063B1 (en) * | 2008-03-04 | 2015-03-03 | 엘지전자 주식회사 | Digital broadcasting system and method of processing data in the digital broadcasting system |
KR101498062B1 (en) * | 2008-03-07 | 2015-03-04 | 엘지전자 주식회사 | Digital broadcasting system and method of processing data in the digital broadcasting system |
-
2009
- 2009-10-07 KR KR1020090095107A patent/KR101632212B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20110037602A (en) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101498063B1 (en) | Digital broadcasting system and method of processing data in the digital broadcasting system | |
KR101405967B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101405966B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101405970B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101405968B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101486372B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
CA2751711C (en) | Transmitting / receiving systems and broadcasting signal processing method | |
KR101405969B1 (en) | Digital broadcasting system and method of processing data in digital broadcasting system | |
KR101537631B1 (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 | |
KR101725248B1 (en) | Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system | |
KR101733505B1 (en) | Receiving system and method of processing broadcast signal in the receiving system | |
KR101698860B1 (en) | Receiving system and method of processing broadcast signal in the receiving system | |
KR101617266B1 (en) | Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system | |
KR101498062B1 (en) | Digital broadcasting system and method of processing data in the digital broadcasting system | |
KR101632212B1 (en) | Receiving system and method of processing broadcast signal in the receiving system | |
KR101709513B1 (en) | Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system | |
KR101520714B1 (en) | Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system | |
CA2888511C (en) | Transmitting / receiving systems and broadcasting signal processing method | |
KR20110072624A (en) | Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system | |
KR20110069926A (en) | Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190514 Year of fee payment: 4 |