KR20090014231A - 디지털 방송 시스템 및 데이터 처리 방법 - Google Patents

디지털 방송 시스템 및 데이터 처리 방법 Download PDF

Info

Publication number
KR20090014231A
KR20090014231A KR1020090002363A KR20090002363A KR20090014231A KR 20090014231 A KR20090014231 A KR 20090014231A KR 1020090002363 A KR1020090002363 A KR 1020090002363A KR 20090002363 A KR20090002363 A KR 20090002363A KR 20090014231 A KR20090014231 A KR 20090014231A
Authority
KR
South Korea
Prior art keywords
data
symbol
service data
mobile service
decoding
Prior art date
Application number
KR1020090002363A
Other languages
English (en)
Other versions
KR100914714B1 (ko
Inventor
송원규
최인환
곽국연
김병길
김진우
이형곤
김종문
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020090002363A priority Critical patent/KR100914714B1/ko
Publication of KR20090014231A publication Critical patent/KR20090014231A/ko
Application granted granted Critical
Publication of KR100914714B1 publication Critical patent/KR100914714B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/10Means associated with receiver for limiting or suppressing noise or interference
    • H04B1/109Means associated with receiver for limiting or suppressing noise or interference by improving strong signal performance of the receiver when strong unwanted signals are present at the receiver input
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 모바일 서비스 데이터를 송신할 때 에러에 강한 디지털 전송 시스템 및 데이터 처리 방법에 관한 것이다. 이를 위해 본 발명은 모바일 서비스 데이터에 대해 추가의 부호화를 수행하여 전송한다. 이렇게 함으로써, 상기 모바일 서비스 데이터에 강건성을 부여하면서 빠른 채널 변화에 강력하게 대응할 수 있게 한다.
Figure P1020090002363
모바일, 블록, 부호, 복호

Description

디지털 방송 시스템 및 데이터 처리 방법{Digital broadcasting system and method of processing data in digital broadcasting system}
본 발명은 디지털 방송을 송신하고 수신하기 위한 디지털 방송 시스템 및 데이터 처리 방법에 관한 것이다.
디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히 휴대용이나 이동형 방송 수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다.
따라서 본 발명은 채널 변화 및 노이즈에 강한 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
본 발명은 전송 시스템에서는 모바일 서비스 데이터에 대해 블록 부호화를 수행하여 수신 시스템으로 전송하고, 수신 시스템에서는 수신되는 모바일 서비스 데이터에 대해 블록 복호를 수행함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
본 발명은 송/수신측의 약속에 의해 알고 있는 기지 데이터를 데이터 영역의 소정 영역에 삽입하여 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전송 시스템은 서비스 다중화기와 송신기를 포함할 수 있다. 상기 서비스 다중화기는 모바일 서비스 데이터와 메인 서비스 데이터를 기 설정된 데이터 율로 다중화하여 송신기로 전송할 수 있다. 상기 송신기는 서비스 다중화기에서 전송되는 모바일 서비스 데이터에 대해 추가의 부호화를 수행하고, 부호화가 수행된 다수개의 모바일 서비스 데이터 패킷을 모아 데이터 그룹을 형성할 수 있다. 상기 송신기는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷과 메인 서비스 데이터를 포함하는 메인 서비스 데이터 패킷을 패킷 단위로 다중화하여 수신 시스템으로 전송할 수 있다. 이때 상기 송신기는 데이터 그룹과 메인 서비스 데이터 패킷을 버스트 구조로 다중화할 수 있으며, 상기 버스트는 데이터 그룹이 포함되는 버스트 온 구간과 데이터 그룹이 포함되지 않는 버스트 오프 구간으로 구분할 수 있다.
상기 데이터 그룹은 메인 서비스 데이터의 간섭 정도에 따라 다수개의 영역으로 구분할 수 있다. 상기 메인 서비스 데이터의 간섭이 없는 영역에는 주기적으 로 긴 기지 데이터 열을 삽입할 수 있다.
본 발명의 일 실시예에 따른 수신 시스템은 상기 기지 데이터 열을 복조 및 채널 등화에 이용할 수 있다.
상기 수신 시스템은 모바일 서비스 데이터만을 수신하는 경우, 버스트 온 구간에서만 전원을 온하여 모바일 서비스 데이터를 처리할 수 있다.
본 발명의 일 실시예에 따른 전송 시스템은, 제1 부호화부, 제2 부호화부, 및 제3 부호화부를 포함할 수 있다. 상기 제1 부호화부는 입력되는 모바일 서비스 데이터 바이트를 복수개 모아 RS 프레임을 형성하고, 형성된 RS 프레임 단위로 에러 정정 부호화를 수행한다. 상기 제2 부호화부는 상기 제1 부호화되어 출력되는 데이터에 대해 G/H(여기서 G<H) 부호율로 부호화를 수행한다. 상기 제3 부호화부는 상기 제2 부호화되어 출력되는 데이터에 대하여 트렐리스 부호화를 수행한다.
본 발명의 일 실시예에 따른 전송 시스템의 데이터 처리 방법은, 입력되는 모바일 서비스 데이터 바이트를 복수개 모아 RS 프레임을 형성하고, 형성된 RS 프레임 단위로 에러 정정 부호화를 수행하는 제1 부호화 단계; 상기 에러 정정 부호화되어 출력되는 데이터에 대해 G/H(여기서 G<H) 부호율로 부호화를 수행하는 제2 부호화 단계; 및 상기 G/H 부호화되어 출력되는 데이터에 대하여 트렐리스 부호화를 수행하는 제3 부호화 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 수신 시스템은 입력 버퍼, 내부 복호부, 외부 복호부, 제어기, 및 출력 버퍼를 포함할 수 있다. 상기 입력 버퍼는 입력되는 모바일 서비스 데이터를 저장하고, 저장된 데이터를 터보 복호를 위한 블록 크기로 반 복 출력한다. 상기 내보 복호부는 터보 복호되어 피드백되는 데이터와 상기 입력 버퍼에서 터보 복호를 위한 블록 크기로 출력되는 데이터를 매칭하여 트렐리스 복호를 수행한다. 상기 외부 복호부는 상기 트렐리스 복호된 데이터에 대해 심볼 복호를 수행하여 상기 내부 복호부로 피드백한다. 상기 제어기는 기 설정된 터보 복호 반복 횟수에 따라 상기 입력 버퍼의 저장과 출력, 내부 복호부와 외부 복호부의 복호를 제어한다. 상기 출력 버퍼는 상기 제어기의 제어에 따라 상기 외부 복호부에서 심볼 복호된 모바일 서비스 데이터를 저장한 후 출력한다.
상기 수신 시스템은 상기 내부 복호부에서 트렐리스 복호되어 출력되는 소프트 판정값들 중 모바일 서비스 데이터의 소프트 판정값을 추출하는 외부 블록 추출기를 더 포함할 수 있다.
상기 수신 시스템은 상기 트렐리스 복호되어 출력되는 모바일 서비스 데이터의 소프트 판정값을 심볼 단위로 블록 디인터리빙하여 상기 외부 복호부로 출력하는 심볼 디인터리버; 및 상기 외부 복호부에서 심볼 복호되어 출력되는 모바일 서비스 데이터의 소프트 판정값을 심볼 단위로 블록 인터리빙하여 출력하는 내부 복호부로 출력하는 심볼 인터리버를 더 포함할 수 있다.
상기 수신 시스템은 상기 심볼 디인터리버에서 출력되는 디인터리빙되어 출력되는 데이터를 상기 외부 복호부의 입력 형식에 맞게 변환하여 외부 복호부로 출력하는 외부 심볼 매퍼; 및 상기 외부 복호부에서 심볼 복호되어 출력되는 데이터를 상기 내부 복호부의 입력 형식에 맞게 변환하여 상기 심볼 인터리버로 출력하는 내부 심볼 매퍼를 더 포함할 수 있다.
상기 수신 시스템은 상기 입력 버퍼에서 내부 복호부로 출력되는 데이터가 모바일 서비스 데이터가 아니면 상기 심볼 인터리버의 출력 데이터 대신 널 데이터를 상기 내부 복호부로 출력하는 피드백 포맷터를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 수신 시스템의 데이터 처리 방법은, 입력되는 모바일 서비스 데이터를 저장하고, 저장된 데이터를 터보 복호를 위한 블록 크기로 반복 출력하는 저장 단계; 터보 복호되어 피드백되는 데이터와 상기 저장 단계에서 터보 복호를 위한 블록 크기로 출력되는 데이터를 매칭하여 트렐리스 복호를 수행하는 제1 복호 단계; 상기 트렐리스 복호된 데이터에 대해 심볼 복호를 수행하여 상기 내부 복호단계로 피드백하는 제2 복호 단계; 및 기 설정된 터보 복호 반복 횟수에 따라 상기 제2 복호 단계에서 심볼 복호된 모바일 서비스 데이터를 저장한 후 출력하는 단계를 포함할 수 있다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 디지털 방송 시스템 및 데이터 처리 방법은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성이 가능한 이점이 있다.
본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러없이 수신할 수 있는 이점이 있다.
본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로 써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다.
본 발명은 모바일 서비스 데이터를 메인 서비스 데이터와 다중화할 때 버스트 구조로 다중화함으로써, 수신 시스템의 전력을 절감할 수 있다.
본 발명은 수신측에서 모바일 서비스 데이터에 대해 회귀적 터보 복호를 수행함으로써, 수신 시스템의 복호 성능을 더욱 높일 수 있다.
이러한 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어의 정의
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
본 발명에서 사용되는 용어 중 메인 서비스 데이터는 고정형 수신 시스템에서 수신할 수 있는 데이터로서, 오디오/비디오(A/V) 데이터를 포함할 수 있다. 즉, 상기 메인 서비스 데이터에는 HD(High Definition) 또는 SD(Standard Definition)급의 A/V 데이터가 포함될 수 있으며, 데이터 방송을 위한 각종 데이터가 포함될 수도 있다. 그리고 기지(Known) 데이터는 송/수신측의 약속에 의해 미리 알고 있는 데이터이다.
또한 본 발명에서 모바일(mobile) 서비스 데이터는 모바일(Mobile) 서비스 데이터, 퍼데스트리언(Pedestrian) 서비스 데이터, 핸드헬드(Handheld) 서비스 데이터 중 적어도 하나를 포함하며, 설명의 편의를 위해 본 발명에서는 모바일 서비스 데이터라 한다. 이때 상기 모바일 서비스 데이터는 M/P/H(Mobile/Pedestrian/Handheld) 서비스 데이터뿐만 아니라, 이동이나 휴대를 의미하는 서비스 데이터는 어느 것이나 포함될 수 있으며, 따라서 상기 모바일 서비스 데이터는 상기 M/P/H 서비스 데이터로 제한되지 않을 것이다.
상기와 같이 정의된 모바일 서비스 데이터는 프로그램 실행 파일, 주식 정보 등과 같이 정보를 갖는 데이터일 수도 있고, 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) 데이터가 서비스 될 수도 있다.
또한 상기 모바일 서비스 데이터를 이용한 데이터 서비스로는 날씨 서비스, 교통 서비스, 증권 서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임 서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공 서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공 서비스, 상품 정보 및 이에 대한 주문 등이 가능하도록 하는 서비스별, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으며, 본 발명은 이에 한정하지는 않는다.
본 발명의 전송 시스템은 기존 수신 시스템에서 메인 서비스 데이터를 수신하는데 전혀 영향을 주지 않으면서(backward compatible), 동일한 물리적 채널에 메인 서비스 데이터와 모바일 서비스 데이터를 다중화하여 전송할 수 있도록 한다.
본 발명의 전송 시스템은 모바일 서비스 데이터에 대해 추가적인 부호화를 수행하고, 송/수신측 모두가 미리 알고 있는 데이터 즉, 기지(known) 데이터를 삽입하여 전송할 수 있도록 한다.
이러한 본 발명에 따른 전송 시스템을 사용하면 수신 시스템에서는 모바일 서비스 데이터의 이동 수신이 가능하며, 또한 채널에서 발생하는 각종 왜곡과 노이즈에도 모바일 서비스 데이터의 안정적인 수신이 가능하다.
전송 시스템의 개략적인 설명
도 1은 이러한 본 발명을 적용하기 위한 전송 시스템의 일 실시예를 보인 개략도로서, 서비스 다중화기(Service Multiplexer)(100)와 송신기(Transmitter)(200)를 포함할 수 있다.
여기서 상기 서비스 다중화기(100)는 각 방송국의 스튜디오에 위치하고, 송신기(200)는 스튜디오로부터 거리가 떨어진 지역(site)에 위치한다. 이때 상기 송신기(200)는 복수개의 서로 다른 지역에 위치할 수도 있다. 그리고 일 실시예로 상기 복수개의 송신기는 동일한 주파수를 공유할 수 있으며, 이 경우 복수개의 송신기는 모두 동일한 신호를 송신한다. 그러면 수신 시스템에서는 채널 등화기가 반사파로 인한 신호 왜곡을 보상하여 원 신호를 복원할 수가 있다. 다른 실시예로, 상기 복수개의 송신기는 동일 채널에 대해 서로 다른 주파수를 가질 수도 있다.
상기 서비스 다중화기와 원격지에 위치한 각 송신기간의 데이터 통신은 여러 가지 방법이 이용될 수 있으며, 일 실시예로 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가 된다.
이때 상기 서비스 다중화기(100)는 적어도 한 종류의 모바일 서비스 데이터와 각 모바일 서비스를 위한 PSI(Program Specific Information)/PSIP(Program and System Information Protocol) 테이블 데이터를 입력받아 각각 트랜스포트 스트림(TS) 패킷으로 인캡슐레이션(encapsulation)한다. 또한 상기 서비스 다중화기(100)는 적어도 한 종류의 메인 서비스 데이터와 각 메인 서비스를 위한 PSI/PSIP 테이블 데이터를 입력받아 TS 패킷으로 인캡슐레이션(encapsulation)한다. 이어 상기 TS 패킷들을 기 설정된 다중화 규칙에 따라 다중화하여 송신기(200)로 출력한다.
서비스 다중화기
도 2는 상기 서비스 다중화기의 일 실시예를 보인 상세 블록도로서, 상기 서비스 다중화기의 전반적인 동작을 제어하는 제어기(Controller)(110), 메인 서비스를 위한 PSI/PSIP 발생기(120), 모바일 서비스를 위한 PSI/PSIP 발생기(130), 널 패킷 발생기(140), 모바일 서비스 다중화기(150), 및 트랜스포트 다중화기(160)를 포함할 수 있다.
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161), 및 트랜스포트 스트림(Transport Stream ; TS) 패킷 다중화기(162)를 포함할 수 있다.
도 2를 보면, 적어도 한 종류의 압축 부호화된 메인 서비스 데이터와 상기 메인 서비스를 위해 PSI/PSIP 발생기(120)에서 발생된 PSI/PSIP 테이블 데이터는 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161)로 입력된다. 상기 메인 서비스 다중화기(161)는 입력되는 메인 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 메인 서비스 다중화기(161)에서 출력되는 데이터 패킷을 설명의 편의를 위해 메인 서비스 데이터 패킷이라 하기로 한다.
또한 적어도 한 종류의 압축 부호화된 모바일 서비스 데이터와 상기 모바일 서비스를 위해 PSI/PSIP 발생기(130)에서 발생된 PSI/PSIP 테이블 데이터는 모바일 서비스 다중화기(150)로 입력된다.
상기 모바일 서비스 다중화기(150)는 입력되는 모바일 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들을 다중화하여 TS 패킷 다중화기(162)로 출력한다. 상기 모바일 서비스 다중화기(150)에서 출력되는 데이터 패킷을 설명의 편의를 위해 모바일 서비스 데이터 패킷이라 하기로 한다.
이때, 상기 송신기(200)에서 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분하여 처리하기 위해서는 식별 정보가 필요하다. 상기 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있으며, 해당 데이터 패킷 내 기 설정된 위치의 값을 변형시켜 이용할 수도 있다.
본 발명에서는 일 실시예로, 메인 서비스 데이터 패킷과 모바일 서비스 데이 터 패킷에 각기 서로 다른 PID(Packet Identifier)를 할당하여 구분할 수 있다.
다른 실시예로, 모바일 서비스 데이터 패킷의 헤더 내 동기 바이트를 변형함에 의해, 해당 서비스 데이터 패킷의 동기 바이트 값을 이용하여 구분할 수도 있다. 예를 들어, 메인 서비스 데이터 패킷의 동기 바이트는 ISO/IEC13818-1에서 규정한 값(예를 들어, 0x47)을 변형없이 그대로 출력하고, 모바일 서비스 데이터 패킷의 동기 바이트는 변형시켜 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다. 반대로 메인 서비스 데이터 패킷의 동기 바이트를 변형하고, 모바일 서비스 데이터 패킷의 동기 바이트를 변형없이 그대로 출력함에 의해 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있다.
상기 동기 바이트를 변형하는 방법은 여러 가지가 있을 수 있다. 예를 들어, 동기 바이트를 비트별로 반전시키거나, 일부 비트만을 반전시킬 수도 있다.
이와 같이 상기 메인 서비스 데이터 패킷과 모바일 서비스 데이터 패킷을 구분할 수 있는 식별 정보는 어느 것이나 가능하므로, 본 발명은 상기된 실시예들로 한정되지 않을 것이다.
한편 상기 트랜스포트 다중화기(160)는 기존 디지털 방송 시스템에서 사용하는 트랜스포트 다중화기를 그대로 사용할 수 있다. 즉, 모바일 서비스 데이터를 메인 서비스 데이터와 다중화하여 전송하기 위하여 메인 서비스의 데이터 율을 (19.39-K) Mbps의 데이터 율로 제한하고, 나머지 데이터 율에 해당하는 K Mbps를 모바일 서비스에 할당하는 것이다. 이렇게 하면, 이미 사용되고 있는 트랜스포트 다중화기 를 변경하지 않고 그대로 사용할 수 있다.
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비스 데이터 패킷을 다중화하여 송신기(200)로 전송한다.
그런데 상기 모바일 서비스 다중화기(150)의 출력 데이터 율이 K Mbps가 안되는 경우가 발생할 수 있다. 이 경우 상기 모바일 서비스 다중화기(150)는 출력 데이터 율이 K Mbps가 되도록 널 패킷 발생기(140)에서 발생된 널 데이터 패킷을 다중화하여 출력한다. 즉, 상기 널 패킷 발생기(140)는 모바일 서비스 다중화기(150)의 출력 데이터 율을 일정하게 맞추기 위하여 널 데이터 패킷을 발생하여 모바일 서비스 다중화기(150)로 출력한다.
예를 들어, 상기 서비스 다중화기(100)에서 19.39 Mbps 중 K Mbps를 모바일 서비스 데이터에 할당하고, 그 나머지인 (19.39-K) Mbps를 메인 서비스 데이터에 할당한다고 하면, 실제로 상기 서비스 다중화기(100)에서 다중화되는 모바일 서비스 데이터의 데이터 율은 K Mbps보다 작아진다. 이는 상기 모바일 서비스 데이터의 경우, 송신기의 전 처리기(pre-processor)에서 추가의 부호화를 수행하여 데이터 량이 늘리기 때문이다. 이로 인해 서비스 다중화기(100)에서 전송할 수 있는 모바일 서비스 데이터의 데이터 율(data rate)이 K Mbps보다 작아지게 된다.
일 예로, 상기 송신기의 전처리기에서는 모바일 서비스 데이터에 대해 적어도 1/2 부호율 이하의 부호화를 수행하므로, 전처리기의 출력 데이터의 양은 입력 데이터의 양보다 2배 이상 많게 된다. 따라서 서비스 다중화기(100)에서 다중화되는 메인 서비스 데이터의 데이터 율과 모바일 서비스 데이터의 데이터 율의 합은 항상 19.39 Mbps 보다 작거나 같게 된다.
따라서 상기 서비스 다중화기(100)에서 출력되는 최종 출력 데이터 율을 일정한 데이터 율(예를 들어, 19.39 Mbps)로 맞추기 위해, 상기 널 패킷 발생기(140)에서는 모자라는 데이터 율만큼 널 데이터 패킷을 생성하여 모바일 서비스 다중화기(150)로 출력한다.
그러면 상기 모바일 서비스 다중화기(150)에서는 입력되는 모바일 서비스 데이터와 PSI/PSIP 테이블 데이터를 각각 MPEG-2 TS 패킷 형태로 인캡슐레이션(encapsulation)하고, 이러한 TS 패킷들과 널 데이터 패킷을 다중화하여 TS 패킷 다중화기(162)로 출력한다.
상기 TS 패킷 다중화기(162)는 메인 서비스 다중화기(161)에서 출력되는 메인 서비스 데이터 패킷과 모바일 서비스 다중화기(150)에서 출력되는 모바일 서비스 데이터 패킷을 다중화하여 19.39 Mbps 데이터 율로 송신기(200)로 전송한다.
본 발명에서는 상기 모바일 서비스 다중화기(150)에서 널 데이터 패킷을 입력받는 것을 일 실시예로 한다. 이는 일 실시예일 뿐이며, 다른 실시예로 상기 TS 패킷 다중화기(162)에서 널 데이터 패킷을 입력받아 최종 데이터 율을 일정한 데이터 율로 맞출 수도 있다. 상기 널 데이터 패킷의 출력 경로 및 다중화 규칙은 제어부(110)의 제어에 의해 이루어진다. 상기 제어부(110)는 상기 모바일 서비스 다중화기(150), 트랜스포트 다중화기(160)의 메인 서비스 다중화기(161), TS 패킷 다중화기(162)에서의 다중화 및 널 패킷 발생기(140)에서의 널 데이터 패킷의 발생을 제어한다.
이때 상기 송신기(200)에서는 상기 서비스 다중화기(100)에서 전송하는 널 데이터 패킷을 수신 시스템으로 전송하지 않고 버린다.
그리고 상기 송신기(200)에서 상기 널 데이터 패킷을 전송하지 않고 버리기 위해서는 상기 널 데이터 패킷을 구분할 수 있는 식별 정보가 필요하다. 상기 널 데이터 패킷을 구분하기 위한 식별 정보는 송/수신측의 약속에 의해 미리 정해진 값을 이용할 수도 있고, 별도의 데이터로 구성할 수도 있다. 예를 들어, 상기 널 데이터 패킷의 헤더 내 동기 바이트 값을 변형시켜 식별 정보로 이용할 수도 있고, transport_error_indicator 플래그(flag)를 식별 정보로 이용할 수도 있다.
본 발명에서는 널 데이터 패킷 내 헤더의 transport_error_indicator 플래그를 널 데이터 패킷을 구분할 수 있는 식별 정보로 이용하는 것을 일 실시예로 설명한다. 이 경우, 상기 널 데이터 패킷의 transport_error_indicator 플래그는 1로 셋팅하고, 상기 널 데이터 패킷 이외의 모든 데이터 패킷들의 transport_error_indicator 플래그는 0으로 리셋시켜 상기 널 데이터 패킷을 구분하는 것을 일 실시예로 한다. 즉, 상기 널 패킷 발생기(140)에서 널 데이터 패킷을 발생시킬 때 널 데이터 패킷의 헤더의 필드 중에서 transport_error_indicator 플래그를 '1'로 세팅하여 전송한다면 송신기(200)에서 이를 구분하여 버릴 수 있다.
상기 널 데이터 패킷을 구분하기 위한 식별 정보는 널 데이터 패킷을 구분할 수 있는 것은 어느 것이나 가능하므로 본 발명은 상기된 실시예들로 한정되지 않을 것이다.
또한 본 발명은 다른 실시예로서, 상기 널 데이터 패킷의 적어도 일부, 또는 모바일 서비스를 위한 PSI/PSIP 테이블 중 적어도 하나의 테이블 또는 OM(Operations and Maintenance) 패킷(또는 OMP라 하기도 함.)에 전송 파라미터가 포함되어 있을 수 있다. 이 경우 송신기(200)에서는 상기 전송 파라미터를 추출하여 해당 블록으로 출력하며, 필요한 경우 수신 시스템으로도 전송한다.
즉, 전송 시스템의 동작 및 관리를 위한 목적으로 OMP(Operations and Maintenance Packet) 라는 패킷이 정의되어 있다. 일 예로, 상기 OMP는 MPEG-2 TS 패킷의 형식을 따르며 해당 PID는 0x1FFA의 값을 가진다. 상기 OMP은 4바이트의 헤더와 184바이트의 페이로드로 구성된다. 상기 184 바이트 중 첫번째 바이트는 OM_type 필드로서 OM 패킷의 유형을 의미한다.
본 발명에서는 상기 전송 파라미터를 OMP의 형식으로 전송할 수 있으며, 이 경우 OM_type 필드의 미사용 필드 값들 중에서 미리 약속된 값을 사용하여, 송신기(200)에 전송 파라미터가 OMP으로 전송됨을 알릴 수 있다. 즉, 송신기(200)에서는 PID를 보고 OMP를 찾을 수 있으며, 상기 OMP 내 OM_type 필드를 파싱하여 해당 패킷의 OM_type 필드 다음에 전송 파라미터가 포함되어 있는지 여부를 알 수 있다.
상기 전송 파라미터는 송/수신 시스템에서 모바일 서비스 데이터를 처리하는데 필요한 부가 정보들로서, 예를 들면 상기 전송 파라미터에는 데이터 그룹 정보, 데이터 그룹 내 영역(region) 정보, RS 프레임 정보, 수퍼 프레임 정보, 버스트 정보, 터보 코드 정보, RS 코드 정보 등이 포함될 수 있다. 또한 상기 버스트 정보에는 버스트 사이즈(size) 정보, 버스트 주기 정보, 다음 버스트까지의 시간 등이 포 함될 수 있다. 상기 버스트 주기(period)는 동일한 종류의 모바일 서비스를 전송하는 버스트가 반복되는 주기(period)를 의미하고, 버스트 사이즈(size)는 하나의 버스트에 포함되는 데이터 그룹의 개수를 의미한다. 상기 데이터 그룹은 다수개의 모바일 서비스 데이터 패킷들을 포함하며, 이러한 데이터 그룹이 다수개 모여서 하나의 버스트를 형성한다. 그리고 버스트 구간(section)은 현재 버스트의 시작에서 다음 버스트의 시작까지를 의미하며, 데이터 그룹이 포함되는 구간(또는 버스트 온 구간이라 하기도 함)과 데이터 그룹이 포함되지 않는 구간(또는 버스트 오프 구간이라 하기도 함)으로 구분된다. 하나의 버스트 온 구간은 다수개의 필드들로 구성되는데, 하나의 필드는 하나의 데이터 그룹을 포함한다.
또한 상기 전송 파라미터에는 모바일 서비스 데이터를 전송하기 위해서 심볼 영역의 신호들이 어떤 방법으로 부호화되는지에 대한 정보, 메인 서비스 데이터와 모바일 서비스 데이터 또는 여러 종류의 모바일 서비스 데이터 간에 어떻게 다중화되는지에 대한 다중화 정보 등이 포함될 수도 있다.
상기 전송 파라미터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 전송 파라미터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.
또한 상기 전송 파라미터들은 서비스 다중화기(100)에서 송신기(200)로 제공할 수도 있고, 송신기(200) 자체적으로 제어부(도시되지 않음)에서 설정하거나 외부에서 입력받을 수 있다.
송신기
도 3은 본 발명의 일 실시예에 따른 송신기(200)의 구성 블록도로서, 역다중화기(210), 패킷 지터 경감기(Packet jitter mitigator)(220), 전 처리기(Pre-Processor)(230), 패킷 다중화기(240), 후처리기(Post-Processor)(250), 동기(Sync) 다중화기(260), 및 송신부(transmission unit)(270)를 포함할 수 있다.
상기 역다중화기(210)는 서비스 다중화기(100)로부터 데이터 패킷이 수신되면, 수신된 데이터 패킷이 메인 서비스 데이터 패킷인지, 모바일 서비스 데이터 패킷인지, 아니면 널 데이터 패킷인지를 구분하여야 한다.
일 실시예로, 상기 역다중화기(210)는 수신된 데이터 패킷 내 PID를 이용하여 모바일 서비스 데이터 패킷과 메인 서비스 데이터 패킷을 구분하고, transport_error_indicator 필드를 이용하여 널 데이터 패킷을 구분할 수 있다.
상기 역다중화기(210)에서 분리된 메인 서비스 데이터 패킷은 패킷 지터 경감기(220)로 출력되고, 모바일 서비스 데이터 패킷은 전처리기(230)로 출력되며, 널 데이터 패킷은 버려진다. 만일 상기 널 데이터 패킷에 전송 파라미터가 포함되어 있다면 전송 파라미터가 추출되어 해당 블록으로 출력된 후 널 데이터 패킷은 버려진다.
상기 전처리기(230)는 역다중화기(210)에서 역다중화되어 출력되는 모바일 서비스 데이터 패킷 내 모바일 서비스 데이터에 대해 추가의 부호화 및 전송 프레임 상에 전송하고자 하는 데이터들의 용도에 따라 어느 특정 위치에 위치할 수 있도록 하는 데이터 그룹 형성 과정을 수행한다. 이는 상기 모바일 서비스 데이터가 노이즈 및 채널 변화에 빠르고 강력하게 대응하도록 하기 위해서이다. 상기 전처리기(230)는 추가의 부호화시에 상기 전송 파라미터를 참조할 수도 있다. 또한 상기 전처리기(230)는 모바일 서비스 데이터 패킷을 다수개 모아 데이터 그룹을 형성하고, 상기 데이터 그룹 내 기 설정된 영역에 기지 데이터, 모바일 서비스 데이터, RS 패리티 데이터, MPEG 헤더 등을 할당한다.
송신기 내의 전처리기
도 4는 본 발명에 따른 전처리기(230)의 일 실시예를 보인 구성 블록도로서, 데이터 랜더마이저(301), RS 프레임 부호기(302), 블록 처리기(303), 그룹 포맷터(304), 데이터 디인터리버(305), 및 패킷 포맷터(306)를 포함할 수 있다.
이와 같이 구성된 전처리기(230) 내 데이터 랜더마이저(301)는 역다중화기(210)를 통해 입력되는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷을 랜더마이징시켜 RS 프레임 부호기(302)로 출력한다. 이때 상기 데이터 랜더마이저(301)에서 모바일 서비스 데이터에 대해 랜더마이징을 수행함으로써, 후처리기(250)의 데이터 랜더마이저(251)에서는 모바일 서비스 데이터에 대한 랜더마이징 과정을 생략할 수 있다. 상기 데이터 랜더마이저(301)는 모바일 서비스 데이터 패킷 내 동기 바이트를 버리고 랜더마이징을 수행할 수도 있다. 또는 상기 동기 바이트를 버리지 않고 랜더마이징을 수행할 수도 있으며, 이는 설계자의 선택 사항이다. 본 발명에서는 해당 모바일 서비스 데이터 패킷 내 동기 바이트를 버리지 않고 랜더마이징을 수행하는 것을 일 실시예로 한다.
상기 RS 프레임 부호기(302)는 랜더마이즈되어 입력되는 모바일 서비스 데이 터 패킷을 복수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 부호화(encoding) 과정, 에러 검출 부호화 과정 중 적어도 하나의 과정을 수행한다. 이렇게 하면 모바일 서비스 데이터에 강건성을 부여하면서 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다.
또한 상기 RS 프레임 부호기(302)는 복수개의 RS 프레임을 모아 수퍼 프레임(Super Frame)을 구성하고, 수퍼 프레임 단위로 로우(row) 섞음(permutation)을 수행할 수도 있다. 상기 로우 섞음(permutation)은 로우 인터리빙(interleaving)이라고도 하며, 본 발명에서는 설명의 편의를 위해 로우 섞음이라 하기로 한다.
즉, 상기 RS 프레임 부호기(302)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다.
상기 RS 프레임 부호기(302)에서 에러 정정 부호화는 RS 부호화를 적용하고, 에러 검출 부호화는 CRC(Cyclic Redundancy Check) 부호화를 적용하는 것을 일 실시예로 한다. 상기 RS 부호화를 수행하면 에러 정정을 위해 사용될 패리티 데이터가 생성되고, CRC 부호화를 수행하면 에러 검출을 위해 사용될 CRC 데이터가 생성된다.
상기 RS 부호화는 FEC(Forward Error Correction) 중 하나이다. 상기 FEC는 전송 과정에서 발생하는 에러를 보정하기 위한 기술을 말한다. 상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. 본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.
여기서, 상기 RS 프레임 부호기(302)는 미리 설정된 전송 파라미터 및/또는 상기 서비스 다중화기(100)에서 제공하는 전송 파라미터를 참조하여 RS 프레임 구성, RS 부호화, CRC 부호화, 수퍼 프레임 구성, 수퍼 프레임 단위의 로우 섞음 등을 수행할 수 있다.
전처리기 내 RS 프레임 부호기
도 5의 (a) 내지 (e)는 본 발명에 따른 RS 프레임 부호기(302)의 부호화 과정의 일 실시예를 보인 도면이다.
즉, 상기 RS 프레임 부호기(302)는 먼저, 입력되는 모바일 서비스 데이터 바이트를 일정 길이 단위로 구분한다. 상기 일정 길이는 시스템 설계자에 의해 결정되는 값으로서, 본 발명에서는 187 바이트를 일 실시예로 설명하며, 설명의 편의를 위해 상기 187 바이트 단위를 패킷이라 하기로 한다.
예를 들어, 도 5의 (a)와 같이 입력되는 모바일 서비스 데이터가 188바이트 단위로 구성된 MPEG 트랜스포트 스트림(TS) 패킷이라면 도 5의 (b)와 같이 첫 번째 동기 바이트를 제거하여 187바이트로 하나의 패킷을 구성한다. 여기서 동기 바이트 를 제거하는 이유는 모든 모바일 서비스 데이터 패킷이 동일한 값을 갖기 때문이다. 여기서 상기 동기 바이트 제거는 전단의 데이터 랜더마이저(301)에서 랜더마이징시 수행할 수도 있다. 이 경우 RS 프레임 부호기(302)에서 동기 바이트 제거 과정은 생략되며, 수신 시스템에서 동기 바이트를 부가할 때에도 RS 프레임 복호기 대신 데이터 디랜더마이저에서 부가할 수 있다.
따라서 상기 RS 프레임 부호기(302)로 입력되는 모바일 서비스 데이터 패킷에 제거 가능한 고정된 한 바이트(예, 동기 바이트)가 존재하지 않거나, 입력된 모바일 서비스 데이터가 패킷 형태가 아닌 경우, 입력되는 모바일 서비스 데이터를 187 바이트 단위로 나누고, 나누어진 187 바이트 단위로 하나의 패킷을 구성한다.
이어, 도 5의 (c)와 같이 187바이트로 구성된 패킷을 N개 모아서 하나의 RS 프레임을 구성한다. 이때 하나의 RS 프레임의 구성은 N(row) * 187(column) 바이트의 크기를 갖는 RS 프레임에 187 바이트의 패킷을 로우 방향으로 차례대로 넣음으로써 이루어진다.
본 발명에서는 설명의 편의를 위해 이렇게 생성된 RS 프레임을 제1 RS 프레임이라 하기도 한다. 즉, 제1 RS 프레임에는 순수한 모바일 서비스 데이터만 포함되어 있으며, 이것은 N 바이트로 된 로우가 187개 구성된 것과 같다.
그리고 상기 RS 프레임 내 모바일 서비스 데이터를 일정 크기로 나눈 후, RS 프레임을 구성하기 위해 입력되는 순서와 동일한 순서로 전송을 하게 되면, 송/수신간에 특정 시점에서 에러가 발생했을 경우 RS 프레임 상에서도 에러가 모여있게 된다. 이러한 경우 수신 시스템에서 에러 정정 디코딩시에 RS 이레이저(erasure) 디코딩을 사용함으로써, 에러 정정 능력을 향상시킬 수 있게 된다.
이때 상기 RS 프레임의 N개의 모든 컬럼(column)은 도 5의 (c)와 같이 187바이트를 포함하고 있다.
이 경우 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc(=P)개의 패리티 바이트를 생성하고, 생성된 P개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P) 바이트의 한 컬럼을 만들 수가 있다. 여기서, Kc는 도 5의 (c)에서와 같이 187이며, Nc는 187+P이다. 예를 들어, P가 48이라면 (235,187)-RS 부호화가 수행되어 235 바이트의 한 컬럼을 만들 수 있다.
이러한 RS 부호화 과정을 도 5의 (c)의 N개의 모든 컬럼에 대해서 수행하면, 도 5의 (d) 와 같이 N(row) * (187+P)(column) 바이트의 크기를 갖는 RS 프레임을 만들 수가 있다. 본 발명에서는 설명의 편의를 위해 RS 패리티가 부가된 RS 프레임을 제2 RS 프레임이라 하기도 한다. 즉, 제2 RS 프레임은 N 바이트로 된 로우가 187+P개 구성된 것과 같다.
도 5의 (c) 또는 (d)에서와 같이 RS 프레임의 각 로우(row)는 N 바이트로 이루어져 있다. 그런데 송/수신간의 채널 상황에 따라서 상기 RS 프레임에 에러가 포함될 수가 있다. 이렇게 에러가 발생하는 경우에 각 로우 단위로 에러 여부를 검사하기 위하여 CRC 데이터(또는 CRC 코드 또는 CRC 체크섬이라고도 함)를 사용하는 것이 가능하다.
상기 RS 프레임 부호기(302)는 상기 CRC 데이터를 생성하기 위하여 RS 부호화된 모바일 서비스 데이터에 대해 CRC 부호화를 수행할 수 있다. 상기 CRC 부호화 에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다.
본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.
도 5의 (e)는 CRC 데이터로 2 바이트(즉, 16비트) CRC 체크섬(checksum)을 사용하는 예를 보인 것으로서, 각 로우의 N 바이트에 대한 2바이트 CRC 체크섬을 생성한 후 N 바이트 후단에 부가하고 있다. 이렇게 함으로써, 각 로우는 N+2 바이트로 확장이 된다.
하기의 수학식 1은 N 바이트로 된 각 로우에 대해 2바이트 CRC 체크섬을 생성하는 다항식의 예를 보이고 있다.
g(x) = x16 + x12 + x5 + 1
상기 각 로우마다 2바이트 CRC 체크섬을 부가하는 것은 하나의 실시예이므로, 본 발명은 상기된 예로 제한되지 않을 것이다.
본 발명에서는 설명의 편의를 위해 RS 패리티 및 CRC 체크섬이 부가된 RS 프레임을 제3 RS 프레임이라 하기도 한다. 즉, 제3 RS 프레임은 N+2 바이트로 된 로우가 187+P개 구성된 것과 같다.
지금까지 설명한 RS 부호화 및 CRC 부호화 과정을 모두 거치게 되면, N * 187 바이트의 RS 프레임은 (N+2) * (187+P) 바이트의 RS 프레임으로 확장하게 된다.
그리고 도 5의 (e)와 같이 확장된 RS 프레임은 블록 처리기(303)로 입력된다.
상기와 같이 RS 프레임 부호기(302)에서 부호화된 모바일 서비스 데이터는 블록 처리기(303)로 입력된다.
상기 블록 처리기(303)는 입력되는 모바일 서비스 데이터를 다시 G/H(여기서 G<H 임) 부호율로 부호화하여 그룹 포맷터(304)로 출력한다.
즉, 상기 블록 처리기(303)는 바이트 단위로 입력되는 모바일 서비스 데이터를 비트로 구분하고, 구분된 G 비트를 H 비트로 부호화한 후 바이트 단위로 변환하여 출력한다. 일 예로 입력 데이터 1비트를 2비트로 부호화하여 출력한다면 G=1, H=2가 되고, 입력 데이터 1비트를 4비트로 부호화하여 출력한다면 G=1, H=4가 된다. 본 발명에서는 설명의 편의를 위해 전자를 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함)라 하고, 후자를 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함)라 한다.
여기서 1/4 부호화를 사용하는 경우는 1/2 부호화에 비해서 높은 부호율 때문에 높은 에러 정정 능력을 가질 수가 있다. 이런 이유 때문에 후단의 그룹 포맷터(304)에서 1/4 부호율로 부호화된 데이터는 수신 성능이 떨어질 수 있는 영역에 할당하고, 1/2 부호율로 부호화된 데이터는 더 우수한 성능을 가질 수 있는 영역에 할당한다고 가정하면, 그 성능의 차이를 줄이는 효과를 얻을 수가 있게 된다.
이때, 상기 블록 처리기(303)는 전송 파라미터를 담고 있는 시그널링(signaling) 정보도 입력받을 수 있는데, 이 시그널링 정보도 모바일 서비스 데이터 처리 과정과 동일하게 1/2 부호화 또는 1/4 부호화를 수행한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다.
한편 상기 그룹 포맷터(304)는 상기 블록 처리기(303)에서 출력되는 모바일 서비스 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 영역에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다.
이때 상기 데이터 그룹은 적어도 하나 이상의 계층화된 영역으로 구분할 수 있고, 계층화된 각 영역의 특성에 따라 각 영역에 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다. 그리고 각 영역은 일 예로 데이터 그룹 내에서 수신 성능을 기준으로 분류할 수 있다. 또한 하나의 데이터 그룹은 필드 동기를 포함하도록 구성할 수 있다.
본 발명에서는 데이터 디인터리빙 전의 데이터 구성에서 하나의 데이터 그룹을 A,B,C 영역(Region)으로 구분하는 것을 일 실시예로 한다. 이때 상기 그룹 포맷터(304)는 RS 부호화 및 블록 부호화되어 입력되는 모바일 서비스 데이터를 상기 전송 파라미터를 참조하여 해당 영역에 할당할 수 있다.
도 6a는 데이터 인터리빙 후의 데이터들이 구분되어 나열된 형태이고, 도 6b는 데이터 인터리빙 전의 데이터들이 구분되어 나열된 형태를 보여준다. 즉, 도 6a와 같은 데이터 구조가 수신 시스템으로 전송된다.
그리고 도 6a와 같은 구조로 형성된 데이터 그룹이 데이터 디인터리버(305)로 입력된다.
도 6a는 데이터 디인터리빙 전의 데이터 구성에서 데이터 그룹을 크게 세 개의 영역(region) 예를 들어, A 영역(Region A), B 영역(Region B), C 영역(Region C)으로 구분하는 예를 보이고 있다.
또한 본 발명은 상기 A 내지 C 영역을 각각 복수개의 하위 영역으로 다시 구분하는 것을 일 실시예로 한다.
도 6a는 상기 A 영역이 5개의 하위 영역(A1~A5)으로 구분되고, B 영역이 2개의 하위 영역(B1,B2)으로 구분되며, C 영역이 3개의 하위 영역(C1~C3)으로 구분되는 예를 보이고 있다.
상기 A 내지 C 영역은 데이터 그룹 내에서 비슷한 수신 성능을 갖는 영역을 기준으로 분류하고 있다. 이때 각 영역의 특성에 따라 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다.
본 발명에서는 메인 서비스 데이터의 간섭 정도를 기준으로 A 내지 C 영역을 나누는 것을 일 실시예로 설명한다.
여기서, 상기 데이터 그룹을 다수개의 영역으로 구분하여 사용하는 이유는 각각의 용도를 달리하기 위해서이다. 즉, 메인 서비스 데이터의 간섭이 없거나 적은 영역은 그렇지 않은 영역보다 강인한 수신 성능을 보일 수 있기 때문이다. 또한, 기지 데이터를 데이터 그룹에 삽입하여 전송하는 시스템을 적용하는 경우, 모바일 서비스 데이터에 연속적으로 긴 기지 데이터를 주기적으로 삽입하고자 할 때, 메인 서비스 데이터의 간섭이 없는 영역(예를 들어, A 영역)에는 일정 길이의 기지 데이터를 주기적으로 삽입하는 것이 가능하다. 그러나 메인 서비스 데이터의 간섭이 있는 영역(예를 들어, B,C 영역)에는 서비스 메인 서비스 데이터의 간섭으로 기지 데이터를 주기적으로 삽입하는 것이 곤란하고 연속적으로 긴 기지 데이터를 삽입하는 것도 곤란하다.
다음은 도 6a를 참조하여 데이터 그룹 내에서 A(A1~A5), B(B1,B2), C(C1~C3) 영역이 할당되는 구체적인 예를 설명한다. 도 6a의 데이터 그룹의 크기, 데이터 그룹 내 계층화된 영역의 수와 각 영역의 크기, 계층화된 각 영역에 삽입 가능한 모바일 서비스 데이터 바이트 수 등은 본 발명을 기술하기 위한 하나의 실시예이다.
이때 상기 그룹 포맷터(304)에서는 필드 동기가 삽입될 위치를 포함하여 데이터 그룹을 형성함으로써, 아래에 설명하는 것과 같이 데이터 그룹을 구성할 수가 있다.
즉, 상기 A 영역은 상기 데이터 그룹 내 긴 기지 데이터 열(sequence)이 주기적으로 삽입될 수 있는 영역이면서, 메인 서비스 데이터가 섞이지 않는 영역을 포함한다(예, A2~A5). 또한 상기 A 영역은 상기 데이터 그룹에 삽입될 필드 동기 영역과 첫 기지 데이터 열이 삽입될 영역 사이에 있는 영역(예, A1)을 포함한다. 상기 필드 동기 영역은 ATSC에 존재하는 한 세그먼트 길이(즉, 832 심볼)를 갖는다.
일 실시예로 도 6a에서 A1 영역에는 2428 바이트, A2 영역에는 2580 바이트, A3 영역에는 2772 바이트, A4 영역에는 2472 바이트, A5 영역에는 2772 바이트의 모바일 서비스 데이터를 삽입할 수 있다. 상기 모바일 서비스 데이터에서 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등은 제외된다.
상기와 같이 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터나 필드 동기로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, 강인한 등화 성능을 얻을 수가 있다.
상기 B 영역은 상기 데이터 그룹 내 필드 동기 영역의 앞쪽 8 세그먼트 이내에 위치하는 영역(시간적으로 A1 영역의 앞에 위치함)(예, B1 영역)과, 상기 데이터 그룹에 삽입되는 가장 마지막 기지 데이터 열 다음 8 세그먼트 내에 위치하는 영역(시간적으로 A 영역의 뒤에 위치함)(예, B2 영역)을 포함한다. 예를 들어, 상기 B1 영역에는 930 바이트, B2 영역에는 1350 바이트의 모바일 서비스 데이터를 삽입할 수 있다. 마찬가지로, 상기 모바일 서비스 데이터에서 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등은 제외된다.
상기 B 영역의 경우, 수신 시스템에서는 필드 동기 구간에서 얻어진 채널 정보를 사용하여 등화를 수행할 수 있고, 또한 상기 마지막 기지 데이터 열로부터 얻을 수 있는 채널 정보를 사용하여 등화를 수행할 수 있으므로, 채널의 변화에 대응할 수가 있다.
상기 C 영역은 필드 동기 영역의 앞쪽 9번째 세그먼트를 포함하여 그 앞쪽으로 30 세그먼트 내에 위치하는 영역(시간적으로 A 영역의 앞에 위치함)(예, C1 영역), 상기 데이터 그룹 내 마지막 기지 데이터 열 다음 9번째 세그먼트를 포함한 12 세그먼트 내에 위치하는 영역(시간적으로 A 영역의 뒤에 위치함)(예, C2 영역), 및 상기 C2 영역 다음에 오는 32 세그먼트 내에 위치하는 영역(예, C3 영역)을 포함한다.
예를 들어, 상기 C1 영역에는 1272 바이트, C2 영역에는 1560 바이트, C3 영역에는 1312 바이트의 모바일 서비스 데이터를 삽입할 수 있다. 마찬가지로, 상기 모바일 서비스 데이터에서 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등은 제외된다.
이때 상기 A 영역보다 시간적으로 앞에 위치한 C 영역(예, C1 영역)은 제일 가까운 기지 데이터인 필드 동기에서도 꽤 멀리 떨어져 있기 때문에, 수신 시스템에서 채널 등화시에 필드 동기로부터 얻은 채널 정보를 사용할 수도 있고, 또는 이전 데이터 그룹의 가장 최근의 채널 정보를 사용할 수도 있다. 그리고 상기 A 영역보다 시간적으로 뒤에 위치한 C 영역(예, C2,C3 영역)은 수신 시스템에서 채널 등화시에 상기 마지막 기지 데이터 열에서 얻은 채널 정보를 사용하여 등화를 하더라도 채널이 빠르게 변하는 경우에는 등화가 완벽하게 되지 않을 수가 있다. 그러므로 상기 C 영역은 B 영역보다 등화 성능이 떨어질 수가 있다.
상기와 같이 데이터 그룹을 다수개의 계층화된 영역으로 할당한다고 가정하면, 전술한 블록 처리기(303)에서는 계층화된 영역의 특성에 따라 각 영역에 삽입될 모바일 서비스 데이터를 다른 부호율로 부호화할 수도 있다.
예를 들어, 상기 A 영역 내 A1~A5 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/2 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(304)에서 상기 A1~A5 영역에 삽입하도록 할 수 있다.
상기 B 영역 내 B1,B2 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/2 부호율보다 에러 정정 능력이 높은 1/4 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(304)에서 상기 B1,B2 영역에 삽입하도록 할 수 있다.
상기 C 영역 내 C1~C3 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(303)에서 1/4 부호율이나 또는 1/4 부호율보다 더 강력한 에러 정정 능력을 갖는 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 데이터를 상기 그룹 포맷터(304)에서 상기 C1~C3 영역에 삽입하도록 할 수도 있고, 추후의 사용을 위해서 미사용(reserve) 영역으로 남겨둘 수도 있다.
또한 상기 그룹 포맷터(304)에서는 모바일 서비스 데이터와는 별도로 전체적인 송신 정보를 알려주는 시그널링(signaling)과 같은 부가 정보 데이터도 상기 데이터 그룹 내에 삽입한다.
그리고 상기 그룹 포맷터(304)에서는 블록 처리기(303)에서 출력된 부호화된 모바일 서비스 데이터들 외에도 도 6a에서 보이는 것과 같이 후단의 데이터 디인터리빙과 관련하여 MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더를 삽입한다. 여기서 메인 서비스 데이터 위치 홀더를 삽입하는 이유는 도 6a와 같이 데이터 디인터리버의 입력을 기준으로 B,C 영역에서는 모바일 서비스 데이터와 메인 서비스 데이터가 사이사이에 섞이게 되기 때문이다. 일 예로 상기 MPEG 헤더를 위한 위치 홀더는 상기 데이터 디인터리빙 후의 출력 데이 터를 기준으로 볼 때, 각 패킷의 제일 앞에 할당될 수 있다.
또한 상기 그룹 포맷터(304)에서는 기 정해진 방법에 의해서 발생된 기지 데이터를 삽입하거나 기지 데이터를 추후에 삽입하기 위한 기지 데이터 위치 홀더를 삽입한다. 더불어서 트렐리스 부호화부(Trellis Encoding Module)(256)의 초기화를 위한 위치 홀더를 해당 영역에 삽입한다. 일 실시예로, 상기 초기화 데이터 위치 홀더는 상기 기지 데이터 열의 앞에 삽입할 수 있다.
이때 하나의 데이터 그룹에 삽입 가능한 모바일 서비스 데이터 사이즈는 해당 데이터 그룹에 삽입되는 트렐리스 초기화 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더), MPEG 헤더 위치 홀더, RS 패리티 위치 홀더등의 사이즈에 의해 달라질 수 있다.
상기 그룹 포맷터(304)의 출력은 데이터 디인터리버(305)로 입력되고, 상기 데이터 디인터리버(305)는 상기 그룹 포맷터(304)에서 출력되는 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙하여 패킷 포맷터(306)로 출력한다. 즉, 도 6a와 같은 형태로 구성된 데이터 그룹 내 데이터 및 위치 홀더가 상기 데이터 디인터리버(305)에서 디인터리빙되면 패킷 포맷터(306)로 출력되는 데이터 그룹은 도 6b와 같은 구조를 갖게 된다.
상기 패킷 포맷터(306)는 디인터리빙되어 입력된 데이터 중에서 디인터리빙을 위해 할당되었던 메인 서비스 데이터 위치 홀더와 RS 패리티 위치 홀더를 제거하고, 나머지 부분들을 모은 후, 4바이트의 MPEG 헤더 위치 홀더에 널 패킷 PID(또는 메인 서비스 데이터 패킷에서 사용하지 않는 PID)를 갖는 MPEG 헤더를 대체하여 삽입한다.
또한 상기 패킷 포맷터(306)는 상기 그룹 포맷터(304)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 실제 기지 데이터를 삽입할 수도 있고, 또는 나중에 대체 삽입하기 위하여 상기 기지 데이터 위치 홀더를 조정없이 그대로 출력할 수도 있다.
그리고 나서 상기 패킷 포맷터(306)는 상기와 같이 패킷 포맷팅된 데이터 그룹 내 데이터들을 188바이트 단위의 모바일 서비스 데이터 패킷(즉, MPEG TS 패킷)으로 구분하여 패킷 다중화기(240)에 제공한다.
상기 패킷 다중화기(240)는 상기 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 기 정의된 다중화 방법에 따라 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의해서 조정이 가능하다.
상기 패킷 다중화기(240)의 다중화 방법 중 하나로서, 시간축 상으로 버스트(burst) 구간을 두고, 버스트 구간 내 버스트 온 구간에서는 다수개의 데이터 그룹을 전송하고 버스트 오프 구간에서는 메인 서비스 데이터만을 전송하도록 할 수 있다. 여기서 버스트 구간은 현재 버스트의 시작에서 다음 버스트의 시작까지를 의미한다.
이때 상기 버스트 온 구간에서는 메인 서비스 데이터를 전송할 수도 있다. 상기 패킷 다중화기(240)는 상기 전송 파라미터 예를 들어, 버스트 사이즈나 버스 트 주기 등의 정보를 참조하여 하나의 버스트에 포함되는 데이터 그룹의 개수, 주기 등을 알 수 있다.
이때 버스트 온 구간에서는 모바일 서비스 데이터 및 메인 서비스 데이터가 혼재할 수 있으며, 버스트 오프 구간에서는 메인 서비스 데이터만 존재한다. 따라서 메인 서비스 데이터를 전송하는 메인 서비스 데이터 구간은 버스트 온 구간과 버스트 오프 구간에 모두 존재할 수 있다. 이때 버스트 온 구간 내 메인 서비스 데이터 구간과 버스트 오프 구간에 포함되는 메인 서비스 데이터 패킷 수는 서로 다를 수도 있고, 같을 수도 있다.
상기와 같이 모바일 서비스 데이터를 버스트 구조로 전송하게 되면 모바일 서비스 데이터만을 수신하는 수신 시스템에서는 버스트 구간에서만 전원을 온시켜 데이터를 수신하고 그 외 메인 서비스 데이터만 전송되는 구간에서는 전원을 오프시켜 메인 서비스 데이터를 수신하지 않도록 함으로써, 수신 시스템의 소모 전력을 줄일 수가 있다.
RS 프레임 구성 및 패킷 다중화에 관련된 구체적인 실시예
다음은 전처리기(230)와 패킷 다중화기(240)의 구체적인 실시예에 대해서 설명한다.
본 발명에서는 일 실시예로, RS 프레임 부호기(302)에서 구성되는 RS 프레임의 한 로우의 길이인 N 값을 538로 설정한다.
그러면 상기 RS 프레임 부호기(302)는 538개의 트랜스포트 스트림(TS) 패킷을 입력받아 538 * 187 바이트 크기의 제1 RS 프레임을 구성할 수 있다. 이후 전술 한 바와 같이 (235,187)-RS 부호화를 거쳐 538 * 235 바이트 크기의 제2 RS 프레임을 형성하고, 다시 16-비트 CRC 체크섬 생성 과정을 거쳐서 540 * 235 바이트 크기의 제3 RS 프레임을 형성하게 된다.
한편 도 6a에서와 같이 데이터 그룹 내 다수개의 영역들 중에서 1/2 부호화를 거친 모바일 서비스 데이터를 삽입하게 될 A 영역 내 A1-A5 영역의 바이트 수를 합치면 13024 바이트(=2428+2580+2772+2472+2772 바이트)이다. 이 경우 1/2 부호화 전의 바이트 수는 6512(=13024/2) 바이트이다.
그리고 1/4 부호화를 거친 모바일 서비스 데이터를 삽입하게 될 B 영역 내 B1,B2 영역의 바이트 수를 합치면 2280(=930+1350) 바이트가 된다. 이 경우 1/4 부호화 전의 바이트 수는 570(=2280/4) 바이트이다.
정리하면, 상기 블록 처리기(303)로 7082 바이트의 모바일 서비스 데이터가 입력되면, 이 중 6512 바이트는 1/2 부호화를 통해서 13024 바이트로 확장되고, 570 바이트는 1/4 부호화를 통해서 2280 바이트로 확장되게 한다. 그리고 상기 그룹 포맷터(304)는 13024 바이트로 확장된 모바일 서비스 데이터는 A 영역 내 A1~A5 영역에 삽입하고, 2280 바이트로 확장된 모바일 서비스 데이터는 B 영역 내 B1,B2 영역에 삽입한다.
이때 상기 블록 처리기(303)로 입력되는 7082 바이트의 모바일 서비스 데이터는 RS 프레임 부호기(302)의 출력과 시그널링 정보로 구분할 수가 있다. 본 발명에서는 7082 바이트 중 7050 바이트는 RS 프레임 부호기(302)의 출력에서 받아들이고, 나머지 32 바이트는 시그널링 정보 데이터를 입력받아 1/2 부호화 또는 1/4 부호화를 수행하는 것을 일 실시예로 한다.
한편 RS 프레임 부호기(302)에서 RS 부호화 및 CRC 부호화를 거친 한 개의 RS 프레임은 540 * 235 바이트 즉, 126900 바이트로 구성이 되어 있다. 이것을 시간축에 대해 7050 바이트 단위로 나누면, 18개의 7050 바이트로 구분된다.
그리고 상기 RS 프레임 부호기(302)에서 출력되는 7050 바이트 단위의 모바일 서비스 데이터는 32 바이트 단위의 시그널링 정보 데이터와 합쳐진 후 블록 처리기(303)에서 1/2 부호화 또는 1/4 부호화되어 그룹 포맷터(304)로 출력된다. 상기 그룹 포맷터(304)는 1/2 부호화된 데이터는 A 영역에 삽입하고, 1/4 부호화된 데이터는 B 영역에 삽입한다.
다음은 RS 프레임 부호기(302)에서 RS 프레임을 형성하는데 필요한 N 값을 결정하는 과정을 설명한다.
즉, 상기 RS 프레임 부호기(302)에서 RS 부호화 및 CRC 부호화된 최종 RS 프레임(즉, 제3 RS 프레임) 크기인 (N+2) * 235 바이트는 정수개의 그룹에 할당이 되어야 한다. 이때 단일 데이터 그룹에는 부호화 전을 기준으로 7050 바이트가 할당이 되기 때문에, (N+2) * 235 바이트를 7050(=30*235)으로 나누어 떨어지도록 하면, RS 프레임 부호기(302)의 출력 데이터를 효율적으로 데이터 그룹에 할당하게 할 수가 있다. 본 발명에서는 N+2가 30의 배수가 되도록 N 값을 결정하는 것을 일 실시예로 한다. 본 발명에서는 N 값으로 538을 결정하고, N+2(=540)를 30으로 나누면 18이 된다. 이것은 하나의 RS 프레임 내 모바일 서비스 데이터는 1/2 부호화 또는 1/4 부호화 과정을 거쳐 18개의 데이터 그룹에 나누어 할당됨을 의미한다.
도 7은 본 발명에 따른 RS 프레임의 분할 과정을 도시한 것이다. 즉, (N+2) * 235 크기를 갖는 RS 프레임을 30*235 바이트 블록으로 나눈다. 그리고 나누어진 각 블록은 하나의 그룹에 매핑된다. 즉, 30*235 바이트 크기를 갖는 하나의 블록의 데이터는 1/2 부호화 또는 1/4 부호화 과정을 거쳐 하나의 데이터 그룹에 삽입된다.
그리고 상기와 같이 그룹 포맷터(304)에서 계층화된 각 영역에 해당 데이터 및 위치 홀더가 삽입된 데이터 그룹은 데이터 디인터리버(305)와 패킷 포맷터(306)를 거쳐 패킷 다중화기(240)로 입력된다.
도 8은 본 발명의 구체적인 실시예에 따른 패킷 다중화기(240)의 동작 예를 보인 것이다. 즉, 상기 패킷 다중화기(240)에서는 모바일 서비스 데이터와 메인 서비스 데이터가 섞여 있는 데이터 그룹이 포함된 필드와 메인 서비스 데이터만 있는 필드를 다중화하여 데이터 랜더마이저(251)로 출력한다.
이때, 540 * 235 바이트 크기를 갖는 한 개의 RS 프레임을 전송하기 위해서는 18개의 데이터 그룹을 전송해야 한다. 여기서 각 데이터 그룹은 도 6a와 같이 필드 동기를 포함한다. 그러므로 18개의 데이터 그룹은 18 필드 구간 동안 전송되며, 상기 18개의 데이터 그룹이 전송되는 구간이 버스트 온 구간이다.
상기 버스트 온 구간 내 각 필드에서는 필드 동기를 포함하는 하나의 데이터 그룹과 메인 서비스 데이터가 다중화되어 출력된다. 일 실시예로 상기 버스트 온 구간 내 각 필드에서는 118 세그먼트 크기의 데이터 그룹과 194 세그먼트 크기의 메인 서비스 데이터가 다중화되어 출력된다.
도 8을 보면, 버스트(burst) 온 구간 동안 즉, 18 필드 구간 동안은 18개의 데이터 그룹이 포함된 필드를 전송하고, 그 다음 버스트 오프 구간 즉, 12 필드 구간 동안은 메인 서비스 데이터만으로 구성된 필드를 전송하게 된다. 이후 다시 버스트 온 구간에서는 18개의 데이터 그룹이 포함된 18 필드를 전송하고, 다음 버스트 오프 구간에서는 메인 서비스 데이터만으로 구성된 12 필드를 전송한다.
그리고 본 발명은 첫번째 18개의 데이터 그룹을 포함한 버스트 온 구간과 두 번째 18개의 데이터 그룹을 포함한 버스트 온 구간에서 같은 종류의 데이터 서비스를 제공할 수도 있고, 서로 다른 데이터 서비스를 전송할 수도 있다.
예를 들어, 도 8의 첫 번째 버스트 온 구간과 두 번째 버스트 온 구간에서 서로 다른 데이터 서비스를 전송하고, 수신 시스템에서는 하나의 데이터 서비스만 수신하기를 원한다고 가정하자. 이러한 경우 수신 시스템에서는 원하는 데이터 서비스를 포함하는 해당 버스트 온 구간에서만 전원을 온시켜 18개의 필드를 수신하고, 나머지 42개의 필드 구간 동안에는 전원을 오프시켜 수신하지 않도록 함으로써, 수신 시스템의 소모 전력을 줄일 수 있게 된다. 또한 수신 시스템에서는 하나의 버스트 온 구간에서 수신된 18개의 데이터 그룹으로부터 하나의 RS 프레임을 구성할 수 있으므로 디코딩이 용이해지는 잇점이 있다.
본 발명에서 하나의 버스트 온 구간에 포함되는 데이터 그룹의 수는 RS 프레임의 크기에 따라 달라지며, 상기 RS 프레임의 크기는 N 값에 따라 달라진다. 즉, N 값을 조정하여 버스트 내 데이터 그룹 수를 조정할 수 있다. 이때 (235,187)-RS 부호화는 고정된 상태에서 상기 N 값을 조정하는 것을 일 실시예로 한다.
또한 데이터 그룹 내 삽입 가능한 모바일 서비스 데이터 크기는 해당 데이터 그룹에 삽입되는 트렐리스 초기화나 기지 데이터, MPEG 헤더, RS 패리티 등의 크기에 의해 달라질 수 있다.
한편 상기 패킷 다중화 과정에서 메인 서비스 데이터 사이사이에 모바일 서비스 데이터를 포함하는 데이터 그룹이 다중화되기 때문에 메인 서비스 데이터 패킷의 시간적인 위치가 상대적으로 이동하게 된다. 그리고 수신 시스템의 메인 서비스 데이터 처리를 위한 시스템 목표 디코더(즉, MPEG 디코더)에서는 메인 서비스 데이터만을 수신하여 복호하고 모바일 서비스 데이터 패킷은 널 데이터 패킷으로 인식하여 버리게 된다.
따라서 수신 시스템의 시스템 목표 디코더가 데이터 그룹과 다중화된 메인 서비스 데이터 패킷을 수신할 경우 패킷 지터가 발생하게 된다.
이때 상기 시스템 목표 디코더에서는 비디오 데이터를 위한 여러 단계의 버퍼가 존재하고 그 사이즈가 상당히 크기 때문에 상기 패킷 다중화기(240)에서 발생시키는 패킷 지터는 비디오 데이터의 경우, 큰 문제가 되지 않는다. 그러나 시스템 목표 디코더가 가지는, 오디오 데이터를 위한 버퍼의 사이즈는 작기 때문에 문제가 될 수 있다.
즉, 상기 패킷 지터로 인해 수신 시스템의 메인 서비스 데이터를 위한 버퍼, 예를 들면 오디오 데이터를 위한 버퍼에서 오버플로우(overflow)나 언더플로우(underflow)가 발생할 수 있다.
따라서 패킷 지터 경감기(220)에서는 상기 시스템 목표 디코더의 버퍼에서 오버플로우 또는 언더플로우가 발생하지 않도록 메인 서비스 데이터 패킷의 상대적인 위치를 재조정한다.
본 발명에서는 오디오 버퍼의 동작에 주는 영향을 최소화하기 위하여 메인 서비스 데이터의 오디오 데이터 패킷의 위치를 재배치하는 실시예들을 설명한다. 상기 패킷 지터 경감기(220)는 메인 서비스의 오디오 데이터 패킷이 최대한 균일하게 위치할 수 있도록 메인 서비스 데이터 구간에서 오디오 데이터 패킷을 재배치한다.
상기 패킷 지터 경감기(220)에서 메인 서비스의 오디오 데이터 패킷을 재배치하는 기준은 다음과 같다. 이때 상기 패킷 지터 경감기(220)는 후단의 패킷 다중화기(240)의 다중화 정보를 알고 있다고 가정한다.
첫번째, 버스트 온 구간 내 메인 서비스 데이터 구간, 예를 들어 두개의 데이터 그룹 사이에 위치하는 메인 서비스 데이터 구간에서 오디오 데이터 패킷이 한 개 존재하는 경우에는 오디오 데이터 패킷을 메인 서비스 데이터 구간의 제일 앞에 배치하고, 2개 존재하는 경우에는 제일 앞과 제일 뒤에 배치하며, 3개 이상 존재하는 경우에는 제일 앞과 제일 뒤에 배치하고 나머지를 그 사이에 균등한 간격으로 배치한다.
두번째, 버스트 온 구간 시작 전의 메인 서비스 데이터 구간 즉, 버스트 오프 구간에서는 제일 마지막 위치에 오디오 데이터 패킷을 배치한다.
세번째, 버스트 온 구간이 끝난 후 버스트 오프 구간의 메인 서비스 데이터 구간에서는 제일 앞에 오디오 데이터 패킷을 배치한다.
그리고 오디오 데이터가 아닌 패킷들은 입력되는 순서대로 오디오 데이터 패킷의 위치를 제외한 공간에 배치한다.
한편 상기와 같이 메인 서비스 데이터 패킷의 위치를 상대적으로 재조정하게 되면 그에 따른 PCR(Program Clock Reference) 값을 수정해 주어야 한다. PCR 값은 MPEG 디코더의 시간을 맞주기 위한 시간 기준값으로 TS 패킷의 특정 영역에 삽입되어 전송되어진다. 상기 패킷 지터 경감기(220)에서 PCR 값 수정의 기능도 수행하는 것을 일 실시예로 한다.
상기 패킷 지터 경감기(220)의 출력은 패킷 다중화기(240)로 입력된다. 상기 패킷 다중화기(240)는 전술한 바와 같이 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷과 전처리기(230)에서 출력되는 모바일 서비스 데이터 패킷을 기 설정된 다중화 규칙에 따라 버스트 구조로 다중화하여 후 처리기(250)의 데이터 랜더마이저(251)로 출력한다.
상기 데이터 랜더마이저(251)는 입력된 데이터가 메인 서비스 데이터 패킷이면 기존의 랜더마이저와 동일하게 랜더마이징을 수행한다. 즉, 메인 서비스 데이터 패킷 내 동기 바이트를 버리고 나머지 187 바이트를 내부에서 발생시킨 의사랜덤(pseudo random) 바이트를 사용하여 랜덤하게 만든 후 RS 부호기/비체계적 RS 부호기(252)로 출력한다.
그러나 입력된 데이터가 모바일 서비스 데이터 패킷이면, 패킷의 일부만을 랜더마이징할 수도 있다. 예를 들어, 상기 전처리기(230)에서 모바일 서비스 데이터에 대해 미리 랜더마이징을 수행하였다고 가정하면, 상기 데이터 랜더마이 저(251)는 상기 모바일 서비스 데이터 패킷에 포함된 4바이트의 MPEG 헤더 중 동기 바이트를 버리고 나머지 3바이트에 대해서만 랜더마이징을 수행하여 상기 RS 부호기/비체계적 RS 부호기(252)로 출력한다. 즉, 상기 MPEG 헤더를 제외한 나머지 모바일 서비스 데이터에 대해서는 랜더마이징을 수행하지 않고 상기 RS 부호기/비체계적 RS 부호기(252)로 출력한다. 상기 데이터 랜더마이저(251)는 모바일 서비스 데이터 패킷에 포함된 기지 데이터(또는 기지 데이터 위치 홀더)와 초기화 데이터 위치 홀더에 대해서는 랜더마이징을 수행할 수도 있고 수행하지 않을 수도 있다.
상기 RS 부호기/비체계적 RS 부호기(252)는 상기 데이터 랜더마이저(251)에서 랜더마이징되는 데이터 또는 바이패스되는 데이터에 대해 RS 부호화를 수행하여 20바이트의 RS 패리티를 부가한 후 데이터 인터리버(253)로 출력한다. 이때 상기 RS 부호기/비체계적 RS 부호기(252)는 입력된 데이터가 메인 서비스 데이터 패킷인 경우 기존 방송 시스템과 동일하게 체계적 RS 부호화를 수행하여 20바이트의 RS 패리티를 187바이트의 데이터 뒤에 부가한다. 그리고 모바일 서비스 데이터 패킷이면 비체계적 RS 부호화를 수행하고, 이때 얻은 20바이트의 RS 패리티를 패킷 내 미리 정해진 패리티 바이트 위치에 삽입한다.
상기 데이터 인터리버(253)는 바이트 단위의 길쌈(convolutional) 인터리버이다.
상기 데이터 인터리버(253)의 출력은 패리티 치환기(254)와 비체계적 RS 부호기(255)로 입력된다.
한편 상기 패리티 치환기(254)의 후단에 위치한 트렐리스 부호화부(256)의 출력 데이터를 송/수신측에서 약속에 의해 정의한 기지 데이터로 하기 위해 먼저 트렐리스 부호화부(256) 내의 메모리의 초기화가 필요하다. 즉 입력되는 기지 데이터 열이 트렐리스 부호화되기 전에 먼저 트렐리스 부호화부(256)의 메모리를 초기화시켜야 한다.
이때 입력되는 기지 데이터 열의 시작 부분은 실제 기지 데이터가 아니라 전처리기(230) 내 그룹 포맷터에서 삽입된 초기화 데이터 위치 홀더이다. 따라서 입력되는 기지 데이터 열이 트렐리스 부호화되기 직전에 초기화 데이터를 생성하여 해당 트렐리스 메모리 초기화 데이터 위치 홀더와 치환하는 과정이 필요하다.
그리고 상기 트렐리스 메모리 초기화 데이터는 상기 트렐리스 부호화부(256)의 메모리 상태에 따라 그 값이 결정되어 생성된다. 또한 치환된 초기화 데이터에 의한 영향으로 RS 패리티를 다시 계산하여 상기 데이터 인터리버(253)에서 출력되는 RS 패리티와 치환하는 과정이 필요하다.
따라서 상기 비체계적 RS 부호기(255)에서는 상기 데이터 인터리버(253)로부터 초기화 데이터로 치환될 초기화 데이터 위치 홀더가 포함된 모바일 서비스 데이터 패킷을 입력받고, 트렐리스 부호화부(256)로부터 초기화 데이터를 입력받는다. 그리고 입력된 모바일 서비스 데이터 패킷 중 초기화 데이터 위치 홀더를 초기화 데이터로 치환하고 상기 모바일 서비스 데이터 패킷에 부가된 RS 패리티 데이터를 제거한 후 비체계적인 RS 부호화를 수행한다. 그리고 상기 비체계적 RS 부호화하여 얻은 RS 패리티를 상기 패리티 치환기(255)로 출력한다. 그러면 상기 패리티 치환기(255)는 모바일 서비스 데이터 패킷 내 데이터는 상기 데이터 인터리버(253)의 출력을 선택하고, RS 패리티는 비체계적 RS 부호기(255)의 출력을 선택하여 트렐리스 부호화부(256)로 출력한다.
한편 상기 패리티 치환기(254)는 메인 서비스 데이터 패킷이 입력되거나 또는 치환될 초기화 데이터 위치 홀더가 포함되지 않은 모바일 서비스 데이터 패킷이 입력되면 상기 데이터 인터리버(253)에서 출력되는 데이터와 RS 패리티를 선택하여 그대로 트렐리스 부호화부(256)로 출력한다.
상기 트렐리스 부호화부(256)는 바이트 단위의 데이터를 심볼 단위로 바꾸고 12-way 인터리빙하여 트렐리스 부호화한 후 동기 다중화기(260)로 출력한다.
상기 동기 다중화기(260)는 트렐리스 부호화부(256)의 출력에 필드 동기와 세그먼트 동기를 삽입하여 송신부(270)의 파일롯 삽입기(271)로 출력한다.
상기 파일롯 삽입기(271)에서 파일롯이 삽입된 데이터는 변조기(272)에서 기 설정된 변조 방식 예를 들어, VSB 방식으로 변조된 후 RF 업 컨버터(273)를 통해 각 수신 시스템으로 전송된다.
블록 처리기
도 9는 본 발명의 일 실시예에 따른 블록 처리기의 상세 블록도로서, 바이트-비트 변환기(401), 심볼 부호기(402), 심볼 인터리버(403), 및 심볼-바이트 변환기(404)를 포함할 수 있다.
상기 바이트-비트 변환기(401)는 상기 RS 프레임 부호기(112)에서 입력되는 모바일 서비스 데이터 바이트를 비트로 구분하여 심볼 부호기(402)로 출력한다.
상기 바이트-심볼 변환기(401)는 전송 파라미터 등을 담고있는 시그널 링(signaling) 정보도 입력받을 수 있으며, 이 시그널링 정보 바이트들도 비트로 구분하여 심볼 부호기(402)로 출력한다. 여기서 상기 전송 파라미터를 담고 있는 시그널링 정보는 모바일 서비스 데이터 처리 과정과 동일하게 데이터 랜더마이저(301)와 RS 프레임 부호기(302)를 거쳐 블록 처리기(303)로 입력될 수도 있고, 또는 상기 데이터 랜더마이저(301)와 RS 프레임 부호기(302)를 거치지 않고 바로 블록 처리기(303)로 입력될 수도 있다.
상기 심볼 부호기(402)는 입력되는 데이터 G비트를 H비트로 부호화하여 출력하는 G/H(여기서, G < H임) 부호기이다. 일 예로 입력 데이터 1비트를 2비트로 부호화하여 출력한다면 G=1, H=2가 되고, 입력 데이터 1비트를 4비트로 부호화하여 출력한다면 G=1, H=4가 된다.
상기 심볼 부호기(402)는 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함) 또는 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함)를 수행하는 것을 일 실시예로 설명한다. 즉, 상기 심볼 부호기(402)는 입력받은 모바일 서비스 데이터들과 시그널링 정보에 대해 1/2 부호화 또는 1/4 부호화를 수행한다. 이후 상기 심볼 부호기(402)의 부호화시, 상기 시그널링 정보도 모바일 서비스 데이터로 간주하여 설명한다.
상기 심볼 부호기(402)는 1/2 부호율을 갖는 부호기로 동작할 수도 있고, 1/4 부호율을 갖는 부호기로 동작할 수도 있다.
도 10a 내지 도 10c는 본 발명에 따른 심볼 부호기가 1/4 부호율을 갖는 부호기로 동작하는 실시예들을 보인 구성 블록도이다.
도 10a의 심볼 부호기는 1/4 외부 부호기(1/2 Outer Encoder)(411), 및 병/직렬 변환기(412)를 포함할 수 있다.
도 10a에서 상기 1/4 외부 부호기(411)는 입력되는 모바일 서비스 데이터 비트 U를 4비트 u0~u3 즉, 두 심볼로 부호화하여 병/직렬 변환기(412)로 출력한다. 상기 병/직렬 변환기(412)는 병렬로 입력되는 두 심볼을 심볼 단위의 직렬로 변환하여 두 심볼을 순차적으로 심볼 인터리버(403)로 출력한다. 즉, 상기 병/직렬 변환기(412)는 u0,u1 비트로 된 한 심볼을 심볼 인터리버(403)로 출력하고, 이어 u2,u3 비트로 된 다른 심볼을 심볼 인터리버(403)로 출력한다.
도 10b의 심볼 부호기는 1/2 외부 부호기(421), 및 병/직렬 변환기(422)를 포함할 수 있다.
도 10b에서 상기 1/2 외부 부호기(421)는 입력되는 모바일 서비스 데이터 비트 U를 2비트 u0,u1 즉, 한 심볼로 부호화하여 반복기(repeater)(422)로 출력한다. 상기 반복기(422)는 1/2 부호율로 부호화된 심볼을 한번 반복하여 심볼 인터리버(403)로 출력한다. 즉, 상기 반복기(422)는 u0,u1 비트로 된 심볼을 심볼 인터리버(403)로 출력하고, 이어 u0,u1 비트로 된 심볼을 다시 심볼 인터리버(403)로 출력한다.
도 10c의 심볼 부호기는 반복기(431), 및 1/2 외부 부호기(432)를 포함할 수 있다.
도 10c에서 상기 반복기(431)는 입력되는 모바일 서비스 데이터 비트 U를 한번 반복하여 2비트의 U,U를 1/2 외부 부호기(432)로 출력한다. 상기 1/2 외부 부호 기(432)는 상기 반복기(431)에서 출력되는 모바일 서비스 데이터 비트 U를 2비트 u0,u1 즉, 한 심볼로 부호화하여 심볼 인터리버(403)로 출력한다. 이때 동일한 모바일 서비스 데이터 비트 U가 순차적으로 두 번 입력되므로, 결국 상기 1/2 외부 부호기(432)는 상기 반복기(431)로 입력되는 모바일 서비스 데이터 비트 U에 대해 두 번 1/2 부호화를 수행하게 된다.
즉, 상기 심볼 부호기(402)에서 도 10b와 같이 1/2 부호율로 부호화된 두 심볼을 반복하여 출력하거나, 도 10c와 같이 입력 데이터 비트를 1/2 부호율로 두 번 부호화하여 출력하면 전체적인 부호율은 1/4이 된다.
이와 같이 상기 심볼 부호기(402)를 1/4 부호율을 갖는 부호기로 동작시킬 경우에는, 입력 데이터 비트를 1/4 부호율로 부호화한 후 한 심볼씩 순차적으로 출력하거나, 1/2 부호율로 부호화된 심볼을 한번 반복하여 한 심볼씩 순차적으로 출력하거나, 입력 데이터 비트를 1/2 부호율로 두 번 부호화하여 한 심볼씩 순차적으로 출력하는 방법 등이 있다.
한편, 상기 심볼 부호기(402)를 1/2 부호율을 갖는 부호기로 동작시킬 경우에는, 입력되는 데이터 비트를 1/2 외부 부호기에서 1/2 부호율로 부호화한 후 출력하면 된다.
또는 1/4 외부 부호기에서 입력되는 데이터 비트를 1/4 부호율로 부호화한 후, 부호화된 두 심볼 중 한 심볼만을 선택하여 출력하면, 상기 심볼 부호기(402)를 1/2 부호율을 갖는 부호기로 동작시킬 수 있다.
상기 1/2 부호율, 1/4 부호율은 하나의 실시예이며, 부호화된 심볼들의 선택 또는 반복하는 횟수에 따라 부호율이 달라질 수 있으므로, 본 발명은 상기된 실시예로 한정되지 않을 것이다. 이때 부호율이 작을수록 전송할 수 있는 실제 데이터 량이 작아지므로 두 요소를 고려하여 부호율을 결정한다.
도 11a는 1/2 외부 부호기의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(501,503)와 1개의 가산기(502)로 구성되어, 입력 데이터 비트 U를 부호화하여 2비트(u0,u1)로 출력한다. 이때 입력 데이터 비트 U는 상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1로 출력된다.
즉, 입력 데이터 비트 U는 그대로 상위 비트 u0로 출력됨과 동시에 가산기(502)로 출력된다. 상기 가산기(502)는 입력 데이터 비트 U와 제1 지연기(501)의 출력을 더하여 제2 지연기(503)로 출력하며, 상기 제2 지연기(502)에서 일정 시간(예를 들어 1 클럭) 지연된 데이터는 하위 비트 u1로 출력됨과 동시에 제1 지연기(501)로 피드백된다. 상기 제1 지연기(501)는 상기 제2 지연기(502)에서 피드백되는 데이터를 일정 시간(예를 들어, 1 클럭) 지연시켜 가산기(502)로 출력한다.
이때 상기 심볼 부호기(402)로 입력되는 데이터 비트 U가 1/4 부호율로 부호화될 데이터라면 u0u1 비트로 구성된 심볼을 두 번 반복하여 출력하거나, 입력 데이터 비트 U를 한번 반복하여 상기 도 11a의 1/2 외부 부호기로 입력시키면 된다.
도 11b는 1/4 외부 부호기의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(501,503)와 3개의 가산기(502,504,505)로 구성되어, 입력 데이터 비트 U를 부호화하여 4비트(u0~u3)로 출력한다. 이때 입력 데이터 비트 U는 최상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1u2u3로 출력된다.
즉, 입력 데이터 비트 U는 그대로 최상위 비트 u0로 출력됨과 동시에 제1,제3 가산기(502,505)로 출력된다. 상기 제1 가산기(502)는 입력 데이터 비트 U와 제1 지연기(501)의 출력을 더하여 제2 지연기(503)로 출력하며, 상기 제2 지연기(502)에서 일정 시간(예를 들어 1 클럭) 지연된 데이터는 하위 비트 u1로 출력됨과 동시에 제1 지연기(501)로 피드백된다. 상기 제1 지연기(501)는 상기 제2 지연기(502)에서 피드백되는 데이터를 일정 시간(예를 들어, 1 클럭) 지연시켜 제1 가산기(502)와 제 2 가산기(504)로 출력한다. 상기 제2 가산기(504)는 제1,제2 지연기(501,503)의 출력을 더하여 하위 비트 u2로 출력한다. 상기 제3 가산기(505)는 입력 데이터 비트 U와 제2 가산기(504)의 출력을 더하여 하위 비트 u3으로 출력한다.
이때 상기 1/4 외부 부호기로 입력된 데이터 비트 U가 1/2 부호율로 부호화될 데이터라면 4개의 출력 비트 u0u1u2u3 중 u0u1 비트로 한 심볼을 구성하여 출력하면 된다. 또한 1/4 부호율로 부호화될 데이터라면 병/직렬 변환기를 통해 u0u1 비트로 구성된 심볼을 출력하고, 이어 u2u3 비트로 된 또 다른 심볼을 출력하면 된다. 다른 실시예로, 입력 데이터 비트 U가 1/4 부호율로 부호화될 데이터라면 u0u1 비트로 구성된 심볼을 두 번 반복하여 출력할 수도 있다.
또 다른 실시예로, 상기 심볼 부호기(402)에서는 4개의 출력 비트 u0u1u2u3을 모두 출력하고, 후단의 심볼 인터리버(403)에서 1/2 부호율인 경우에는 4개의 출력 비트 u0u1u2u3 중 u0u1 비트로 구성된 심볼만을 선택하고, 1/4 부호율인 경우에는 u0u1 비트로 구성된 심볼과 u2u3 비트로 구성된 또 다른 심볼을 모두 선택하 도록 설계할 수도 있다. 또 다른 실시예로, 1/4 부호율인 경우에는 u0u1 비트로 구성된 심볼을 반복하여 선택하도록 할 수도 있다.
상기 심볼 부호기(402)의 출력은 심볼 인터리버(403)로 입력되고, 상기 심볼 인터리버(403)는 상기 심볼 부호기(402)의 출력 데이터에 대해 심볼 단위로 블록 인터리빙을 수행한다.
상기 심볼 인터리버(403)는 구조적으로 어떤 순서 재배열을 하는 인터리버이면 어느 인터리버라도 적용될 수 있다. 하지만, 본 발명에서는 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버를 사용하는 것을 일 실시예로 설명한다.
도 12는 본 발명에 따른 심볼 인터리버의 일 실시예를 보인 도면으로서, 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버이다.
특히 도 12은 BK=6, BL=8인 경우의 심볼 인터리버의 예를 보이고 있다. 상기 BK는 심볼 부호기(402)에서 심볼 인터리빙을 위해 출력되는 심볼들의 개수이고, BL은 심볼 인터리버(403)에서 실제로 인터리빙이 되는 심볼들의 개수이다.
본 발명의 심볼 인터리버(403)는 BL = 2n(여기서 n은 자연수)이면서 BL ≥ BK 조건을 만족하여야 한다. 만일 BK와 BL의 값이 차이가 나게 되면, 차이나는 개수(=BL-BK)만큼 널(null 또는 dummy) 심볼이 추가되어 인터리빙 패턴이 만들어진다.
그러므로 상기 BK는 인터리빙을 위해 상기 심볼 인터리버(403)로 입력되는 실제 심볼들의 블록 크기가 되고, BL은 상기 심볼 인터리버(403)에서 생성된 인터리빙 패턴에 의해 인터리빙이 이루어지는 인터리빙 단위가 된다.
도 12은 그 예를 보인 것으로서, 인터리빙하기 위해 심볼 부호기(402)에서 출력되는 심볼의 수(=BK)는 6 심볼이고, 실제 인터리빙 단위(BL)는 8 심볼이 된다. 따라서 도 12의 (a)와 같이 2 심볼이 널 심볼로 추가되어 인터리빙 패턴이 만들어진다.
하기의 수학식 2는 상기 심볼 인터리버(403)에서 순서를 재배열하고자 하는 심볼 BK개를 순서대로 입력받은 후, BL = 2n이면서 BL ≥ BK 조건을 만족하는 BL을 찾아 인터리빙 패턴을 만들어 재배열하는 과정을 수학식으로 표현한 것이다.
모든 위치 0 ≤ i ≤ BL-1 에 대해서,
P(i) = { S x i x (i+1) / 2 } mod BL
여기서 BL ≥ BK , BL = 2n이고, n, S는 자연수이다. 도 12에서 S는 89, BL은 8로 가정하고, 구현한 인터리빙 패턴 및 인터리빙 예이다.
상기 수학식 2, 도 12의 (b)와 같이 BL 심볼 단위로 BK개의 입력 심볼과 (BL-BK)개의 널 심볼의 순서를 재배열한 후 하기의 수학식 3, 도 12의 (c)와 같이 널 심볼의 위치를 제거하고 다시 정렬하며, 정렬된 순서대로 인터리빙된 심볼을 심볼-바이트 변환기(404)로 출력된다.
if P(i) > BK-1, then P(i) 위치는 제거하고 정렬
상기 심볼-바이트 변환기(404)는 상기 심볼 인터리버(403)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 바이트로 변환하여 그룹 포맷터(304)로 출력한다.
도 13a는 본 발명의 다른 실시예에 따른 블록 처리기의 상세 블록도로서, 인터리빙부(Interleaving nit)(610), 및 블록 포맷터(block formatter)(620)를 포함할 수 있다.
상기 인터리빙부(610)는 바이트-심볼 변환기(converter)(611), 심볼-바이트 변환기(612), 심볼 인터리버(613), 및 심볼-바이트 변환기(614)를 포함할 수 있다. 상기 심볼 인터리버는 블록 인터리버라 하기도 한다.
상기 인터리빙부(610)의 바이트- 심볼 변환기(611)는 상기 RS 프레임 부호기(302)에서 바이트 단위로 출력되는 모바일 서비스 데이터(X)를 심볼 단위로 변환하여 심볼-바이트 변환기(612)와 심볼 인터리버(613)로 출력한다. 즉, 상기 바이트- 심볼 변환기(611)는 입력되는 모바일 서비스 데이터 바이트(=8비트)의 2비트를 1개의 심볼로 하여 출력한다. 이는 트렐리스 부호화부(256)의 입력이 2비트로 된 심볼 단위이기 때문이다. 상기 블록 처리기(303)와 트렐리스 부호화부(256)와의 관계는 뒤에서 설명한다.
이때 상기 바이트-심볼 변환기(611)는 전송 파라미터 등을 담고 있는 시그널링(signaling) 정보도 입력받을 수 있으며, 이 시그널링 정보 바이트들도 심볼 단 위로 구분하여 심볼-바이트 변환기(612)와 심볼 인터리버(613)로 출력한다.
상기 심볼-바이트 변환기(612)는 상기 바이트-심볼 변환기(611)에서 출력되는 4개의 심볼을 모아 바이트를 구성한 후 블록 포맷터(620)로 출력한다. 이때 상기 심볼-바이트 변환기(612)와 상기 바이트-심볼 변환기(611)는 서로 역의 과정이기 때문에 두 블록의 결과는 상쇄되어 도 13b에서와 같이 입력 데이터 X가 그대로 블록 포맷터(620)로 바이패스되는 효과가 있다. 즉, 도 13b의 인터리빙부(610)는 도 13a의 인터리빙부(610)와 등가적인 구조를 가지므로, 동일한 부호를 사용한다.
상기 심볼 인터리버(613)는 상기 바이트-심볼 변환기(611)에서 출력되는 데이터에 대해 심볼 단위로 블록 인터리빙을 수행하여 심볼-바이트 변환기(614)로 출력한다.
상기 심볼 인터리버(613)는 구조적으로 순서 재배열을 하는 인터리버이면 어떠한 인터리버라도 적용될 수 있다. 본 발명에서는 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 인터리버를 사용하는 것을 일 실시예로 한다. 예를 들면, 도 13a, 도 13b에서도 도 12의 심볼 인터리버를 적용할 수 있다.
상기 심볼-바이트 변환기(614)는 상기 심볼 인터리버(613)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 모아 바이트를 구성한 후 블록 포맷터(620)로 출력한다. 즉, 상기 심볼-바이트 변환기(614)는 상기 심볼 인터리버(613)에서 출력되는 4개의 심볼을 모아 바이트를 구성한다.
상기 블록 포맷터(620)는 도 14와 같이 각 심볼-바이트 변환기(612,614)의 출력을 블록 내에서 일정 기준에 따라 배열하는 역할을 수행한다. 이때 상기 블록 포맷터(620)는 트렐리스 부호화부(256)와 관계되어 동작한다.
즉, 상기 블록 포맷터(620)는 상기 트렐리스 부호화부(256)로 입력되는 메인 서비스 데이터, 기지 데이터, RS 패리티 데이터, MPEG 헤더 데이터 등 모바일 서비스 데이터를 제외한 나머지 데이터들의 위치(또는 순서)를 고려하여 각 심볼-바이트 변환기(612,614)의 모바일 서비스 데이터 출력 순서를 결정한다.
상기 트렐리스 부호화부(256)는 일 실시예로서, 내부에 12개의 트렐리스 부호기를 구비하고 있다.
도 15는 본 발명의 일 실시예에 따른 트렐리스 부호화부(256)의 상세 블록도로서, 12개의 동일한 트렐리스 부호기가 노이즈 분산을 위해 인터리버로 결합되는 예를 보이고 있다. 상기 각 트렐리스 부호기는 프리코더(Pre coder)를 포함할 수 있다.
도 16a는 상기 블록 처리기(303)와 트렐리스 부호화부(256)가 연접(concatenation)된 모습을 도시하고 있다. 실제로 전송 시스템에서는 도 3과 같이 블록 처리기(303)를 포함하는 전처리기(230)와 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하지만, 수신 시스템에서는 두 블록이 연접된 것으로 간주하여 복호를 수행하게 된다. 이때 상기 블록 처리기(303)는 외부 부호기로 볼 수 있고, 트렐리스 부호화부(256)는 내부 부호기로 볼 수 있다.
그런데 상기 트렐리스 부호화부(256)로 입력되는 메인 서비스 데이터, 기지 데이터, RS 패리티 데이터, MPEG 헤더 데이터 등 모바일 서비스 데이터를 제외한 데이터들은 상기 블록 처리기(303)와 트렐리스 부호화부(256) 사이에 존재하는 블록들에서 부가되는 데이터들이다. 도 16b는 이러한 상황을 고려하여 상기 블록 처리기(303)와 트렐리스 부호화부(256) 사이에 데이터 처리부(650)가 배치되는 예를 보이고 있다.
여기서 상기 블록 처리기(303)의 인터리빙부(610)는 1/2 부호율로 부호화를 수행하는 경우, 도 13a(또는 도 13b)와 같이 구성할 수 있다. 상기 데이터 처리부(650)는 도 3을 예로 들 경우, 그룹 포맷터(304), 데이터 디인터리버(305), 패킷 포맷터(306), 패킷 다중화기(240), 후 처리기(250)의 데이터 랜더마이저(251), RS 부호기/비체계적 RS 부호기(252), 데이터 인터리버(253), 패리티 치환기(254), 비체계적 RS 부호기(255)를 포함할 수 있다.
이때 상기 트렐리스 부호화부(256)는 입력되는 데이터를 심볼화하여 기 정의된 방식에 따라 각각의 트렐리스 부호기로 나누어 보낸다. 이때, 한 바이트는 2비트로 구성된 4개의 심볼로 변환되고, 하나의 바이트로부터 만들어진 심볼들은 모두 같은 트렐리스 부호기로 전송된다. 그러면 각 트렐리스 부호기는 입력 심볼 중 상위 비트는 프리코딩시켜 최상위 출력 비트 C2로 출력하고, 하위 비트는 트렐리스 부호화하여 두 개의 출력 비트 C1,C0으로 출력한다.
상기 블록 포맷터(620)는 각 심볼-바이트 변환기의 출력 바이트가 서로 다른 트렐리스 부호기로 전송될 수 있도록 제어한다.
다음은 도 9 내지 도 13를 참조하여 상기 블록 포맷터(620)의 상세 동작을 설명하기로 한다.
도 13a를 예로 들 경우, 심볼-바이트 변환기(612)의 출력 바이트와 심볼-바이트 변환기(614)의 출력 바이트는 상기 블록 포맷터(620)의 제어에 의해 트렐리스 부호화부(256)의 서로 다른 트렐리스 부호기로 입력된다.
본 발명에서는 설명의 편의를 위해, 상기 심볼-바이트 변환기(612)의 출력 바이트를 X라 하고, 상기 심볼-바이트 변환기(614)의 출력 바이트를 Y라 하기로 한다. 도 14의 (a)에서 각 숫자(0~11)는 트렐리스 부호화부(256)의 1번째부터 12번째까지의 트렐리스 부호기를 각각 지시한다.
그리고 상기 블록 포맷터(620)는 상기 심볼-바이트 변환기(612)의 출력 바이트들이 트렐리스 부호화부(256)의 0번부터 5번까지의 트렐리스 부호기(0~5)로 입력되고, 상기 심볼-바이트 변환기(614)의 출력 바이트들이 6번부터 11번까지의 트렐리스 부호기(6~11)로 입력되도록, 각 심볼-바이트 변환기(612,614)의 출력 순서를 배열하는 것을 일 실시예로 한다. 여기서 상기 심볼-바이트 변환기(612)의 출력 바이트들이 할당되는 트렐리스 부호기들 및 상기 심볼-바이트 변환기(614)의 출력 바이트들이 할당되는 트렐리스 부호기들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이다.
또한 상기 블록 처리기(303)의 입력이 12바이트로 구성된 블록이라고 가정할 때, 상기 심볼-바이트 변환기(612)에서는 X0~X11까지 12바이트가 출력되고, 상기 심볼-바이트 변환기(614)에서도 Y0~Y11까지 12바이트가 출력되는 것을 일 실시예로 한다.
도 14의 (b)는 트렐리스 부호화부(256)로 입력되는 데이터의 일 실시예를 보 인 것으로서, 모바일 서비스 데이터뿐만 아니라 메인 서비스 데이터 및 RS 패리티 데이터가 트렐리스 부호화부(256)로 입력되어 각 트렐리스 부호기로 분배되는 예를 보이고 있다. 즉, 상기 블록 처리기(303)로부터 출력된 모바일 서비스 데이터가 그룹 포맷터(304)를 거치면서, 상기 모바일 서비스 데이터에 도 14의 (a)와 같이 메인 서비스 데이터, 그리고 RS 패리티 데이터가 섞인 형태로 출력된다고 할 때, 각 바이트들은 데이터 인터리빙 후의 데이터 그룹 내 위치에 따라 12개의 트렐리스 부호기로 입력된다.
여기에 앞서 언급한 원칙에 따라 심볼-바이트 변환기(612,614)의 출력 바이트들(X,Y)을 해당 트렐리스 부호기에 할당하면, 각 트렐리스 부호기의 입력은 도 14의 (b)와 같은 형태가 될 수 있다.
즉, 도 14의 (b)를 보면, 상기 심볼-바이트 변환기(612)에서 출력되는 6개의 모바일 서비스 데이터 바이트(X0~X5)는 상기 트렐리스 부호화부(256)의 1번째부터 6번째 트렐리스 부호기(0~5)에 순차적으로 할당(또는 분배)되고, 상기 심볼-바이트 변환기(614)에서 출력되는 2개의 모바일 서비스 데이터 바이트(Y0,Y1)는 7번째,8번째 트렐리스 부호기(6,7)에 순차적으로 할당된다. 그리고 5개의 메인 서비스 데이터 바이트 중 4개의 메인 서비스 데이터 바이트가 9번째부터 12번째 트렐리스 부호기(8~11)에 순차적으로 할당되고, 다음 1개의 메인 서비스 데이터 바이트가 다시 첫 번째 트렐리스 부호기(0)에 할당되는 예를 보이고 있다.
상기 도 14의 (b)와 같이 모바일 서비스 데이터, 메인 서비스 데이터, RS 패리티 데이터 등이 각 트렐리스 부호기에 할당된다고 가정하자. 그리고 전술한 바와 같이 상기 블록 처리기(303)의 입력이 12바이트로 구성된 블록이고, 상기 심볼-바이트 변환기(612)에서는 X0~X11까지 12바이트가 출력되고, 상기 심볼-바이트 변환기(614)에서도 Y0~Y11까지 12바이트가 출력된다고 가정하자. 이 경우 상기 블록 포맷터(620)는 도 14의 (c)와 같이 X0~X5,Y0,Y1,X6~X10,Y2~Y7,X11,Y8~Y11 순으로 상기 심볼-바이트 변환기(612,614)의 출력을 배열하여 출력한다.
즉, 각 데이터 바이트들이 전송 프레임 내의 어느 위치에 삽입되는가에 따라 각각 어떠한 트렐리스 부호기에서 부호화되는지가 결정된다. 이때 모바일 서비스 데이터뿐만 아니라 메인 서비스 데이터와 MPEG 헤더 데이터, RS 패리티 데이터 등도 트렐리스 부호화부(256)에 입력되므로, 상기와 같은 동작을 하기 위해서 블록 포맷터(620)는 데이터 인터리빙 이후의 데이터 그룹 포맷에 대한 정보를 알고 있다고 가정한다.
도 17은 본 발명에 따른 1/N 부호율로 부호화를 수행하는 블록 처리기의 일 실시예를 보인 구성 블록도로서, 병렬로 구성된 (N-1)개의 심볼 인터리버(741~74N-1)를 포함한다. 즉, 1/N 부호율을 갖는 블록 처리기는 원래의 입력 데이터가 그대로 블록 포맷터(730)로 전달되는 가지(branch or path)를 포함하여 총 N개의 가지를 갖는다. 그리고 각 가지의 심볼 인터리버(741~74N-1)는 서로 다른 형태의 심볼 인터리버로 구성될 수 있다. 상기 (N-1)개의 심볼 인터리버(741~74N-1)의 출력단에는 대응되는 (N-1)개의 심볼-바이트 변환기(751~75N-1)가 구성될 수 있다. 상기 (N-1)개의 심볼-바이트 변환기(751~75N-1)의 출력도 블록 포맷터(730)로 입력된다.
본 발명에서 N은 12보다 같거나 작은 것을 일 실시예로 한다.
만일 N이 12라면 상기 블록 포맷터(730)는 12번째 심볼-바이트 변환기(75N-1)의 출력 바이트는 12번째 트렐리스 부호기로 입력되도록 출력 데이터를 배열할 수 있다. 만일 N이 3이라면 상기 블록 포맷터(730)는 심볼-바이트 변환기(720)의 출력 바이트들은 트렐리스 부호화부(256)의 첫 번째부터 4번째 트렐리스 부호기로 입력되고, 심볼-바이트 변환기(751)의 출력 바이트들은 5번째부터 8번째 트렐리스 부호기로 입력되며, 심볼-바이트 변환기(752)의 출력 바이트들은 9번째부터 12번째 트렐리스 부호기로 입력되도록 제어할 수 있다.
이때 각 심볼-바이트 변환기의 출력 데이터 순서는 각 심볼-바이트 변환기에서 출력되는 모바일 서비스 데이터와 섞이게 되는 모바일 서비스 데이터 외의 데이터들의 데이터 그룹 내 위치에 따라 달라질 수 있다.
도 18은 본 발명의 또 다른 실시예에 따른 블록 처리기의 상세 블록도를 보인 것으로서, 블록 포맷터를 제거하고 블록 포맷터의 역할을 그룹 포맷터에서 수행하도록 하는 것이다. 즉, 도 18의 블록 처리기는 바이트-심볼 변환기(810), 심볼-바이트 변환기(820,840), 및 심볼 인터리버(830)를 포함할 수 있다. 이 경우 각 심볼-바이트 변환기(820,840)의 출력은 그룹 포맷터(850)로 입력된다.
또한 상기 블록 처리기는 심볼 인터리버와 심볼-바이트 변환기를 더 추가하여 원하는 부호율을 얻을 수 있다. 만일 1/N 부호율로 부호화를 원하면 원래의 입력 데이터가 그대로 그룹 포맷터(850)로 전달되는 가지(branch or path)를 포함하여 총 N개의 가지와, N-1개의 가지에 병렬로 구성되는 (N-1)개의 심볼 인터리버, 심볼-바이트 변환기를 구비하면 된다. 이때 상기 그룹 포맷터(850)는 MPEG 헤더, 비체계적 RS 패리티, 메인 서비스 데이터를 위한 위치를 확보하는 위치 홀더를 삽입하는 동시에 블록 처리기의 각 가지로부터 출력되는 바이트들을 정해진 위치에 배치한다.
본 발명에서 제시하는 트렐리스 부호기의 개수, 심볼-바이트 변환기의 개수, 심볼 인터리버의 개수들은 바람직한 실시예이거나 단순한 예시인 바, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다. 또한 트렐리스 부호화부(256)의 각 트렐리스 부호기로 할당되는 바이트 종류 및 위치는 데이터 그룹 포맷에 따라 다양하게 변화될 수 있음은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게 명백한 것이다. 따라서 본 발명은 상기된 실시예로 한정되지 않는 것으로 이해되어야 한다.
상기와 같이 블록 처리기(303)에서 1/N 부호율로 부호화되어 출력되는 모바일 서비스 데이터는 그룹 포맷터(304)로 입력된다. 여기서는 상기 블록 처리기(303)의 블록 포맷터에서 출력 데이터 순서가 데이터 그룹 내 바이트 위치에 따라 배열되어 출력되는 것을 일 실시예로 설명한다.
시그널링 정보 처리
본 발명에 따른 송신기(200)에서는 전송 파라미터를 여러 가지 방법, 및 위치에서 삽입하여 수신 시스템으로 전송할 수 있다.
본 발명의 이해를 돕기 위해 송신기에서 수신 시스템으로 전송해야 할 전송 파라미터에 대해 정의하기로 한다. 상기 전송 파라미터는 데이터 그룹 정보, 데이터 그룹 내 영역 정보, 수퍼 프레임을 구성하는 RS 프레임의 개수(Super frame size :SFS), RS 프레임에서 한 개 컬럼당 RS 패리티 개수(P), RS 프레임의 로우 방향으로 에러 유무를 판단하기 위해 추가되는 체크섬의 사용유무, 사용되는 경우 그 종류와 크기(현재는 CRC로 2바이트 추가), 한 개의 RS 프레임을 구성하는 데이터 그룹의 개수- RS 프레임은 한 개의 버스트 구간에 전송되므로 한 버스트내의 데이터 그룹 개수(Burst size : BS)와 동일하다 - 그리고 터보 코드 모드, RS 코드 모드 등이 있다. 또한 버스트 수신시 필요한 전송 파라미터로는 버스트 주기(Burst Period :BP) - 한 버스트 주기는 한 버스트의 시작부터 다음 버스트의 시작까지를 필드 개수로 카운트한 값이다.- 그리고 현재 전송되는 RS 프레임이 한 개의 수퍼 프레임 내에서 차지하는 순서(Permuted Frame Index : PFI)나 한 개의 RS 프레임(버스트) 내에서 현재 전송되고 있는 그룹의 순서(Group Index :GI), 버스트 사이즈 등이 있다. 버스트 운용방법에 따라서는 다음 버스트 시작까지 남아있는 필드 개수(Time to Next Burst :TNB)가 있으며, 이러한 정보들을 전송 파라미터로서 전송함에 의해, 수신 시스템에 전송되는 각 데이터 그룹마다 다음 버스트 시작까지의 상대적인 거리(필드 개수)를 알려줄 수도 있다.
상기 전송 파라미터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 전송 파라미터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.
제1 실시예로서, 전송 파라미터는 모바일 서비스 데이터 패킷 또는 데이터 그룹의 일정 영역을 할당하여 삽입할 수 있다. 이 경우, 수신 시스템에서는 일단 수신 신호에 대해 동기와 등화가 이루어지고 심볼 단위의 복호가 이루어지고 난 후, 패킷 디포맷터에서 모바일 서비스 데이터와 전송 파라미터를 분리해 검출할 수 있다. 상기 제1 실시예의 경우, 상기 전송 파라미터는 그룹 포맷터(304)에서 삽입하여 전송할 수 있다.
제2 실시예로서, 전송 파라미터를 다른 데이터와 다중화하여 삽입할 수도 있다. 예를 들면, 기지 데이터를 모바일 서비스 데이터와 다중화할 때, 기지 데이터를 삽입할 수 있는 위치에 기지 데이터 대신 전송 파라미터를 삽입할 수 있으며 또는 기지 데이터와 혼합하여 삽입할 수도 있다. 상기 제2 실시예의 경우, 상기 전송 파라미터는 그룹 포맷터(304) 또는 패킷 포맷터(306)에서 삽입하여 전송할 수 있다.
제3 실시예로서, 전송 파라미터는 전송 프레임의 필드 동기 세그먼트 내에 미사용 영역의 일부를 할당하여 삽입할 수도 있다. 이 경우, 수신 시스템에서는 수신 신호에 대한 심볼 단위의 복호가 이루어지기 전에 상기 전송 파라미터를 검출할 수 있기 때문에, 상기 블록 처리기(303), 그룹 포맷터(304)의 처리 방법에 대한 정보를 갖는 전송 파라미터를 상기 필드 동기 신호의 미사용 영역에 삽입할 수 있다. 즉, 상기 수신 시스템에서는 필드 동기 세그먼트를 이용하여 필드 동기를 획득한 후 약속된 위치에서 전송 파라미터를 검출할 수 있다. 상기 제3 실시예의 경우, 상기 전송 파라미터는 동기 다중화기(260)에서 삽입하여 전송할 수 있다.
제4 실시예로서, 상기 전송 파라미터는 트랜스포트 스트림(Transport Stream) 패킷보다 높은 계층(layer)에서 삽입하여 전송할 수도 있다. 이 경우, 수 신 시스템에서는 신호를 수신하여 TS 패킷 계층 이상으로 이미 만들 수 있어야 하고, 이때 전송 파라미터의 용도는 현재 수신한 신호의 전송 파라미터에 대한 검증 역할과 이 후에 수신될 신호의 전송 파라미터를 주는 역할을 수행할 수 있다.
본 발명에서는 전송 신호에 관련된 여러 가지의 전송 파라미터들을 상기된 실시예들의 방법을 통해 삽입하여 전송하는데, 이때 상기 전송 파라미터는 어느 한 실시예를 통해서만 삽입하여 전송할 수도 있고, 일부 실시예를 통해서 삽입하여 전송할 수도 있으며, 모든 실시예를 통해 삽입하여 전송할 수도 있다. 또한 전송 파라미터 내 정보는 각 실시예에서 중복되어 삽입될 수도 있고, 필요한 정보만 해당 실시예의 해당 위치에서 삽입되어 전송될 수도 있다.
그리고 상기 전송 파라미터는 강인성을 확보하기 위하여 짧은 주기의 블록 부호화를 수행한 후 해당 영역에 삽입될 수 있다. 상기 짧은 주기의 블록 부호화 방법으로는 예를 들면, 커독(Kerdock) 부호화, BCH 부호화, RS 부호화, 전송 파라미터의 반복 부호화 등이 있다. 또한, 여러 개의 블록 부호화의 조합도 가능하다.
상기 전송 파라미터들을 모아 작은 크기의 블록 부호를 만들어 데이터 그룹 내에 signaling용으로 할당해둔 바이트에 삽입하여 전송할 수 있다. 하지만 이 경우 수신 측면에서 블록 복호기를 통과하여 전송 파라미터 값이 얻어지므로 블록 복호시 필요한 터보 코드 모드, RS 코드 모드 등의 전송 파라미터는 먼저 얻어져야 한다. 이 때문에 모드에 관련된 전송 파라미터는 기지 데이터 영역의 일부 구간에 전송 파라미터를 삽입할 수 있으며, 이 경우 빠른 복호를 위해 심볼의 상관관계를 이용할 수 있다. 수신 시스템은 각 시퀀스들과 현재 수신된 시퀀스간에 상관 관계 를 보고 부호 모드와 조합 모드를 판단하게 된다.
한편 상기 전송 파라미터가 필드 동기 세그먼트 영역 또는 기지 데이터 영역에 삽입되어 전송되는 경우, 상기 전송 파라미터가 전송 채널을 거쳤을 때 그 신뢰도가 떨어지므로, 전송 파라미터에 따라 기 정의된 패턴들 중 하나를 삽입하는 것도 가능하다. 이때 수신 시스템에서는 수신된 신호와 기 정의된 패턴들과의 상관 연산을 수행하여 전송 파라미터를 인식할 수 있다.
예를 들어, 버스트 내의 그룹의 개수가 5개인 경우를 A 패턴으로 송/수신측의 약속에 의해 미리 정하였다고 가정하자. 그러면 송신측에서는 버스트 내의 그룹의 개수가 5개일 때는 A 패턴을 삽입하여 전송한다. 그리고 수신측에서는 수신 데이터와 미리 생성한 A 패턴을 포함하는 여러 기준 패턴들과의 상관 연산을 수행한다. 이때 수신 데이터와 A 패턴과의 상관값이 제일 크면 상기 수신 데이터는 전송 파라미터 특히, 버스트 내의 그룹의 개수를 나타내며 이때 그 개수는 5개라고 인식할 수 있게 된다.
다음은 전송 파라미터 삽입 및 전송하는 과정을 제1 내지 제3 실시예로 나누어 설명한다.
제1 실시예
도 19는 그룹 포맷터(304)에서 전송 파라미터를 입력받아 데이터 그룹 내 A 영역에 삽입하기 위한 본 발명의 개략도이다.
이때, 상기 그룹 포맷터(304)는 블록 처리기(303)로부터 모바일 서비스 데이터를 입력받는다. 이에 반해 전송 파라미터는 데이터 랜더마이징 과정, RS 프레임 부호화 과정, 블록 처리 과정 중 적어도 하나의 과정을 거친 후 그룹 포맷터(304)로 입력될 수도 있고, 세 과정 모두를 거치지 않고 그룹 포맷터(304)로 입력될 수도 있다. 또한 상기 전송 파라미터는 서비스 다중화기(100)에서 제공될 수도 있고, 송신기(200) 내부에서 발생하여 제공될 수도 있다.
상기 전송 파라미터는 수신 시스템에서 상기 데이터 그룹에 포함되는 데이터를 수신하여 처리하는데 필요한 정보들을 포함할 수 있다. 예를 들면, 상기 전송 파라미터는 데이터 그룹 정보, 다중화 정보 등을 포함할 수 있다.
상기 그룹 포맷터(304)에서는 데이터 그룹을 형성하는 규칙에 따라 데이터 그룹 내 해당 영역에 입력되는 모바일 서비스 데이터와 전송 파라미터를 삽입한다.
일 실시예로, 상기 전송 파라미터는 짧은 주기의 블록 부호화를 거친 후 상기 데이터 그룹 내 A 영역에 삽입될 수 있다. 특히 상기 전송 파라미터는 A 영역 중 약속된 임의의 위치에 삽입될 수 있다.
만일 상기 전송 파라미터가 블록 처리기(303)에서 블록 처리 과정을 거쳤다고 가정하면, 상기 블록 처리기(303)에서는 전송 파라미터를 담고있는 시그널링 정보도 모바일 서비스 데이터 처리 과정과 동일하게 1/2 부호화 또는 1/4 부호화를 수행한 후 그룹 포맷터(304)로 출력한다. 이후 상기 시그널링 정보도 모바일 서비스 데이터로 간주되어 처리된다.
도 20은 전송 파라미터를 입력받아 모바일 서비스 데이터와 동일한 과정으로 처리하는 블록 처리기의 일 예를 나타낸 블록도로서, 도 9의 구성 요소에 시그널링 정보 제공부(411)와 다중화기(412)가 더 추가된 예를 보이고 있다.
즉, 시그널링 정보 제공부(411)에서는 전송 파라미터를 담고있는 시그널링 정보를 다중화기(412)로 출력한다. 상기 다중화기(412)는 시그널링 정보와 RS 프레임 부호기(302)의 출력을 다중화하여 바이트-비트 변환기(401)로 출력한다.
상기 바이트-비트 변환기(401)는 다중화기(412)에서 출력되는 모바일 서비스 데이터 바이트 또는 시그널링 정보 바이트를 비트로 구분하여 심볼 부호기(402)로 출력한다.
이후의 동작은 상기된 도 9를 참조하면 되므로, 상세 설명을 생략한다.
만일, 상기 블록 처리기(303)의 상세 구성이 도 13, 도 16 내지 도 18 중 적어도 하나를 적용한다면 상기 시그널링 정보 제공부(411)와 다중화기(412)는 바이드-심볼 변환기 전단에 구비될 수 있다.
또한 상기 시그널링 정보 제공부(411)에서 제공되는 전송 파라미터가 심볼 단위라면 상기 시그널링 정보 제공부(411)와 다중화기(412)는 바이트-심볼 변환기 후단에 구비될 수 있다.
제2 실시예
한편 상기 그룹 포맷터(304)에서 기 정해진 방법에 의해서 발생된 기지 데이터를 데이터 그룹 내 해당 영역에 삽입할 경우, 기지 데이터를 삽입할 수 있는 영역의 적어도 일부에 기지 데이터 대신 전송 파라미터를 삽입할 수도 있다.
예를 들어, 데이터 그룹 내 A 영역의 시작 부분에 긴 기지 데이터 열을 삽입하는 경우, 이 중 일부에는 기지 데이터 대신 전송 파라미터를 삽입할 수도 있다. 이때 상기 전송 파라미터가 삽입되는 영역을 제외한 나머지 영역에 삽입되는 기지 데이터 열 중 일부는 수신 시스템에서 초기 반송파 주파수 획득을 위해 사용할 수 있고, 다른 일부는 수신 시스템에서 채널 등화를 위해 사용할 수 있다.
그리고 상기 기지 데이터 영역에 기지 데이터 대신 전송 파라미터를 삽입하는 경우, 전송 파라미터는 짧은 주기로 블록 부호화하여 삽입할 수도 있고, 전술한 바와 같이 전송 파라미터에 따라 기 정의된 패턴을 삽입할 수도 있다.
만일 상기 그룹 포맷터(304)에서 데이터 그룹 내 기지 데이터를 삽입할 수 있는 영역에 기지 데이터 대신 기지 데이터 위치 홀더를 삽입하는 경우, 상기 전송 파라미터는 패킷 포맷터(306)에서 삽입할 수도 있다.
즉, 상기 패킷 포맷터(306)는 상기 그룹 포맷터(304)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 기지 데이터를 대체하여 삽입할 수도 있고, 상기 그룹 포맷터(304)에서 기지 데이터를 삽입한 경우에는 그대로 출력할 수도 있다.
도 21은 상기 패킷 포맷터(306)에서 전송 파라미터를 삽입하기 위하여 패킷 포맷터를 확장한 실시예를 보인 구성 블록도로서, 상기 패킷 포맷터(306)에 기지 데이터 발생부(351)와 시그널링 다중화기(352)가 더 포함된 구조이다. 예를 들어, 상기 시그널링 다중화기(352)로 입력되는 전송 파라미터는 데이터 그룹 내 각 영역의 부호율을 지시하는 모드 정보를 포함할 수 있다. 설명의 편의를 위해 상기 각 영역의 부호율을 지시하는 모드를 SCCC(Serial Concatenated Convolution Code) 모드라 하기로 한다. 하기의 표 1은 상기 SCCC 모드의 예를 보인 것이다.
Figure 112009001789536-PAT00001
예를 들어, 상기 기지 데이터 영역에서 추출된 SCCC 모드 값이 3이면, 해당 데이터 그룹 내 A,C 영역은 1/2 부호율로 부호화되어 있고, B 영역은 1/4 부호율로 부호화되었음을 지시한다. 본 발명의 송신측에서는 상기 표 1의 각 모드 값에 해당하는 6개의 패턴을 송/수신측의 약속에 의해 발생하고, 각 데이터 그룹마다 해당 패턴을 상기 기지 데이터 영역에 삽입할 수도 있다.
이 경우 수신 시스템에서는 SCCC 모드에 따른 복호를 수행하기 전에 상기 기지 데이터 영역으로부터 SCCC 모드 정보를 얻을 수 있게 된다.
상기 시그널링 다중화기(352)는 전송 파라미터와 기지 데이터 발생부(351)에서 발생된 기지 데이터 중 하나를 선택하여 패킷 포맷터(306)로 출력한다. 상기 패킷 포맷터(306)는 상기 데이터 디인터리버(305)에서 출력되는 기지 데이터 위치 홀더에 상기 시그널링 다중화기(352)에서 출력되는 기지 데이터 또는 전송 파라미터를 삽입하여 출력한다. 즉 상기 패킷 포맷터(306)는 기지 데이터 영역의 적어도 일부에 기지 데이터 대신 전송 파라미터를 삽입하여 출력한다.
예를 들어, 데이터 그룹 내 A 영역의 첫 기지 데이터 영역에 기지 데이터 위치 홀더를 삽입한 경우, 상기 기지 데이터 위치 홀더 중 일부에 기지 데이터 대신 전송 파라미터를 삽입할 수 있다.
그리고 상기 기지 데이터 위치 홀더에 기지 데이터 대신 전송 파라미터를 삽입하는 경우, 상기 전송 파라미터는 짧은 주기로 블록 부호화하여 삽입할 수도 있고, 전송 파라미터에 따라 기 정의된 패턴을 삽입할 수도 있다.
즉, 상기 시그널링 다중화기(352)에서는 기지 데이터와 전송 파라미터(또는 전송 파라미터에 따라 정의된 패턴)를 다중화하여 새로운 기지 데이터 열을 구성한 후 패킷 포맷터(306)로 출력한다. 상기 패킷 포맷터(306)는 데이터 디인터리버(305)의 출력으로부터 메인 서비스 데이터 위치 홀더, RS 패리티 위치 홀더를 제거하고, 모바일 서비스 데이터와 MPEG 헤더, 시그널링 다중화기(352)의 출력으로 188 바이트의 모바일 서비스 데이터 패킷을 생성하여 패킷 다중화기(240)로 출력한다.
이 경우 각 데이터 그룹 내 A 영역은 각기 다른 기지 데이터 패턴을 갖게 된다. 따라서 수신 시스템에서는 기지 데이터 열 중에서 약속된 구간의 심볼만을 구분하여 전송 파라미터로 인식하게 된다.
이때 상기 기지 데이터는 전송 시스템의 설계 방식에 따라 패킷 포맷터(306)나 그룹 포맷터(304) 또는 블록 처리기(303)등 다른 위치에서 삽입될 수 있으므로, 기지 데이터를 삽입하는 블록에서 상기 기지 데이터 대신 전송 파라미터를 삽입할 수 있다.
상기 제2 실시예에서는 기지 데이터 영역 중 일부에 블록 처리기(303)의 처리 방법을 포함하는 전송 파라미터를 삽입하여 전송할 수 있다. 이 경우 전송 파라미터 심볼 자체를 위한 심볼 처리 방법과 그 위치가 정해져 있으며, 복호할 다른 데이터 심볼보다 시간적으로 먼저 송수신하도록 위치시켜야 한다. 그러면 수신 시스템에서 상기 전송 파라미터 심볼을 데이터 심볼 복호 전에 검출하여 데이터 심볼을 위한 복호에 사용할 수 있다.
제3 실시예
한편 전송 파라미터는 상기 필드 동기 세그먼트 영역에 삽입하여 전송할 수도 있다.
도 22는 전송 파라미터를 필드 동기 세그먼트 영역에 삽입하기 위해 동기 다중화기를 확장한 실시예를 보인 구성 블록도로서, 상기 동기 다중화기(260)에 시그널링 다중화기(261)가 더 포함된 구조이다.
통상 VSB 방식의 전송 프레임은 2개의 필드로 구성되고, 각 필드는 하나의 필드 동기 세그먼트와 312개의 데이터 세그먼트로 이루어진다. 각 데이터 세그먼트는 총 832 심볼로 구성된다. 이때, 한 데이터 세그먼트에서 첫 번째 4 심볼은 세그먼트 동기 부분이고, 한 필드에서 첫 번째 데이터 세그먼트는 필드 동기 부분이 된다.
하나의 필드 동기 신호는 하나의 데이터 세그먼트 길이로 이루어지며, 처음 4개의 심볼(symbol)에 데이터 세그먼트 동기 패턴이 존재하고, 그 다음에 유사 랜덤 시퀀스(Pseudo Random Sequence)인 PN 511, PN 63, PN 63, PN 63이 존재하며 그 다음 24 심볼에는 VSB 모드 관련 정보가 존재한다. 그리고 상기 VSB 모드 관련 정보가 존재하는 24 심볼 다음의 나머지 104 심볼은 미사용(Reserved)인데, 상기 미사용 영역 중 마지막 12 심볼에는 이전 세그먼트의 마지막 12 심볼 데이터를 복사하여 놓는다. 그러면 상기 필드 동기 세그먼트에서 92개 심볼이 실제적인 미사용 영역이 된다.
따라서 상기 시그널링 다중화기(261)는 전송 파라미터가 필드 동기 세그먼트의 미사용 영역에 삽입되도록 기존의 필드 동기 세그먼트 심볼과 다중화하여 동기 다중화기(260)로 출력한다. 상기 동기 다중화기(260)는 세그먼트 동기 심볼, 데이터 심볼들, 그리고 상기 시그널링 다중화기(261)에서 출력되는 새로운 필드 동기 세그먼트를 다중화하여 새로운 전송 프레임을 구성한다. 상기 전송 파라미터가 삽입된 필드 동기 세그먼트를 포함하는 전송 프레임은 송신부(270)로 입력된다.
이때, 상기 전송 파라미터를 삽입하기 위한 필드 동기 세그먼트 내의 미사용 영역은 92 심볼의 미사용 영역의 일부 또는 전체가 될 수도 있다.
상기 미사용 영역에 삽입하는 전송 파라미터는 일 예로, 메인 서비스 데이터인지 모바일 서비스 데이터인지 또는 다른 종류의 모바일 서비스 데이터인지 등을 구별하는 정보를 포함할 수 있다.
만일, 상기 블록 처리기(303)의 처리 방법에 대한 정보가 전송 파라미터의 일부로서 전송되는 경우, 수신 시스템에서 블록 처리기(303)에 해당하는 복호가 수행될 때 이 블록 처리 방법에 대한 정보를 알아야 복호가 가능하다. 그러므로 블록 처리기(303)의 처리 방법에 대한 정보는 블록 디코딩 전에 알 수 있어야 한다.
따라서 상기 제3 실시예에서와 같이 블록 처리기(303)(및/또는 그룹 포맷터(304))의 처리 방법에 대한 정보를 갖는 전송 파라미터를 상기 필드 동기 신호의 미사용 영역에 삽입하여 전송하면, 수신 시스템에서는 수신 신호에 대한 블록 디코딩이 이루어지기 전에 상기 전송 파라미터를 검출할 수 있게 된다.
수신 시스템
도 23은 본 발명에 따른 수신 시스템의 일 실시예를 보인 구성 블록도이다. 도 23의 수신 시스템에서는 전송 시스템에서 모바일 서비스 데이터 구간에 삽입하여 전송하는 기지 데이터 정보를 이용하여 반송파 동기 복원, 프레임 동기 복원 및 채널 등화 등을 수행함으로써, 수신 성능을 향상시킬 수 있다.
이를 위한 본 발명에 따른 수신 시스템은 튜너(901), 복조기(902), 등화기(903), 기지 데이터 검출기(904), 블록 복호기(905), 데이터 디포맷터(906), RS 프레임 복호기(907), 데이터 디랜더마이저(908)를 포함할 수 있다. 또한 수신 시스템은 데이터 디인터리버(909), RS 복호기(910), 및 데이터 디랜더마이저(911)를 더 포함할 수 있다. 본 발명은 설명의 편의를 위해 데이터 디포맷터(906), RS 프레임 복호기(907), 및 디랜더마이저(908)를 모바일 서비스 데이터 처리부라 하고, 데이터 디인터리버(909), RS 복호기(910), 및 데이터 디랜더마이저(911)를 메인 서비스 데이터 처리부라 하기로 한다.
즉, 상기 튜너(901)는 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조기(902)와 기지 데이터 검출기(904)로 출력한다.
상기 복조기(902)는 입력되는 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 만든 후 등화기(903)와 기지 데이터 검출기(904)로 출력한다.
상기 등화기(903)는 상기 복조된 신호에 포함된 채널 상의 왜곡을 보상한 후 블록 복호기(905)로 출력한다.
이때 상기 기지 데이터 검출기(904)는 상기 복조기(902)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 이루어진 후의 데이터로부터 송신측에서 삽입한 기지 데이터 위치를 검출하고 위치 정보와 함께 그 위치에서 발생시킨 기지 데이터의 심볼 열(sequence)을 복조기(902)와 등화기(903)로 출력한다. 또한 상기 기지 데이터 검출기(904)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 상기 블록 복호기(905)에 의해서 구분할 수 있도록 하기 위한 정보를 상기 블록 복호기(905)로 출력한다. 그리고 도 23의 도면에서 연결 상태를 도시하지는 않았지만 상기 기지 데이터 검출기(904)에서 검출된 정보는 수신 시스템에 전반적으로 사용이 가능하며, 데이터 디포맷터(906)와 RS 프레임 복호기(907) 등에서 사용할 수도 있다.
상기 복조기(902)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 심볼열을 이용함으로써, 복조 성능을 향상시킬 수 있고, 등화기(903)에서도 마찬가지로 상기 기지 데이터를 사용하여 등화 성능을 향상시킬 수 있다. 또한 상기 블록 복호기(905)의 복호 결과를 상기 등화기(903)로 피드백하여 등화 성능을 향상시킬 수도 있다.
상기 등화기(903)는 다양한 방법으로 채널 등화를 수행할 수 있는데, 본 발명에서는 필드 동기 구간 및 기지 데이터 구간에서 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행하는 것을 일 실시예로 설명한다.
특히 본 발명에서는 전송 시스템에서 계층화되어 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 것을 일 실시예로 설명한다. 또한 본 발명은 송/수신측의 약속에 의해 위치와 내용을 알고 있는 기지 데이터와 필드 동기를 이용하여 CIR을 추정함으로써, 채널 등화를 더욱 안정적으로 수행하도록 하는데 있다.
이때 등화를 위해 입력된 하나의 데이터 그룹은 도 6a와 같이, A 내지 C 영역으로 구분되고, 다시 A 영역은 A1~A5 영역으로, B 영역은 B1,B2 영역으로, C1 영역은 C1~C3 영역으로 구분되어 있는 것을 일 실시예로 한다.
도 6a와 같은 데이터 구조에서 필드 동기로부터 추정되는 CIR을 CIR_FS 라고 하고, A 영역에 존재하는 다섯 개의 기지 데이터 열(sequence)로부터 추정되는 CIR을 순서대로 CIR_N0, CIR_N1, CIR_N2, CIR_N3, CIR_N4 라고 하자.
본 발명은 상기 필드 동기와 기지 데이터 열로부터 추정된 CIR을 이용하여 데이터 그룹 내 데이터에 대해 채널 등화를 수행하는데, 이때 데이터 그룹의 각 영역의 특징에 따라 상기 추정된 CIR들 중 하나를 그대로 사용하기도 하고, 적어도 복수개 이상의 CIR을 보간(interpolation)하거나, 외삽(extrapolation)하여 생성된 CIR을 사용하기도 한다.
여기서 보간(interpolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 어떤 시점에서의 함수값을 추정하는 것을 의미하며, 상기 보간의 가장 간단한 예로 선형 보간(Linear Interpolation)이 있다. 상기 선형 보간 기법은 수많은 보간 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다.
또한 외삽(extrapolation)은 어떤 함수 F(x)에 대해 시점 Q에서의 함수값 F(Q)와 시점 S에서의 함수값 F(S)를 알고 있을 때 Q와 S 사이의 구간이 아닌 바깥쪽의 시점에서의 함수값을 추정하는 것을 의미한다. 상기 외삽의 가장 간단한 예로 선형 외삽(Linear Extrapolation)이 있다. 상기 선형 외삽 기법은 수많은 외삽 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 외삽 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다.
즉, 상기 C1 영역의 경우, 이전 데이터 그룹에서 추정한 CIR_N4, 채널 등화를 수행할 현재 데이터 그룹에서 추정한 CIR_FS, 또는 현재 데이터 그룹의 CIR_FS와 CIR_N0를 외삽하여 생성한 CIR 중 하나를 사용하여 채널 등화를 수행할 수 있다.
상기 B1 영역의 경우, C1 영역과 같이 여러 가지 방법이 적용 가능하다. 일 실시예로, 현재 데이터 그룹에서 추정한 CIR_FS와 CIR_N0를 선형 외삽(extrapolation)하여 생성한 CIR을 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_FS를 사용하여 채널 등화를 수행할 수도 있다.
상기 A1 영역의 경우, 현재 데이터 그룹에서 추정한 CIR_FS와 CIR_N0를 보간하여 생성한 CIR를 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_FS와 CIR_N0 중 어느 하나를 이용하여 채널 등화를 수행할 수도 있다.
상기 A2~A5 영역의 경우, 현재 데이터 그룹에서 추정한 CIR_N(i-1)과 CIR_N(i)를 보간하여 생성한 CIR을 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_N(i-1)과 CIR_N(i) 중 어느 하나를 이용하여 채널 등화를 수행할 수도 있다.
상기 B2,C2,C3 영역의 경우, 현재 데이터 그룹에서 추정한 CIR_N3와 CIR_N4를 외삽하여 생성한 CIR을 사용하여 채널 등화를 수행할 수 있다. 또는 현재 데이터 그룹에서 추정한 CIR_N4를 사용하여 채널 등화를 수행할 수도 있다.
이렇게 함으로써, 상기 데이터 그룹에 삽입된 데이터에 대해 채널 등화시에 최적의 성능을 얻을 수가 있다.
지금까지 본 발명에서 설명한 데이터 그룹 내 각 영역에서 채널 등화를 위해 CIR을 구하는 방법들은 본 발명의 이해를 돕기 위한 실시예들이며, 이러한 방법들은 보다 넓고 다양하게 응용될 수 있으므로 본 발명은 상기 실시예로 제시한 것에 제한되지 않을 것이다.
한편 상기 등화기(903)에서 채널 등화된 후 블록 복호기(905)로 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터(예를 들어, RS 프레임 내 데이터, 시그널링 정보 데이터)이면 송신측의 역으로 트렐리스 복호 및 블록 복호가 수행되고, 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터(예를 들어, 메인 서비스 데이터)이면 트렐리스 복호만 수행된다.
상기 블록 복호기(905)에서 트렐리스 복호 및 블록 복호된 데이터는 데이터 디포맷터(906)로 출력된다. 즉, 상기 블록 복호기(905)는 데이터 그룹 내 데이터들 중 기지 데이터, 트렐리스 초기화 데이터, MPEG 헤더 그리고 전송 시스템의 RS 부호기/비체계적 RS 부호기 또는 비체계적 RS 부호기에서 부가된 RS 패리티 데이터들을 제거하고 데이터 디포맷터(906)로 출력한다. 여기서 데이터 제거는 블록 복호전에 이루어질 수도 있고, 블록 복호 중이나 블록 복호 후에 이루어질 수도 있다. 만일 송신측에서 시그널링 정보를 데이터 그룹에 포함하여 전송한다면, 상기 시그널링 정보는 데이터 디포맷터(906)로 출력된다.
한편 상기 블록 복호기(905)에서 트렐리스 복호된 데이터는 데이터 디인터리버(909)로 출력된다. 이때 상기 블록 복호기(905)에서 트렐리스 복호되어 데이터 디인터리버(909)로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, RS 프레임 내 데이터, 시그널링 정보도 포함될 수 있다. 또한 송신측에서 전처리기(230) 이후에 부가되는 RS 패리티 데이터도 상기 데이터 디인터리버(909)로 출력되는 데이터에 포함될 수 있다.
다른 실시예로, 송신측에서 블록 부호화는 수행되지 않고, 트렐리스 부호화만 수행된 데이터는 상기 블록 복호기(905)에서 그대로 바이패스되어 데이터 디인터리버(909)로 출력될 수도 있다. 이 경우 상기 데이터 디인터리버(909) 전단에 트렐리스 복호기를 구비하여야 한다.
상기 블록 복호기(905)는 입력되는 데이터가 송신측에서 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터라면, 입력 데이터에 대해 비터비 복호를 수행하여 하드 판정값을 출력하거나, 또는 소프트 판정값을 하드 판정하고 그 결과를 출력할 수도 있다.
상기 블록 복호기(905)는 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터라면, 입력 데이터에 대하여 소프트 판정값을 출력한다.
즉, 상기 블록 복호기(905)는 입력되는 데이터가 송신측에서 블록 처리기(303)에서 블록 부호화가 수행되고, 트렐리스 부호화부(256)에서 트렐리스 부호화가 수행된 데이터라면, 송신측의 역으로 트렐리스 복호와 블록 복호를 수행한다. 이때 송신측의 블록 처리기는 외부 부호기로 볼 수 있고, 트렐리스 부호화부는 내부 부호기로 볼 수 있다.
이러한 연접 부호의 복호시에 외부 부호의 복호 성능을 최대한 발휘하기 위해서는 내부 부호의 복호기에서 소프트 판정값을 출력하는 것이 좋다.
도 24는 본 발명에 따른 블록 복호기(905)의 일 실시예를 보인 상세 블록도로서, 피드백 제어기(1010), 입력 버퍼(1011), 트렐리스 복호부(1012), 심볼-바이트 변환기(1013), 외부 블록 추출기(Outer Block Extractor)(1014), 피드백 디포맷터(1015), 심볼 디인터리버(1016), 외부 심볼 매퍼(Outer Symbol Mapper)(1017), 심볼 복호기(1018), 내부 심볼 매퍼(Inner Symbol Mapper)(1019), 심볼 인터리버(1020), 피드백 포맷터(1021), 출력 버퍼(1022)를 포함할 수 있다. 송신측과 마찬가지로, 상기 트렐리스 복호부(1012)는 내부 복호기로 볼 수 있고, 심볼 복호기(1018)는 외부 복호기로 볼 수 있다.
상기 입력 버퍼(1011)는 등화기(903)에서 채널 등화되어 출력되는 모바일 서비스 데이터 심볼(시그널링 정보에 해당하는 심볼, RS 프레임 부호화시 부가된 RS 패리티 데이터, CRC 데이터 심볼들을 포함)들을 일시 저장하며, 저장된 심볼들을 터보 복호를 위한 터보 블록 크기(TBL)로 트렐리스 복호부(1012)에 M번 반복 출력한다.
여기서 상기 입력 버퍼(1011)의 크기는 터보 복호를 위한 블록 크기(TBL)보다 크거나 같다. 상기 터보 블록 크기(TBL)는 블록 처리기 내의 심볼 인터리버의 블록 길이(BK)보다 크거나 같다. 즉, 블록 부호화를 수행하지 않은 심볼들만으로 구성된 입력 데이터는 입력 버퍼(1011)를 바이패스하므로 제한이 없다. 이에 반해, 블록 부호화가 수행된 심볼들이 포함된 입력 데이터는 입력 버퍼(1011)에 저장되며, 이때 입력 데이터는 심볼 인터리버로 입력되는 블록 길이(K)만큼의 심볼들을 포함하여야 하므로, 상기 TBL의 길이는 BK보다 크거나 같다. 상기 M은 피드백 제어기(1010)에서 미리 정한 터보 복호의 반복 횟수이다. 즉, 상기 입력 버퍼(1011)는 적어도 터보 복호를 위한 블록 크기(TBL)에 해당하는 모바일 서비스 데이터 심볼을 저장하며, 상기 터보 복호를 위한 블록 크기(TBL)의 모바일 서비스 데이터 심볼들은 터보 복호 과정이 진행되는 동안 순환 횟수만큼 반복적으로 트렐리스 복호부(1012)로 출력된다.
또한 상기 입력 버퍼(1011)는 등화기(903)에서 채널 등화되어 출력되는 심볼이 모바일 서비스 데이터 심볼(시그널링 정보에 해당하는 심볼, RS 프레임 부호화시 부가된 RS 패리티 데이터, CRC 데이터 심볼들을 포함)이 아니면 저장 및 반복 출력하지 않고 바로 트렐리스 복호부(1012)로 출력한다.
상기 입력 버퍼(1011)의 저장, 반복, 및 출력은 피드백 제어기(1010)의 제어에 의해 이루어진다.
상기 트렐리스 복호부(1012)는 상기 도 15의 12-way 트렐리스 부호기와 대응하기 위해서 12-way TCM(Trellis Coded Modulation) 복호기를 포함한다. 그리고 상기 12-way 트렐리스 부호기의 역과정으로 입력 심볼에 대해 12-way 트렐리스 복호를 수행한다.
즉, 상기 트렐리스 복호부(1012)는 입력 버퍼(1011)의 출력 심볼과 피드백 포맷터(1021)의 소프트 판정값(soft-decision value)을 각각 TBL만큼 입력받아 각 심볼의 TCM 복호를 수행한다.
이때, 상기 피드백 포맷터(1021)에서 출력되는 소프트 판정값들은 상기 피드백 제어기(1010)의 제어에 의해 상기 입력 버퍼(1011)에서 출력되는 TBL만큼의 모바일 서비스 데이터 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(1012)로 입력된다. 즉, 상기 입력 버퍼(1011)에서 출력되는 모바일 서비스 데이터와 터보 복호되어 입력되는 데이터는 해당 터보 블록 내 같은 위치끼리 매칭되어 트렐리스 복호부(1012)로 출력된다. 예를 들어, 상기 터보 복호된 데이터가 터보 블록 내 세 번째 심볼이라면 상기 입력 버퍼(1011)에서 출력되는 터보 블록 내 세 번째 심볼과 매칭되어 트렐리스 복호부(1012)로 출력된다.
이를 위해 상기 피드백 제어기(1010)는 회귀적인 터보 복호가 이루어지는 동안 상기 입력 버퍼(1011)에서 해당 터보 블록 데이터를 저장하도록 제어하며, 지연 등을 통해 심볼 인터리버(1020)의 출력 심볼의 소프트 판정값(예를 들어, LLR)과 상기 출력 심볼의 블록 내 같은 위치에 해당하는 입력 버퍼(1011)의 심볼이 일대일 매칭되어 해당 경로(way)의 TCM 복호기로 입력될 수 있도록 제어한다.
이러한 과정이 터보 복호의 기 설정된 반복 횟수동안 진행되고 나면, 다음 터보 블록의 데이터가 입력 버퍼(1011)로부터 출력되어 상기 터보 복호 과정을 반복한다.
상기 트렐리스 복호부(1012)의 출력은 각 심볼을 구성하는 전송 비트의 신뢰도를 의미한다. 예를 들어 송신측의 트렐리스 부호화부(256)의 입력은 두 비트가 한 심볼이므로 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(Log Likelihood Ratio ; LLR)를 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)할 수 있다. 상기 LLR(Log Likelihood Ratio)이란 입력 비트가 1일 확률값과 0일 확률값의 비율에 대한 로그값을 의미한다. 또는 2비트 즉, 한 심볼이 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 4개의 조합(00,01,10,11)에 대해 모두 출력(심볼단위 출력)할 수 있다. 이것은 결국 각 심볼의 전송 비트들의 신뢰도를 나타내는 소프트 판정값이다. 상기 트렐리스 복호부(1012) 내 각 TCM 복호기의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.
상기 트렐리스 복호부(1012)의 출력은 심볼-바이트 변환기(1013)와 외부 블록 추출기(1014)로 출력된다.
상기 심볼-바이트 변환기(1013)는 상기 트렐리스 복호부(1012)에서 트렐리스 복호되어 출력되는 소프트 판정값을 하드 판정(hard-decision)한 후 4 심볼을 하나의 바이트 단위로 묶어 데이터 디인터리버(909)로 출력한다. 즉, 상기 심볼-바이트 변환기(1013)는 트렐리스 복호부(1012)의 출력 심볼의 소프트 판정값에 대해 비트 단위의 하드 판정을 수행한다. 그러므로 상기 심볼-바이트 변환기(1013)에서 하드 판정되어 바이트 단위로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, RS 패리티 데이터, MPEG 헤더 등이 포함된다.
상기 외부 블록 추출기(1014)는 상기 트렐리스 복호부(1012)의 소프트 판정값들 중 모바일 서비스 데이터 심볼(시그널링 정보에 해당하는 심볼, RS 프레임 부호화시 부가된 RS 패리티 데이터, CRC 데이터 심볼들을 포함)에 해당하는 소프트 판정값들을 구분하여 피드백 디포맷터(1015)로 출력한다.
상기 피드백 디포맷터(1015)는 송신측의 블록 처리기(303)의 출력 심볼이 트렐리스 부호화부(256)로 입력되는 중간 과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 패킷 다중화기, RS 부호기, 데이터 인터리버)에서 발생하는 모바일 서비스 데이터 심볼의 처리 순서 변화의 역과정으로 모바일 서비스 데이터 심볼의 소프트 판정 값의 처리 순서를 변경한 후 심볼 디인터리버(1016)로 출력한다.
상기 심볼 디인터리버(1016)는 상기 피드백 디포맷터(1015)에서 순서가 변경되어 출력되는 모바일 서비스 데이터 심볼들에 대해 송신측의 심볼 인터리버(403)의 심볼 인터리빙의 역과정으로 디인터리빙을 수행한다. 상기 심볼 디인터리버(1016)에서 디인터리빙시 사용되는 블록의 크기는 송신측의 심볼 인터리버(도 12 참조)의 실제 심볼의 인터리빙 크기(즉, BK)와 동일하며 이것은 터보 복호가 트렐리스 복호부(1012)와 심볼 복호기(1018) 간에 이루어지기 때문이다.
상기 심볼 디인터리버(1016)의 입력과 출력은 모두 소프트 판정값이며, 상기 디인터리빙된 소프트 판정값은 외부 심볼 매퍼(1017)로 출력된다.
상기 외부 심볼 매퍼(1017)는 송신측의 심볼 부호기(402)의 구성 및 부호율에 따라 그 동작이 달라질 수 있다. 예를 들어, 상기 심볼 부호기(402)에서 1/2 부호화되어 전송된 데이터라면 상기 외부 심볼 매퍼(1017)는 입력 데이터를 그대로 심볼 복호기(1018)로 출력한다. 다른 예로, 상기 심볼 부호기(402)에서 1/4 부호화되어 전송된 데이터라면 심볼 복호기(1018)의 입력 형식에 맞게 입력 데이터를 변환하여 심볼 복호기(1018)로 출력한다.
상기 심볼 복호기(1018, 즉 외부 복호기)는 외부 심볼 매퍼(1017)의 출력을 입력받아 송신측의 심볼 부호기(402)의 역과정으로 심볼 복호를 수행한다. 이때 상기 심볼 복호기(1018)에서는 2가지 소프트 판정값이 출력된다. 하나는 심볼 부호기(402)의 출력 심볼과 매칭되는 소프트 판정 값(이하, 제1 소프트 판정값이라 함)이고 다른 하나는 심볼 부호기(402)의 입력 비트와 매칭되는 소프트 판정 값(이하, 제2 소프트 판정값이라 함)이다. 상기 제1 소프트 판정값은 심볼 부호기(402)의 출력 심볼 즉, 두 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)를 심볼을 구성하는 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)하거나, 2비트가 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 모든 조합에 대해 출력(심볼단위 출력)할 수 있다. 상기 제1 소프트 판정값은 내부 심볼 매퍼(1019)와 심볼 인터리버(1020), 및 피드백 포맷터(1021)를 통해 트렐리스 복호부(1012)로 피드백된다. 상기 제2 소프트 판정값은 송신측의 심볼 부호기(402)의 입력 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)로 표현되어 외부 버퍼(1022)로 출력된다. 상기 심볼 복호기(1018)의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.
상기 심볼 복호기(1018)에서 출력되는 제1 소프트 판정값은 내부 심볼 매퍼(1019)로 입력된다. 상기 내부 심볼 매퍼(1019)는 제1 소프트 판정값을 트렐리스 복호부(1012)의 입력 형식에 맞게 변환하여 심볼 인터리버(1020)로 출력한다. 상기 내부 심볼 매퍼(1019)도 송신측의 심볼 부호기(402)의 구조 및 부호율에 따라 그 동작이 달라질 수 있다.
다음은 송신측의 심볼 부호기(402)가 1/4 부호기로 동작할 때, 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 상세 동작을 도 10a 내지 도 10c를 참조하여 설명하기로 한다.
일 실시예로, 심볼 부호기가 도 10a와 같이 구성되어, 1/4 외부 부호기(411)에서 하나의 비트(U)에 대해 부호화하여 4개의 비트(u0,u1,u2,u3)를 출력하고, 병/직렬 변환기(412)를 통해 4비트 즉, 2 심볼을 다시 한 심볼씩 2번 전송한다고 하자. 설명의 편의를 위해 먼저 출력되는 심볼을 홀수 심볼이라 하고, 두 번째 출력되는 심볼을 짝수 심볼이라 하기로 한다.
이때 상기 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 입/출력 단위가 심볼 단위라면, 상기 외부 심볼 매퍼(1017)에서 심볼 단위로 출력할 소프트 판정값은 16가지(24 = 16)이다. 상기 외부 심볼 매퍼(1017)에서 출력할 16가지(24 = 16)의 소프트 판정값들 중 예를 들어, s=(1, 0, 0, 1)의 소프트 판정값은 입력된 홀수 심볼 m0=(1, 0)의 소프트 판정값과 짝수 심볼 m1=(0, 1)의 소프트 판정값을 합하여 계산되고, 이 값은 심볼 복호기(1018)로 입력된다.
그리고 상기 내부 심볼 매퍼(1019)에서 심볼 단위로 출력할 소프트 판정값은 4가지((22 = 4)이다. 상기 내부 심볼 매퍼(1019)의 4가지 출력 중에서 예를 들어, 홀수 심볼 m0=(1, 1)의 소프트 판정값은 심볼 복호기(1018)의 출력 심볼들 s=(1, 1, X, X)의 소프트 판정값 중 가장 큰 값을 취하여 구해진다. 그리고 짝수 심볼 m0=(0, 0)의 소프트 판정값은 심볼 복호기(1018)의 출력 심볼들 s=(X, X, 0, 0)의 소프트 판정값 중 가장 큰 값을 취하여 구해진다. 여기에서 'X'는 1, 0 중에서 임의의 하나이다. 상기 내부 심볼 매퍼(1019)의 출력은 심볼 인터리버(1020)로 제공된다.
한편 상기 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 입/출력 단위가 비트 단위라면, 상기 외부 심볼 매퍼(1017)에서 비트 단위로 출력할 소프트 판정값은 4가지이다.
즉, 상기 외부 심볼 매퍼(1017)에서는 2개의 홀수 입력 비트의 소프트 판정값(즉, 홀수 입력 심볼을 구성하는 상위비트와 하위비트에 대한 각각의 소프트 판정값)과 2개의 짝수 입력 비트의 소프트 판정값(즉, 짝수 입력 심볼을 구성하는 상위비트와 하위비트에 대한 각각의 소프트 판정값)을 심볼 복호기(1018)로 동시에 출력한다. 그리고 상기 내부 심볼 매퍼(1019)에서도 상기 심볼 복호기(1018)에서 제공받는 4개의 입력에 대해, 2개의 홀수 출력 비트의 소프트 판정값(즉, 심볼 복호기(1018)의 홀수 출력 심볼을 구성하는 상위비트와 하위비트에 대한 각각의 소프트 판정값)과 2개의 짝수 출력 비트의 소프트 판정값(즉, 심볼 복호기(1018)의 짝수 출력 심볼을 구성하는 상위비트와 하위비트에 대한 각각의 소프트 판정값)을 구분하여 심볼 인터리버(1020)로 출력한다.
즉, 도 10a와 같이 심볼 부호화가 이루어진 경우, 16가지 심볼에 대한 LLR을 입력받아 심볼 복호 후 16가지 심볼에 대한 LLR을 제1 소프트 판정값으로 출력할 수 있다. 또는 4 비트에 대한 LLR을 입력받아 심볼 복호 후 4 비트에 대한 LLR을 제1 소프트 판정값으로 출력할 수 있다.
다른 실시예로, 심볼 부호기가 도 10b와 같이 구성되어, 1/2 외부 부호기(421)에서 하나의 비트(U)에 대해 부호화하여 2개의 비트(u0,u1)를 출력하고, 반복기(422)를 통해 한번 반복하여 2비트 즉, 한 심볼을 2번 전송한다고 하자. 설명의 편의를 위해 먼저 출력되는 심볼을 홀수 심볼이라 하고, 두 번째 출력되는 심볼을 짝수 심볼이라 하기로 한다.
이때 상기 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 입/출력 단위가 심볼 단위라면, 상기 외부 심볼 매퍼(1017)에서 심볼 단위로 출력할 소프트 판정값은 4가지(22 = 4)이다. 상기 4가지 소프트 판정값들 중 예를 들어 s=(1, 0)의 소프트 판정값은 입력된 홀수 심볼 m0=(1, 0)의 소프트 판정값과 짝수 심볼 m1=(1, 0)의 소프트 판정값을 합하여 계산되고, 이 값은 심볼 복호기(1018)로 제공된다. 상기 내부 심볼 매퍼(1019)에서 출력할 소프트 판정값도 4가지(22 = 4)이며, 상기 4가지 소프트 판정값들 중에서, 예를 들어 홀수 심볼 m0=(1, 1)과 짝수 심볼 m1=(1, 1)의 소프트 판정값은 심볼 복호기(1018)의 입력 심볼 s=(1, 1)의 소프트 판정값이 되며, 이 소프트 판정값은 심볼 인터리버(1020)로 출력된다.
한편 상기 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 입/출력 단위가 비트 단위라면, 상기 외부 심볼 매퍼(1017)에서 출력할 소프트 판정값은 2개 즉, 상위비트와 하위비트에 대한 각각의 소프트 판정값이다. 상기 상위 비트에 대한 소프트 판정값은 홀수 입력의 상위 비트에 대한 소프트 판정값과 짝수 입력의 상위 비트에 대한 소프트 판정값을 합하여 구해진다. 또한 상기 하위 비트에 대한 소프트 판정값은 홀수 입력의 하위 비트에 대한 소프트 판정값과 짝수 입력의 하위 비트에 대한 소프트 판정값을 합하여 구해진다.
상기 내부 심볼 매퍼(1019)에서는 심볼 복호기(1018)에서 상위비트에 대한 소프트 판정값과 하위비트에 대한 소프트 판정값을 입력받아 2개의 홀수 출력 비트의 소프트 판정값(즉, 심볼 복호기(1018)에서 출력되는 상위비트와 하위비트에 대한 각각의 소프트 판정값)으로 출력하고, 상기 2개의 홀수 출력 비트의 소프트 판정값을 반복하여 2개의 짝수 출력 비트의 소프트 판정값으로 출력한다.
또 다른 실시예로, 심볼 부호기가 도 10c와 같이 구성되어, 반복기(431)에서는 입력 비트를 한번 반복하고, 1/2 외부 부호기(432)에서는 반복되어 입력되는 각 비트에 대해 1/2 부호화하여 2개의 비트(u0,u1) 즉, 한 심볼을 2번 전송한다고 하자. 이 경우는 상기 심볼 부호기에서 한 개의 비트에 대해 반복하여 1/2 부호화하는 경우이다. 설명의 편의를 위해 먼저 출력되는 심볼을 홀수 심볼이라 하고, 두 번째 출력되는 심볼을 짝수 심볼이라 하기로 한다.
이때 상기 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 입/출력 단위가 심볼 단위라면, 상기 외부 심볼 매퍼(1017)는 심볼 디인터리버(1016)의 출력을 그대로 심볼 복호기(1018)로 전달하고, 내부 심볼 버퍼(1019)는 심볼 복호기(1018)의 출력을 그대로 심볼 디인터리버(1020)로 전달한다.
또한 상기 외부 심볼 매퍼(1017)와 내부 심볼 매퍼(1019)의 입/출력 단위가 비트 단위인 경우에도, 상기 외부 심볼 매퍼(1017)는 심볼 디인터리버(1016)의 출력을 그대로 심볼 복호기(1018)로 전달하고, 내부 심볼 버퍼(1019)는 심볼 복호기(1018)의 출력을 그대로 심볼 디인터리버(1020)로 전달한다. 상기 도 10c의 경우는 1/2 외부 부호기(432)의 입력이 반복기(431)에 의해 반복되었으므로, 블록 복호기의 출력에서 두 심볼에 대한 소프트 판정값을 한개로 판단해서 출력해야 한다.
즉, 도 10b, 도 10c와 같이 심볼 부호화가 이루어진 경우, 4가지 심볼에 대한 LLR을 입력받아 심볼 복호 후 4가지 심볼에 대한 LLR을 제1 소프트 판정값으로 출력할 수 있다. 또는 2 비트에 대한 LLR을 입력받아 심볼 복호 후 2 비트에 대한 LLR을 제1 소프트 판정값으로 출력할 수 있다.
상기 심볼 인터리버(1020)는 상기 내부 심볼 매퍼(1019)에서 출력되는 제1 소프트 판정값에 대해 도 12와 같이 심볼 인터리빙하여 피드백 포맷터(1021)로 출력한다. 상기 심볼 인터리버(1020)의 출력도 소프트 판정값이 된다.
상기 피드백 포맷터(1021)는 송신측의 블록 처리기(303)의 출력 심볼이 트렐리스 부호화부(256)에 입력되는 중간과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 패킷 다중화기, RS 부호기, 데이터 인터리버)에서 발생하는 심볼의 처리 순서 변화에 맞춰 상기 심볼 인터리버(1020)의 출력 값들의 순서를 변경한 후 트렐리스 부호화부(1012)로 출력한다. 상기 심볼 인터리버(1020)에서 출력되는 소프트 판정 값들은 입력 버퍼(1011)에서 출력되는 TBL만큼의 모바일 서비스 데이터 심볼 위치와 일대일로 매칭되어 트렐리스 부호화부(1012)로 입력된다. 이때 메인 서비스 데이터 심볼이나 메인 서비스 데이터의 RS 패리티 심볼, 기지 데이터 심볼 등은 모바일 서비스 데이터 심볼이 아니므로, 상기 피드백 포맷터(1021)는 해당 위치에 널 데이터를 삽입하여 트렐리스 부호화부(1012)로 출력한다. 또한 상기 TBL 크기의 심볼들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 심볼 인터리버(1020)로 부터 피트백되는 값이 없으므로, 상기 피드백 포맷터(1021)는 피드백 제어기(1010)의 제어를 받아 모바일 서비스 데이터 심볼을 포함한 모든 심볼 위치에 널 데이터를 삽입하여 트렐리스 복호부(1012)로 출력한다.
상기 출력 버퍼(1022)는 피드백 제어기(1010)의 제어에 따라 상기 심볼 복호기(1018)에서 제2 소프트 판정값을 입력받아 일시 저장한 후 데이터 디포맷터(906)로 출력한다. 일 예로, 상기 출력 버퍼(1022)는 M번의 터보 복호가 수행될 때까지 상기 심볼 복호기(1018)의 제2 소프트 판정값을 오버라이트하고 있다가, 하나의 TBL에 대해 M번의 터보 복호가 모두 수행되면, 그때의 제2 소프트 판정값을 데이터 디포맷터(906)로 출력한다.
상기 피드백 제어기(1010)는 도 24와 같은 블록 복호기 전체의 터보 복호 및 터보 복호 반복 횟수를 제어한다.
즉, 기 설정된 반복 횟수동안 터보 복호가 이루어지고 나면, 심볼 복호기(1018)의 제2 소프트 판정값은 출력 버퍼(1022)를 통해 데이터 디포맷터(906)로 출력되고, 한 터보 블록에 대한 블록 복호 과정이 완료된다. 이를 본 발명에서는 설명의 편의를 위해 회귀적인 터보 복호 과정이라 한다.
이때 상기 트렐리스 복호부(1012)와 심볼 복호기(1018) 사이의 회귀적인 터보 복호 횟수는 하드웨어 복잡도와 에러정정 성능을 고려하여 정의할 수 있는데 횟수가 증가하면 에러 정정 능력은 우수해지지만 하드웨어는 복잡해지는 단점이 있다.
한편 상기 데이터 디인터리버(909), RS 복호기(910), 및 디랜더마이저(911)는 메인 서비스 데이터를 수신하기 위해 필요한 블록들로서, 오직 모바일 서비스 데이터만을 수신하기 위한 수신 시스템 구조에서는 필요하지 않을 수도 있다.
상기 데이터 디인터리버(909)는 송신측의 데이터 인터리버의 역과정으로 상기 블록 복호기(905)에서 출력되는 데이터를 디인터리빙하여 RS 복호기(910)로 출력한다. 상기 데이터 디인터리버(909)로 입력되는 데이터는 메인 서비스 데이터 뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, RS 패리티, MPEG 헤더 등을 포함한다. 이때 상기 입력되는 데이터들 중 메인 서비스 데이터와 메인 서비스 데이터 패킷에 부가된 RS 패리티 데이터만 RS 복호기(910)로 출력될 수도 있고, 상기 데이터 디랜더마이저(911) 이후에 메인 서비스 데이터를 제외한 나머지 데이터들이 제거될 수도 있다. 본 발명에서는 메인 서비스 데이터와 메인 서비스 데이터 패킷에 부가된 RS 패리티만 RS 복호기(910)로 입력되는 것을 일 실시예로 한다.
상기 RS 복호기(910)는 디인터리빙된 데이터에 대해 체계적 RS 복호를 수행하여 디랜더마이저(911)로 출력한다.
상기 디랜더마이저(911)는 RS 복호기(910)의 출력을 입력받아서 송신기의 랜더마이저와 동일한 의사 랜덤(pseudo random) 바이트를 발생시켜 이를 bitwise XOR(exclusive OR)한 후 MPEG 동기 바이트를 매 패킷의 앞에 삽입하여 188 바이트 패킷 단위로 출력한다.
한편 상기 블록 복호기(905)에서 데이터 디포맷터(906)로 출력되는 데이터의 형태는 데이터 그룹 형태이다. 이때 상기 데이터 디포맷터(906)에서는 입력 데이터 그룹의 구성을 이미 알고 있기 때문에 데이터 그룹 내에서 시스템 정보를 갖는 시그널링 정보와 모바일 서비스 데이터를 구분한다. 그리고 구분된 시그널링 정보는 시그널링 정보를 처리하는 블록(도시되지 않음)으로 전달하고, 모바일 서비스 데이터는 RS 프레임 복호기(907)로 출력한다.
즉, 상기 RS 프레임 복호기(907)는 상기 데이터 디포맷터(906)로부터 RS 부호화 및 CRC 부호화된 모바일 서비스 데이터만을 입력받는다.
상기 RS 프레임 복호기(907)에서는 전송 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한 후, 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가하여 디랜더마이저(908)로 출력한다. 상기 RS 프레임 복호기(907)의 상세한 동작은 뒤에서 설명한다.
상기 디랜더마이저(908)는 입력받은 모바일 서비스 데이터에 대해서 전송 시스템의 랜더마이저의 역과정에 해당하는 디랜더마이징을 수행하여 출력함으로써, 전송 시스템에서 송신한 모바일 서비스 데이터를 얻을 수가 있게 된다.
다음은 상기 RS 프레임 복호기(907)의 상세한 동작 설명이다.
도 25는 상기 RS 프레임 복호기(907)의 에러 정정 복호 과정의 일 실시예를 순차적으로 보인 도면이다.
즉, 상기 RS 프레임 복호기(907)는 데이터 디포맷터(906)로부터 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 부호화 및 CRC 부호화된 데이터이다.
도 25의 (a)는 RS 프레임을 구성하는 예를 보이고 있다. 즉, 전송 시스템에서 (N+2) * 235 크기의 RS 프레임을 30*235 바이트 블록으로 구분하고, 구분된 각 블록의 모바일 서비스 데이터를 각 데이터 그룹에 삽입시켜 전송하였다고 가정하면, 수신 시스템에서도 각 데이터 그룹에 삽입된 30*235 바이트 블록의 모바일 서비스 데이터를 모아 (N+2) * 235 크기의 RS 프레임을 구성한다. 예를 들어, RS 프레임이 18개의 30*235 바이트 블록으로 구분되어 하나의 버스트 구간에서 전송되었다고 가정하면, 수신 시스템에서도 해당 버스트 구간 내 18개의 데이터 그룹의 모바일 서비스 데이터를 모아 RS 프레임을 구성한다. 또한 N이 538이라고 가정하면, 상기 RS 프레임 복호기(907)는 하나의 버스트 안에 있는 18개의 데이터 그룹 내 모바일 서비스 데이터들을 모아서 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있다.
이때 상기 블록 복호기(905)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(907)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 버스트 안에 있는 18개의 데이터 그룹의 소프트 판정값에 대해 모두 수행하면 540 * 235 바이트 크기의 RS 프레임을 구성할 수가 있게 된다.
또한 본 발명은 소프트 판정값을 RS 프레임을 구성하는데 이용할 뿐만 아니라, 신용 맵(Reliability Map)을 구성하는데 이용한다.
상기 신용 맵은 상기 소프트 판정값의 부호로 결정된 비트를 8개 모아 구성한 해당 바이트가 믿을만한지 여부를 나타낸다.
일 실시예로, 소프트 판정값의 절대값이 기 설정된 문턱값을 넘을 경우에는 해당 소프트 판정값의 부호로 판단한 해당 비트 값은 믿을만하다고 판단하고, 넘지 못할 경우에는 믿을만하지 못하다고 판단한다. 그리고 나서, 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 한 바이트 내 한 비트라도 믿을만하지 못하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을 수 없다고 표시한다. 여기서 한 비트는 하나의 실시예이며, 복수개 예를 들어, 4개의 이상의 비트가 믿을만하지 못하다고 판단된 경우에 신용 맵에 해당 바이트를 믿을 수 없다고 표시할 수도 있다.
반대로 한 바이트 내 모든 비트가 믿을만하다고 판단된 경우 즉, 한 바이트의 모든 비트의 소프트 판정값의 절대값이 기 설정된 문턱값을 넘는 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. 마찬가지로, 한 바이트 내 복수개 예를 들어, 4개 이상의 비트가 믿을만하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다.
상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 540 * 235 바이트 크기를 가진다면, 상기 신용 맵은 540 * 235 비트 크기를 가진다. 도 25의 (a')는 본 발명에 따른 신용 맵 형성 과정을 보이고 있다.
한편 상기 RS 프레임 복호기(907)는 (N+2) * 235 바이트 크기의 RS 프레임이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 25의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 N * 235 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 25의 (b')와 같이 N * 235개의 신용 정보만을 남긴다.
상기 RS 프레임 복호기(907)는 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 25의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수로서, 본 발명에서는 일 실시예로 각 컬럼마다 48개의 패리티 바이트가 부가되어 있다고 가정한다.
만일 CRC 에러를 가진 로우의 개수가 RS 이레이저 복호(decoding)로 수정 가능한 최대 에러 개수(실시예에 따르면 48)보다 작거나 같다면 도 25의 (d)와 같이 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 25의 (f)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다.
그런데, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 크다면 RS 이레이저 복호를 수행할 수가 없다.
이러한 경우 일반적인 RS 복호를 통해서 에러 정정을 수행할 수 있다. 또한 본 발명은 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 이용하여 에러 정정 능력을 더욱 높일 수 있다.
즉, 상기 RS 프레임 복호기(907)에서는 블록 복호기(905)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다.
따라서 본 발명은 도 25의 (e)와 같이 특정 로우의 CRC 신드롬 체크 결과 그 로우에 CRC 에러가 있다고 판단되더라도 그 로우의 모든 바이트가 에러가 있는 것이라고 가정하는 것이 아니라, 신용 맵의 신용 정보를 참조하여 믿을만하지 못하다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우의 CRC 에러 여부에 상관없이 신용 맵의 신용 정보에서 믿을만하지 못하다고 판단되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.
또 다른 방법으로 CRC 신드롬 체크 결과 해당 로우에 CRC 에러가 있다고 판단되면서 신용 맵의 신용 정보가 믿을만 하지 못한다고 판단된 바이트에 대해서만 에러로 설정한다. 즉, 해당 로우에 CRC 에러가 있으면서 신용 맵의 신용 정보에서 믿을만 하지 못하다고 판단이 되는 바이트만을 이레이저 포인트(erasure point)로 설정한다.
그리고 나서, 각 컬럼별로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 작거나 같다면 그 컬럼에 대해서는 RS 이레이저 복호를 수행한다. 반대로 에러 포인트의 수가 RS 이레이저 복호로 수정 가능한 최대 개수(즉, 48)보다 크다면 그 컬럼에 대해서는 일반적인 RS 복호를 수행한다.
즉, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(예를 들면, 48)보다 크면, 신용 맵의 신용 정보에 의해 결정된 해당 컬럼 내 이레이저 포인트 수에 따라 그 컬럼에 대해서 RS 이레이저 복호를 수행하거나, 일반적인 RS 복호를 수행한다.
예를 들어, 상기 RS 프레임 내에서 CRC 에러를 가진 로우의 개수가 48보다 크고, 신용 맵의 신용 정보에 의해 결정된 이레이저 포인트 수가 첫 번째 컬럼에서는 40개가 표시되고, 두 번째 컬럼에서는 50개가 표시되었다고 가정하자. 그러면, 상기 첫 번째 컬럼에 대해서는 (235,187)-RS 이레이저 복호를 수행하고, 두 번째 컬럼에 대해서는 (235,187)-RS 복호를 수행한다.
상기와 같은 과정을 수행하여 RS 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 25의 (f)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다.
이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다.
여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다.
상기와 같이 에러 정정 복호가 수행되고 나면, 도 25의 (f)와 같이 187개의 N 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. 그리고 N * 187 바이트 크기의 RS 프레임은 순서대로 N개의 187 바이트의 크기로 출력이 되는데, 이때 도 25의 (g)와 같이 각 187 바이트의 패킷에 전송 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한다.
지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. 또한 이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 디지털 방송 시스템의 개략적인 구성 블록도
도 2는 도 1의 서비스 다중화기의 일 실시예를 보인 구성 블록도
도 3은 도 1의 송신기의 일 실시예를 보인 구성 블록도
도 4는 도 3의 전처리기의 일 실시예를 보인 구성 블록도
도 5의 (a) 내지 (e)는 본 발명의 일 실시예에 따른 에러 정정 부호화 및 에러 검출 부호화 과정을 보인 도면
도 6a, 도 6b는 본 발명에 따른 전송 시스템에서 데이터 디인터리버 전후단의 데이터 구성 예를 보인 도면
도 7은 본 발명에 따른 데이터 그룹을 구성하기 위해 RS 프레임을 분할하는 과정의 일 실시예를 보인 도면
도 8은 본 발명에 따른 데이터 그룹을 전송하기 위한 패킷 다중화기의 동작 예를 보인 도면
도 9는 본 발명에 따른 블록 처리기의 일 실시예를 보인 구성 블록도
도 10a 내지 도 10c는 본 발명에 따른 심볼 부호기를 1/4 부호율을 갖는 부호기로 동작시키는 경우의 실시예들을 보인 구성 블록도
도 11a는 본 발명에 따른 1/2 외부 부호기의 일 실시예를 보인 상세 블록도
도 11b는 본 발명에 따른 1/4 외부 부호기의 일 실시예를 보인 상세 블록도
도 12의 (a) 내지 (c)는 도 9의 심볼 인터리버의 가변 길이 인터리빙 과정의 일 실시예를 보인 도면
도 13a, 도 13b는 본 발명에 따른 블록 처리기의 다른 실시예를 보인 구성 블록도
도 14의 (a) 내지 (c)는 본 발명에 따른 블록 부호화 및 트렐리스 부호화 과정의 예를 보인 도면
도 15는 본 발명에 따른 트렐리스 부호화부의 일 실시예를 보인 블록도
도 16a, 도 16b는 본 발명에 따른 블록 처리기와 트렐리스 부호화부가 연접된 모습을 보인 도면
도 17은 본 발명에 따른 블록 처리기의 또 다른 실시예를 보인 도면
도 18은 본 발명에 다른 블록 처리기의 또 다른 실시예를 보인 도면
도 19는 본 발명에 따른 전송 파라미터를 그룹 포맷터에서 삽입하여 전송하기 위한 일 실시예를 보인 도면
도 20은 본 발명에 따른 전송 파라미터를 블록 처리기에서 삽입하여 전송하기 위한 일 실시예를 보인 도면
도 21은 본 발명에 따른 전송 파라미터를 패킷 포맷터에서 삽입하여 전송하기 위한 일 실시예를 보인 도면
도 22는 본 발명에 따른 전송 파라미터를 필드 동기 세그먼트 영역에 삽입하여 전송하기 위한 일 실시예를 보인 도면
도 23은 본 발명에 따른 수신 시스템의 일 실시예를 보인 구성 블록도
도 24는 도 23의 블록 복호기의 일 실시예를 보인 상세 블록도
도 25는 도 23의 RS 프레임 복호기의 에러 정정 복호 과정의 예를 보인 도면
*도면의 주요부분에 대한 부호의 설명*
901 : 튜너 902 : 복조기
903 : 등화기 904 : 기지 데이터 검출기
905 : 블록 복호기 906 : 데이터 디포맷터
907 : RS 프레임 복호기 908,911 : 데이터 디랜더마이저
909 : 데이터 디인터리버 910 : RS 복호기
1010 : 피드백 제어기 1011 : 입력 버퍼
1012 : 트렐리스 복호부 1013 : 심볼-바이트 변환기
1014 : 외부 블록 추출기 1015 : 피드백 디포맷터
1016 : 심볼 디인터리버 1017 : 외부 심볼 매퍼
1018 : 심볼 복호기 1019 : 내부 심볼 매퍼
1020 : 심볼 인터리버 1021 : 피드백 포맷터
1022 : 출력 버퍼

Claims (24)

  1. 모바일 서비스 데이터와 복수개의 기지 데이터 열을 포함하는 데이터 그룹과 메인 서비스 데이터가 포함된 방송 신호를 수신하는 신호 수신부; 및
    상기 신호 수신부에서 터보 복호를 위한 블록 크기로 출력되는 데이터 그룹의 모바일 서비스 데이터와 심볼 복호되어 피드백되는 모바일 서비스 데이터를 매칭하여 트렐리스 복호를 수행하는 제1 복호부를 포함하는 것을 특징으로 하는 수신 시스템.
  2. 제 1 항에 있어서,
    상기 방송 신호는 모바일 서비스 데이터와 메인 서비스 데이터를 포함한 복수개의 제 1 세그먼트, 모바일 서비스 데이터를 제외한 데이터를 포함한 복수개의 제 2 세그먼트, 및 메인 서비스 데이터를 제외한 데이터를 포함한 복수개의 제 3 세그먼트로 구성이 되며, 상기 복수개의 제 3 세그먼트는 제 1 세그먼트 사이에 위치하며, 상기 제 1 세그먼트의 모바일 서비스 데이터의 부호화 율과 제 3 세그먼트의 모바일 서비스 데이터의 부호화 율이 서로 다른 것을 특징으로 하는 수신 시스템.
  3. 제 1 항에 있어서,
    상기 트렐리스 복호된 모바일 서비스 데이터에 대해 심볼 복호를 수행하여 상기 제1 복호부로 피드백하는 제2 복호부; 및
    상기 제2 복호부에서 출력되는 모바일 서비스 데이터에 발생된 에러를 정정하는 RS 프레임 복호기를 더 포함하는 것을 특징으로 하는 수신 시스템.
  4. 제 3 항에 있어서,
    상기 신호 수신부에서 출력되는 데이터 그룹의 모바일 서비스 데이터를 저장하고, 저장된 모바일 서비스 데이터를 터보 복호를 위한 블록 크기로 기 설정된 터보 복호 반복 횟수만큼 반복하여 제1 복호기로 출력하는 제1 버퍼; 및
    상기 제2 복호부에서 심볼 복호된 모바일 서비스 데이터를 저장한 후 상기 RS 프레임 복호기로 출력하는 제2 버퍼를 더 포함하는 것을 특징으로 하는 수신 시스템.
  5. 제 4 항에 있어서, 상기 제1 복호부는
    상기 제2 복호부에서 심볼 복호되어 피드백되는 모바일 서비스 데이터와 상기 제1 버퍼에서 터보 복호를 위한 블록 크기로 출력되는 모바일 서비스 데이터를 해당 블록 내 같은 위치끼리 매칭시켜 트렐리스 복호하는 것을 특징으로 하는 수신 시스템.
  6. 제 4 항에 있어서,
    상기 제1 버퍼에서 제1 복호부로 출력되는 데이터가 모바일 서비스 데이터가 아니면 상기 제2 복호부의 출력 데이터 대신 널 데이터를 상기 제1 복호부로 출력하는 피드백 포맷터를 더 포함하는 것을 특징으로 하는 수신 시스템.
  7. 제 6 항에 있어서, 상기 피드백 포맷터는
    상기 터보 복호를 위한 블록 크기의 데이터들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 제2 복호부의 출력 데이터 대신 널 데이터를 상기 제1 복호부로 출력하는 것을 특징으로 하는 수신 시스템.
  8. 제 3 항에 있어서,
    상기 제1 복호부와 제2 복호부에서 출력되는 모바일 서비스 데이터는 소프트 판정값인 것을 특징으로 하는 수신 시스템.
  9. 제 8 항에 있어서,
    상기 트렐리스 복호되어 출력되는 모바일 서비스 데이터의 소프트 판정값을 심볼 단위로 블록 디인터리빙하여 상기 제2 복호부로 출력하는 심볼 디인터리버; 및
    상기 제2 복호부에서 심볼 복호되어 출력되는 모바일 서비스 데이터의 소프트 판정값을 심볼 단위로 블록 인터리빙하여 제1 복호부로 출력하는 심볼 인터리버를 더 포함하는 것을 특징으로 하는 수신 시스템.
  10. 제 9 항에 있어서,
    상기 심볼 디인터리버에서 디인터리빙되어 출력되는 모바일 서비스 데이터를 상기 제2 복호부의 입력 형식에 맞게 변환하여 제2 복호부로 출력하는 제1 심볼 매퍼; 및
    상기 제2 복호부에서 심볼 복호되어 출력되는 모바일 서비스 데이터를 상기 제1 복호부의 입력 형식에 맞게 변환하여 상기 심볼 인터리버로 출력하는 제2 심볼 매퍼를 더 포함하는 것을 특징으로 하는 수신 시스템.
  11. 제 1 항에 있어서,
    상기 데이터 그룹으로부터 기지 데이터 열을 검출하는 기지 데이터 검출부를 더 포함하는 것을 특징으로 하는 수신 시스템.
  12. 제 11 항에 있어서,
    상기 검출된 기지 데이터 열을 이용하여 상기 데이터 그룹의 데이터에 발생된 채널 왜곡을 보상하는 등화기를 더 포함하는 것을 특징으로 하는 수신 시스템.
  13. 모바일 서비스 데이터와 복수개의 기지 데이터 열을 포함하는 데이터 그룹과 메인 서비스 데이터가 포함된 방송 신호를 수신하는 수신 단계; 및
    상기 수신 단계에서 터보 복호를 위한 블록 크기로 출력되는 데이터 그룹의 모바일 서비스 데이터와 심볼 복호되어 피드백되는 모바일 서비스 데이터를 매칭하 여 트렐리스 복호를 수행하는 제1 복호 단계를 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  14. 제 13 항에 있어서,
    상기 방송신호는 모바일 서비스 데이터와 메인 서비스 데이터를 포함한 복수개의 제 1 세그먼트, 모바일 서비스 데이터를 제외한 데이터를 포함한 복수개의 제 2 세그먼트, 및 메인 서비스 데이터를 제외한 데이터를 포함한 복수개의 제 3 세그먼트로 구성이 되며, 상기 복수개의 제 3 세그먼트는 제 1 세그먼트 사이에 위치하며, 상기 제 1 세그먼트의 모바일 서비스 데이터의 부호화 율과 제 3 세그먼트의 모바일 서비스 데이터의 부호화 율이 서로 다른 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  15. 제 13 항에 있어서,
    상기 트렐리스 복호된 모바일 서비스 데이터에 대해 심볼 복호를 수행하여 상기 제1 복호 단계로 피드백하는 제2 복호 단계; 및
    상기 제2 복호 단계에서 출력되는 모바일 서비스 데이터에 발생된 에러를 정정하는 에러 정정 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  16. 제 15 항에 있어서,
    상기 수신 단계에서 출력되는 데이터 그룹의 모바일 서비스 데이터를 저장하고, 저장된 모바일 서비스 데이터를 터보 복호를 위한 블록 크기로 기 설정된 터보 복호 반복 횟수만큼 반복하여 제1 복호 단계로 출력하는 제1 저장 단계; 및
    상기 제2 복호 단계에서 심볼 복호된 모바일 서비스 데이터를 저장한 후 상기 에러 정정 단계로 출력하는 제2 저장 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  17. 제 16 항에 있어서, 상기 제1 복호 단계는
    상기 제2 복호 단계에서 심볼 복호되어 피드백되는 모바일 서비스 데이터와 상기 제1 저장 단계에서 터보 복호를 위한 블록 크기로 출력되는 모바일 서비스 데이터를 해당 블록 내 같은 위치끼리 매칭시켜 트렐리스 복호하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  18. 제 16 항에 있어서,
    상기 제1 저장 단계에서 제1 복호 단계로 출력되는 데이터가 모바일 서비스 데이터가 아니면 상기 제2 복호 단계의 출력 데이터 대신 널 데이터를 상기 제1 복호 단계로 출력하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  19. 제 18 항에 있어서,
    상기 터보 복호를 위한 블록 크기의 데이터들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 제2 복호 단계의 출력 데이터 대신 널 데이터를 상기 제1 복호 단계로 출력하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  20. 제 15 항에 있어서,
    상기 제1 복호 단계와 제2 복호 단계에서 출력되는 모바일 서비스 데이터는 소프트 판정값인 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  21. 제 20 항에 있어서,
    상기 트렐리스 복호되어 출력되는 모바일 서비스 데이터의 소프트 판정값을 심볼 단위로 블록 디인터리빙하여 상기 제2 복호 단계로 출력하는 심볼 디인터리빙 단계; 및
    상기 제2 복호 단계에서 심볼 복호되어 출력되는 모바일 서비스 데이터의 소프트 판정값을 심볼 단위로 블록 인터리빙하여 제1 복호 단계로 출력하는 심볼 인터리빙 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  22. 제 21 항에 있어서,
    상기 심볼 디인터리빙 단계에서 심볼 디인터리빙되어 출력되는 모바일 서비스 데이터를 상기 제2 복호 단계의 입력 형식에 맞게 변환하여 제2 복호 단계로 출 력하는 단계; 및
    상기 제2 복호 단계에서 심볼 복호되어 출력되는 모바일 서비스 데이터를 상기 제1 복호 단계의 입력 형식에 맞게 변환하여 상기 심볼 인터리빙 단계로 출력하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  23. 제 13 항에 있어서, 상기 수신 단계는
    상기 데이터 그룹으로부터 기지 데이터 열을 검출하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
  24. 제 23 항에 있어서, 상기 수신 단계는
    상기 검출된 기지 데이터 열을 이용하여 상기 데이터 그룹의 데이터에 발생된 채널 왜곡을 보상하는 단계를 더 포함하는 것을 특징으로 하는 수신 시스템의 데이터 처리 방법.
KR1020090002363A 2009-01-12 2009-01-12 디지털 방송 시스템 및 데이터 처리 방법 KR100914714B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090002363A KR100914714B1 (ko) 2009-01-12 2009-01-12 디지털 방송 시스템 및 데이터 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090002363A KR100914714B1 (ko) 2009-01-12 2009-01-12 디지털 방송 시스템 및 데이터 처리 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020070035776A Division KR101276863B1 (ko) 2007-04-11 2007-04-11 디지털 방송 신호 수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090014231A true KR20090014231A (ko) 2009-02-06
KR100914714B1 KR100914714B1 (ko) 2009-08-28

Family

ID=40684291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090002363A KR100914714B1 (ko) 2009-01-12 2009-01-12 디지털 방송 시스템 및 데이터 처리 방법

Country Status (1)

Country Link
KR (1) KR100914714B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093798A1 (en) 2000-07-10 2003-05-15 Michael Rogerson Modular entertainment system configured for multiple broadband content delivery incorporating a distributed server
US7406104B2 (en) 2000-08-25 2008-07-29 Lin Yang Terrestrial digital multimedia/television broadcasting system
US20060130099A1 (en) 2004-12-13 2006-06-15 Rooyen Pieter V Method and system for cellular network and integrated broadcast television (TV) downlink with intelligent service control without feedback

Also Published As

Publication number Publication date
KR100914714B1 (ko) 2009-08-28

Similar Documents

Publication Publication Date Title
KR101221914B1 (ko) 디지털 방송 신호 송신 장치 및 방법
KR101276863B1 (ko) 디지털 방송 신호 수신 장치 및 방법
KR101253187B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101253186B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101208504B1 (ko) 디지털 방송 시스템 및 처리 방법
KR101276851B1 (ko) 디지털 방송 신호 송신 장치 및 방법
US8379759B2 (en) Digital broadcasting system and method of processing data
KR101216079B1 (ko) 디지털 방송 시스템 및 처리 방법
KR20080089007A (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR20080087368A (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR20080092760A (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101199387B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR20080092643A (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR20080091997A (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101199386B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR20090114317A (ko) 송/수신 시스템 및 데이터 처리 방법
KR100921472B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR100914714B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101215363B1 (ko) 디지털 방송 시스템 및 처리 방법
KR100917214B1 (ko) 수신 시스템 및 데이터 처리 방법
KR100930899B1 (ko) 수신 시스템 및 데이터 처리 방법
KR100917213B1 (ko) 수신 시스템 및 데이터 처리 방법
KR100921471B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
KR101191191B1 (ko) 디지털 방송 시스템 및 처리 방법
KR100913107B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130724

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140724

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150724

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160722

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee