KR20090004665A - 방송 수신기 및 방송신호 처리방법 - Google Patents
방송 수신기 및 방송신호 처리방법 Download PDFInfo
- Publication number
- KR20090004665A KR20090004665A KR20080063685A KR20080063685A KR20090004665A KR 20090004665 A KR20090004665 A KR 20090004665A KR 20080063685 A KR20080063685 A KR 20080063685A KR 20080063685 A KR20080063685 A KR 20080063685A KR 20090004665 A KR20090004665 A KR 20090004665A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame
- output
- mobile service
- packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/2707—Simple row-column interleaver, i.e. pure block interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2792—Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
- H03M13/293—Decoding strategies with erasure setting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2933—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code
- H03M13/2936—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code comprising an outer Reed-Solomon code and an inner convolutional code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2966—Turbo codes concatenated with another code, e.g. an outer block code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- H03M13/356—Unequal error protection [UEP]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6356—Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H40/00—Arrangements specially adapted for receiving broadcast information
- H04H40/18—Arrangements characterised by circuits or components specially adapted for receiving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/11—Arrangements for counter-measures when a portion of broadcast information is unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4138—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
- H03M13/4146—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
방송 수신기 및 방송신호 처리방법이 개시된다. 수신부는 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신한다. 여기서 상기 모바일 서비스 데이터는 RS 프레임을 구성할 수 있고, 상기 RS 프레임은 상기 모바일 서비스 데이터에 대한 적어도 하나의 데이터 패킷, 상기 적어도 하나의 데이터 패킷을 기초로 생성된 RS 패리티 및 상기 적어도 하나의 데이터 패킷 및 상기 RS 패리티를 기초로 생성된 CRC checksum을 포함한다. RS Frame 디코더는 상기 RS 프레임에 대해 CRC복호 및 RS복호를 수행하여 모바일 서비스 데이터에 발생된 에러를 정정한다. 디코더는 상기 모바일 서비스 데이터에 포함된 오디오 스트림으로부터 오디오 데이터를 추출하고 상기 오디오 데이터를 상기 오디오 데이터에 포함된 허프만 테이블 정보 및 영역 구분 정보를 기초로 복호화하며, 상기 복호화된 오디오 데이터를 역양자화하여 오디오 신호를 복원한다.
모바일, 채널, 데이터, 오디오, 허프만 테이블
Description
본 발명은 디지털 방송을 송신하고 수신하기 위한 방송 수신기 및 방송신호 처리방법에 관한 것이다.
디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히 휴대용이나 이동형 방송 수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다.
따라서 본 발명은 채널 변화 및 노이즈에 강한 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
본 발명은 모바일 서비스 데이터에 대해 추가의 부호화를 수행하여 수신 시스템으로 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
본 발명은 송/수신측의 약속에 의해 알고 있는 기지 데이터를 데이터 영역의 소정 영역에 삽입하여 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전송 시스템은 서비스 다중화기와 송신기를 포함할 수 있다. 상기 서비스 다중화기는 모바일 서비스 데이터와 메인 서비스 데이터를 기 설정된 데이터 율로 다중화하여 송신기로 전송할 수 있다. 상기 송신기는 서비스 다중화기에서 전송되는 모바일 서비스 데이터에 대해 추가의 부호화를 수행하고, 부호화가 수행된 다수개의 모바일 서비스 데이터 패킷을 모아 데이터 그룹을 형성할 수 있다. 상기 송신기는 모바일 서비스 데이터를 포함하는 모바일 서비스 데이터 패킷과 메인 서비스 데이터를 포함하는 메인 서비스 데이터 패킷을 패킷 단위로 다중화하여 수신 시스템으로 전송할 수 있다.
상기 데이터 그룹은 메인 서비스 데이터의 간섭 정도에 따라 다수개의 영역 으로 구분할 수 있다. 상기 메인 서비스 데이터의 간섭이 없는 영역에는 주기적으로 긴 기지 데이터 열을 삽입할 수 있다.
본 발명의 일 실시예에 따른 수신 시스템은 상기 기지 데이터 열을 복조 및 채널 등화에 이용할 수 있다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 디지털 방송 시스템, 및 데이터 처리 방법은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성이 가능한 이점이 있다.
본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러없이 수신할 수 있는 이점이 있다.
본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다.
특히 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것 에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어의 정의
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
본 발명에서 사용되는 용어 중 메인 서비스 데이터는 고정형 수신 시스템에서 수신할 수 있는 데이터로서, 오디오/비디오(A/V) 데이터를 포함할 수 있다. 즉, 상기 메인 서비스 데이터에는 HD(High Definition) 또는 SD(Standard Definition)급의 A/V 데이터가 포함될 수 있으며, 데이터 방송을 위한 각종 데이터가 포함될 수도 있다. 그리고 기지(Known) 데이터는 송/수신측의 약속에 의해 미리 알고 있는 데이터이다.
본 발명에서 사용되는 용어 중 MPH는 모바일(Mobile), 퍼데스트리언(Pedestrian), 핸드헬드(Handheld) 각각의 첫 글자이며, 고정형에 반대되는 개념이다. 그리고 MPH 서비스 데이터는 모바일(Mobile) 서비스 데이터, 퍼데스트리언(Pedestrian) 서비스 데이터, 핸드헬드(Handheld) 서비스 데이터 중 적어도 하나 를 포함하며, 설명의 편의를 위해 본 발명에서는 MPH 서비스 데이터를 모바일 서비스 데이터라 하기도 한다. 이때 상기 모바일 서비스 데이터에는 MPH 서비스 데이터뿐만 아니라, 이동이나 휴대를 의미하는 서비스 데이터는 어느 것이나 포함될 수 있으며, 따라서 상기 모바일 서비스 데이터는 상기 MPH 서비스 데이터로 제한되지 않을 것이다.
상기와 같이 정의된 모바일 서비스 데이터는 프로그램 실행 파일, 주식 정보 등과 같이 정보를 갖는 데이터일 수도 있고, 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) 데이터를 삽입하여 전송할 수 있도록 한다.
이러한 본 발명에 따른 전송 시스템을 사용하면 수신 시스템에서는 모바일 서비스 데이터의 이동 수신이 가능하며, 또한 채널에서 발생하는 각종 왜곡과 노이즈에도 모바일 서비스 데이터의 안정적인 수신이 가능하다.
MPH 프레임 구조
본 발명의 모바일 서비스 데이터는 MPH 프레임 단위로 메인 서비스 데이터와 다중화된 후 VSB 방식으로 변조되어 수신 시스템으로 전송되는 것을 일 실시예로 한다.
이때 하나의 MPH 프레임은 K1개의 서브 프레임으로 구성되고, 하나의 서브 프레임은 K2개의 슬롯으로 구성될 수 있다. 또한 하나의 슬롯은 K3개의 데이터 패킷으로 구성될 수 있다. 본 발명에서 K1은 5, K2는 16, K3은 156으로 설정하는 것 을 일 실시예로 한다. 본 발명에서 제시하는 K1,K2,K3의 값은 바람직한 실시예이거나 단순한 예시이며, 상기 수치들에 본 발명의 권리범위가 제한되지는 않는다.
도 1은 본 발명에 따른 모바일 서비스 데이터를 송수신하기 위한 MPH 프레임 구조의 일 실시예를 보인 것이다. 도 1은 하나의 MPH 프레임이 5개의 서브 프레임으로 구성되고, 하나의 서브 프레임이 16개의 슬롯으로 구성되는 예를 보이고 있다. 이 경우 하나의 MPH 프레임은 5개의 서브 프레임, 80개의 슬롯을 포함함을 의미한다.
그리고 하나의 슬롯은 패킷 레벨에서는 156개의 데이터 패킷(즉, 트랜스포트 스트림 패킷)으로, 심볼 레벨에서는 156개의 데이터 세그먼트로 구성된다. 또는 VSB 필드의 반에 해당되는 크기를 갖는다. 즉, 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 데이터 패킷이 데이터 세그먼트의 개념으로 사용될 수 있다.
이때 두개의 VSB 필드가 모여 하나의 VSB 프레임을 구성한다.
도 2는 VSB 프레임 구조의 일 예를 보인 것으로서, 하나의 VSB 프레임은 두개의 VSB 필드(즉, odd field, even field)로 구성된다. 그리고 각 VSB 필드는 하나의 필드 동기 세그먼트와 312개의 데이터 세그먼트로 구성된다.
상기 슬롯은 모바일 서비스 데이터와 메인 서비스 데이터의 다중화를 위한 기본 시간 주기이다. 하나의 슬롯은 모바일 서비스 데이터를 포함할 수도 있고, 메인 서비스 데이터로만 구성될 수도 있다.
만일 하나의 MPH 프레임이 하나의 슬롯 동안 전송된다면, 슬롯 내 처음 118 데이터 패킷들이 하나의 데이터 그룹에 해당되고, 나머지 38 패킷들은 메인 서비스 데이터 패킷이 된다. 또 다른 예로, 하나의 슬롯에 데이터 그룹이 없다면, 해당 슬롯은 156개의 메인 서비스 데이터 패킷들로 구성된다.
한편 상기 슬롯들을 VSB 프레임에 할당할 때, 그 위치에 있어서 옵셋을 가지고 있다.
도 3은 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 공간 영역에서 보이고 있다. 도 4는 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 시간 영역에서 보이고 있다.
도 3, 도 4를 보면, 첫 번째 슬롯(Slot #0)의 38번째 데이터 패킷(#37)이 오드 VSB 필드의 첫 번째 데이터 패킷에 매핑되고, 두 번째 슬롯(Slot #1)의 38번째 데이터 패킷(#37)이 상기 오드 VSB 필드의 157번째 데이터 패킷에 매핑된다. 또한, 세 번째 슬롯(Slot #2)의 38번째 데이터 패킷(#37)이 이븐 VSB 필드의 첫 번째 데이터 패킷에 매핑되고, 네 번째 슬롯(Slot #3)의 38번째 데이터 패킷(#37)이 상기 이븐 VSB 필드의 157번째 데이터 패킷에 매핑된다. 마찬가지로, 해당 서브 프레임 내 나머지 12 슬롯들도 이어지는 VSB 프레임에 같은 방식으로 매핑된다.
한편 하나의 데이터 그룹은 하나 이상의 계층화된 영역으로 구분할 수 있고, 계층화된 각 영역의 특성에 따라 각 영역에 삽입되는 모바일 서비스 데이터 종류가 달라질 수 있다. 데이터 그룹 내 각 영역은 일 예로, 데이터 그룹 내에서 수신 성능을 기준으로 분류할 수 있다.
본 발명에서는 데이터 인터리빙 후의 데이터 구성에서 하나의 데이터 그룹을 A,B,C,D 영역(Region)으로 구분하는 것을 일 실시예로 한다.
도 5는 데이터 인터리빙 후의 데이터들이 구분되어 나열된 형태이고, 도 6은 본 발명의 이해를 돕기 위하여 도 5의 데이터 그룹의 일부를 확대한 것이다. 도 7은 데이터 인터리빙 전의 데이터들이 구분되어 나열된 형태이고, 도 8은 본 발명의 이해를 돕기 위하여 도 7의 데이터 그룹의 일부를 확대한 것이다. 즉, 도 5와 같은 데이터 구조가 수신 시스템으로 전송된다. 다시 말해, 한 개의 데이터 패킷이 데이터 인터리빙되고 여러개의 데이터 세그먼트에 분산되어 수신 시스템으로 전송된다. 도 5는 하나의 데이터 그룹이 170개의 데이터 세그먼트에 분산되는 예를 보인다. 이때 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 패킷이 세그먼트의 개념으로 사용되기도 한다.
도 5는 데이터 인터리빙 후의 데이터 구성에서 데이터 그룹을 10개의 MPH 블록(MPH 블록 B1~B10)으로 구분하는 예를 보이고 있다. 그리고 각 MPH 블록은 16 세그먼트의 길이를 갖는 것을 일 실시예로 한다. 도 5에서 MPH 블록 B1의 앞 5 세그먼트와 MPH 블록 B10 뒤의 5 세그먼트는 일부에 RS 패리티 데이터만 할당하며, 데이터 그룹의 A 영역 내지 D 영역에서 제외하는 것을 일 실시예로 한다.
즉, 하나의 데이터 그룹을 A,B,C,D 영역으로 구분한다고 가정하면, 데이터 그룹 내 각 MPH 블록의 특성에 따라 각 MPH 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시킬 수 있다. 이때 메인 서비스 데이터의 간섭 정도에 따라 각 MPH 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시키는 것을 일 실시예 로 한다.
여기서, 상기 데이터 그룹을 다수개의 영역으로 구분하여 사용하는 이유는 각각의 용도를 달리하기 위해서이다. 즉, 메인 서비스 데이터의 간섭이 없거나 적은 영역은 그렇지 않은 영역보다 강인한 수신 성능을 보일 수 있기 때문이다. 또한, 송/수신측의 약속에 의해 알고 있는 기지(known) 데이터를 데이터 그룹에 삽입하여 전송하는 시스템을 적용하는 경우, 모바일 서비스 데이터에 연속적으로 긴 기지 데이터를 주기적으로 삽입하고자 할 때, 메인 서비스 데이터의 간섭이 없는 영역(즉, 메인 서비스 데이터가 섞이지 않는 영역)에는 일정 길이의 기지 데이터를 주기적으로 삽입하는 것이 가능하다. 그러나 메인 서비스 데이터의 간섭이 있는 영역에는 메인 서비스 데이터의 간섭으로 기지 데이터를 주기적으로 삽입하는 것이 곤란하고 연속적으로 긴 기지 데이터를 삽입하는 것도 곤란하다.
도 5의 데이터 그룹 내 MPH 블록 B4 내지 MPH 블록 B7은 메인 서비스 데이터의 간섭이 없는 영역으로서 각 MPH 블록의 앞뒤에 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 본 발명에서는 상기 MPH 블록 B4 내지 MPH 블록 B7을 포함하여 A 영역(=B4+B5+B6+B7)이라 하기로 한다. 상기와 같이 각 MPH 블록마다 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, A 영역 내지 D 영역 중 가장 강인한 등화 성능을 얻을 수가 있다.
도 5의 데이터 그룹 내 MPH 블록 B3과 MPH 블록 B8은 메인 서비스 데이터의 간섭이 적은 영역으로서, 두 MPH 블록 모두 한쪽에만 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 즉, 메인 서비스 데이터의 간섭으로 인해 MPH 블록 B3은 해당 MPH 블록의 뒤에만 긴 기지 데이터 열이 삽입되고, MPH 블록 B8은 해당 MPH 블록의 앞에만 긴 기지 데이터 열이 삽입될 수 있다. 본 발명에서는 상기 MPH 블록 B3과 MPH 블록 B8을 포함하여 B 영역(=B3+B8)이라 하기로 한다. 상기와 같이 각 MPH 블록마다 어느 한쪽에만 기지 데이터 열을 갖는 B 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, C/D 영역보다 더 강인한 등화 성능을 얻을 수가 있다.
도 5의 데이터 그룹 내 MPH 블록 B2과 MPH 블록 B9은 메인 서비스 데이터의 간섭이 B 영역보다 더 많으며, 두 MPH 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 MPH 블록 B2와 MPH 블록 B9을 포함하여 C 영역(=B2+B9)이라 하기로 한다.
도 5의 데이터 그룹 내 MPH 블록 B1과 MPH 블록 B10은 메인 서비스 데이터의 간섭이 C 영역보다 더 많으며, 마찬가지로 두 MPH 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 MPH 블록 B1과 MPH 블록 B10을 포함하여 D 영역(=B1+B10)이라 하기로 한다. 상기 C/D 영역은 기지 데이터 열로부터 많이 떨어져 있기 때문에 채널이 빠르게 변하는 경우에는 수신 성능이 안 좋을 수가 있다.
도 7은 데이터 인터리빙 전의 데이터 구조로서, 118 패킷이 하나의 데이터 그룹으로 할당된 예를 보이고 있다. 도 7의 데이터 그룹은 VSB 프레임에 할당할 때의 기준 패킷 예를 들면, 필드 동기 후 첫 번째 패킷(또는 데이터 세그먼트) 또는 157번째 패킷(또는 데이터 세그먼트)을 기준으로 앞쪽으로 37 패킷을 포함하고, 뒤쪽으로 81 패킷(상기 기준 패킷 포함)을 포함하여 118 패킷을 구성하는 일 실시예를 보이고 있다.
즉, 도 5를 기준으로 MPH 블록 B2과 MPH 블록 B3 사이에 필드 동기가 위치하며, 이것은 슬롯이 해당 VSB 필드에 대해서 37 데이터 패킷의 옵셋을 가짐을 의미한다.
지금까지 설명한 데이터 그룹의 크기, 데이터 그룹 내 계층화된 영역의 수와 각 영역의 크기, 각 영역에 포함되는 MPH 블록의 개수, 각 MPH 블록의 크기 등은 본 발명을 기술하기 위한 하나의 실시예일 뿐이므로 본 발명은 상기된 예로 제한되지 않을 것이다.
도 9는 MPH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 할당 순서의 일 예를 보인다. 일 예로, 데이터 그룹들을 할당하는 방법은 모든 MPH 프레임에 동일하게 적용할 수도 있고, MPH 프레임마다 달라질 수도 있다. 또한 하나의 MPH 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 이때 데이터 그룹의 할당을 MPH 프레임 내 모든 서브 프레임에 동일하게 적용한다고 가정하면, 하나의 MPH 프레임에 할당되는 데이터 그룹의 수는 5의 배수가 된다.
그리고 연속적인 복수개의 데이터 그룹들은 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다.
예를 들어, 하나의 서브 프레임에 3개의 그룹이 할당된다고 가정하면, 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯번째 슬롯(Slot #4), 아홉번째 슬롯(Slot #8)에 할당된다. 도 9는 이러한 할당 규칙을 적용하여 하나의 서브 프레임에 16개의 데이터 그룹을 할당하였을 때의 예를 보인 것으로서, 0,8,4,12,1,9,5,13,2,10,6,14,3,11,7,15의 순으로 16개의 슬롯에 각각 할당됨을 알 수 있다.
다음의 수학식 1은 상기와 같이 데이터 그룹들을 하나의 서브 프레임에 할당할 때의 규칙을 수학식으로 표현한 것이다.
여기서, O = 0 if i < 4,
O = 2 else if i < 8,
O = 1 else if i < 12,
O = 3 else.
그리고, 상기 j는 하나의 서브 프레임 내 슬롯 번호이며, 0~15 사이의 값을 가질 수 있다. 상기 i는 그룹 번호이며, 0~15 사이의 값을 가질 수 있다.
본 발명은 하나의 MPH 프레임에 포함되는 데이터 그룹들의 집합(collection)을 퍼레이드(Parade)라 하기로 한다. 상기 퍼레이드는 RS 프레임 모드에 따라 하나 이상의 특정 RS 프레임의 데이터를 전송한다.
하나의 RS 프레임 내 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역 에 모두 할당될 수도 있고, A/B/C/D 영역 중 적어도 하나의 영역에 할당될 수도 있다. 본 발명은 하나의 RS 프레임 내 모바일 서비스 데이터를 A/B/C/D 영역에 모두 할당하거나, A/B 영역과 C/D 영역 중 어느 하나에만 할당하는 것을 일 실시예로 한다. 즉, 후자의 경우, 데이터 그룹 내 A/B 영역에 할당되는 RS 프레임과 C/D 영역에 할당되는 RS 프레임이 다르다. 본 발명은 설명의 편의를 위해, 데이터 그룹 내 A/B 영역에 할당되는 RS 프레임을 프라이머리 RS 프레임(Primary RS frame)이라 하고, C/D 영역에 할당되는 RS 프레임을 세컨더리 RS 프레임(Secondary RS frame)이라 하기로 한다. 그리고 프라이머리 RS 프레임과 세컨더리 RS 프레임이 하나의 퍼레이드(parade)를 구성한다. 즉, 하나의 RS 프레임 내 모바일 서비스 데이터가 데이터 그룹 내 A/B/C/D 영역에 모두 할당된다면, 하나의 퍼레이드는 하나의 RS 프레임을 전송한다. 이에 반해, 하나의 RS 프레임 내 모바일 서비스 데이터가 데이터 그룹 내 A/B 영역에 할당되고, 다른 하나의 RS 프레임 내 모바일 서비스 데이터가 해당 데이터 그룹 내 C/D 영역에 할당된다면, 하나의 퍼레이드는 두 개의 RS 프레임까지 전송할 수 있다.
즉, RS 프레임 모드(RS frame mode)는 하나의 퍼레이드가 하나의 RS 프레임을 전송하는지, 두 개의 RS 프레임을 전송하는지를 지시한다.
다음의 표 1은 RS 프레임 모드의 일 예를 보인다.
RS Frame mode | Description |
00 | There is only a primary RS Frame for all Group Regions |
01 | There are two separate RS Frames - Primary RS Frame for Group Region A and B - Secondary RS Frame for Group Region C and D |
10 | Reserved |
11 | Reserved |
상기 표 1은 RS 프레임 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 표 1을 보면, RS 프레임 모드 값이 00이면, 하나의 퍼레이드가 하나의 RS 프레임을 전송함을 지시하고, RS 프레임 모드 값이 01이면, 하나의 퍼레이드가 두개의 RS 프레임 즉, 프라이머리 RS 프레임(Primary RS frame)과 세컨더리 RS 프레임(Secondary RS frame)을 전송함을 지시한다. 즉, 상기 RS 프레임 모드 값이 01이면, A/B 영역을 위한 프라이머리 RS 프레임(Primary RS frame for region A/B)의 데이터는 데이터 그룹의 A/B 영역에 할당되어 전송되고, C/D 영역을 위한 세컨더리 RS 프레임(Secondary RS frame for region C/D)의 데이터는 해당 데이터 그룹의 C/D 영역에 할당되어 전송됨을 지시한다.
상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다.
그리고 퍼레이드들의 할당 방법은 MPH 프레임을 기반으로 MPH 프레임마다 다르게 적용할 수 있고, 모든 MPH 프레임에 동일하게 적용할 수도 있다. 또한 하나의 MPH 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 본 발명은 MPH 프레임마다 달라질 수 있으며, 하나의 MPH 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. 즉, MPH 프레임 구조는 MPH 프레임 단위로 달라질 수 있으며, 이것은 앙상블 데이터 율을 자주 그리고, 탄력적으로 조정할 수 있게 한다.
도 10은 하나의 MPH 프레임에 단일 퍼레이드를 할당할 때의 예를 보인 도면이다. 즉, 도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 하나의 MPH 프레임에 할당할 때의 실시예를 보이고 있다.
도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 MPH 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 MPH 프레임에 15개의 데이터 그룹이 할당된다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들이다. 따라서 하나의 서브 프레임은 4개의 VSB 프레임으로 구성되지만, 하나의 서브 프레임에는 3개의 데이터 그룹이 포함되므로, 하나의 서브 프레임 내 4개의 VSB 프레임 중 1개의 VSB 프레임에는 해당 퍼레이드의 데이터 그룹이 할당되지 않는다.
예를 들어, 하나의 퍼레이드가 하나의 RS 프레임을 전송하고, 해당 RS 프레임에 대해 후단의 RS 프레임 부호기에서 RS 부호화를 수행하여 해당 RS 프레임에 24 바이트의 패리티 데이터를 부가하여 전송하였다고 가정하면, 이 경우 전체 RS 부호어(code word)의 길이 중에서 패리티 데이터가 차지하는 비중은 약 11.37 % (=24/(187+24) x 100) 정도 된다. 한편 하나의 서브 프레임에 3개의 데이터 그룹이 포함되면서, 도 10과 같이 하나의 퍼레이드 내 데이터 그룹들을 할당한 경우에 15개의 데이터 그룹이 하나의 RS 프레임을 형성하므로 채널에서 발생한 버스트 노이즈에 의해서 하나의 그룹이 모두 오류가 발생한 상황이라 하더라도 그 비중이 6.67 %(=1/15 x 100) 이 된다. 그러므로 수신 시스템에서는 erausre RS decoding 에 의해서 모든 에러를 정정할 수 있게 된다. 즉, erasure RS decoding 을 수행하면 RS 패리티 개수만큼의 채널 에러를 정정할 수가 있으므로, 한 RS 부호어 중에서 RS 패리티의 개수 이하의 바이트 에러는 모두 정정 가능하다. 이렇게 하면, 수신 시스템에서는 하나의 퍼레이드 내 적어도 하나의 데이터 그룹의 에러를 정정할 수 있다. 이와 같이 하나의 RS 프레임에 의해 정정될 수 있는 최소 버스트 노이즈 길이는 1 VSB 프레임 이상이다(Thus the minimum burst noise length correctable by a RS frame is over 1 VSB frame).
한편, 도 10과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 할당되었을 때, 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터가 할당될 수도 있고, 다른 퍼레이드의 데이터 그룹들이 할당될 수도 있다. 즉, 하나의 MPH 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있다.
기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당은 단일 퍼레이드의 경우와 다르지 않다. 즉, 하나의 MPH 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당된다.
이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다.
예를 들어, 하나의 퍼레이드에 대한 데이터 그룹의 할당이 도 10과 같이 이루어졌다고 가정할 때, 다음 퍼레이드에 대한 데이터 그룹은 하나의 서브 프레임 내 12번째 슬롯부터 할당된다. 이것은 하나의 실시예이며, 다른 예를 들면, 다음 퍼레이드의 데이터 그룹은 하나의 서브 프레임 내 다른 슬롯 예를 들어, 3번째 슬롯부터 4 슬롯 주기로 순차적으로 할당할 수도 있다.
도 11은 하나의 MPH 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 전송하는 예를 보인 것으로서, 특히 MPH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임의 퍼레이드 전송 예를 보이고 있다.
그리고 첫 번째 퍼레이드는 서브 프레임 당 3개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 0~2를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 첫 번째, 다섯 번째, 아홉 번째 슬롯(Slot #0, Slot #4, Slot #8)에 첫 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다.
두 번째 퍼레이드는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 3~4를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다.
또한 세 번째 퍼레이드는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 서브 프레임 내 그룹들의 위치는 상기 수학식 1의 i 값에 5~6을 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다.
이와 같이 하나의 MPH 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 할당은 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행되고 있다.
따라서 하나의 서브 프레임에 할당될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 MPH 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 MPH 프레임에 할당될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다.
도 12는 도 11의 3개의 퍼레이드의 할당 과정을 하나의 MPH 프레임 내 5개의 서브 프레임으로 확장한 예를 보인 것이다.
전송 시스템의 개략적인 설명
도 13은 전술한 구조를 갖는 본 발명을 적용하기 위한 전송 시스템의 일 실시예를 보인 개략도로서, 서비스 다중화기(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)로 출력한다.
서비스 다중화기
도 14는 상기 서비스 다중화기의 일 실시예를 보인 상세 블록도로서, 상기 서비스 다중화기의 전반적인 동작을 제어하는 제어기(Controller)(110), 메인 서비스를 위한 PSI/PSIP 발생기(120), 모바일 서비스를 위한 PSI/PSIP 발생기(130), 널 패킷 발생기(140), 모바일 서비스 다중화기(150), 및 트랜스포트 다중화기(160)를 포함할 수 있다.
상기 트랜스포트 다중화기(160)는 메인 서비스 다중화기(161), 및 트랜스포트 스트림(Transport Stream ; TS) 패킷 다중화기(162)를 포함할 수 있다.
도 14를 보면, 적어도 한 종류의 압축 부호화된 메인 서비스 데이터와 상기 메인 서비스를 위해 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 프레임 정보, 수퍼 프레임 정보, MPH 프레임 정보, 퍼레이드 정보, 앙상블 정보, SCCC(Serial Concatenated Convolution Code) 관련 정보, RS 코드 정보 등이 포함될 수 있다. 상기 전송 파라미터 내 각 정보의 의미는 앞에서 상세히 기술된 것도 있고, 앞에서 상세히 기술되지 않은 정보는 뒤에서 상세히 기술할 것이다.
또한 상기 전송 파라미터에는 모바일 서비스 데이터를 전송하기 위해서 심볼 영역의 신호들이 어떤 방법으로 부호화되는지에 대한 정보, 메인 서비스 데이터와 모바일 서비스 데이터 또는 여러 종류의 모바일 서비스 데이터 간에 어떻게 다중화되는지에 대한 다중화 정보 등이 포함될 수도 있다.
상기 전송 파라미터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 전송 파라미터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.
또한 상기 전송 파라미터들은 서비스 다중화기(100)에서 송신기(200)로 제공할 수도 있고, 송신기(200) 자체적으로 제어부(도시되지 않음)에서 설정하거나 외부에서 입력받을 수 있다.
송신기
도 15는 본 발명의 일 실시예에 따른 송신기(200)의 구성 블록도로서, 제어부(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 헤더 등을 할당한다.
송신기 내의 전처리기
도 16은 본 발명에 따른 전처리기(230)의 일 실시예를 보인 구성 블록도로서, MPH 프레임 부호기(301), 블록 처리기(302), 그룹 포맷터(303), 시그널링 부호기(305), 및 패킷 포맷터(305)를 포함할 수 있다.
이와 같이 구성된 전처리기(230) 내 MPH 프레임 부호기(301)는 역다중화기(210)를 입력되는 모바일 서비스 데이터를 데이터 랜더마이징한 후 RS 프레임을 형성하고, RS 프레임 단위로 에러 정정을 위한 부호화를 수행한다. 상기 MPH 프레임 부호기(301)는 하나 이상의 RS 프레임 부호기를 포함할 수 있다. 즉, 상기 RS 프레임 부호기는 MPH 프레임 내 퍼레이드의 수만큼 병렬로 구비될 수 있다. 전술한 바와 같이, MPH 프레임은 하나 이상의 퍼레이드를 전송하는 기본 시간 주기이다. 그리고 각 퍼레이드는 하나나 두 개의 RS 프레임으로 만들어진다.
도 17은 상기 MPH 프레임 부호기(301)의 일 실시예를 보인 개념 블록도이다.상기 MPH 프레임 부호기(301)는 역다중화기(input demux)(309), M개의 RS 프레임 부호기(310~31M-1), 및 다중화기(output mux)(320)를 포함할 수 있다. 여기서 M은 하나의 MPH 프레임 내 퍼레이드의 개수이다.
상기 역다중화기(309)는 입력 앙상블들을 분리하고, 분리된 앙상블이 입력될 RS 프레임을 결정한 후, 분리된 앙상블을 대응하는 RS 프레임으로 출력한다. 이때 앙상블은 각 RS 프레임 부호기 또는 퍼레이드에 매핑되도록 할 수 있다. 예를 들어, 하나의 퍼레이드가 하나의 RS 프레임으로 구성된다면, 앙상블과 RS 프레임과 퍼레이드는 각각 1:1로 매핑될 수 있다.
즉, 하나의 앙상블 내 데이터가 하나의 RS 프레임을 구성한다. 그리고 하나의 RS 프레임은 복수개의 데이터 그룹으로 구분된다. 이때 상기 표 1의 RS 프레임 모드에 따라 하나의 RS 프레임 내 데이터는 복수개의 데이터 그룹 내 A/B/C/D 영역에 모두 할당될 수도 있고, A/B 영역이나 C/D 영역에 할당될 수도 있다.
만일 RS 프레임 모드 값이 01라면 즉, 프라이머리 RS 프레임의 데이터가 데이터 그룹 내 A/B 영역에 할당되고, 세컨더리 RS 프레임 내 데이터가 해당 데이터 그룹 내 C/D 영역에 할당되는 모드라면, 각 RS 프레임 부호기는 각 퍼레이드에 대해 프라이머리 RS 프레임과 세컨더리 RS 프레임을 형성한다. 반대로 RS 프레임 모드 값이 00이라면, 즉 프라이머리 RS 프레임의 데이터가 데이터 그룹 내 A/B/C/D 영역에 모두 할당되는 모드라면, 각 RS 프레임 부호기는 각 퍼레이드에 대해 하나의 RS 프레임 즉, 프라이머리 RS 프레임을 형성한다.
또한 상기 각 RS 프레임 부호기는 각 RS 프레임을 다수의 포션(several portions)으로 분리한다. 상기 RS 프레임의 각 포션은 하나의 데이터 그룹에 의해 전송될 수 있는 데이터 량에 대응된다. 상기 다중화기(320)는 M개의 RS 프레임(310~31M-1) 내 포션들을 다중화하여 블록 처리기(302)로 출력한다.
예를 들어, 하나의 퍼레이드가 두개의 RS 프레임을 전송한다면, M개의 RS 프레임(310~31M-1) 내 프라이머리 RS 프레임의 포션들끼리 다중화되어 출력되고, 세컨더리 RS 프레임의 포션들끼리 다중화되어 전송된다.
상기 역다중화기(309)와 다중화기(320)는 제어부(200)의 제어 신호에 따라 동작한다. 상기 제어부(200)는 필요한 FEC 모드들을 각 RS 프레임 부호기에 제공할 수 있다. 상기 FEC 모드의 예로는 RS 코드 모드 등이 있으며, 뒤에서 상세히 설명하기로 한다.
도 18은 MPH 프레임 부호기 내 복수의 RS 프레임 부호기 중 하나의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도이다.
하나의 RS 프레임 부호기는 프라이머리 부호기(410)와 세컨더리 부호기(420)를 포함할 수 있다. 여기서 세컨더리 부호기(420)는 RS 프레임 모드에 따라 동작될 수도 있고, 동작되지 않을 수도 있다. 예를 들어, RS 프레임 모드가 상기 표 1과 같이 00라면, 상기 세컨더리 부호기(420)는 동작하지 않는다.
상기 프라이머리 부호기(410)는 데이터 랜더마이저(411), RS-CRC 부호기(412), 및 RS 프레임 디바이더(413)를 포함할 수 있다. 상기 세컨더리 부호기(420)는 데이터 랜더마이저(421), RS-CRC 부호기(422), 및 RS 프레임 디바이더(423)를 포함할 수 있다.
즉, 상기 프라이머리 부호기(410)의 데이터 랜더마이저(411)는 역다중화기(309)에서 출력되는 프라이머리 앙상블의 모바일 서비스 데이터를 수신하여 랜더마이징한 후 RS-CRC 부호기(412)로 출력한다. 이때 상기 데이터 랜더마이저(411)에서 모바일 서비스 데이터에 대해 랜더마이징을 수행함으로써, 후처리기(250)의 데이터 랜더마이저(251)에서는 모바일 서비스 데이터에 대한 랜더마이징 과정을 생략할 수 있다. 상기 데이터 랜더마이저(411)는 모바일 서비스 데이터 패킷 내 동기 바이트를 버리고 랜더마이징을 수행할 수도 있다. 또는 상기 동기 바이트를 버리지 않고 랜더마이징을 수행할 수도 있으며, 이는 설계자의 선택 사항이다. 본 발명에서는 해당 모바일 서비스 데이터 패킷 내 동기 바이트를 버리지 않고 랜더마이징을 수행하는 것을 일 실시예로 한다.
상기 RS-CRC 부호기(412)는 랜더마이징된 프라이머리 앙상블에 RS(Reed-Solomon)와 CRC(Cyclic Redundancy Check) 코드 중 적어도 하나를 사용하여 FEC(Forward Error Correction) 부호화하여 프라이머리 RS 프레임을 형성한 후 RS 프레임 디바이더(413)로 출력한다.
즉, 상기 RS-CRC 부호기(412)는 랜더마이즈되어 입력되는 모바일 서비스 데이터 패킷을 복수개 모아 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 부호화(encoding) 과정, 에러 검출 부호화 과정 중 적어도 하나의 과정을 수행한다. 이렇게 하면 모바일 서비스 데이터에 강건성을 부여하면서 전파 환경 변화에 의해서 발생할 수 있는 군집 에러를 흐트림으로써 극심하게 열악하고 빠르게 변하는 전파 환경에도 대응할 수 있게 된다.
또한 상기 RS-CRC 부호기(412)는 복수개의 RS 프레임을 모아 수퍼 프레임(Super Frame)을 구성하고, 수퍼 프레임 단위로 로우(row) 섞음(permutation)을 수행할 수도 있다. 상기 로우 섞음(permutation)은 로우 인터리빙(interleaving)이라고도 하며, 본 발명에서는 설명의 편의를 위해 로우 섞음이라 하기로 한다.
즉, 상기 RS-CRC 부호기(412)에서 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 상기 수퍼 프레임 단위의 로우 섞음을 수행하면, 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 향상된다.
상기 RS-CRC 부호기(412)에서 에러 정정 부호화는 RS 부호화를 적용하고, 에러 검출 부호화는 CRC(Cyclic Redundancy Check) 부호화를 적용하는 것을 일 실시예로 한다. 상기 RS 부호화를 수행하면 에러 정정을 위해 사용될 패리티 데이터가 생성되고, CRC 부호화를 수행하면 에러 검출을 위해 사용될 CRC 데이터가 생성된다.
상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다. 본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.
여기서, 상기 RS-CRC 부호기(412)는 미리 설정되어 제어부(200)를 통해 제공되는 전송 파라미터 및/또는 상기 서비스 다중화기(100)에서 제공하는 전송 파라미터를 참조하여 RS 프레임 구성, RS 부호화, CRC 부호화, 수퍼 프레임 구성, 수퍼 프레임 단위의 로우 섞음 등을 수행할 수 있다.
도 19는 RS 프레임 모드 값에 따라 하나 또는 두 개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션은 대응하는 데이터 그룹 내 해당 영역에 할당하는 과정을 보인 도면이다.
즉, 도 19의 (a)는 RS 프레임 모드가 00인 경우로서, 도 18에서 프라이머리 부호기(410)만 동작하여 하나의 퍼레이드에 대해 하나의 RS 프레임을 형성한다. 그리고 하나의 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 데이터는 대응하는 데이터 그룹 내 A/B/C/D 영역에 할당된다.
도 19의 (b)는 RS 프레임 모드가 01인 경우로서, 도 18에서 프라이머리 부호기(410)와 세컨더리 부호기(420)가 모두 동작하여 하나의 퍼레이드에 대해 2개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 형성한다. 그리고 프라이머리 RS 프레임도 복수개의 포션으로 분할하고, 세컨더리 RS 프레임도 복수개의 포션으로 분할한다. 이때 각 프라이머리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되고, 각 세컨더리 RS 프레임 포션의 데이터는 대응하는 데이터 그룹 내 C/D 영역에 할당된다.
RS
프레임의 구체적인 설명
도 20의 (a)는 본 발명의 RS-CRC 부호기(412)에서 생성되는 RS 프레임의 예를 보인 것이다.
하나의 RS 프레임에서 컬럼의 길이(즉, 로우의 개수)는 187 바이트로 정해지며, 로우의 길이(즉, 컬럼의 개수)는 N바이트인 것을 일 실시예로 한다.
이때 상기 하나의 RS 프레임 내 컬럼의 개수인 N은 하기의 수학식 2에 따라 결정된다.
상기 수학식 2에서 NoG는 하나의 서브 프레임에 할당되는 데이터 그룹의 개수, PL은 하나의 데이터 그룹에 할당되는 SCCC 페이로드 바이트의 개수, 그리고 P는 RS 프레임의 각 컬럼에 부가되는 RS 패리티 바이트의 개수이다. 그리고 는 X 이하의 가장 큰 정수이다.
즉, 상기 수학식 2에서 PL은 RS 프레임 포션 길이이며, 해당 데이터 그룹에 할당되는 SCCC 페이로드 바이트의 개수와 같다. 상기 PL은 RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 달라질 수 있다. 하기의 표 2 내지 표 5은 RS 프레임 모드, SCCC 블록 모드, 및 SCCC 아웃터 코드 모드에 따라 달라지는 PL 값의 실시예들을 보인 것이다. 상기 SCCC 블록 모드, SCCC 아웃터 코드 모드의 상세한 설명은 후술할 것이다.
SCCC outer code mode | PL | |||
for Region A | for Region B | for Region C | for Region D | |
00 | 00 | 00 | 00 | 9624 |
00 | 00 | 00 | 01 | 9372 |
00 | 00 | 01 | 00 | 8886 |
00 | 00 | 01 | 01 | 8634 |
00 | 01 | 00 | 00 | 8403 |
00 | 01 | 00 | 01 | 8151 |
00 | 01 | 01 | 00 | 7665 |
00 | 01 | 01 | 01 | 7413 |
01 | 00 | 00 | 00 | 7023 |
01 | 00 | 00 | 01 | 6771 |
01 | 00 | 01 | 00 | 6285 |
01 | 00 | 01 | 01 | 6033 |
01 | 01 | 00 | 00 | 5802 |
01 | 01 | 00 | 01 | 5550 |
01 | 01 | 01 | 00 | 5064 |
01 | 01 | 01 | 01 | 4812 |
Others | Reserved |
상기 표 2는 RS 프레임 모드 값이 00이고, SCCC 블록 모드 값이 00일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 RS 프레임 내 각 데이터 그룹의 PL 값의 예를 보이고 있다.
예를 들어, 데이터 그룹 내 A/B/C/D 영역의 SCCC 아웃터 코드 모드 값이 각각 00(즉, 후단의 블록 처리기(302)에서 1/2 부호율의 부호화가 수행됨)이라고 가정하면, 해당 RS 프레임의 각 데이터 그룹 내 PL 값은 9624 바이트가 될 수 있다. 즉, 하나의 RS 프레임 내 9624 바이트의 모바일 서비스 데이터가 해당 데이터 그룹의 A/B/C/D 영역에 할당될 수 있다.
SCCC outer code mode | PL |
00 | 9624 |
01 | 4812 |
Others | Reserved |
상기 표 3은 RS 프레임 모드 값이 00이고, SCCC 블록 모드 값이 01일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 RS 프레임 내 각 데이터 그룹의 PL 값의 예를 보이고 있다.
SCCC outer code mode | PL | |
for Region A | for Region B | |
00 | 00 | 7644 |
00 | 01 | 6423 |
01 | 00 | 5043 |
01 | 01 | 3822 |
Others | Reserved |
상기 표 4는 RS 프레임 모드 값이 01이고, SCCC 블록 모드 값이 00일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 프라이머리 RS 프레임의 PL 값의 예를 보이고 있다. 예를 들어, A/B 영역의 SCCC 아웃터 코드 모드 값이 각각 00이라면, 프라이머리 RS 프레임 내 7644 바이트의 모바일 서비스 데이터가 해당 데이터 그룹의 A/B 영역에 할당될 수 있다.
SCCC outer code mode | PL | |
for Region C | for Region D | |
00 | 00 | 1980 |
00 | 01 | 1728 |
01 | 00 | 1242 |
01 | 01 | 990 |
Others Reserved |
상기 표 5는 RS 프레임 모드 값이 01이고, SCCC 블록 모드 값이 00일 때, SCCC 아웃터 코드 모드 값에 따라 달라지는 세컨더리 RS 프레임의 PL 값의 예를 보이고 있다. 예를 들어, C/D 영역의 SCCC 아웃터 코드 모드 값이 각각 00이라면, 세컨더리 RS 프레임 내 1980 바이트의 모바일 서비스 데이터가 해당 데이터 그룹의 C/D 영역에 할당될 수 있다.
본 발명에서 상기 N은 187과 같거나 큰 것을 일 실시예로 한다. 즉, 도 20의 (a)의 RS 프레임은 N(row) x 187(column) 바이트 크기를 갖는다.
즉, 상기 RS-CRC 부호기(412)는 먼저, 입력되는 모바일 서비스 데이터 바이트를 일정 길이 단위로 구분한다. 상기 일정 길이는 시스템 설계자에 의해 결정되는 값으로서, 본 발명에서는 187 바이트를 일 실시예로 설명하며, 설명의 편의를 위해 상기 187 바이트 단위를 패킷이라 하기로 한다.
예를 들어, 입력되는 모바일 서비스 데이터는 188바이트 단위로 구성된 MPEG 트랜스포트 스트림 패킷일 수도 있고, IP 데이터그램일 수도 있다. 또는 IP 데이터그램이 188바이트 단위의 TS 패킷으로 인캡슐레이트되어 입력될 수도 있다.
만일 입력되는 모바일 서비스 데이터가 188바이트 단위의 MPEG 트랜스포트 스트림(TS) 패킷이라면 첫 번째 동기 바이트를 제거하여 187 바이트로 하나의 패킷을 구성하고, N개의 패킷을 모아 RS 프레임을 형성한다. 여기서 동기 바이트를 제거하는 이유는 모든 모바일 서비스 데이터 패킷이 동일한 값을 갖기 때문이다. 한편 입력되는 모바일 서비스 데이터가 MPEG TS 패킷의 형식이 아닌 경우에는 MPEG 동기 바이트를 제거하는 과정 없이 187 바이트 단위로 모바일 서비스 데이터를 N번 입력받아 RS 프레임을 형성할 수도 있다.
그리고 RS 프레임의 입력 데이터 형태가 MPEG TS 패킷인 경우와 그렇지 않은 경우 모두를 지원할 경우에는 이러한 정보를 서비스 다중화기(100)에서 송신하는 전송 파라미터에 포함하여 송신기(200)로 전송할 수 있다. 그러면 송신기(200)의 RS-CRC 부호기(412)에서는 이 정보를 받아서 MPEG 동기 바이트의 제거의 수행 여부를 제어할 수 있으며, 송신기는 이러한 정보를 수신 시스템에 제공하여, 수신 시스템의 RS 프레임 복호기에서 MPEG 동기 바이트의 삽입 여부를 제어할 수 있다. 상기 동기 바이트 제거는 전단의 데이터 랜더마이저(411)에서 랜더마이징시 수행할 수도 있다. 이 경우 RS-CRC 부호기(412)에서 동기 바이트 제거 과정은 생략되며, 수신 시스템에서 동기 바이트를 부가할 때에도 RS 프레임 복호기 대신 데이터 디랜더마이저에서 부가할 수 있다.
따라서 상기 RS-CRC 부호기(412)로 입력되는 모바일 서비스 데이터 패킷에 제거 가능한 고정된 한 바이트(예, 동기 바이트)가 존재하지 않거나, 입력된 모바일 서비스 데이터가 TS 패킷 형태가 아닌 경우, 입력되는 모바일 서비스 데이터를 187 바이트 단위로 나누고, 나누어진 187 바이트 단위로 하나의 패킷을 구성한다.
이어, 187바이트로 구성된 패킷을 N개 모아서 하나의 RS 프레임을 구성한다. 이때 하나의 RS 프레임의 구성은 N(row) x 187(column) 바이트의 크기를 갖는 RS 프레임에 187 바이트의 패킷을 로우 방향으로 차례대로 넣음으로써 이루어진다. 즉, 상기 RS 프레임의 N개의 모든 컬럼(column)은 187 바이트를 포함하고 있다.
상기 RS-CRC 부호기(412)는 도 20의 (a)와 같이 RS 프레임이 형성되면, 각 컬럼에 대해서 (Nc,Kc)-RS 부호화를 수행하여 Nc-Kc(=P)개의 패리티 바이트를 생성하고, 생성된 P개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 (187+P) 바이트의 한 컬럼을 만들 수가 있다. 여기서, Kc는 도 20의 (a)에서와 같이 187이며, Nc는 187+P이다.
여기서, 상기 P 값은 RS 코드 모드 값에 따라 달라질 수 있다.
하기의 표 6은 RS 부호화 정보 중 하나인 RS 코드 모드의 일 예를 보이고 있다.
RS code mode | RS code | Number of parity bytes (P) |
00 | (211,187) | 24 |
01 | (223,187) | 36 |
10 | (235,187) | 48 |
11 | Reserved | Reserved |
상기 표 6은 RS 코드 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 RS 코드 모드는 대응하는 RS 프레임의 패리티 개수를 나타낸다.
예를 들어, RS 코드 모드 값이 10이라면, 도 20의 (a)의 RS 프레임에 대해 (235,187)-RS 부호화를 수행하여 48개의 패리티 바이트를 생성하고, 48개의 패리티 바이트를 해당 컬럼의 맨 마지막 바이트 다음에 추가하여 235 바이트의 한 컬럼을 만든다.
그리고 상기 표 1의 RS 프레임 모드가 00 즉, 단일 RS 프레임을 표시하면 해당 RS 프레임에 대한 RS 코드 모드만 표시하면 된다. 하지만 상기 표 1의 RS 프레임 모드가 01 즉, 복수개의 분리된 RS 프레임을 표시하면, 프라이머리, 세컨더리 RS 프레임에 각각 대응하여 RS 코드 모드를 표시한다. 즉, 상기 RS 코드 모드는 프라이머리 RS 프레임과 세컨더리 RS 프레임에 독립적으로 적용되는 것이 바람직하다.
이러한 RS 부호화 과정을 N개의 모든 컬럼에 대해서 수행하면, 도 20의 (b) 와 같이 N(row) x (187+P)(column) 바이트의 크기를 갖는 RS 프레임을 만들 수가 있다.
이때 RS 프레임의 각 로우(row)는 N 바이트로 이루어져 있다. 그런데 송/수신간의 채널 상황에 따라서 상기 RS 프레임에 에러가 포함될 수가 있다. 이렇게 에러가 발생하는 경우에 각 로우 단위로 에러 여부를 검사하기 위하여 CRC 데이터(또는 CRC 코드 또는 CRC 체크섬이라고도 함)를 사용하는 것이 가능하다.
상기 RS-CRC 부호기(412)는 상기 CRC 데이터를 생성하기 위하여 RS 부호화된 모바일 서비스 데이터에 대해 CRC 부호화를 수행할 수 있다. 상기 CRC 부호화에 의해 생성된 CRC 데이터는 모바일 서비스 데이터가 채널을 통해 전송되면서 에러에 의해서 손상되었는지 여부를 알려주기 위해 사용될 수 있다.
본 발명은 CRC 부호화 이외에 다른 에러 검출 부호화 방법들을 사용할 수도 있고, 또는 에러 정정 부호화 방법을 사용하여 수신측에서의 전체적인 에러 정정 능력을 높일 수도 있다.
도 20의 (c)는 CRC 데이터로 2 바이트(즉, 16비트) CRC 체크섬(checksum)을 사용하는 예를 보인 것으로서, 각 로우의 N 바이트에 대한 2바이트 CRC 체크섬을 생성한 후 N 바이트 후단에 부가하고 있다. 이렇게 함으로써, 각 로우는 N+2 바이트로 확장이 된다.
하기의 수학식 3은 N 바이트로 된 각 로우에 대해 2바이트 CRC 체크섬을 생성하는 다항식의 예를 보이고 있다.
상기 각 로우마다 2바이트 CRC 체크섬을 부가하는 것은 하나의 실시예이므로, 본 발명은 상기된 예로 제한되지 않을 것이다.
지금까지 설명한 RS 부호화 및 CRC 부호화 과정을 모두 거치게 되면, N x 187 바이트의 RS 프레임은 (N+2) x (187+P) 바이트의 RS 프레임으로 확장하게 된다.
이렇게 확장된 한 개의 RS 프레임의 에러 정정 시나리오를 살펴보면, RS 프레임 내의 바이트들은 로우 방향으로 채널 상에 전송된다. 이때 한정된 전송 시간에 다량의 에러가 발생하면 수신 시스템의 복호 과정의 RS 프레임에 로우 방향으로 에러가 발생하게 된다. 하지만 컬럼 방향으로 수행된 RS 부호 관점에서는 에러가 분산된 효과가 나타나므로 효과적인 에러 정정 수행이 가능하다. 이때 보다 강력한 에러 정정을 위한 방법으로 패리티 바이트(P)를 증가시키는 것이 있지만 전송 효율을 떨어뜨리므로 적당한 타협점이 필요하다. 이밖에도 복호시에 이레이저(Erasure) 복호(decoding)을 사용하여 에러 보정 능력을 향상시킬 수 있다.
또한, 본 발명의 RS-CRC 부호기(412)에서는 RS 프레임의 에러 보정능력을 보다 향상시키기 위하여 수퍼 프레임 단위의 로우 섞음(permutation)을 수행할 수도 있다.
도 21의 (a) 내지 (d)는 수퍼 프레임 단위의 로우 섞음 과정의 일 실시예를 보이고 있다.
즉, RS-CRC 부호화된 RS 프레임들을 도 21의 (a)와 같이 G개 모아 수퍼 프레임을 구성한다. 이때 각각의 RS 프레임은 (N+2)x(187+P)바이트로 이루어져 있으므로, 하나의 수퍼 프레임은 (N+2)x(187+P)xG 바이트 크기로 이루어진다.
이렇게 구성된 수퍼 프레임의 각 로우를 기 설정된 규칙으로 섞는 과정을 수행하면, 수퍼 프레임 내에서 로우 섞음 전후의 로우의 위치가 달라진다. 즉, 도 21의 (b)와 같이 로우 섞음 전 수퍼 프레임의 i번째 로우는 로우 섞음이 수행되고 나면 도 21의 (c)와 같이 동일한 수퍼 프레임의 j번째 로우에 위치하게 된다. 이러한 i와 j의 관계는 하기의 수학식 4와 같은 로우 섞음 규칙을 통해서 알 수 있다.
상기 수퍼 프레임 단위의 로우 섞음이 수행된 후에도 수퍼 프레임의 각 로우는 N+2 바이트로 구성된다.
그리고 상기 수퍼 프레임 단위의 로우 섞음이 모두 수행되고 나면, 다시 도 21의 (d)와 같이 G개의 로우 섞음된 RS 프레임으로 나누어 RS 프레임 디바이더(413)로 제공한다.
여기에서 주의할 점은 한 개의 수퍼 프레임을 구성하는 각각의 RS 프레임의 RS 패리티와 컬럼 수는 동일해야 한다는 것이다.
전술한 RS 프레임의 에러 정정 시나리오와 유사하게 수퍼 프레임의 경우는 다량의 에러가 발생한 구간이 매우 길어 복호하려는 한 개의 RS 프레임 내에 정정 불가능할 만큼의 에러가 포함되더라도 수퍼 프레임 전체에서는 이 에러들이 분산되므로 단일 RS 프레임과 비교하여 복호 능력이 더욱 향상된다.
지금까지는 하나의 데이터 그룹을 A/B/C/D 영역으로 나눌 때, 하나의 RS 프레임의 데이터를 데이터 그룹 내 A/B/C/D 영역에 모두 할당할 때의 RS 프레임 형성 및 부호화 과정을 설명하였다. 즉, 하나의 퍼레이드로 하나의 RS 프레임을 전송할 때의 실시예로서, 이 경우 세컨더리 부호기(420)는 동작되지 않는다.
한편 하나의 퍼레이드로 2개의 RS 프레임을 전송할 때, 프라이머리 RS 프레임의 데이터는 데이터 그룹 내 A/B 영역에, 세컨더리 RS 프레임의 데이터는 해당 데이터 그룹 내 C/D 영역에 할당하여 전송할 수 있다. 이때 프라이머리 부호기(410)는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터를 입력받아 프라이머리 RS 프레임을 형성하고, RS 부호화와 CRC 부호화를 수행한다. 그리고 세컨더리 부호기(420)는 데이터 그룹 내 C/D 영역에 할당될 모바일 서비스 데이터를 입력받아 세컨더리 RS 프레임을 형성하고, RS 부호화와 CRC 부호화를 수행한다. 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임의 부호화는 서로 독립적으로 이루어진 다.
도 22는 데이터 그룹 내 A/B 영역에 할당될 모바일 서비스 데이터를 입력받아 프라이머리 RS 프레임을 구성하고, C/D 영역에 할당될 모바일 서비스 데이터를 모아 세컨더리 RS 프레임을 구성하여 각각 에러 정정 부호화 및 에러 검출 부호화를 수행한 예를 보이고 있다.
즉, 도 22의 (a)는 프라이머리 부호기(410)의 RS-CRC 부호기(412))에서 데이터 그룹 내 A/B 영역에 할당될 프라이머리 앙상블의 모바일 서비스 데이터를 입력받아 N1(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P1개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다.
도 22의 (b)는 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 데이터 그룹 내 C/D 영역에 할당될 세컨더리 앙상블의 모바일 서비스 데이터를 입력받아 N2(row) x 187(column) 바이트의 크기를 갖는 RS 프레임을 구성하고, 이렇게 구성된 RS 프레임의 각 컬럼에 대해 RS 부호화를 수행하여 각 컬럼마다 P2개의 패리티 데이터를 부가하고, 각 로우에 대해 CRC 부호화를 수행하여 각 로우마다 2 바이트 CRC 체크섬을 부가한 예를 보이고 있다.
이때 상기 각 RS-CRC 부호기(412,422)는 미리 설정되어 제어부(200)에서 제공하는 전송 파라미터 및/또는 상기 서비스 다중화기(100)에서 제공하는 전송 파라미터를 참조하면 RS 프레임 정보(RS 프레임 모드 포함), RS 부호화 정보(RS 코드 모드 포함), SCCC 정보(SCCC 블록 정보, SCCC 아웃터 코드 모드 포함), 데이터 그룹 정보, 데이터 그룹 내 영역 정보 등을 알 수 있다. 상기 전송 파라미터는 각 RS-CRC 부호기(412,422)에서 RS 프레임 구성, 에러 정정 부호화, 에러 검출 부호화를 위해 참조될 뿐만 아니라, 수신 시스템에서의 정상적인 복호를 위해 수신 시스템으로 전송되어야 한다.
그리고 상기 프라이머리 부호기(410)의 RS-CRC 부호기(412)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 프라이머리 RS 프레임의 데이터는 RS 프레임 디바이더(413)로 출력된다. 만일 상기 세컨더리 부호기(420)가 동작하였다면, 상기 세컨더리 부호기(420)의 RS-CRC 부호기(422)에서 RS 프레임 단위의 부호화와 수퍼 프레임 단위의 로우 섞음이 수행된 세컨더리 RS 프레임의 데이터는 RS 프레임 디바이더(423)로 출력된다.
상기 프라이머리 부호기(410)의 RS 프레임 디바이더(413)는 프라이머리 RS 프레임을 다수의 포션(several portions)으로 분리한 후 다중화기(320)로 출력한다. 상기 프라이머리 RS 프레임의 각 포션은 하나의 데이터 그룹에 의해 전송될 수 있는 데이터 량에 대응된다. 마찬가지로, 세컨더리 부호기(420)의 RS 프레임 디바이더(423)는 세컨더리 RS 프레임을 다수의 포션(several portions)으로 분리한 후 다중화기(320)로 출력한다.
본 발명은 프라이머리 부호기(410)의 RS 프레임 디바이더(413)에 대해 상세히 설명하기로 한다. 그리고 설명의 편의를 위해 도 20의 (a) 내지 (c)와 같이 N(row) x 187(column) 바이트의 크기를 갖는 RS 프레임이 형성되고, 상기 RS 프레 임에 RS 부호화를 통해 각 컬럼에 P 바이트의 패리티 데이터가 부가되고, CRC 부호화를 통해 각 로우에 2바이트의 CRC 체크섬이 부가되었다고 가정하자.
그러면, RS 프레임 디바이더(413)는 N+2(row) x 187(column) 바이트의 크기를 갖는 부호화된 RS 프레임을 PL(여기서 PL은 상기 RS 프레임 포션 길이) 사이즈를 갖는 복수개의 포션으로 분할(partition)한다.
이때 상기 PL 값은 표 2 내지 표 5에서 본 바와 같이, RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 달라질 수 있다. 또한 RS 및 CRC 부호화가 수행된 RS 프레임의 전체 바이트 수는 5 x NoG x PL과 같거나 조금 작다. 이 경우 상기 RS 프레임은 PL 사이즈의 ((5 x NoG) - 1)개의 포션과 PL 사이즈이거나 더 작은 사이즈의 1개의 포션으로 분할된다. 즉, 하나의 RS 프레임으로부터 분할되는 포션들 중 마지막 포션을 제외한 각 포션의 사이즈는 PL과 같다.
만일 마지막 포션의 사이즈가 PL보다 작다면, 부족한 바이트 수만큼 스터핑(stuffing) 바이트(또는 더미 바이트)를 마지막 포션에 삽입하여, 마지막 포션의 사이즈가 최종적으로 PL이 되도록 한다.
하나의 RS 프레임으로부터 분할되는 각 포션은 하나의 퍼레이드의 단일 데이터 그룹으로 SCCC 부호화 및 매핑되도록 하기 위한 데이터 량에 대응된다(each portion of a RS frame corresponds to the amount of data to be SCCC-encoded and mapped into a single data group of a Parade).
도 23의 (a), (b)는 (N+2) x (187+P) 크기의 RS 프레임을 PL 사이즈를 갖는 (5 x NoG)개의 포션으로 분할할 때, S개의 스터핑 바이트를 마지막 포션에 추가하 는 실시예를 보이고 있다.
즉, 도 23의 (a)와 같이 RS 및 CRC 부호화된 RS 프레임은 도 23의 (b)와 같이 복수개의 포션으로 분할된다. 상기 RS 프레임으로부터 분할되는 포션의 개수는 (5 x NoG)가 된다. 그리고 처음 ((5 x NoG) - 1)개의 포션들은 PL 사이즈를 포함하지만, 마지막 1개의 포션은 PL 사이즈와 같거나 작을 수 있다. 만일 PL 사이즈보다 작다면 마지막 포션은 PL 사이즈가 되도록 하기의 수학식 5와 같이 S개의 스터핑 바이트를 구하여 채울 수 있다.
상기 PL 사이즈의 데이터를 포함하는 각 포션은 MPH 프레임 부호기(301)의 다중화기(320)를 거쳐 블록 처리기(302)로 출력된다.
이때 상기 RS 프레임 포션들을 하나의 퍼레이드의 데이터 그룹들에 매핑하는 순서는 수학식 1에 정의된 데이터 그룹의 할당 순서와 동일하지 않다(The mapping order of the RS Frame Portions to a Parade of Groups is not identical with the Group assignment order defined in Equation 1). 즉, 하나의 MPH 프레임 내 퍼레이드의 데이터 그룹 위치가 주어지면, 상기 SCCC 부호화된 RS 프레임 포션들은 시간 순서로 할당된다(Given the Group positions of a Parade in an MPH Frame, the SCCC-encoded RS Frame Portions shall be mapped in time order).
도 11을 예로 들면, 퍼레이드 #1 (the second Parade that is allocated )의 데이터 그룹들은 13번째 슬롯(Slot #12)에 먼저 할당되고, 그 다음에 3번째 슬 롯(Slot #2)에 할당된다. 하지만 데이터를 이들 할당된 슬롯들에 배치한다면, 그 데이터는 왼쪽에서 오른쪽으로 시간 순서로 배치된다. 즉, 퍼레이드 #1의 첫 번째 데이터 그룹은 세 번째 슬롯(Slot #2)에 배치되고, 상기 퍼레이드 #1의 두 번째 데이터 그룹은 13번째 슬롯(Slot #13)에 배치된다.
블록 처리기
한편, 상기 블록 처리기(302)는 상기 MPH 프레임 부호기(301)의 출력에 대해 SCCC 아웃터 부호화를 수행한다. 즉, 상기 블록 처리기(302)는 에러 정정 부호화되어 입력되는 각 포션의 데이터를 다시 1/H(여기서 H는 2 이상의 자연수) 부호율로 부호화하여 그룹 포맷터(303)로 출력한다. 본 발명은 입력 데이터를 1/2 부호율의 부호화(또는 1/2 부호화라 하기도 함)와 1/4 부호율의 부호화(또는 1/4 부호화라 하기도 함) 중 어느 하나로 부호화하여 출력하는 것을 일 실시예로 한다. 상기 MPH 프레임 부호기(301)에서 출력되는 각 포션의 데이터는 순수한 모바일 서비스 데이터, RS 패리티 데이터, CRC 데이터, 스터핑 데이터 중 적어도 하나를 포함하지만, 넓은 의미에서는 모바일 서비스를 위한 데이터들이다. 그러므로 각 포션의 데이터는 모두 모바일 서비스 데이터로 간주되어 설명될 것이다.
상기 그룹 포맷터(303)는 상기 블록 처리기(302)에서 SCCC 아웃터 부호화되어 출력되는 모바일 서비스 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 영역에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽 입한다. 그리고 나서, 상기 그룹 포맷터(303)는 데이터 그룹 내 데이터와 위치 홀더를 디인터리빙한다.
본 발명에서 데이터 그룹은 도 5에서와 같이 데이터 인터리빙 후를 기준으로 10개의 MPH 블록(B1~B10)으로 이루어지고, 4개의 영역(A,B,C,D)으로 구분된다.
그리고 도 5와 같이 데이터 그룹을 다수개의 계층화된 영역으로 구분한다고 가정하면, 블록 처리기(302)에서는 계층화된 영역의 특성에 따라 각 영역에 삽입될 모바일 서비스 데이터를 다른 부호율로 부호화할 수도 있다.
예를 들어, 데이터 그룹 내 A/B 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(302)에서 1/2 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 상기 A/B 영역에 삽입하도록 할 수 있다. 또한 데이터 그룹 내 C/D 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(302)에서 1/2 부호율보다 에러 정정 능력이 높은 1/4 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 상기 C/D 영역에 삽입하도록 할 수 있다. 또 다른 예로, C/D 영역에 삽입될 모바일 서비스 데이터는 블록 처리기(302)에서 1/4 부호율보다 더 강력한 에러 정정 능력을 갖는 부호율로 부호화를 수행하도록 하고, 이렇게 부호화된 데이터를 상기 그룹 포맷터(303)에서 상기 C/D 영역에 삽입하도록 할 수도 있고, 추후의 사용을 위해서 미사용(reserve) 영역으로 남겨둘 수도 있다.
또한 상기 블록 처리기(302)는 다른 실시예로서, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 상기 SCCC 블록은 적어도 하나의 MPH 블록을 포함한다.
이때 1/H 부호화가 하나의 MPH 블록 단위로 이루어진다면, MPH 블록(B1~B10)과 SCCC 블록(SCB1~SCB10)은 동일하다(SCB1=B1, SCB2=B2, SCB3=B3, SCB4=B4, SCB5=B5, SCB6=B6, SCB7=B7, SCB8=B8, SCB9=B9, SCB10=B10). 예를 들어, MPH 블록 B1은 1/2 부호율로, MPH 블록 B2은 1/4 부호율로, MPH 블록 B3은 1/2 부호율로 부호화를 수행할 수 있다. 나머지 MPH 블록에 대해서도 마찬가지이다.
또는 A,B,C,D 영역 내 복수개의 MPH 블록을 하나의 SCCC 블록으로 묶어, SCCC 블록 단위로 1/H 부호화를 수행할 수도 있다. 이렇게 하면 C/D 영역의 수신 성능을 향상시킬 수 있게 된다. 예를 들어, MPH 블록 B1부터 MPH 블록 B5까지를 하나의 SCCC 블록으로 묶어 1/2 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 MPH 블록 B1부터 MPH 블록 B5까지 삽입하도록 할 수 있다.
또한 MPH 블록 B6부터 MPH 블록 B10까지를 다른 SCCC 블록으로 묶어 1/4 부호화를 수행하고, 이렇게 부호화된 모바일 서비스 데이터를 상기 그룹 포맷터(303)에서 데이터 그룹의 MPH 블록 B6부터 MPH 블록 B10까지 삽입하도록 할 수 있다. 이 경우 하나의 데이터 그룹은 두개의 SCCC 블록으로 구성된다.
또 다른 실시 예로써 MPH 블록을 2개씩 묶어서 하나의 SCCC 블록으로 구성할 수도 있다. 예를 들어서 MPH 블록 B1과 MPH 블록 B6을 묶어 하나의 SCCC(SCB1) 블록을 구성할 수 있다. 마찬가지로 MPH 블록 B2과 MPH 블록 B7을 묶어 다른 하나의 SCCC(SCB2) 블록, MPH 블록 B3과 블록 B8을 묶어 또 다른 하나의 SCCC(SCB3) 블록, MPH 블록 B4과 블록 B9을 묶어 또 다른 하나의 SCCC(SCB4) 블록, MPH 블록 B5과 MPH 블록 B10을 묶어 또 다른 하나의 SCCC(SCB5) 블록을 구성할 수 있다. 이 경우는 10개의 MPH 블록을 5개의 SCCC 블록으로 구성한 예이다. 이렇게 하면 채널 변화가 매우 심한 수신 환경에서 A 영역에 비해서 상대적으로 수신 성능이 떨어지는 C와 D 영역의 수신 성능을 보완할 수가 있다. 또한 A 영역에서 D 영역으로 갈수록 메인 서비스 데이터 심볼의 수가 점점 많아지게 되고 이것이 에러 정정 부호의 성능 저하를 가져오는데, 상기와 같이 복수개의 MPH 블록을 하나의 SCCC 블록으로 구성함으로써, 이러한 성능 저하를 줄일 수가 있다
상기와 같이 블록 처리기(302)에서 1/H 부호화가 이루어지면, 모바일 서비스 데이터를 정확하게 복원하기 위하여 SCCC 관련 정보가 수신 시스템으로 전송되어야 한다.
하기의 표 7은 SCCC 관련 정보 중 MPH 블록과 SCCC 블록 사이의 관계를 보인 SCCC 블록 모드의 일 예를 보이고 있다.
상기 표 7은 SCCC 블록 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 블록 모드 값이 00이면 SCCC 블록과 MPH 블록이 동일함의 표시한다. 또한 상기 SCCCC 블록 모드 값이 01이면 각 SCCC 블록이 2개의 MPH 블록으로 구성됨을 표시한다.
만일 전술한 바와 같이 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성된다면 표 7에서는 표시하지 않았지만 SCCC 블록 모드로 이 정보도 표시할 수 있다. 예를 들어, SCCC 블록 모드 값이 10일 때는 각 SCCC 블록이 5개의 MPH 블록으로 구성되며, 하나의 데이터 그룹이 두개의 SCCC 블록으로 구성됨을 표시할 수 있다. 여기서, SCCC 블록에 포함되는 MPH 블록의 개수 및 MPH 블록의 위치는 시스템 설계자에 의해 달라질 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이며, 또한 SCCC 모드 정보의 확장도 가능하다.
하기의 표 8은 SCCC 관련 정보 중 SCCC 블록의 부호율 정보 즉, SCCC 아웃터 코드 모드의 일 예를 보이고 있다.
SCCC outer code mode | Description |
00 | The outer code rate of a SCCC Block is 1/2 rate |
01 | The outer code rate of a SCCC Block is 1/4 rate |
10 | Reserved |
11 | Reserved |
상기 표 8은 SCCC 블록의 부호율 정보를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 일 예로, 상기 SCCC 아웃터 코드 모드 값이 00이면 해당 SCCC 블록의 부호율은 1/2을 지시하고, 01이면 1/4을 지시한다.
만일 상기 표 7의 SCCC 블록 모드 값이 00을 표시하면, 상기 SCCC 아웃터 코드 모드는 각 MPH 블록에 대응하여 각 MPH 블록의 부호율을 표시할 수 있다. 이 경우 하나의 데이터 그룹은 10개의 MPH 블록을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 10개의 MPH 블록에 대한 SCCC 블록 모드를 표시하기 위해 20비트가 필요하다.
다른 예로, 상기 표 7의 SCCC 블록 모드 값이 00을 표시하면, 상기 SCCC 아웃터 코드 모드는 데이터 그룹 내 각 영역에 대응하여 각 영역의 부호율을 표시할 수도 있다. 이 경우 하나의 데이터 그룹은 A,B,C,D 4개의 영역을 포함하고, 각 SCCC 블록 모드는 2비트가 할당된다고 가정하였으므로, 4개의 영역에 대한 SCCC 블록 모드를 표시하기 위해 8비트가 필요하다.
또 다른 예로, 상기 표 7의 SCCC 블록 모드 값이 01을 표시하면, 상기 데이터 그룹 내 A,B,C,D 영역은 동일한 SCCC 아웃터 코드 모드를 갖게 된다.
한편 하기의 표 9는 SCCC 블록 모드 값이 00일 때, 각 SCCC 블록에 대한 SCCC 출력 블록 길이(SCCC Output Block Length ; SOBL)의 일 예를 보이고 있다.
즉, 각 SCCC 블록에 대한 SCCC 출력 블록 길이(SCCC Output Block Length ; SOBL)를 알면, 각 SCCC 블록의 아웃터 부호율에 따라 해당 SCCC 블록에 대한 SCCC 입력 블록 길이(SCCC Input Block Length ; SIBL)를 결정할 수 있다. 상기 SOBL은 각 SCCC 블록에 대한 SCCC 출력(또는 outer encoded) 바이트의 개수와 같고, SIBL은 각 SCCC 블록에 대한 SCCC 입력(or payload) 바이트의 개수와 같다.
하기의 표 10은 SCCC 블록 모드 값이 01일 때, 각 SCCC 블록에 대한 SOBL과 SIBL의 일 예를 보이고 있다.
이를 위해 상기 블록 처리기(302)는 도 24와 같이 RS 프레임 포션-SCCC 블록 변환기(511), 바이트-비트 변환기(512), 콘볼루션 부호기(513), 심볼 인터리버(514), 심볼-바이트 변환기(515), 및 SCCC 블록-MPH 블록 변환기(516)를 포함할 수 있다.
상기 콘볼루션 부호기(513)와 심볼 인터리버(514)는 SCCC를 구성하기 위해 트렐리스 부호화 모듈(256)과 가상으로 연접된다(The convolutional encoder 513 and the symbol interleaver 514 are virtually concatenated with the trellis encoder in the post-processor to construct the SCCC).
즉, 상기 RS 프레임 포션-SCCC 블록 변환기(511)는 입력되는 RS 프레임 포션을 RS 프레임 모드, SCCC 블록 모드, SCCC 아웃터 코드 모드에 따라 표 9, 표 10의 SIBL을 사용함으로써, 복수의 SCCC 블록으로 분할한다. 여기서 상기 MPH 프레임 부호기(301)는 RS 프레임 모드에 따라 프라이머리 RS 프레임 포션을 출력하거나, 프라이머리 RS 프레임 포션과 세컨더리 RS 프레임 포션을 출력한다.
상기 RS 프레임 모드가 00이라면, 프라이머리 RS 프레임의 포션은 블록 처리기(302)에서 SCCC 아웃터 부호화되어 하나의 데이터 그룹 내 10개의 MPH 블록에 매핑된 데이터 량과 같다. 만일 상기 SCCC 블록 모드가 00이라면, 상기 프라이머리 RS 프레임은 표 9에 따라 10개의 SCCC 블록으로 분할된다. 만일 SCCC 블록 모드가 01이라면, 상기 프라이머리 RS 프레임 포션은 표 10에 따라 5개의 SCCC 블록으로 분할된다. 한편 상기 RS 프레임 모드가 01이라면, 상기 블록 처리기(302)는 두개의 RS 프레임 포션을 입력받는다. 상기 RS 프레임 모드가 01인 경우, SCCC 블록 모드 값으로 01이 사용되지 않는다. 상기 프라이머리 RS 프레임으로터 분할된 프라이머리 포션은 블록 처리기(302)에서 SCCC 블록 SCB3, SCB4, SCB5, SCB6, SCB7, 및 SCB8으로서 SCCC 아웃터 부호화된다. 상기 SCCC 블록 SCB3, SCB8은 그룹 포맷터(303)에서 데이터 그룹 내 영역 B에 매핑되고, 상기 SCCC 블록 SCB4, SCB5, SCB6, SCB7은 영역 A에 매핑된다. 상기 세컨더리 RS 프레임으로부터 분할된 세컨더리 포션은 블록 처리기(302)에 의해 SCCC 블록 SCB1, SCB2, SCB9, 및 SCB10으로서 SCCC 아웃터 부호화된다. 상기 그룹 포맷터(303)는 상기 SCCC 블록 SCB1, SCB10은 해당 데이터 그룹 내 영역 D에 각각 매핑하고, 상기 SCCC 블록 SCB2, SCB9은 영역 C에 매핑된다.
상기 바이트-비트 변환기(512)는 상기 RS 프레임 포션-SCCC 블록 변환기(511)에서 출력되는 각 SCCC 블록의 모바일 서비스 데이터 바이트를 비트로 구분하여 콘볼루션 부호기(513)로 출력한다.
상기 콘볼루션 부호기(513)는 입력되는 모바일 서비스 데이터 비트에 대해 1/2 부호화 또는 1/4 부호화를 수행한다.
도 25는 상기 콘볼루션 부호기(513)의 일 실시예를 보인 상세 블록도로서, 2개의 지연기(521,523)와 3개의 가산기(522,524,525)로 구성되어, 입력 데이터 비트 U를 부호화하여 5비트(u0~u4)로 출력한다. 이때 입력 데이터 비트 U는 최상위 비트 u0로 그대로 출력됨과 동시에 부호화되어 하위 비트 u1u2u3u4로 출력된다.
즉, 입력 데이터 비트 U는 그대로 최상위 비트 u0로 출력됨과 동시에 제1,제3 가산기(522,525)로 출력된다. 상기 제1 가산기(522)는 입력 데이터 비트 U와 제1 지연기(521)의 출력을 더하여 제2 지연기(523)로 출력하며, 상기 제2 지연기(523)에서 일정 시간(예를 들어 1 클럭) 지연된 데이터는 하위 비트 u1로 출력됨과 동시에 제1 지연기(521)로 피드백된다. 상기 제1 지연기(521)는 상기 제2 지연기(523)에서 피드백되는 데이터를 일정 시간(예를 들어, 1 클럭) 지연시켜 하위 비트 u2로 출력함과 동시에 제1 가산기(522)와 제 2 가산기(524)로 출력한다.
상기 제2 가산기(524)는 제1,제2 지연기(521,523)의 출력을 더하여 하위 비트 u3로 출력한다. 상기 제3 가산기(525)는 입력 데이터 비트 U와 제2 가산기(524)의 출력을 더하여 최하위 비트 u4로 출력한다.
이때 제1,제2 지연기(521,523)는 각 SCCC 블록의 시작시에 0으로 리셋된다. 도 25의 콘볼루션 부호기(513)는 1/2 부호기로 사용할 수도 있고, 1/4 부호기로 사용할 수도 있다.
즉, 도 25의 콘볼루션 부호기(513)의 일부 출력 비트를 선택하여 출력하면, 1/2 부호기 또는 1/4 부호기로 사용할 수 있다.
하기의 표 11은 콘볼루션 부호기(513)의 출력 심볼의 일 예를 보인 것이다.
예를 들어, 1/2 부호율인 경우, 1 출력 심볼 즉, u0,u1 비트를 선택하여 출력하면 된다. 또한, 1/4 부호율인 경우 SCCC 블록 모드에 따라 2 출력 심볼 즉, 4개의 비트를 선택하여 출력하면 된다. 예를 들어, SCCC 블록 모드가 01이라고 하면, u0,u2로 된 출력 심볼, u1,u4로 된 출력 심볼을 선택하여 출력하면 1/4 부호화의 결과를 얻게 된다.
상기 콘볼루션 부호화부(513)에서 1/2 또는 1/4 부호율로 부호화된 모바일 서비스 데이터 심볼은 심볼 인터리버(514)로 출력된다.
상기 심볼 인터리버(514)는 상기 콘볼루션 부호기(513)의 출력 데이터 심볼에 대해 심볼 단위로 블록 인터리빙을 수행한다. 즉, 심볼 인터리버(514)는 블록 인터리버의 한 유형이다. 상기 심볼 인터리버(514)는 구조적으로 어떤 순서 재배열을 하는 인터리버이면 어느 인터리버라도 적용될 수 있다. 본 발명에서는 순서를 재배열하려는 심볼의 길이가 다양한 경우에도 적용 가능한 가변 길이 심볼 인터리버를 사용하는 것을 일 실시예로 설명한다.
도 26은 본 발명에 따른 심볼 인터리버의 일 실시예를 보인 도면으로서, B는 2112이고, L은 4096일 때의 심볼 인터리빙의 예이다.
여기서 상기 B는 콘볼루션 부호기(513)에서 심볼 인터리빙을 위해 출력되는 심볼 단위의 블록 길이(Block length in symbols)이고, L은 심볼 인터리버(514)에서 실제로 인터리빙이 되는 심볼 단위의 블록 길이이다. 이때 심볼 인터리버(514)로 입력되는 심볼 단위의 블록 길이 B는 4 x SOBL과 같다. 즉, 한 심볼은 2비트로 구성되므로, B는 4 x SOBL로 설정될 수 있다.
그리고 심볼 인터리빙시에, L = 2m(여기서 m은 자연수)이면서 L ≥ B 조건을 만족하여야 한다. 만일 B와 L의 값이 차이가 나게 되면, 차이나는 개수(=L-B)만큼 널(null 또는 dummy) 심볼이 추가되어 도 26의 P'(i)와 같이 인터리빙 패턴이 만들어진다.
그러므로 상기 B는 인터리빙을 위해 상기 심볼 인터리버(514)로 입력되는 실제 심볼들의 블록 크기가 되고, L은 상기 심볼 인터리버(514)에서 생성된 인터리빙 패턴에 의해 실제 인터리빙이 이루어지는 인터리빙 단위가 된다.
하기의 수학식 6은 상기 심볼 인터리버(514)에서 순서를 재배열하고자 하는 심볼 B개를 순서대로 입력받은 후, L = 2m이면서 L ≥ B 조건을 만족하는 L을 찾아 인터리빙 패턴을 만들어 재배열하는 과정을 수학식으로 표현한 것이다.
P'(i) = { 89 x i x (i+1) / 2 } mod L
여기서 L ≥ B , L = 2m이고, m은 자연수이다.
상기 수학식 6, 도 26의 P'(i)와 같이 L 심볼 단위로 B개의 입력 심볼과 (L-B)개의 널 심볼의 순서를 재배열한 후 도 26의 P(i)와 같이 널 심볼의 위치를 제거하고 다시 정렬한다. 즉, 가장 낮은 i부터 시작하여, 제거된 널 심볼의 위치를 채우기 위해 P(i) 엔트리들을 왼쪽으로 쉬프트한다(Starting with the lowest i, shift the P(i) entries to the left to fill the empty entry locations). 그리고 정렬된 인터리빙 패턴 P(i)의 심볼들을 순서대로 심볼-바이트 변환기(515)로 출력한다.
상기 심볼-바이트 변환기(515)는 상기 심볼 인터리버(514)에서 순서 재배열이 완료되어 출력되는 모바일 서비스 데이터 심볼들을 바이트로 변환하여 SCCC 블록-MPH 블록 변환기(516)로 출력한다. 상기 SCCC 블록-MPH 블록 변환기(516)는 심볼 인터리빙된 SCCC 블록을 MPH 블록으로 변환하여 그룹 포맷터(303)로 출력한다.
만일 SCCC 블록 모드가 00이라면, 상기 SCCC 블록은 데이터 그룹 내 각 MPH 블록에 1:1로 매핑된다. 다른 예로, SCCC 블록 모드가 01이라면, 상기 SCCC 블록은 데이터 그룹 내 두개의 대응하는 MPH 블록에 매핑된다. 예를 들어, SCCC 블록 SCB1은 (B1,B6)에, SCB2는 (B2,B7)에, SCB3은 (B3,B8)에, SCB4는 (B4,B9)에, 그리고 SCB5는 (B5,B10)에 매핑된다. 상기 SCCC 블록-MPH 블록 변환기(516)에서 출력되는 MPH 블록은 모바일 서비스 데이터와 FEC 리더던시(redundancy)로 이루어진다. 본 발명은 MPH 블록의 모바일 서비스 데이터 뿐만 아니라 FEC 리더던시(redundancy)도 모바일 서비스 데이터로 간주하여 설명한다.
그룹
포맷터
상기 그룹 포맷터(303)는 상기 블록 처리기(302)에서 출력되는 MPH 블록의 데이터를 기 정의된 규칙에 따라 형성되는 데이터 그룹 내 해당 MPH 블록에 삽입하고, 또한 데이터 디인터리빙과 관련하여 각종 위치 홀더나 기지 데이터(또는 기지 데이터 위치 홀더)도 상기 데이터 그룹 내 해당 영역에 삽입한다.
즉, 상기 그룹 포맷터(303)에서는 블록 처리기(302)에서 출력되는 부호화된 모바일 서비스 데이터들 외에도 도 5에서 보이는 것과 같이 후단의 데이터 디인터 리빙과 관련하여 MPEG 헤더 위치 홀더, 비체계적 RS 패리티 위치 홀더, 메인 서비스 데이터 위치 홀더를 데이터 그룹의 해당 영역에 삽입한다. 여기서 메인 서비스 데이터 위치 홀더를 삽입하는 이유는 도 5와 같이 데이터 인터리빙 후를 기준으로 B 영역 내지 D 영역에서는 모바일 서비스 데이터와 메인 서비스 데이터가 사이 사이에 서로 섞이게 되기 때문이다. 일 예로 상기 MPEG 헤더를 위한 위치 홀더는 상기 데이터 디인터리빙 후의 출력 데이터를 기준으로 볼 때, 각 패킷의 제일 앞에 할당될 수 있다. 또한 의도된 그룹 포맷을 구성하기 위해 더미 바이트를 삽입할 수도 있다. 또한 상기 그룹 포맷터(303)에서는 트렐리스 부호화부(Trellis Encoding Module)(256)의 초기화를 위한 위치 홀더를 해당 영역에 삽입한다. 일 실시예로, 상기 초기화 데이터 위치 홀더는 상기 기지 데이터 열의 앞에 삽입할 수 있다.
그리고 상기 그룹 포맷터(303)에서는 시그널링 부호기(304)에서 부호화되어 출력되는 시그널링 정보도 데이터 그룹의 해당 영역에 삽입할 수 있다.
이때 상기 시그널링 정보는 상기 그룹 포맷터(303)에서 각 데이터 및 위치 홀더를 데이터 그룹에 삽입할 때 참조될 수 있다. 상기 시그널링 정보의 부호화 및 데이터 그룹에 삽입하는 과정은 뒤에서 상세히 설명할 것이다.
그리고 상기 그룹 포맷터(303)에서는 각종 데이터 및 위치 홀더를 데이터 그룹의 해당 영역에 삽입한 후, 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙하여 패킷 포맷터(305)로 출력한다. 즉, 도 5와 같은 형태로 구성된 데이터 그룹 내 데이터 및 위치 홀더가 상기 그룹 포맷터(303)에서 디인터리빙되면 패킷 포맷터(305)로 출력되는 데이터 그룹은 도 7과 같은 구조를 갖게 된다. 이를 위해 상기 그룹 포맷터(303)는 도 27과 같이 그룹 포맷 형성부(Group format organizer)(527), 및 데이터 디인터리버(529)를 포함할 수 있다. 상기 그룹 포맷 형성부(527)는 상기와 같이 데이터 그룹 내 해당 영역에 데이터 및 위치 홀더를 삽입하고, 데이터 디인터리버(529)는 데이터 그룹 내 데이터 및 위치 홀더를 데이터 인터리빙의 역과정으로 디인터리빙한다.
상기 패킷 포맷터(305)는 디인터리빙되어 입력된 데이터 중에서 디인터리빙을 위해 할당되었던 메인 서비스 데이터 위치 홀더와 RS 패리티 위치 홀더를 제거하고, 나머지 부분들을 모은 후, 3바이트의 MPEG 헤더 위치 홀더에 널 패킷 PID(또는 메인 서비스 데이터 패킷에서 사용하지 않는 PID)를 갖는 MPEG 헤더를 삽입한다. 그리고 각 187 바이트의 데이터 패킷의 시작 부분에 동기 바이트를 추가한다.
또한 상기 패킷 포맷터(305)는 상기 그룹 포맷터(303)에서 기지 데이터 위치 홀더를 삽입한 경우 상기 기지 데이터 위치 홀더에 실제 기지 데이터를 삽입할 수도 있고, 또는 나중에 대체 삽입하기 위하여 상기 기지 데이터 위치 홀더를 조정없이 그대로 출력할 수도 있다.
그리고 나서 상기 패킷 포맷터(305)는 상기와 같이 패킷 포맷팅된 데이터 그룹 내 데이터들을 188바이트 단위의 모바일 서비스 데이터 패킷(즉, MPEG TS 패킷)으로 구분하여 패킷 다중화기(240)에 제공한다.
상기 패킷 다중화기(240)는 상기 제어부(200)의 제어에 의해 패킷 포맷터(305)에서 패킷 포맷팅되어 출력되는 데이터 그룹과 패킷 지터 경감기(220)에서 출력되는 메인 서비스 데이터 패킷을 다중화하여 후처리기(Post-Processor)(250)의 데이터 랜더마이저(251)로 출력한다. 즉, 상기 제어부(200)는 패킷 다중화기(240)의 시간 다중화를 제어한다. 만일 상기 패킷 다중화기(240)가 상기 패킷 포맷터(305)로부터 118개의 모바일 서비스 데이터 패킷을 입력받는다면, 118개 중 37 모바일 서비스 데이터 패킷은 VSB 필드 동기 삽입 위치 앞에 배치되고(place), 또 다른 81 모바일 서비스 데이터 패킷은 상기 VSB 필드 동기 삽입 위치 뒤에 배치된다. 상기 다중화 방법은 시스템 설계의 여러 변수들에 의해서 조정이 가능하다. 상기 패킷 다중화기(240)에서의 다중화 방법 및 다중화 규칙에 대해서는 뒤에서 상세히 설명하기로 한다.
그리고 상기 패킷 다중화 과정에서 메인 서비스 데이터 사이사이에 모바일 서비스 데이터를 포함하는 데이터 그룹이 다중화(또는 할당)되기 때문에 메인 서비스 데이터 패킷의 시간적인 위치가 상대적으로 이동하게 된다. 그런데 수신 시스템의 메인 서비스 데이터 처리를 위한 시스템 목표 디코더(즉, MPEG 디코더)에서는 메인 서비스 데이터만을 수신하여 복호하고 모바일 서비스 데이터 패킷은 널 데이터 패킷으로 인식하여 버리게 된다.
따라서 수신 시스템의 시스템 목표 디코더가 데이터 그룹과 다중화된 메인 서비스 데이터 패킷을 수신할 경우 패킷 지터가 발생하게 된다.
이때 상기 시스템 목표 디코더에서는 비디오 데이터를 위한 여러 단계의 버퍼가 존재하고 그 사이즈가 상당히 크기 때문에 상기 패킷 다중화기(240)에서 발생시키는 패킷 지터는 비디오 데이터의 경우, 큰 문제가 되지 않는다. 그러나 시스템 목표 디코더 내 오디오 데이터를 위한 버퍼의 사이즈는 작기 때문에 문제가 될 수 있다.
즉, 상기 패킷 지터로 인해 수신 시스템의 메인 서비스 데이터를 위한 버퍼, 예를 들면 오디오 데이터를 위한 버퍼에서 오버플로우(overflow)나 언더플로우(underflow)가 발생할 수 있다.
따라서 패킷 지터 경감기(220)에서는 상기 시스템 목표 디코더의 버퍼에서 오버플로우 또는 언더플로우가 발생하지 않도록 메인 서비스 데이터 패킷의 상대적인 위치를 재조정한다.
본 발명에서는 오디오 버퍼의 동작에 주는 영향을 최소화하기 위하여 메인 서비스 데이터의 오디오 데이터 패킷의 위치를 재배치하는 실시예들을 설명한다. 상기 패킷 지터 경감기(220)는 메인 서비스의 오디오 데이터 패킷이 최대한 균일하게 위치할 수 있도록 메인 서비스 데이터 구간에서 오디오 데이터 패킷을 재배치한다.
또한 메인 서비스 데이터 패킷의 위치를 상대적으로 재조정하게 되면 그에 따른 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)는 패리티 치환기(254)에서 출력되는 바이트 단위의 데이터를 심볼 단위로 바꾸고 12-way 인터리빙하여 트렐리스 부호화한 후 동기 다중화기(260)로 출력한다.
도 28은 트렐리스 부호화부(256) 내 12개의 트렐리스 부호기 중 하나의 트렐 리스 부호기의 상세 도면이다. 상기 트렐리스 부호기는 2개의 다중화기(531,541), 2개의 가산기(532,543), 및 3개의 메모리(533,542,544)를 포함할 수 있다.
즉, 상기 패리티 치환기(254)에서 초기화 데이터 위치 홀더에 삽입되어 출력되는 트렐리스 초기화 데이터에 의해 상기 제1 내지 제3 메모리(533,542,544)는 초기화된다. 다시 말해, 각 트렐리스 초기화 데이터 바이트로부터 변환된 처음 두 심볼(즉, 4비트)이 입력되면, 트렐리스 부호기의 입력 비트들은 도 28에서 보는 바와 같이 트렐리스 부호기의 메모리 값들에 의해 재배열된다.
그리고 두 심볼(즉, 4비트)이 트렐리스 초기화를 위해 요구되기 때문에, 트렐리스 초기화 데이터 바이트들의 마지막 2 심볼은 트렐리스 초기화를 위해 사용되지 않으며, 기지 데이터 바이트의 심볼로 취급된다.
도 28의 트렐리스 부호기는 초기화 모드이면, 상기 트렐리스 부호기의 입력은 패리티 치환기(254)의 출력 대신 내부 트렐리스 상태에서 온다. 그리고 노말 모드이면, 상기 트렐리스 부호기는 상기 패리티 치환기(254)로부터 입력 심볼을 제공받아 처리한다. 상기 트렐리스 부호기는 트렐리스 초기화를 위해 변경된 입력 데이터를 상기 비체계적 RS 부호기(255)로 제공된다.
즉, 상기 제1 다중화기(531)는 선택 신호가 노말 모드(normal mode)를 지시하면 입력 심볼의 상위 비트 X2를 선택하고, 초기화 모드(initialization mode)를 지시하면 제1 메모리(533)의 출력을 선택하여 제1 가산기(532)로 출력한다. 상기 제1 가산기(532)는 상기 제1 다중화기(531)의 출력과 제1 메모리(533)의 출력을 더하여 제1 메모리(533)로 출력함과 동시에 최상위 비트 Z2로 출력한다. 상기 제1 메 모리(533)는 상기 제1 가산기(532)의 출력 데이터를 1 클럭 지연시킨 후 제1 다중화기(531)와 제1 가산기(532)로 출력한다. 한편 상기 제2 다중화기(541)는 선택 신호가 노말 모드(normal mode)를 지시하면 입력 심볼의 하위 비트 X1을 선택하고, 초기화 모드(initialization mode)를 지시하면 제2 메모리(542)의 출력을 선택하여 제2 가산기(543)로 출력함과 동시에 하위 비트 Z1로 출력한다. 상기 제2 가산기(543)는 제2 다중화기(541)의 출력과 제2 메모리(542)의 출력을 더하여 제3 메모리(544)로 출력한다. 상기 제3 메모리(544)는 상기 제2 가산기(543)의 출력을 1 클럭 지연시킨 후 제2 메모리(542)로 출력함과 동시에 최하위 비트 Z0로 출력한다. 상기 제2 메모리(542)는 제3 메모리(544)의 출력을 1 클럭 지연시킨 후 제2 가산기(543)와 제2 다중화기(541)로 출력한다.
상기 동기 다중화기(260)는 트렐리스 부호화부(256)의 출력에 필드 동기와 세그먼트 동기를 삽입하여 송신부(270)의 파일롯 삽입기(271)로 출력한다.
상기 파일롯 삽입기(271)에서 파일롯이 삽입된 데이터는 변조기(272)에서 기 설정된 변조 방식 예를 들어, VSB 방식으로 변조된 후 RF 업 컨버터(273)를 통해 각 수신 시스템으로 전송된다.
패킷 다중화기(240)의 다중화 방법
즉, 에러 정정 부호화 및 1/H 부호화된 프라이머리 RS 프레임(즉, RS 프레임 모드가 00) 또는 프라이머리/세컨더리 RS 프레임(즉, RS 프레임 모드가 01)의 데이터는 그룹 포맷터(303)에서 복수개의 데이터 그룹에 분할되어 각 데이터 그룹의 A 내지 D 영역 중 적어도 하나의 영역에 할당되거나, MPH 블록 B1 내지 B10 중 적어도 하나의 MPH 블록에 할당되어 디인터리빙된다. 그리고 디인터리빙된 데이터 그룹은 패킷 포맷터(305)를 거쳐 패킷 다중화기(240)에서 메인 서비스 데이터와 기 정해진 다중화 규칙에 따라 다중화된다.
상기 패킷 다중화기(240)는 연속적인 복수개의 데이터 그룹들이 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화하여 출력한다. 예를 들어, 하나의 서브 프레임에 3개의 데이터 그룹을 다중화하여 전송한다고 가정하면, 3개의 데이터 그룹은 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯번째 슬롯(Slot #4), 아홉번째 슬롯(Slot #8)에 순차적으로 할당되어 출력된다.
상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어지도록 다중화되어 출력된다. 상기 데이터 그룹 및 퍼레이드들의 할당 방법은 MPH 프레임을 기반으로 MPH 프레임마다 다르게 적용할 수 있고, 하나의 MPH 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다.
도 10은 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 상기 패킷 다중화기(240)에서 하나의 MPH 프레임에 할당할 때의 실시예를 보이고 있다. 도 10을 보면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 MPH 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 MPH 프레임에 15개의 데이터 그룹이 할당됨을 알 수 있다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들 이다.
상기 도 10과 같이 하나의 퍼레이드에 대한 데이터 그룹들이 MPH 프레임에 할당되었을 때, 상기 패킷 다중화기(240)는 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터를 할당할 수도 있고, 다른 퍼레이드의 데이터 그룹들을 할당할 수도 있다. 즉, 상기 패킷 다중화기(240)는 하나의 MPH 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 할당할 수 있다.
기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당 방법도 단일 퍼레이드의 경우와 다르지 않다. 즉, 상기 패킷 다중화기(240)는 하나의 MPH 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당한다.
이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다.
예를 들어, 하나의 퍼레이드에 대한 데이터 그룹의 할당이 도 10과 같이 이루어졌다고 가정할 때, 다음 퍼레이드에 대한 데이터 그룹은 하나의 서브 프레임 내 12번째 슬롯부터 할당할 수 있다.
도 11은 상기 패킷 다중화기(240)에서 하나의 MPH 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 할당하여 전송하는 예를 보인 것이다.
일 예로, 첫 번째 퍼레이드(Parade #0)는 서브 프레임 당 3개의 데이터 그룹을 포함한다고 가정하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 0~2를 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 첫 번째, 다섯 번째, 아홉 번째 슬롯(Slot #0, Slot #4, Slot #8)에 첫 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다.
두 번째 퍼레이드(Parade #1)는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 3~4를 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다.
또한 세 번째 퍼레이드(Parade #2)는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 상기 패킷 다중화기(240)는 상기 수학식 1의 i 값에 5~6을 대입함으로써 서브 프레임 내 데이터 그룹들의 위치를 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들을 순차적으로 할당하여 출력한다.
이와 같이 상기 패킷 다중화기(240)는 하나의 MPH 프레임에 복수개의 퍼레이드에 대한 데이터 그룹들을 다중화하여 출력할 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 다중화는 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행한다. 따라서 하나의 서브 프레임에 다중화될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 MPH 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 MPH 프레임에 다중화될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다.
시그널링
정보 처리
본 발명은 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 각 데이터 그룹 내 일부 영역(area)에 할당하는 것을 일 실시예로 한다.
도 29는 시그널링 정보를 삽입하기 위한 시그널링 정보 영역(area)을 데이터 그룹 내 MPH 블록 B4의 첫 번째 세그먼트부터 두 번째 세그먼트의 일부까지 할당한 예를 보이고 있다. 즉, 각 데이터 그룹의 MPH 블록 B4의 276(=207+69) 바이트가 시그널링 정보를 삽입하기 위한 영역으로 할당된 예이다. 다시 말해, 상기 시그널링 정보 영역은 MPH 블록 B4의 첫 번째 세그먼트인 207 바이트와 두 번째 세그먼트의 처음 69 바이트로 구성된다. 일 예로, 상기 MPH 블록 B4의 첫 번째 세그먼트는 VSB 필드의 17번째 또는 173번째 세그먼트에 해당한다. 상기 시그널링 정보 영역에 삽입될 시그널링 정보는 시그널링 부호기(304)에서 FEC 부호화되어 그룹 포맷터(303)로 입력된다.
상기 그룹 포맷터(303)에서는 상기 시그널링 부호기(304)에서 FEC 부호화되어 출력되는 시그널링 정보를 데이터 그룹 내 시그널링 정보 영역에 삽입한다.
상기 시그널링 정보는 크게 두 종류의 시그널링 채널로 구분할 수 있다. 하나는 전송 파라미터 채널(Transmission Parameter Channel ; TPC)이고, 다른 하나는 고속 정보 채널(Fast Information Channel ; FIC)이다.
상기 TPC 정보는 RS 프레임 관련 정보, SCCC 관련 정보, MPH 프레임 관련 정 보와 같은 전송 파라미터를 포함하는 시그널링 정보이다. 상기 TPC 정보는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TPC에 포함되는 시그널링 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. 상기 FIC 정보는 수신기에서 빠른 서비스 획득(fast service acquisition)이 가능하도록 하기 위해 제공되며, 물리 계층과 상위 계층 사이의 크로스 계층 정보를 포함한다.
도 30은 시그널링 부호기(304)의 일 실시예를 보인 상세 블록도이다.
상기 시그널링 부호기(304)는 TPC 부호기(561), FIC 부호기(562), 블록 인터리버(563), 다중화기(564), 시그널링 랜덤마이저(565), 및 PCCC 부호기(566)를 포함할 수 있다.
상기 TPC 부호기(561)는 10 바이트의 TPC 데이터를 입력받아 (18,10)-RS 부호화를 수행하여 10 바이트의 TPC 데이터에 8바이트의 패리티 데이터를 부가한다. 상기 RS-부호화된 18 바이트의 TPC 데이터는 다중화기(564)로 출력된다.
상기 FIC 부호기(562)는 37 바이트의 FIC 데이터를 입력받아 (51,37)-RS 부호화를 수행하여 37 바이트의 FIC 데이터에 14바이트의 패리티 데이터를 부가한다. 상기 RS-부호화된 51 바이트의 FIC 데이터는 블록 인터리버(563)로 입력되어 기 설정된 블록 단위로 인터리빙된다. 일 예로, 상기 블록 인터리버(563)는 가변 길이 블록 인터리버이며, RS 부호화되어 입력되는 각 서브 프레임 내 FIC 데이터를 TNoG (column) x 51 (row) 블록 단위로 인터리빙한 후 다중화기(564)로 출력한다. 여기서 상기 TNoG는 하나의 MPH 프레임 내 모든 서브 프레임에 할당되는 전체 데이터 그룹의 개수이다. 상기 블록 인터리버(563)는 각 서브 프레임의 처음 FIC 데이터에 동기된다.
상기 블록 인터리버(563)는 51 바이트의 RS 코드워드를 로우 단위로 왼쪽으로 오른쪽으로, 위에서 아래로 쓰고, 컬럼 단위로 위에서 아래로, 왼쪽에서 오른쪽으로 읽어 51 바이트 단위로 출력한다 .
상기 다중화기(564)는 상기 TPC 부호기(561)에서 RS 부호화된 TPC 데이터와 블록 인터리버(563)에서 블록 인터리빙된 FIC 데이터를 시간축으로 다중화하고, 다중화된 69 바이트의 데이터를 시그널링 랜덤마이저(565)로 출력한다.
상기 시그널링 랜덤마이저(565)는 다중화된 데이터를 랜덤마이징하여 PCCC 부호기(566)로 출력한다. 상기 시그널링 랜덤마이저(565)는 모바일 서비스 데이터를 위한 랜덤마이저의 생성 다항식을 그대로 이용할 수 있다. 또한 초기화는 매 데이터 그룹마다 일어난다(occur).
상기 PCCC 부호기(566)는 랜더마이징된 데이터 즉, 시그널링 정보 데이터에 PCCC 부호화를 수행하는 인너 부호기이다. 상기 PCCC 부호기(566)는 6개의 이븐 컨포넌트 부호기와 6개의 오드 컨포넌트 부호기로 구성될 수 있다.
도 31은 상기 TPC 부호기(561)로 입력되는 TPC 데이터의 신택스 구조의 일 실시예를 보인 도면이다. 상기 TPC 데이터는 각 데이터 그룹의 시그널링 정보 영역에 삽입되어 전송된다.
상기 TPC 데이터는 Sub-Frame_number 필드, Slot_number 필드, Parade_id 필드, starting_Group_number (SGN) 필드, number_of_Groups (NoG) 필드, Parade_repetition_cycle (PRC) 필드, RS_Frame_mode 필드, RS_code_mode_primary 필드, RS_code_mode_secondary 필드, SCCC_Block_mode 필드, SCCC_outer_code_mode_A 필드, SCCC_outer_code_mode_B 필드, SCCC_outer_code_mode_C 필드, SCCC_outer_code_mode_D 필드, FIC_version 필드, Parade_continuity_counter 필드, TNoG 필드를 포함할 수 있다.
상기 Sub-frame_number 필드는 해당 MPH 프레임 내 현재 서브 프레임의 개수를 표시하며, MPH 프레임 동기화를 위해 전송된다. 상기 Sub-frame_number 필드 값은 0~4 사이의 값을 가질 수 있다.
상기 Slot_number 필드는 해당 서브 프레임 내 현재 슬롯의 개수를 표시하며, MPF 프레임 동기화를 위해 전송된다. 상기 Slot_number 필드 값은 0~15 사이의 값을 가질 수 있다.
상기 Parade_id 필드는 해당 데이터 그룹이 속한 퍼레이드를 식별하기 위한 식별자를 표시한다. 상기 Parade_id 필드값은 7비트로 표시할 수 있다. 하나의 MPH 전송에서 각 퍼레이드는 유일한 Parade_id을 갖는다. 이때 물리 계층과 상위 계층 사이에서 Parade_id 의 통신은 상기 Parade_id 의 왼쪽에 1비트를 추가함에 의해 형성되는 Ensemble_id에 의해 이루어진다. 상기 퍼레이드를 통해 전송되는 프라이머리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 0을 표시하여 형성되고, 세컨더리 앙상블을 구분하기 위한 Ensemble_id는 상기 추가된 MSB에 1을 표시하여 형성될 수 있다 .
상기 SGN 필드는 상기 데이터 그룹이 속한 퍼레이드에 대한 첫 번째 슬롯 번 호를 표시한다. 상기 SGN와 NoG 필드는 수학식 1을 적용하여, 해당 서브 프레임 내 하나의 퍼레이드에 할당된 슬롯 번호를 얻기 위해 사용된다.
상기 NoG 필드는 상기 데이터 그룹이 속한 퍼레이드에 할당된 그룹들의 번호를 표시한다(The number_of_Groups (NoG) field shall be the number of Groups in a Sub-Frame assigned to the Parade to which this Group belongs, minus 1, e.g., NoG = 0 implies that one Group is allocated to this Parade in a Sub-Frame). 상기 NoG 필드 값은 0~7 사이의 값을 가질 수 있다. 대응하는 퍼레이드에 할당된 슬롯 번호들은 수학식 1을 사용하여 SGN과 NoG로부터 산출될 수 있다.
상기 PRC 필드는 MPH 프레임 단위로 전송되는 퍼레이드의 반복 주기를 하기의 표 12와 같이 지시한다.
PRC | Description |
000 | This Parade shall be transmitted once every MPH Frame. |
001 | This Parade shall be transmitted once every 2 MPH Frames. |
010 | This Parade shall be transmitted once every 3 MPH Frames. |
011 | This Parade shall be transmitted once every 4 MPH Frames. |
100 | This Parade shall be transmitted once every 5 MPH Frames. |
101 | This Parade shall be transmitted once every 6 MPH Frames. |
110 | This Parade shall be transmitted once every 7 MPH Frames. |
111 | Reserved |
예를 들어, 상기 PRC 필드 값이 001이라면, 상기 퍼레이드는 2 MPH 프레임마다 한번씩 전송됨을 지시한다.
상기 RS_Frame_mode 필드는 하나의 퍼레이드로 하나의 RS 프레임을 전송하는지, 2개의 RS 프레임을 전송하는지를 표시하며, 표 1과 같이 정의된다.
상기 RS_code_mode_primary 필드는 프라이머리 RS 프레임에 대한 RS 코드 모드를 표시하며, 표 6과 같이 정의될 수 있다.
상기 RS_code_mode_secondary 필드는 세컨더리 RS 프레임에 대한 RS 코드 모드를 표시하며, 표 6과 같이 정의될 수 있다.
상기 SCCC_Block_mode는 데이터 그룹 내 MPH 블록들이 SCCC 블록에 어떻게 할당되는지를 표시하며, 표 7과 같이 정의될 수 있다.
상기 SCCC_outer_code_mode_A 필드는 데이터 그룹 내 영역 A에 대한 SCCC 아웃터 코드 모드를 표시하며, 표 8과 같이 정의될 수 있다.
상기 SCCC_outer_code_mode_B 필드는 데이터 그룹 내 영역 B에 대한 SCCC 아웃터 코드 모드를 표시한다.
상기 SCCC_outer_code_mode_C 필드는 데이터 그룹 내 영역 C에 대한 SCCC 아웃터 코드 모드를 표시한다.
상기 SCCC_outer_code_mode_D 필드는 데이터 그룹 내 영역 D에 대한 SCCC 아웃터 코드 모드를 표시한다.
상기 FIC_version 필드는 FIC 데이터의 버전을 표시한다.
상기 Parade_continuity_counter 필드는 0~15까지 증가하며, (PRC+1) MPH 프레임마다 1씩 증가한다. 예를 들어, PRC = 011라면, 상기 Parade_continuity_counter 필드는 4번째 MPH 프레임마다 증가한다.
상기 TNoG 필드는 하나의 서브 프레임 내에 할당되는 전체 데이터 그룹의 개수를 표시한다.
상기 TPC 데이터에 포함되는 정보들은 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TPC 데이터에 포함되는 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.
이때 각 퍼레이드에 대한 TPC 데이터(Sub-Frame_number 필드, Slot_number 필드는 제외)는 하나의 MPH 프레임 동안 그 값들이 변경되지 않는다. 그리고 같은 정보가 하나의 MPH 프레임 동안 해당 퍼레이드 내 모든 데이터 그룹을 통해 반복적으로 전송된다. 이렇게 함으로써, TPC 데이터의 수신이 매우 로버스트하게 되어, 수신 성능을 높일 수 있다. 그리고 상기 Sub-Frame_number 필드, Slot_number 필드 값은 증가하는 카운터 값들이므로, 상기 필드들은 규치적으로 기대되는 값들의 전송으로 인해 로버스트하다.
상기 FIC 정보는 빠른 모바일 서비스 획득을 위해 크로스 계층 정보를 전송한다. 상기 정보는 앙상블과 모바일 서비스 사이의 채널 결합 정보를 포함할 수 있다.
도 32는 TPC 데이터와 FIC 데이터의 전송 시나리오의 예를 보인 도면이다. 상기 도 31의 Sub-Frame_number, Slot_number, Parade_id, Parade_repetition_cycle, and Parade_continuity_counter 정보는 특정 MPH 프레임 내 5개의 서브 프레임을 통해 현재 MPH 프레임에 대응하는 그들의 값을 갖는다. 상기 TPC 데이터의 일부 그리고, FIC 데이터는 미리 시그널링된다(Some of TPC parameters and FIC data are signaled in advance).
상기 SGN, NoG, 및 모든 FEC 모드들은 처음 2개의 서브 프레임에서 현재 MPH 프레임에 대응하는 값들을 갖는다. 상기 SGN, NoG, 및 모든 FEC 모드들은 현재 MPH 프레임의 3,4,5번째 서브 프레임을 통해 다음 퍼레이드가 나타나는 MPH 프레임에 대응하는 값들을 갖는다. 이렇게 함으로써, 수신기는 신뢰성 높은 전송 파라미터를 미리 얻을 수 있다 .
예를 들어, Parade_repetition_cycle = '000'이면, 현재 MPH 프레임의 3,4,5번째 서브 프레임의 값들은 다음 MPH 프레임에 대응한다. 상기 Parade_repetition_cycle = '011'이면, 현재 MPH 프레임의 3,4,5번째 서브 프레임의 값들은 네 번째 이후 MPH 프레임에 대응한다.
상기 FIC_version와 FIC_data는 현재 MPH 프레임의 1,2번째 서브 프레임 동안에 현재 MPH 프레임에 적용되는 값을 갖는다. 그리고 상기 FIC_version와 FIC_data는 현재 MPH 프레임의 3,4,5번째 서브 프레임 동안에 바로 다음 MPH 프레임에 적용되는 값을 갖는다 .
한편 수신 시스템에서는 원하는 퍼레이드의 데이터 그룹이 할당된 구간에서만 전원을 온시켜 데이터를 수신하고 그 외 구간에서는 전원을 오프시키도록 함으로써, 수신 시스템의 소모 전력을 줄일 수가 있다. 이러한 특성은 전력 소모가 적어야하는 휴대용 수신기에서 특히 유용하다. 예를 들어, 하나의 MPH 프레임에 NOG가 3인 제1 퍼레이드, NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 33과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 수신 시스템에서는 도 33과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온 시키고, 나머지 슬롯에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다. 이때 수신을 원하는 실제 데이터 그룹이 할당된 슬롯보다 조금 일찍 전원을 온 시킬 필요가 있는데 이는 튜너나 복조기(demodulator)가 미리 수렴하도록 하기 위함이다.
기지 데이터(known data or training signal) 영역 할당
상기 전송 시스템은 길고 규칙적인 길이의 트레이닝 시퀀스를 각 데이터 그룹에 삽입한다. 각 데이터 그룹은 6개의 트레이닝 시퀀스를 포함하는 것을 일 실시예로 한다. 상기 트레이닝 시퀀스들은 트렐리스 부호화 전에 특정화된다(specified). 상기 트레이닝 시퀀스는 트렐리스 부호화되고, 트렐리스 부호화된 시퀀스들은 기지 데이터 시퀀스가 된다. 이는 상기 트렐리스 부호기의 메모리들이 각 시퀀스의 시작 위치에시 기 설정된 값들에 따라 초기화되기 때문이다. 도 34는 트렐리스 부호화되기 전 바이트 레벨에서 6개의 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 34는 그룹 포맷터(303)에서 수행된 트레이닝 시퀀스의 배열 예이다.
제1 트레이닝 시퀀스는 MPH 블록 B3의 마지막 2 세그먼트에 삽입된다. 제2 트레이닝 시퀀스는 MPH 블록 B4의 두 번째와 세 번째 세그먼트에 삽입된다. 상기 제2 트레이닝 시퀀스는 도 5에서와 같이 시그널링 정보 영역 다음이다. 제3 내지 제6 트레이닝 시퀀스는 MPH 블록 B4,B5,B6, B7의 마지막 2 세그먼트에 각각 삽입된다.
도 34에서와 같이, 상기 제1, 제3 내지 제 6 트레이닝 시퀀스는 16 세그먼트만큼 떨어져있다. 도 34에서, 도트된 영역(dotted area)은 트렐리스 데이터 바이트를 지시하고, 줄을 친 영역(lined area)은 트레이닝 데이터 바이트를 지시한다. 그리고 하얀 영역(white area)은 FEC 부호화된 모바일 서비스 데이터 바이트 또는 더미 데이터 바이트와 같은 다른 데이터를 지시한다.
도 35는 트렐리스 부호기에 의해 트레리스 부호화된 후 심볼 레벨에서 트레이닝 시퀀스들의 삽입 예를 보이고 있다. 도 35에서, 도트된 영역은 세그먼트 동기 심볼을 지시하고, 줄을 친 영역은 트레이닝 데이터 심볼들을 지시한다. 그리고 하얀 영역은 FEC 부호화된 모바일 서비스 데이터 심볼들, FEC 부호화된 시그널링 데이터 심볼들, 메인 서비스 데이터 심볼들, RS 패리티 데이터 심볼들, 더미 데이터 심볼들, 트렐리스 초기화 심볼들 및/또는 초기 트레이닝 시퀀스 데이터 심볼들과 같은 다른 데이터 심볼을 지시한다.
상기 트렐리스 부호화 후에, 제1, 제3, 제4,제5, 제6 트레이닝 시퀀스의 마지막 1416(=588+828) 심볼들은 통상 동일한 데이터 패턴을 가질 수 있다.
상기 제2 트레이닝 시퀀스는 처음 528-심볼 시퀀스와 두 번재 528-심볼 시퀀스를 가질 수 있으며, 두 시퀀스는 동일한 패턴이다. 즉, 상기 528-심볼 시퀀스는 4-심볼 데이터 세그먼트 동기 신호 후에 반복된다. 그리고 각 트레이닝 시퀀스의 끝에서, 12개의 트렐리스 부호기의 메모리 값은 0으로 리셋된다.
수신 시스템 내
복조부
도 36은 본 발명에 따른 수신 시스템 내 복조부의 일 실시예를 보인 구성 블록도이다. 도 36의 복조부에서는 송신 시스템에서 모바일 서비스 데이터 구간에 삽입하여 전송하는 기지 데이터 정보를 이용하여 반송파 동기 복원, 프레임 동기 복원 및 채널 등화 등을 수행함으로써, 수신 성능을 향상시킬 수 있다. 또한 복조부에서는 수신을 원하는 모바일 서비스를 포함하는 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온함으로써, 수신 시스템의 소모 전력을 줄일 수 있다.
이를 위한 본 발명에 따른 복조부는 복조기(1002), 등화기(1003), 기지 데이터 검출기(1004), 블록 복호기(1005), RS 프레임 복호기(1006), 및 디랜더마이저(1007)를 포함할 수 있다. 상기 복조부는 데이터 디인터리버(1009), RS 복호기(1010), 및 데이터 디랜더마이저(1011)를 더 포함할 수 있다. 상기 복조부는 시그널링 정보 복호부(1013)를 포함할 수 있다. 또한 수신 시스템은 복조부의 전원 공급을 제어하는 전원 제어기(5000)를 포함할 수 있다.
본 발명은 설명의 편의를 위해 RS 프레임 복호기(1006), 및 디랜더마이저(1007)를 모바일 서비스 데이터 처리부라 하고, 데이터 디인터리버(1009), RS 복호기(1010), 및 데이터 디랜더마이저(1011)를 메인 서비스 데이터 처리부라 하기로 한다. 일 예로, 수신 시스템이 모바일 전용 수신 시스템이라면 상기 메인 서비스 데이터 처리부는 생략될 수도 있다.
즉, 튜너를 통해 튜닝된 특정 채널의 주파수는 중간 주파수(IF) 신호로 다운 컨버전되고, 다운 컨버전된 데이터(1001)는 복조기(1002)와 기지 데이터 검출기(1004)로 출력한다. 이때 다운 컨버전된 데이터(1001)는 통과대역의 아날로그 IF 신호를 디지털 IF 신호로 변환하는 아날로그/디지털 변환기(Analog/Digital Converter ; ADC, 도시되지 않음)을 거쳐 복조기(1002)와 기지 데이터 검출기(1004)로 입력되는 것을 일 실시예로 한다.
상기 복조기(1002)는 입력되는 통과대역의 디지털 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 만든 후 등화기(1003)와 기지 데이터 검출기(1004)로 출력한다.
상기 등화기(1003)는 상기 복조된 신호에 포함된 채널 상의 왜곡을 보상한 후 블록 복호기(1005)로 출력한다.
이때 상기 기지 데이터 검출기(1004)는 상기 복조기(1002)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 일부 이루어진 데이터로부터 송신측에서 삽입한 기지 데이터 위치를 검출하고 위치 정보와 함께 그 위치에서 발생시킨 기지 데이터의 심볼 열(sequence)을 복조기(1002)와 등화기(1003)로 출력한다. 또한 상기 기지 데이터 검출기(1004)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 상기 블록 복호기(1005)에 의해서 구분할 수 있도록 하기 위한 정보를 상기 블록 복호기(1005)로 출력한다.
그리고 도 36의 도면에서 연결 상태를 도시하지는 않았지만 상기 기지 데이터 검출기(1004)에서 검출된 정보는 수신 시스템에 전반적으로 사용이 가능하며, RS 프레임 복호기(1006) 등에서 사용할 수도 있다.
상기 복조기(1002)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 심볼열을 이용함으로써, 복조 성능을 향상시킬 수 있고, 등화기(1003)에서도 마찬가지로 상기 기지 데이터를 사용하여 등화 성능을 향상시킬 수 있다. 또한 상기 블록 복호기(1005)의 복호 결과를 상기 등화기(1003)로 피드백하여 등화 성능을 향상시킬 수도 있다.
전원 온/
오프
제어
상기 복조기(1002)에서 복조된 데이터 또는 등화기(1003)에서 채널 등화된 데이터는 시그널링 정보 복호부(1013)로 입력된다. 또한 기지 데이터 검출기(1004)에서 검출된 기지 데이터 정보도 시그널링 정보 복호부(1013)로 입력된다.
상기 시그널링 정보 복호부(1013)는 입력되는 데이터로부터 시그널링 정보(예를 들어, TPC 정보)를 추출하여 복호한 후, 복호된 시그널링 정보를 필요한 블록으로 제공한다. 일 예로, SCCC 관련 정보는 블록 복호기(1005)로 출력할 수 있고, RS 프레임 관련 정보는 RS 프레임 복호기(1006)로 출력할 수 있다. 또한 MPH 프레임 관련 정보는 기지 데이터 검출기(1004)와 전원 제어기(5000)로 출력할 수 있다. 여기서 RS 프레임 관련 정보는 RS 프레임 모드 정보와 RS 코드 모드 정보를 포함할 수 있다. 상기 SCCC 관련 정보는 같은 SCCC 블록 모드 정보와 SCCC 아웃터 코드 모드 정보를 포함할 수 있다. 상기 MPH 프레임 관련 정보는 도 32와 같이 서브 프레임 카운트 정보, 슬롯 카운트 정보, parade_id 정보, SGN 정보, NOG 정보 등을 포함할 수 있다.
상기 기지 데이터 검출기(1004)에서 출력되는 기지 데이터 정보를 이용하면 데이터 그룹 내 시그널링 정보 영역을 알 수 있다. 즉, 제1 기지 데이터 열(sequence)(또는 트레이닝 시퀀스라 함)은 데이터 그룹 내 MPH 블록 B3의 마지막 2 세그먼트에 삽입되고, 제2 기지 데이터 열은 MPH 블록 B4의 두 번째와 세 번째 세그먼트 사이에 삽입된다. 이때 제2 기지 데이터 열은 시그널링 정보 영역 다음에 삽입되어 수신되므로, 상기 시그널링 정보 복호부(1013)는 복조기(1002) 또는 채널 등화기(1003)에서 출력되는 데이터로부터 시그널링 정보 영역의 시그널링 정보를 추출하여 복호할 수 있다.
상기 전원 제어기(5000)는 시그널링 정보 복호부(1013)로부터 MPH 프레임 관련 정보를 입력받아 튜너 및 복조부의 전원을 제어한다.
상기 전원 제어기(5000)는 유저가 원하는 모바일 서비스를 포함하는 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온시켜 데이터를 수신하고 그 외 슬롯에서는 전원을 오프시키는 것을 일 실시예로 한다.
예를 들어, 하나의 MPH 프레임에 NOG가 3인 제1 퍼레이드와 NOG가 2인 제2 퍼레이드, NOG가 2인 제3 퍼레이드의 데이터 그룹들을 도 33과 같이 할당하였다고 가정하자. 그리고 유저는 리모콘이나 단말기에 구비된 키패드 등을 통해 제1 퍼레이드에 포함된 모바일 서비스를 선택하였다고 가정하자. 이 경우 전원 제어기(5000)에서는 도 33과 같이 제1 퍼레이드의 데이터 그룹이 할당된 슬롯에서만 전원을 온 시키고, 나머지 구간에서는 전원을 오프시킴으로써, 소모 전력을 줄일 수 있다.
복조기 및 기지 데이터 검출기
이때, 수신 시스템에서는 도 5와 같이 기지 데이터 열이 주기적으로 삽입된 데이터 그룹을 포함하는 데이터 프레임(or VSB frame)을 수신할 수 있다. 상기 데이터 그룹은 도 5와 같이 A 내지 D 영역으로 구분되고, A 영역은 MPH 블록 B4 내지 MPH 블록 B7을, B 영역은 MPH 블록 B3 과 MPH 블록 B8을, C 영역은 MPH 블록 B2과 MPH 블록 B9을, D 영역은 MPH 블록 B1과 MPH 블록 B10을 포함하는 것을 일 실시예로 한다.
도 37은 송신측에서 기지 데이터 열을 실제 데이터 사이에 주기적으로 삽입하여 전송하는 일 예를 보이고 있다. 도 37에서 AS는 일반 데이터의 심볼 수이며 BS는 기지 데이터의 심볼 수이다. 따라서 (AS + BS) 심볼의 주기로 BS 심볼의 기지 데이터가 삽입되어 전송된다. 상기 AS는 모바일 서비스 데이터일 수도 있고, 메인 서비스 데이터일 수도 있고, 모바일 서비스 데이터와 메인 서비스 데이터의 혼합일 수도 있으며, 본 발명에서는 기지 데이터와 구분하기 위하여 이를 일반 데이터라 칭한다.
도 37에서 기지 데이터 열이 주기적으로 삽입되는 각 기지 데이터 구간에는 동일한 패턴의 기지 데이터 열이 포함되는데, 동일한 패턴의 기지 데이터 열과 해당 기지 데이터 구간의 전체 기지 데이터 열의 길이는 같을 수도 있고, 다를 수도 있다. 다른 경우, 전체 기지 데이터 열은 동일한 패턴의 기지 데이터 열보다 길으며, 전체 기지 데이터 열에 동일한 패턴의 기지 데이터 열이 포함된다.
이렇게 기지 데이터가 주기적으로 일반 데이터들 사이에 삽입될 경우 수신 시스템의 채널 등화기에서는 상기 기지 데이터를 훈련 열(training sequence)로 이용하여 정확한 판별값으로 사용할 수 있고 채널의 임펄스 응답을 추정하는데 사용할 수 있다.
한편 동일한 패턴의 기지 데이터가 주기적으로 삽입될 경우에는 각 기지 데이터 구간이 본 발명에 따른 채널 등화기에서 가드 구간(guard interval)으로 사용될 수 있다. 상기 가드 구간은 다중 경로 채널에 의해서 발생하는 블록 간의 간섭을 방지하는 역할을 한다. 이는 상기 도 37에서 (AS+BS) 심볼의 데이터 블록 뒷부분의 기지 데이터 구간의 기지 데이터가 상기 데이터 블록 앞에 복사된 것으로 생각할 수 있기 때문이다.
이러한 구조를 사이클릭 프리픽스(Cyclic Prefix)라 하기도 하며, 이러한 구조는 전송 시스템에서 전송한 데이터 블록과 채널의 임펄스 응답이 시간 영역에서 원형 길쌈(circular convolution)되도록 해준다. 따라서 수신 시스템의 채널 등화기에서는 FFT(Fast Fourier Transform)와 IFFT(Inverse FFT)를 사용하여 주파수 영역에서 채널 등화를 하기에 용이하다.
즉, 수신 시스템에서 받은 데이터 블록이 주파수 영역에서 보면 데이터 블록과 채널 임펄스 응답(Channel Impulse Response ; CIR)의 곱으로 표현되기 때문에, 채널 등화시 주파수 영역에서 채널의 역을 곱해줌으로써, 간단히 채널 등화가 가능하다.
상기 기지 데이터 검출기(1004)에서는 이렇게 주기적으로 삽입되어 전송되는 기지 데이터 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(1002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다.
한편 도 5와 같은 구조로 기지 데이터가 전송되는 경우, 상기 기지 데이터 검출기(1004)에서는 먼저, 동일한 패턴이 두 번 반복되는 제2 기지 데이터 영역의 기지 데이터를 이용하여 제2 기지 데이터 영역의 위치를 검출한다.
이때, 상기 기지 데이터 검출기(1004)는 데이터 그룹의 구조를 알고 있으므로, 상기 제2 기지 데이터 영역의 위치가 검출되면, 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 해당 데이터 그룹 내 제1, 제3 내지 제6 기지 데이터 영역 위치를 추정할 수 있다. 만일 해당 데이터 그룹이 필드 동기를 포함하는 데이터 그룹이라면 상기 제2 기지 데이터 영역 위치를 기준으로 심볼 또는 세그먼트를 카운트하여 상기 제2 기지 데이터 영역보다 시간적으로 앞에 위치한 해당 데이터 그룹 내 필드 동기의 위치를 추정할 수 있다. 또한 상기 기지 데이터 검출기(1004)는 시그널링 정보 복호부(1013)로부터 입력되는 MPH 프레임 관련 정보를 참조하여 유저가 선택한 모바일 서비스를 포함한 퍼레이드에서 기지 데이터 위치 정보, 필드 동기 위치 정보를 출력할 수 있다.
이렇게 추정된 기지 데이터 위치 정보, 필드 동기 위치 정보는 복조기(1002)와 채널 등화기(1003)로 제공된다.
또한 상기 기지 데이터 검출기(1004)는 상기 제2 기지 데이터 영역 즉, ACQ 기지 데이터 영역에 삽입된 기지 데이터를 이용하여 초기 주파수 옵셋(Initial Frequency Offset)을 추정할 수 있다. 이 경우, 상기 복조기(1002)는 상기 기지 데이터 위치 정보와 초기 주파수 옵셋 추정값으로부터 반송파 주파수 옵셋을 보다 정밀하게 추정하여 보상할 수 있다.
도 38은 본 발명의 일 실시예에 따른 복조기의 상세 블록도를 보인 것으로서, 위상 분리기(phase splitter)(1010), 수치 제어 발진기(Numerically Controlled Oscillator ; NCO)(1020), 제1 곱셈기(1030), 리샘플러(1040), 제2 곱셈기(1050), 정합 필터(Matched Filter)(1060), DC 제거기(1070), 타이밍 복구부(1080), 반송파 복구부(1090), 및 위상 보상부(1110)를 포함할 수 있다.
그리고 상기 기지 데이터 검출기(1004)는 기지 데이터 정보와 초기 주파수 옵셋을 추정하기 위해 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)를 포함한다.
이와 같이 구성된 도 38에서, 위상 분리기(1010)는 통과대역 디지털 신호를 입력받아 위상이 서로 90도가 되는 실수 성분과 허수 성분의 통과대역 디지털 신호 즉, 복소 신호로 분리한 후 제1 곱셈기(1030)로 출력한다. 여기서, 설명의 편의를 위해 상기 위상 분리기(1010)에서 출력되는 실수 성분의 신호를 I 신호라 하고, 허수 성분의 신호를 Q 신호라 한다.
상기 제1 곱셈기(1010)는 NCO(1020)로부터 출력되는 상수(Constant)에 비례하는 주파수를 가지는 복소 신호에 상기 위상 분리기(1010)에서 출력되는 통과대역 디지털 복소 신호(I,Q)를 곱하여, 상기 통과대역 디지털 복소신호(I,Q)를 기저대역 디지털 복소 신호로 천이한다. 상기 제1 곱셈기(1030)의 기저대역 디지털 신호는 리샘플러(1040)로 입력된다.
상기 리샘플러(1040)는 제1 곱셈기(1030)에서 출력되는 신호를 타이밍 복구부(1080)에서 제공하는 타이밍 클럭에 맞게 리샘플링하여 제2 곱셈기(1050)로 출력한다.
예를 들어, 상기 아날로그/디지털 변환기가 25MHz의 고정 발진자를 사용할 경우, 상기 아날로그/디지털 변환기, 위상 분리기(1010), 제1 곱셈기(1030)를 거쳐 생성된 25MHz 주파수를 갖는 기저대역 디지털 신호는 상기 리샘플러(1040)에서 보간(interpolation) 과정을 거쳐 수신 신호의 심볼 클럭의 2배의 주파수 예를 들어, 21.524476MHz 주파수를 갖는 기저대역 디지털 신호로 복원된다. 만일 상기 아날로그/디지털 변환기가 타이밍 복구부(1080)의 타이밍 클럭을 샘플링 주파수로 이용하는 경우, 즉 가변 주파수를 이용하여 A/D 변환을 수행하는 경우에는 상기 리샘플러(1040)는 필요없게 된다.
상기 제2 곱셈기(1050)는 상기 리샘플러(1040)의 출력에 반송파 복구부(1090)의 출력 주파수를 곱하여 상기 리샘플러(1040)의 출력 신호에 포함된 잔류 반송파를 보상한 후 정합 필터(1060)와 타이밍 복구부(1080)로 출력한다.
상기 정합 필터(1060)에서 정합 필터링된 신호는 DC 제거기(1070)와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1), 및 반송파 복구부(1090)로 입력된다.
상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 주기적 또는 비주기적으로 전송되는 기지 데이터 열의 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(initial frequency offset)을 추정한다.
즉, 도 5와 같은 데이터 그룹이 수신되는 동안 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 데이터 그룹에 포함된 기지 데이터의 위치를 검출하고, 그 위치 정보(Known Sequence Position Indicator)를 복조기(1002)의 타이밍 복구부(1080), 반송파 복구부(1090), 위상 보상부(1110), 및 등화기(1003)로 출력한다. 또한 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 초기 주파수 옵셋(Initial Frequency Offset)을 추정하여 반송파 복구부(1090)로 출력한다.
이때 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 정합 필터(1060)의 출력을 입력받을 수도 있고, 리샘플러(1040)의 출력을 입력받을 수도 있으며, 이는 설계자의 선택 사항이다.
상기 타이밍 복구부(1080)는 제2 곱셈기(1050)의 출력과 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보를 이용하여 타이밍 에러를 검출하고, 검출된 타이밍 에러에 비례하는 샘플링 클럭을 리샘플러(1040)로 출력하여 리샘플러(1040)의 샘플링 타이밍을 조절한다. 이때 상기 타이밍 복구부(1080)는 제2 곱셈기(1050)의 출력 대신 정합 필터(1060)의 출력을 입력받을 수도 있으며, 이는 설계자의 선택 사항이다.
한편 상기 DC 제거기(1070)는 정합 필터링된 신호로부터 송신측에서 삽입된 파일럿 톤(즉, DC)을 제거한 후 위상 보상부(1110)로 출력한다.
상기 위상 보상부(1110)는 DC 제거기(1070)에서 DC가 제거된 데이터와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보를 이용하여 주파수 옵셋을 추정한 후 상기 DC 제거기(1070)의 출력에 포함된 위상 변화를 보상한다. 상기 위상 변화가 보상된 데이터는 등화기(1003)로 입력된다. 여기서 상기 위상 보상부(1110)는 선택적(Optional)이다. 만일 위상 보상부(1110)가 구비되지 않는다면, DC 제거기(1070)의 출력이 등화기(1003)로 입력된다.
도 39는 복조기 내 타이밍 복구부(1080), 반송파 복구부(1090), 및 위상 보상부(1110)의 상세 블록도가 포함된 도면의 일 예이다.
상기 타이밍 복구부(1080)는 일 실시예로서, 데시메이터(1081), 버퍼(1082), 타이밍 에러 검출기(1083), 루프 필터(1084), 유지기(Holder)(1085), 및 NCO(1086)를 포함할 수 있다.
상기 반송파 복구부(1090)는 일 실시예로서, 버퍼(1091), 주파수 옵셋 추정기(1092), 루프 필터(1093), 유지기(Holder)(1094), 가산기(1095), 및 NCO(1096)를 포함할 수 있다. 상기 버퍼(1091)의 전단에 데시메이터가 포함될 수도 있다.
상기 위상 보상부(1110)는 일 실시예로서, 버퍼(1111), 주파수 옵셋 추정기(1112), 유지기(1113), NCO(1114), 및 곱셈기(1115)를 포함할 수 있다.
또한 상기 위상 보상부(1110)와 등화기(1003) 사이에는 데시메이터(1200)가 포함될 수 있다. 상기 데시메이터(1200)는 위상 보상부(1110)의 출력단 대신 DC 제거기(1070) 전단에 포함될 수도 있다.
상기 데시메이터들은 복조기(1002)로 입력되는 신호가 아날로그/디지털 변환기에서 N배로 오버샘플링(oversampling)되었을 경우에 필요한 부분이다. 즉, N은 수신 신호의 샘플링 비율(sampling rate)을 나타낸다. 예를 들어, 입력 신호가 아날로그/디지털 변환기에서 2배로 오버 샘플링되었다면(N=2), 1 심볼에 2개의 샘플이 포함되어 있음을 의미하고, 이 경우 상기 데시메이터들은 1/2 데시메이터이다. 상기 데시메이터들은 수신 신호의 오버샘플링 여부에 따라 바이패스될 수도 있다.
한편, 상기 반송파 복구부(1090)의 버퍼(1091)는 상기 정합 필터(1060)의 입력 또는 출력 데이터를 입력받아 일시 저장한 후 주파수 옵셋 추정기(1092)로 출력한다. 만일 상기 버퍼(1091)의 전단에 데시메이터가 구비된다면, 상기 정합 필터(1060)의 입력 또는 출력 데이터는 데시메이터에서 1/N로 데시메이션된 후 버퍼(1091)로 출력된다. 예를 들어, 상기 정합 필터(1060)의 입력 또는 출력 데이터가 2배로 오버샘플링(oversampling)되었다면, 상기 정합 필터(1060)의 입력 또는 출력 데이터는 데시메이터(1081)에서 1/2로 데시메이트된 후 버퍼(1091)로 입력된다. 즉, 상기 반송파 복구부(1090)는 버퍼(1091) 전단에 데시메이터가 구비되면 심볼 단위로 동작하고, 데시메이터가 없다면 오버 샘플 단위로 동작하게 된다.
상기 주파수 옵셋 추정기(1092)는 상기 정합 필터링 전 또는 후의 데이터와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 출력되는 기지 데이터 위치 정보를 이용하여 주파수 옵셋을 추정한 후 루프 필터(1093)로 출력한다. 즉, 상기 주파수 옵셋 추정기(1092)는 정합 필터링 전 또는 후의 기지 데이터 열로부터 주파수 옵셋을 추정하여 루프 필터(1093)로 출력한다. 따라서 추정된 주파수 옵셋값은 기지 데이터 열의 반복 주기마다 한 번씩 구해진다.
상기 루프 필터(1093)는 주파수 옵셋 추정기(1092)에서 추정된 주파수 옵셋값을 저역 통과 필터링하여 유지기(1094)로 출력한다.
상기 유지기(1094)는 저역 통과 필터링된 주파수 옵셋 추정값을 기지 데이터 열의 주기 동안 유지시킨 후 가산기(1095)로 출력한다. 여기서 상기 루프 필터(1093)와 유지기(1094)의 위치는 서로 바뀌어도 가능하다. 또한 상기 유지기(1094)의 기능을 루프 필터(1093)에 포함시키고, 유지기(1094)를 생략할 수도 있다.
상기 가산기(1095)는 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 추정된 초기 주파수 옵셋값과 상기 루프 필터(1093)(또는 유지기(1094))에서 출력되는 주파수 옵셋값을 더하여 NCO(1096)로 출력한다. 만일, 상기 가산기(1095)가 상기 NCO(1020)로 입력되는 상수(Constant)도 입력받도록 설계한다면, 상기 NCO(1020)와 제1 곱셈기(1030)는 생략할 수 있다. 이 경우, 상기 제2 곱셈기(1050)는 기저대역으로 천이 및 잔류 반송파 제거를 동시에 수행할 수 있다.
상기 NCO(1096)는 가산기(1095)의 출력 주파수 옵셋에 해당하는 복소 신호를 생성하여 제2 곱셈기(1050)로 출력한다. 상기 NCO(1096)는 롬을 포함할 수 있다. 이 경우 NCO(1096)는 가산기(1095)에서 출력되는 주파수 옵셋에 해당하는 보상 주파수를 생성하고, 롬으로부터 상기 보상 주파수에 해당하는 복소 정현파를 읽어 와 상기 제2 곱셈기(1050)로 출력하게 된다.
상기 제2 곱셈기(1050)는 리샘플러(1040)의 출력에 반송파 복구부(1090)의 NCO(1094)의 출력을 곱하여 상기 리샘플러(1040)의 출력 신호에 포함된 반송파 옵셋을 제거한다.
도 40은 상기 반송파 복구부(1090)의 주파수 옵셋 추정기(1092)의 일 실시예를 보인 상세 블록도로서, 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보에 따라 동작한다.
이때, 상기 정합 필터(1060)의 입력 또는 출력 데이터가 데시메이터를 통해 입력된다면 상기 주파수 옵셋 추정기(1092)는 심볼 단위로 동작하고, 데시메이터가 없다면 오버 샘플 단위로 동작하게 된다. 본 발명에서는 심볼 단위로 동작하는 것을 일 실시예로 설명한다.
도 40을 보면, 제어기(1300), 제1 N 심볼 버퍼(1301), K 심볼 지연기(1302), 제2 N 심볼 지연기(1303), 콘쥬게이터(1304), 곱셈기(1305), 누산기(1306), 위상 검출기(1307), 곱셈기(1308), 및 다중화기(1309)를 포함할 수 있다.
이와 같이 구성된 도 40은 기지 데이터 구간 동안 동작하는 것을 실시예로 설명한다. 즉, 제1 N 심볼 버퍼(1301)는 입력되는 심볼을 최대 N개까지 저장할 수 있으며, 제1 N 심볼 버퍼(1301)에 일시 저장된 심볼 데이터는 곱셈기(1305)로 입력된다.
동시에 상기 입력되는 심볼은 K 심볼 지연기(1302)에서 K 심볼 지연된 후 제2 N 심볼 버퍼(1303)를 거쳐 콘쥬게이터(1304)에서 콘쥬게이트(conjugate ; 공액)되어 곱셈기(1305)로 입력된다.
상기 곱셈기(1305)는 상기 제1 N 심볼 버퍼(1301)의 출력과 콘쥬게이터(1304)의 출력을 곱하여 누산기(1306)로 출력하고, 상기 누산기(1306)는 상기 곱셈기(1305)의 출력을 N 심볼 동안 누산시켜 위상 검출기(1307)로 출력한다. 상기 위상 검출기(1307)는 상기 누산기(1306)의 출력으로부터 위상 정보를 추출하여 곱셈기(1308)로 출력한다. 상기 곱셈기(1308)는 상기 위상 정보를 K로 나누고, 그 결과를 다중화기(1309)로 출력한다. 이때 상기 위상 정보를 K로 나눈 값이 주파수 옵셋 추정값이 된다. 즉, 상기 주파수 옵셋 추정기(1092)는 기지 데이터의 입력이 끝나는 시점 혹은 원하는 시점에 제1 N 심볼 버퍼(1301)에 저장된 N개의 입력 데이터와 K 심볼만큼 지연되어 제2 N 심볼 버퍼(1303)에 저장된 N개의 입력 데이터의 복소 콘쥬게이트의 곱을 N 심볼 동안 누적한 후 K로 나누어 주파수 옵셋 추정값을 추출해낸다.
상기 다중화기(1309)는 제어기(1300)의 제어 신호에 따라 상기 곱셈기(1308)의 출력 또는 0을 선택하여 최종 주파수 옵셋 추정값으로 출력한다.
상기 제어기(1300)는 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)로부터 기지 데이터 위치 정보(Known data position indicator)를 입력받아 상기 다중화기(1309)의 출력을 제어한다. 즉, 상기 제어기(1300)는 기지 데이터 위치 정보로부터 상기 곱셈기(1308)에서 출력되는 주파수 옵셋 추정값이 유효한지 여부를 판단한다. 상기 제어기(1300)는 상기 주파수 옵셋 추정값이 유효한 경우에는 상기 다중화기(1309)에서 곱셈기(1308)의 출력을 선택하고, 유효하지 않은 경우에는 상기 다중화기(1309)에서 0을 선택하도록 제어 신호를 발생한다.
이때 상기 제1 N 심볼 버퍼(1301)와 제2 N 심볼 버퍼(1303)에 저장되는 입력 신호는 동일한 기지 데이터가 전송되어 거의 동일한 채널을 겪어 수신된 신호이면 좋다. 그렇지 않다면 전송 채널의 영향에 의해 주파수 옵셋 추정 성능이 크게 떨어지게 되기 때문이다.
그리고 도 40의 주파수 옵셋 추정기(1092)의 N과 K값은 다양하게 결정할 수 있다. 이는 동일하게 반복되는 기지 데이터의 특정 부분만을 사용할 수도 있기 때문이다. 그 실시 예로써 도 37과 같은 구조의 데이터가 전송된다고 할 경우 N = BS, K=(AS+BS)로 설정할 수 있다.
상기 주파수 옵셋 추정기(1092)에서 주파수 옵셋의 추정 범위는 K값에 의해서 결정된다. K값이 클수록 주파수 옵셋의 추정 범위는 줄어들고, K값이 작을수록 주파수 옵셋의 추정 범위는 늘어나게 된다. 따라서 도 37과 같은 구조의 데이터가 전송될 경우 기지 데이터의 반복 주기 (AS+BS)가 길다면 주파수 옵셋 추정 범위가 줄어들게 된다. 이 경우 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 초기 주파수 옵셋을 추정한 후 이를 제2 곱셈기(1050)에서 보상했다고 하더라도 보상 후 잔류 주파수 옵셋이 주파수 옵셋 추정기(1092)의 추정 범위를 넘게 될 수 있다.
이 점을 보완하기 위한 방법으로 주기적으로 전송되는 기지 데이터 열을 사이클릭 확장(cyclic extension)을 이용해 동일한 부분의 반복으로 구성할 수 있다. 그 실시 예로써 도 37의 기지 데이터가 길이 BS/2의 동일한 부분 두 개로 구성되었다고 하면 도 40의 주파수 옵셋 추정기(1092)의 N=BS/2, K=BS/2로 설정할 수 있다. 이 경우 반복되는 기지 데이터를 이용할 때보다 넓은 추정 범위를 가질 수 있다.
한편, 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 주기적 또는 비주기적으로 전송되는 기지 데이터 열의 위치를 검출함과 동시에 상기 기지 데이터 검출 과정에서 초기 주파수 옵셋(initial frequency offset)을 추정한다.
상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 검출된 기지 데이터 위치 정보(Known Sequence Position Indicator)를 복조기(1002)의 타이밍 복구부(1080), 반송파 복구부(1090), 위상 보상부(1110), 및 등화기(1003)로 출력되고, 추정된 초기 주파수 옵셋은 반송파 복구부(1090)로 출력한다.
이때 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 정합 필터(1060)의 출력을 입력받을 수도 있고, 리샘플러(1040)의 출력을 입력받을 수도 있으며, 이는 설계자의 선택 사항이다.
상기 도 40의 주파수 옵셋 추정기는 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1) 또는 위상 보상부(1110)의 주파수 옵셋 추정기에 그대로 적용할 수도 있다.
도 41은 본 발명에 따른 기지 데이터 검출 및 초기 주파수 옵셋 추정기의 일 실시예를 보인 상세 블록도로서, 기지 데이터 위치 정보와 함께 초기 주파수 옵셋을 추정하는 예를 보이고 있다. 도 41은 입력되는 신호가 N배로 오버샘플링(oversampling)되었을 경우를 고려한 도면이다. 즉, N은 수신 신호의 샘플링 비율(sampling rate)을 나타낸다.
도 41을 보면, 기지 데이터 검출 및 초기 주파수 옵셋 추정기는 병렬로 구성된 N개의 부분 상관부(1411~141N), 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420), 기지 데이터 추출부(1430), 버퍼(1440), 곱셈기(1450), NCO(1460), 주파수 옵셋 추정기(1470), 및 가산기(1480)를 포함하여 구성된다.
상기 첫 번째 부분 상관부(1411)는 1/N 데시메이터, 및 부분 상관기로 구성된다. 상기 두 번째 부분 상관부(1412)는 1 샘플 지연기, 1/N 데시메이터, 및 부분 상관기로 구성된다. 상기 N 번째 부분 상관부(141N)는 N-1 샘플 지연기, 1/N 데시메이터, 및 부분 상관기로 구성된다.
이는 오버샘플링된 심볼 내 각 샘플들의 위상을 원래 심볼의 위상과 일치시키고, 나머지 위상에 있는 샘플들을 데시메이션한 후 각각 부분 상관을 수행하기 위해서이다. 즉, 입력 신호는 각 샘플링 위상(sampling phase)별로 1/N의 비율로 데시메이션되어 각 부분 상관기(partial correlator)를 통과한다.
예를 들어, 입력 신호가 2배로 오버샘플링되었다면 즉, N=2라면 1 심볼에 2개의 샘플이 포함되어 있음을 의미하고, 이 경우 상기 부분 상관부는 2개(예를 들어, 1411,1412)가 필요하며, 1/N 데시메이터는 1/2 데시메이터이다.
이때 첫 번째 부분 상관부(1411)의 1/N 데시메이터는 입력 샘플 중 심볼 위치와 심볼 위치 사이에 있는 샘플을 데시메이트(제거)하여 부분 상관기로 출력한다.
그리고 두 번째 부분 상관부(1412)의 1샘플 지연기는 입력 샘플을 1샘플 지연시켜 1/N 데시메이터로 출력한다. 이어 상기 1/N 데시메이터는 상기 1 샘플 지연기에서 입력되는 샘플 중 심볼 위치와 심볼 위치 사이에 있는 샘플을 데시메이트(제거)하여 부분 상관기로 출력한다.
상기 각 부분 상관기는 VSB 심볼의 기 설정된 주기마다 상관값과 그 순간에서의 대략적인 주파수 옵셋 추정 값을 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)로 출력한다.
상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)는 각 샘플링 위상별 부분 상관기의 출력을 데이터 그룹 주기 또는 정해진 주기 동안 저장한 후 그 값들 가운데 상관값이 최대인 위치를 기지 데이터의 수신 위치로 판단하고 그 순간의 주파수 옵셋 추정 값을 수신 시스템의 대략적인 주파수 옵셋 값으로 최종 결정한다.
상기 기지 데이터 위치 정보(Known Sequence Position Indicator)는 기지 데이터 추출부(1430), 타이밍 복구부(1080), 반송파 복구부(1090), 위상 보상부(1110), 및 등화기(1003)로 제공되고, 대략적인 주파수 옵셋은 가산기(1480)와 NCO(1460)로 제공된다.
한편 버퍼(1440)는 상기 N개의 부분 상관부(1411~141N)에서 기지 데이터 위치 검출과 대략적 주파수 옵셋을 추정하는 동안, 수신 데이터를 임시 저장한 후 기지 데이터 추출부(1430)로 출력한다.
상기 기지 데이터 추출부(1430)는 상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)에서 출력되는 기지 데이터 위치 정보를 이용하여 상기 버퍼(1440)의 출력으로부터 기지 데이터를 추출한 후 곱셈기(1450)로 출력한다.
상기 NCO(1460)는 상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)에서 출력되는 대략적인 주파수 옵셋에 해당하는 복소 신호를 생성하여 곱셈기(1450)로 출력한다.
상기 곱셈기(1450)는 상기 기지 데이터 추출부(1430)에서 출력되는 기지 데이터에 상기 NCO(1460)의 복소 신호를 곱하여 대략적인 주파수 옵셋이 보상된 기지 데이터를 주파수 옵셋 추정기(1470)로 출력한다.
상기 주파수 옵셋 추정기(1470)는 대략적인 주파수 옵셋이 보상된 기지 데이터로부터 미세 주파수 옵셋을 추정하여 가산기(1480)로 출력한다.
상기 가산기(1480)는 대략적인 주파수 옵셋과 미세 주파수 옵셋을 더하고 그 결과를 초기 주파수 옵셋으로 하여 상기 복조기(1002) 내 반송파 복구부(1090)의 가산기(1095)로 출력한다. 즉, 본 발명은 초기 동기 획득시에 대략적인 주파수 옵셋 뿐만 아니라 미세 주파수 옵셋을 추정하여 이용함으로써, 초기 주파수 옵셋의 추정 성능을 향상시킬 수 있다.
만일 상기 기지 데이터가 도 5와 같이 데이터 그룹 내에 삽입되어 전송된다고 가정하면, 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)는 상기 제1 기지 데이터 영역 내 ACQ 영역의 기지 데이터의 상관성을 이용하여 초기 주파수 옵셋을 추정할 수 있다.
그리고 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 추정한 필드 동기 위치 정보 및/또는 데이터 그룹에 주기적으로 삽입된 기지 데이터의 위치 정보는 타이밍 복구부(1080)의 타이밍 에러 검출기(1083)와 반송파 복구부(1090)의 주파수 옵셋 추정기(1092), 위상 보상부(1110)의 주파수 옵셋 추정기(1112), 등화기(1003)로 입력된다.
도 42는 도 41의 각 부분 상관기 중 하나의 구조를 나타낸 것이다. 상기 기지 데이터 검출 단계에서 수신 신호에는 주파수 옵셋이 포함되므로 각 부분 상관기는 송/수신측에서 약속에 의해 알고 있는 기준 기지 데이터를 L 심볼 길이를 갖는 K개의 부분으로 나누어 수신 신호의 해당 부분과 상관을 취한다.
이를 위해 하나의 부분 상관기는 병렬로 구성된 K개의 위상 및 크기 검출부(1511~151K), 가산기(1520), 및 대략적 주파수 옵셋 추정부(1530)를 포함할 수 있다.
상기 첫 번째 위상 및 크기 검출부(1511)는 L 심볼 버퍼(1511-2), 곱셈기(1511-3), 누산기(1511-4), 및 제곱기(1511-5)를 포함하여, K개의 구간 중 첫 번째 L 심볼 길이의 기지 데이터의 상관값을 구한다.
상기 두 번째 위상 및 크기 검출부(1512)는 L 심볼 지연기((1512-1), L 심볼 버퍼(1512-2), 곱셈기(1512-3), 누산기(1512-4), 및 제곱기(1512-5)를 포함하여, K개의 구간 중 두 번째 L 심볼 길이의 기지 데이터의 상관값을 구한다.
상기 K 번째 위상 및 크기 검출부(151K)는 (K-1)L 심볼 지연기((151K-1), L 심볼 버퍼(151K-2), 곱셈기(151K-3), 누산기(151K-4), 및 제곱기(151K-5)를 포함하여, K개의 구간 중 K번째 L 심볼 길이의 기지 데이터의 상관값을 구한다.
상기 도 42의 각 곱셈기에서 수신 신호와 곱해지는 {P0,P1,...,PKL-1}는 송/수신측에서 알고 있는 기준 기지 데이터(즉, 수신측에서 발생시킨 기준 기지 데이터)를 나타내고, *는 복소 콘쥬게이트(complex conjugate)를 나타낸다.
상기 첫 번째 위상 및 크기 검출부(1511)를 예로 들면, 도 41의 첫 번째 부분 상관부(1411)의 1/N 데시메이터에서 출력되는 신호는 첫 번째 위상 및 크기 검출부(1511)의 L 심볼 버퍼(1511-2)에서 일시 저장된 후 곱셈기(1511-3)로 입력된다. 상기 곱셈기(1511-3)는 상기 L 심볼 버퍼(1511-2)의 출력과 이미 알고 있는 K개의 구간 중 첫 번째 L 심볼 길이의 기지 데이터 P0,P1,...,PL-1를 복소 콘쥬게이트 곱하여 누산기(1511-4)로 출력한다. 상기 누산기(1511-4)는 L 심볼 동안 상기 곱셈기(1511-3)의 출력을 누산하여 제곱기(1511-5)와 대략적 주파수 옵셋 추정부(1530)로 출력한다. 상기 누산기(1511-4)의 출력은 위상과 크기를 가진 상관값이다. 따라서 상기 제곱기(1511-5)에서 상기 곱셈기(1511-4)의 출력에 절대치를 취하고 그 절대치를 제곱하면 상관값의 크기가 구해지며, 그 크기는 가산기(1520)로 입력된다.
상기 가산기(1520)는 각 위상 및 크기 검출부(1511~151K)의 제곱기의 출력을 더하여 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)로 출력한다.
그리고 대략적 주파수 옵셋 추정부(1530)는 상기 각 위상 및 크기 검출부(1511~151K)의 누산기의 출력을 입력받아 해당 샘플링 위상에서 대략적인 주파수 옵셋을 추정하여 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)로 출력한다.
상기 각 위상 및 크기 검출부(1511~151K)의 누산기에서 출력되는 K개의 입력을 {Z0,Z1,...,ZK -1} 이라고 할 경우 상기 대략적인 주파수 옵셋 추정기(130)의 출력은 다음의 수학식 7과 같이 구할 수 있다.
상기 기지 데이터 위치 검출 및 주파수 옵셋 결정부(1420)는 각 샘플링 위상별 부분 상관기의 출력을 데이터 그룹 주기 또는 정해진 주기 동안 저장한 후 그 값들 가운데 상관값이 최대인 위치를 기지 데이터의 수신 위치로 판단하고 그 순간의 주파수 옵셋 추정 값을 수신 시스템의 대략적인 주파수 옵셋 값으로 결정한다. 예를 들어, 두 번째 부분 상관부(1412)의 부분 상관기의 출력 중 한 값이 최대값을 갖게 되면 그 위치를 기지 데이터 위치로 결정하고, 상기 두 번째 부분 상관부(1412)에서 추정된 대략적 주파수 옵셋을 최종 대략적 주파수 옵셋으로 결정하여 복조기(1002)로 출력한다.
한편 상기 제2 곱셈기(1050)의 출력은 상기 타이밍 복구부(1080)의 데시메이터(1081)와 버퍼(1082)를 거쳐 타이밍 에러 검출기(Timing Error Detector)(1083)로 입력된다.
만일 상기 제2 곱셈기(1050)의 출력이 N배로 오버샘플링(oversampling)되었다면, 상기 제2 곱셈기(1050)의 출력은 데시메이터(1081)에서 1/N로 데시메이트된 후 버퍼(1082)로 입력된다. 즉, 상기 데시메이터(1081)는 VSB 심볼 주기로 입력 신호를 데시메이션한다. 또한 상기 데시메이터(1081)는 제2 곱셈기(1050)의 출력 대신 정합 필터(1060)의 출력을 입력받을 수도 있다.
상기 타이밍 에러 검출기(1083)는 상기 정합 필터링 전 또는 후의 데이터와 기지 데이터 검출 및 초기 주파수 옵셋 추정기(1004-1)에서 출력되는 기지 데이터 위치 정보를 이용하여 타이밍 에러를 검출한 후 루프 필터(1084)로 출력한다. 즉, 상기 타이밍 에러 검출기(1083)는 정합 필터링 전 또는 후의 기지 데이터 열로부터 타이밍 에러를 검출하여 루프 필터(1084)로 출력한다. 따라서 검출된 타이밍 에러 정보는 기지 데이터 열의 반복 주기마다 한 번씩 구해진다.
상기 타이밍 에러 검출기(1083)는 일 실시예로서, 만일 도 37과 같이 동일한 패턴을 갖는 기지 데이터 열이 주기적으로 삽입되어 전송된다면 상기 기지 데이터를 이용하여 타이밍 에러를 검출할 수 있다.
상기 기지 데이터를 이용하여 타이밍 에러를 검출하는 방법은 여러 가지가 있을 수 있다. 본 발명에서는 일 실시예로 시간 영역에서 송/수신측의 약속에 의해 알고 있는 기준 기지 데이터와 수신 데이터와의 상관 특성을 이용하여 타이밍 에러를 검출하거나, 주파수 영역에서 수신되는 두 기지 데이터의 상관 특성을 이용하여 타이밍 에러를 검출한다. 또 다른 실시예로, 수신 신호의 스펙트럼의 측대역을 이용하여 타이밍 에러를 검출하는 스펙트럴 라인 방법을 적용하여 타이밍 에러를 검출할 수도 있다.
상기 루프 필터(1084)는 상기 타이밍 에러 검출기(1083)에서 검출된 타이밍 에러를 필터링하여 유지기(1085)로 출력한다.
상기 유지기(1085)는 상기 루프 필터(1084)에서 필터링되어 출력되는 타이밍 에러를 기지 데이터 열의 주기동안 유지시킨 후 NCO(1086)로 출력한다. 여기서 상기 루프 필터(1084)와 유지기(1085)의 위치는 서로 바뀌어도 가능하다. 또한 상기 유지기(1085)의 기능을 루프 필터(1084)에 포함시키고, 유지기(1085)를 생략할 수도 있다.
상기 NCO(1086)는 상기 유지기(1085)에서 출력되는 타이밍 에러를 누적하고, 누적된 타이밍 에러의 위상 성분 즉, 샘플링 클럭을 리샘플러(1040)로 출력하여 리샘플러(1040)의 샘플링 타이밍을 조절한다.
도 43은 타이밍 복구부의 다른 실시예로서, 제1, 제2 타이밍 에러 검출기(1611,1612), 먹스(1613), 루프 필터(1614), 및 NCO(1615)를 포함한다.
방송 신호에 기지 데이터가 있는 영역과 없는 영역이 구분되어 전송되는 경우, 기지 데이터의 유무에 따라서 타이밍 에러를 검출하는 방법이 달라질 수 있다. 그리고, 기지 데이터 유무에 따라 적합한 타이밍 에러 검출기를 사용할 수 있다. 따라서 도 43의 경우, 일정 길이의 기지 데이터가 정해진 위치에 삽입되는 영역과 기지 데이터가 삽입되지 않은 영역으로 나누어 전송되는 경우에 적용하면 효과적인 경우이다.
예를 들어, 제1 타이밍 에러 검출기(1611)는 수신된 신호의 스펙트럼의 측대역을 이용하여 타이밍 에러를 검출하고, 제2 타이밍 에러 검출기(1612)는 기지 데이터를 이용하여 타이밍 에러를 검출한다고 가정하자.
그러면 먹스(1613)는 기지 데이터가 없는 영역에서는 제1 타이밍 에러 검출기(1611)의 출력을 선택하고, 기지 데이터가 있는 영역에서는 제2 타이밍 에러 검출기(1612)의 출력을 선택하여 루프 필터(1614)로 출력하도록 설계할 수 있다. 또는 기지 데이터가 있는 영역에서는 제 1 타이밍 에러 검출기(1611)의 출력과 제2 타이밍 에러 검출기(1612)의 출력을 통합하여 루프 필터(1614)로 출력하는 것도 가능하다. 이렇게 하면 기지 데이터가 있는 영역에서는 기지 데이터를 이용하여 보다 신뢰도가 높은 타이밍 에러를 검출함으로써, 타이밍 클럭을 더욱 안정되게 복원할 수 있게 된다.
상기 기지 데이터를 이용한 타이밍 에러 검출 방법은 여러 가지가 있을 수 있다. 여기에서는 타이밍 에러 검출 방법에 대해 두 개의 실시예를 개시한다. 하나는 시간 영역에서 송/수신측의 약속에 의해 알고 있는 기준 기지 데이터와 수신 데이터와의 상관 특성을 이용하여 타이밍 에러를 검출하는 방법이고, 다른 하나는 주파수 영역에서 수신되는 두 기지 데이터의 상관 특성을 이용하여 타이밍 에러를 검출하는 방법이다.
도 44와 도 45는 송/수신측의 약속에 의해 알고 있는 기준 기지 데이터(즉, 수신측에서 발생한 기준 데이터)와 수신된 신호의 상관값을 구하여 타이밍 에러를 검출하는 예를 보인다.
먼저, 도 44의 (a)는 데이터 블록 주기마다 반복되는 기준 기지 데이터 열 전체를 수신된 신호열에 맞추어 이동시키면서 수신된 신호열과 상관값을 구하는 예를 도시한다. 이때 기준 기지 데이터 열과 수신 신호간의 상관값은 도 44의 (b)에 보인 바와 같이 수신 신호의 기지 데이터 열 마지막 심볼 위치에서 최대치 또는 피크 값을 출력한다.
도 45의 (a)는 기지 데이터 열을 둘 이상의 부분으로 나누어 상관값을 구하는 예를 개시한다. 이 경우 기지 데이터의 상관값의 피크들은 각 기지 데이터가 분리된 부분의 마지막 심볼 위치에 발생한다. 그리고, 발생한 피크값을 하나의 값으로 합산 등의 연산을 통해 최종 피크값을 산출할 수 있다. 도 45의 (b)는 기지 데이터가 3부분으로 나누어 상관될 경우, 각 상관값들과 그 상관값들의 합인 최종 치크값을 나타낸다.
상기 타이밍 에러는 상관값의 피크 위치로부터 산출할 수 있다. 도 44와 같 이 하나의 기지 데이터 열 전체를 이용하여 하나의 상관값을 구할 경우 타이밍 에러 검출은 매 데이터 블록 주기마다 한 번씩 검출될 수 있다. 그러나 기지 데이터 열을 도 45와 같이 나누어서 수신된 신호와 상관값을 구하면 기지 데이터 열을 전체에 대한 상관 정도가 떨어질 경우 더 정확한 타이밍 에러를 산출할 수 있다. 나눈 수 만큼에 해당하는 상관값의 피크를 얻을 수 있다.
하나의 기지 데이터 열을 나누어 다수의 상관 피크값을 얻고 이를 합산 등의 연산을 하나의 피크값을 산출할 경우 전체 기지 데이터 열을 이용하는 경우보다 기지 데이터 열을 부분으로 나누어 상관값을 구하는 것이 반송파 주파수 에러의 영향을 줄일 수 있다. 또한, 다수의 상관 피크값을 각각 이용하여 타이밍 에러를 검출하는 경우에는 타이밍 복원 속도가 빨라질 수 있다. 예를 들어, 송/수신측에서 약속에 의해 알고 있는 기준 기지 데이터 열을 K개의 부분으로 나누어 수신 신호와 상관을 취하면 상기 기지 데이터 열에서 K개만큼 상관값의 피크를 얻을 수 있으며, 그 수만큼의 타이밍 에러, 또는 조합에 의해 조정된 개수의 타이밍 에러를 얻을 수 있다. 그러므로 전체 기지 데이터 열을 이용하는 경우는 타이밍 에러 검출값의 분산은 적으나 적용 주기가 길어지게 되고, 부분 기지 데이터 열을 이용하는 경우는 전체를 이용하는 경우에 비해 분산은 약간 증가하나 적응 주기를 줄일 수도 있다.
타이밍 에러는 상관값의 피크 부분으로부터 산출할 수 있다. 그러므로 도 46과 같이 기지 데이터 열 전체를 이용하여 하나의 상관값을 구하면 타이밍 에러는 매 데이터 블록 주기로 한 번씩 검출된다. 그러나 기지 데이터 열을 도 45와 같이 나누어서 수신된 신호와 상관값을 구하면 기지 데이터 열을 나눈 수 만큼에 해당하 는 상관값의 피크를 얻을 수 있고 그 나눈 수만큼의 타이밍 에러를 검출하는 것이 가능하다.
도 46을 참조하여 도 44와 도 45에서 설명한 기준 기지 데이터와 수신 데이터 간의 상관값을 구하여 타이밍 에러를 검출하는 방법에 대해 자세히 설명한다. 상기 도면에서 굵은 점은 기지 데이터와 수신 데이터 간의 상관값을 표시한 것이고 실선은 상기 점들의 흐름을 대략적으로 이은 것이다. 상기 점들은 심볼 클럭의 두 배 빠른 주기로 샘플링한 샘플들에 대해 상관값을 구한 것을 나타낸다.
도 46에서 랜덤 데이터에 의한 영향을 배제하고 잡음이 없고 타이밍 클럭의 오차가 없다면 기준 기지 데이터 열과 수신 데이터 열의 상관값은 상기 도면에서 실선의 모양과 유사하게 피크를 중심으로 좌우 대칭 형태로 나타난다. 그러나 타이밍 위상 에러가 있다면 피크의 바로 앞 뒤 샘플들의 대칭형이 유지되지 않고 차이가 생기게 된다. 그러므로 상관값을 이용한 타이밍 에러 검출은 피크 값의 바로 이전 값과 이후 값의 차에 비례한 값을 이용하여 산출할 수 있다.
도 47은 전술한 기준 기지 데이터와 수신 신호의 상관값을 이용하여 시간 영역에서 타이밍 에러를 검출하는 타이밍 에러 검출기의 예를 보인 상세 블록도이다. 도 47의 예는 상관기(1701), 다운 샘플러(1702), 절대값 연산기(1703), 지연기(1704), 및 감산기(1705)를 포함한다.
상기 상관기(1701)는 심볼 클럭 주파수의 두 배 이상으로 빠른 클럭으로 샘플링된 데이터를 입력받아 기지 데이터 심볼 열과 상관값을 계산하여 다운 샘플러(1702)로 출력한다. 상기 다운 샘플러(1702)는 상관값을 샘플링 비율만큼 다운 샘플링하여 심볼 주파수의 샘플을 얻는다. 예를 들어, 상기 상관기(1701)로 입력되는 수신 데이터가 2배의 심볼 주파수로 샘플링된 데이터라면 상기 다운 샘플러(1701)는 1/2 다운 샘플링하여 심볼 주파수의 샘플을 얻는다. 상기 다운 샘플러(1701)의 상관값은 절대값 연산기(1703)로 입력되고, 상기 절대값 연산기(1703)는 다운 샘플링된 상관값들의 절대값 또는 절대값의 제곱을 구하여 위상 성분이 없는 크기값의 성분으로 변환한다. 상기 절대값 연산기(1703)의 출력은 지연기(1704)와 감산기(1705)로 제공된다. 상기 감산기(1705)는 상기 지연기(1704)에서 1 심볼 지연된 절대값 또는 절대값의 제곱과 현재 절대값 또는 절대값의 제곱의 차를 타이밍 에러 값으로 출력한다. 즉, 상기 절대값 연산기(1703)의 출력을 한 심볼만큼 지연시킨 값과 상기 절대값 연산기(1703)의 출력값의 차가 곧 타이밍 위상 에러에 비례하는 값이 된다.
여기서 각 블록의 선후 관계는 절대적이지 않고 결과값이 바뀌지 않는 논리적으로 타당한 범위 내에서 서로 순서를 바꾸어 연산할 수 있다. 예를 들어, 다운 샘플러, 상관기, 절대값 연산기 순으로 연산을 수행할 수도 있고, 상관기, 절대값 연산기, 다운 샘플러 순으로 연산을 수행할 수도 있다.
타이밍 에러는 기지 데이터의 주파수 특성을 이용하여 검출할 수도 있다. 타이밍 주파수 에러가 발생하면 주파수 영역의 신호의 대역 내에서 주파수가 증가할수록 위상이 일정하게 증감하고, 현재 블록에 비해 다음 블록의 주파수에 따라 위상의 증감하는 기울기가 변하는 현상이 나타나게 된다. 그러므로 기지 데이터 두 블록간의 주파수 특성을 이용한 주파수에 따른 위상 변화의 기울기를 검출하여 타 이밍 주파수 에러로 사용할 수 있다.
도 48은 상기 기술한 기지 데이터의 주파수 특성을 이용하여 타이밍 주파수 에러를 검출하는 예를 예시한다. 현재 수신된 기지 데이터 열을 고속 푸리에 변환(Fast Fourier Transform ; FFT)하여 주파수 영역의 신호로 변환하고, 이전에 수신된 기지 데이터 열을 FFT하여 주파수 영역의 신호로 변환한다. 그리고, 이전 기지 데이터 열의 주파수 응답의 콘쥬게이트(conjugate) 값과 현재 기지 데이터 열의 주파수 응답의 각 주파수 값끼리 곱하여 주파수 영역에서 상관값을 산출한다. 즉, 이전 기지 데이터 열의 주파수 값과 현재 기지 데이터 열의 주파수 값의 상관값을 얻음으로써 각 주파수에서 기지 데이터 블록 간의 위상 변화를 추출할 수 있다. 그리고, 채널에 의한 위상 왜곡의 영향을 없앨 수도 있다.
복소수 VSB 신호의 주파수 응답은 VSB 특성으로 인해 도 46의 주파수 응답 예와 같이 전체 영역에 값이 존재하지 않고 반쪽에만 존재하기 때문에 주파수 영역의 상관값 역시 반쪽 영역에만 존재한다. 주파수 영역에서 상관값의 위상 기울기를 구하기 위해, 상관값이 존재하는 주파수 영역을 둘로 나누고, 각 영역에서 해당 영역 내 상관값들을 모두 합한 값들의 각각 위상들을 구한다. 그리고, 두 영역에서 각기 구한 두 위상 간의 차이를 구하면 타이밍 주파수 에러를 산출할 수 있다.
각 주파수에서 상관값을 더한 후 위상을 구하는 것은 각 상관값의 성분을 크기와 위상으로 나누어볼 때, 각 상관값의 크기 성분은 곧 신뢰도와 비례하고 이 크기에 비례하는 형태로 각 상관값의 위상 성분이 최종 위상 성분에 영향을 주도록 하기 위함이다.
도 49는 도 48에 개시한 방법으로 타이밍 에러를 검출할 수 있는 예를 개시한다. 도 49의 타이밍 에러 검출기는 FFT부(1801), 제1 지연기(1802), 콘쥬게이터(1803), 곱셈기(1804), 가산기(1805), 위상 추출기(1806), 제2 지연기(1807), 및 감산기(1808)를 포함한다. 여기서 상기 제1 지연기(1802)는 1 데이터 블록 지연기이고, 제2 지연기(1807)는 1/4 데이터 블록 지연기를 실시예로 한다. 상기 1 데이터 블록이란 N개의 기지 데이터 심볼 열의 주파수 응답으로 구성된 하나의 블록을 의미한다.
즉, 기지 데이터 영역이 알려지고 수신된 데이터 심볼 열이 입력되면, 상기 FFT부(1801)는 입력되는 데이터 심볼 열 중에서 연속적인 N개의 기지 데이터 열의 복소수 값을 주파수 영역의 복소수 값으로 변환하여 제1 지연기(1802)와 곱셈기(1804)로 출력한다. 상기 제1 지연기(1802)는 기지 데이터의 주파수 영역의 복소수 값을 1 데이터 블록만큼 지연시켜 콘쥬게이터(1803)로 출력하고, 상기 콘쥬게이터(1803)는 입력 복소수 값을 콘쥬게이팅하여 곱셈기(1804)로 출력한다. 상기 곱셈기(1804)는 FFT부(1801)에서 출력되는 현재 데이터 블록의 기지 데이터와 콘쥬게이터(1803)에서 출력되는 이전 데이터 블록의 기지 데이터를 샘플 단위로 복소 콘쥬게이트 곱하여 가산기(1805)로 출력한다. 즉, 상기 곱셈기(840)의 출력은 한 기지 데이터 블록 내 주파수 영역의 상관값들이다.
이때 복소수의 VSB 데이터는 주파수 영역에서 절반 영역에만 데이터가 존재하므로, 상기 가산기(1805)는 상기 기지 데이터 블록 내 의미있는 데이터 영역을 다시 반으로 나누고, 각 영역에서 해당 영역의 상관값들을 누산한 후 위상 추출 기(1806)로 출력한다. 상기 위상 추출기(1806)는 의미있는 두 데이터 영역 내 누산값으로부터 위상 정보만을 각각 추출하여 제2 지연기(1807)와 감산기(1808)로 출력한다. 상기 제2 지연기(1807)에서 1/4 블록 지연된 위상 정보는 감산기(1808)로 입력된다.
상기 감산기(1808)는 제2 지연기(1807)에서 1/4 데이터 블록 지연된 위상 정보와 상기 위상 추출기(860)의 위상 정보와의 차를 구하고, 이 값을 타이밍 주파수 에러 값으로 출력한다.
본 발명의 일 실시예에서와 같이 시간 영역에서 기지 데이터와 수신 신호간의 상관값을 구하고 그것의 피크에서 타이밍 에러를 구하는 방법은 수신 신호가 시간 지연에 따른 다중 경로 채널을 겪는 경우, 상기 상관값의 모양이 채널에 영향을 많이 받게 되는 단점이 있으나, 다른 실시예에서와 같이 이전 수신한 기지 데이터와 이후 수신한 기지 데이터의 상관값을 이용하여 타이밍 에러를 구하는 경우는 채널의 영향을 줄일 수 있다.
또한, 상기 설명한 타이밍 에러 검출 방법은 송신기에서 삽입한 기지 데이터 열 전부를 사용하여 타이밍 에러 검출을 수행할 수도 있고, 시간 지연에 따른 다중 경로 채널의 영향을 없애기 위해 채널에 따른 랜덤 데이터의 영향이 적은 기지 데이터 열의 일부만을 취하여 타이밍 에러 검출을 수행할 수도 있다.
한편 상기 DC 제거기(1070)는 정합 필터링된 신호로부터 송신측에서 삽입된 파일럿 톤(즉, DC)을 제거한 후 위상 보상부(1110)로 출력한다.
도 50은 본 발명에 따른 DC 제거기의 일 실시예를 보인 상세 블록도로서, 복 소 입력 신호의 실수 성분(In-phase, I)과 허수 성분(Quadrature, Q)에 대해 동일한 신호 처리 과정을 거쳐 각 성분에서의 DC 값을 추정한 후 제거한다.
이를 위해 도 50은 크게 제1,제2 DC 추정 및 제거기(1900,1950)로 구성된다.
상기 제1 DC 추정 및 제거기(1900)는 R 샘플 버퍼(1901), DC 추정기(1902), M 샘플 유지기(1903), C 샘플 지연기(1904), 및 감산기(1905)를 포함하여, 실수 성분의 DC를 추정하여 제거한다.
상기 제2 DC 추정 및 제거기(1950)는 R 샘플 버퍼(1951), DC 추정기(1952), M 샘플 유지기(1953), C 샘플 지연기(1954), 및 감산기(1955)를 포함하여, 허수 성분의 DC를 추정하여 제거한다.
본 발명에서는 제1,제2 DC 추정 및 제거기(1900,1950)의 입력 신호만 다를 뿐 두 구조가 동일하므로 제1 DC 추정 및 제거기(1900)에 대해서 상세히 설명하고, 제2 DC 추정 및 제거기(1950)의 상세 설명은 생략한다.
즉, 정합 필터(1060)에서 정합 필터링된 실수 성분의 신호는 DC 제거기(1070) 내 제1 DC 추정 및 제거기(1900)의 R 샘플 버퍼(1901)로 입력되어 저장된다. 상기 R 샘플 버퍼(1901)는 R 샘플 길이를 갖는 버퍼이며, 상기 R 샘플 버퍼(1901)의 출력은 DC 추정기(1902)와 C 샘플 지연기(1904)로 입력된다.
상기 DC 추정기(1902)는 상기 버퍼(1901)에서 출력되는 R 샘플 길이의 데이터를 이용하여 하기의 수학식 8과 같이 DC 값을 추정한다.
상기 수학식 8에서 x[n]은 버퍼(1901)에 저장된 입력 샘플 데이터를 나타내고, y[n]은 DC 추정값을 나타낸다.
즉, 상기 DC 추정기(1902)는 버퍼(1901)에 저장된 R개 샘플 데이터를 누적한 후 R로 나눈 값으로 DC 값을 추정하는데 이때, 버퍼(1901)에 저장된 입력 샘플 데이터를 M 샘플만큼 이동(shift)시켜 M 샘플마다 한 번씩 DC 추정값을 내보낸다.
도 51은 DC 추정에 사용되는 입력 샘플 데이터의 이동을 나타낸다. 예를 들어, M=1일 경우 DC 추정기(1902)는 버퍼(1901)에 매 샘플이 이동할 때마다 DC 값을 추정하여 매 샘플마다 그 결과를 내보낸다. 만일 M=R일 경우 DC 추정기(1902)는 버퍼(1901)에 R 샘플이 이동할 때마다 DC 값을 추정하여 R 샘플마다 출력을 내보내므로, 이 경우 DC 추정기(1902)는 R 샘플의 블록 단위로 동작하는 DC 추정기가 된다. 여기서 상기 M 값은 1과 R 사이의 어떤 값도 가능하다.
이와 같이 상기 DC 추정기(1902)의 출력은 M 샘플마다 나오므로, M 샘플 유지기(1903)는 DC 추정기(1902)에서 추정된 DC 값을 M 샘플 동안 유지시켜 감산기(1905)로 출력한다. 그리고 C 샘플 지연기(1904)는 버퍼(1901)에 저장된 입력 샘플 데이터를 C 샘플만큼 지연시킨 후 감산기(1905)로 출력한다. 상기 감산기(1905)는 C 샘플 지연기(1904)의 출력에서 M 샘플 유지기(1903)의 출력을 빼, 실수 성분 의 DC가 제거된 신호를 출력한다.
여기서, 상기 C 샘플 지연기(1904)는 상기 DC 추정기(1902)의 출력을 어느 부분의 입력 샘플 데이터에 보상해 줄지를 결정한다. 구체적으로, DC 추정 및 제거기(1900)는 DC를 추정하는 DC 추정기(1902)와 추정된 DC 값을 입력 샘플 데이터에 보상해주는 감산기(1905)로 나누어 볼 수 있다. 이때 상기 C 샘플 지연기(1904)는 추정된 DC 값을 입력 샘플 데이터의 어느 부분에 보상할 지를 결정한다. 예를 들어, C = 0이면 R 샘플을 이용해 DC 추정한 값을 R 샘플의 처음 부분에 보상해 주게 되고, C = R이면 R 샘플을 이용해 DC 추정한 값을 R 샘플의 끝 부분에 보상하게 된다.
상기와 같은 방법으로 DC가 제거된 데이터는 위상 보상부(1110)의 버퍼(1111)와 주파수 옵셋 추정기(1112)로 입력된다.
한편, 도 52는 본 발명에 따른 DC 제거기의 다른 실시예를 보인 상세 블록도로서, 복소 입력 신호의 실수 성분(In-phase, I)과 허수 성분(Quadrature, Q)에 대해 동일한 신호 처리 과정을 거쳐 각 성분에서의 DC 값을 추정한 후 제거한다.
이를 위해 도 52도 크게 제1,제2 DC 추정 및 제거기(2100,2150)로 구성된다. 도 52는 IIR(Infinite Impulse Reponse) 구조이다.
상기 제1 DC 추정 및 제거기(2100)는 곱셈기(2101), 가산기(2102), 1 샘플 지연기(2103), 곱셈기(2104), C 샘플 지연기(2105), 및 감산기(2106)를 포함하여, 실수 성분의 DC를 추정한 후 제거한다.
상기 제2 DC 추정 및 제거기(2150)는 곱셈기(2151), 가산기(2152), 1 샘플 지연기(2153), 곱셈기(2154), C 샘플 지연기(2155), 및 감산기(2156)를 포함하여, 허수 성분의 DC를 추정한 후 제거한다.
본 발명에서는 제1,제2 DC 추정 및 제거기(2100,2150)의 입력 신호만 다를 뿐 두 구조가 동일하므로 제1 DC 추정 및 제거기(2100)에 대해서 상세히 설명하고, 제2 DC 추정 및 제거기(2150)의 상세 설명은 생략한다.
즉, 정합 필터(1060)에서 정합 필터링된 실수 성분의 신호는 DC 제거기(1070) 내 제1 DC 추정 및 제거기(2100)의 곱셈기(2101)와 C 샘플 지연기(2105)로 입력된다. 상기 곱셈기(2101)는 입력되는 실수 성분의 신호에 기 설정된 상수 α를 곱하여 가산기(2102)로 출력한다. 상기 가산기(2102)는 상기 곱셈기(2101)의 출력과 피드백되는 곱셈기(2104)의 출력을 더하여 1 샘플 지연기(2103)와 감산기(2106)로 출력한다. 즉, 상기 가산기(2102)의 출력이 추정된 실수 성분의 DC 값이다.
상기 1 샘플 지연기(2103)는 추정된 DC 값을 1 샘플 지연시켜 곱셈기(2104)로 출력하고, 상기 곱셈기(2104)는 1 샘플 지연된 DC 값에 기 설정된 상수 (1-α)를 곱하여 가산기(2102)로 피드백한다.
그리고 C 샘플 지연기(2105)는 입력되는 실수 성분의 샘플 데이터를 C 샘플만큼 지연시킨 후 감산기(2106)로 출력한다. 상기 감산기(2106)는 C 샘플 지연기(2105)의 출력에서 가산기(2102)의 출력을 빼, 실수 성분의 DC가 제거된 신호를 출력한다.
상기와 같은 방법으로 DC가 제거된 데이터는 도 39의 위상 보상부(1110)의 버퍼(1111)와 주파수 옵셋 추정기(1112)로 입력된다.
상기 주파수 옵셋 추정기(1112)는 상기 기지 데이터 검출 및 초기 주파수 옵셋 추정기(9041)에서 출력되는 기지 데이터 위치 정보를 이용하여 기지 데이터 열이 입력될 때 상기 DC 제거기(1070)에서 DC가 제거되어 입력되는 기지 데이터 열로부터 주파수 옵셋을 추정하여 유지기(1113)로 출력한다. 마찬가지로 상기 주파수 옵셋 추정값은 기지 데이터 열의 반복 주기마다 한 번씩 구해진다.
따라서 상기 유지기(1113)는 상기 주파수 옵셋 추정값을 기지 데이터 열의 주기 동안 유지시킨 후 NCO(1114)로 출력한다. 상기 NCO(1114)는 유지기(1113)에서 유지된 주파수 옵셋에 해당하는 복소 신호를 생성하여 곱셈기(1115)로 출력한다.
상기 곱셈기(1115)는 상기 버퍼(1111)에서 일정 시간 지연된 데이터에 상기 NCO(1114)에서 출력되는 복소 신호를 곱하여 상기 지연 데이터에 포함된 위상 변화를 보상한다. 상기 곱셈기(1115)에서 위상 변화가 보상된 데이터는 데시메이터(1500)를 거쳐 등화기(903)로 제공된다. 이때 상기 위상 보상부(1110)의 주파수 옵셋 추정기(1112)에서 추정된 주파수 옵셋은 루프 필터를 거치지 않음으로 기지 데이터 열 사이의 위상 차이 즉, 위상 옵셋을 나타낸다.
채널 등화기
상기 복조기(1002)에서 기지 데이터를 이용하여 복조된 데이터는 등화기(1003)로 입력된다. 또한 상기 복조된 데이터는 기지 데이터 검출기(1004)로 입력될 수도 있다.
상기 채널 등화기(1003)는 다양한 방법으로 채널 등화를 수행할 수 있는데, 본 발명에서는 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하여 채널 등화를 수행하는 것을 일 실시예로 설명한다.
특히 본 발명에서는 송신 시스템에서 계층화되어 전송된 데이터 그룹 내 각 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 것을 일 실시예로 설명한다. 또한 본 발명은 송/수신측의 약속에 의해 위치와 내용을 알고 있는 기지 데이터 및/또는 필드 동기를 이용하여 CIR을 추정함으로써, 채널 등화를 더욱 안정적으로 수행하도록 하는데 있다.
이때 등화를 위해 입력된 하나의 데이터 그룹은 도 5와 같이, A 내지 D 영역으로 구분되고, A 영역은 MPH 블록 B4 내지 MPH 블록 B7을, B 영역은 MPH 블록 B3과 MPH 블록 B8을, C 영역은 MPH 블록 B2과 MPH 블록 B9을, D 영역은 MPH 블록 B1과 MPH 블록 B10을 포함하는 것을 일 실시예로 한다.
그리고 데이터 그룹은 하나의 VSB 프레임에 최대 4개까지 할당되어 전송될 수 있으므로, 이 경우 모든 데이터 그룹이 필드 동기를 포함하지는 않는다. 본 발명은 필드 동기를 포함하는 데이터 그룹은 필드 동기와 기지 데이터를 이용하여 채널 등화를 수행하고, 필드 동기를 포함하지 않는 데이터 그룹은 기지 데이터만을 이용하여 채널 등화를 수행하는 것을 일 실시예로 한다. 일 예로, 필드 동기를 포함하는 데이터 그룹의 경우 MPH 블록 B3의 데이터는 필드 동기로부터 구한 CIR과 제1 기지 데이터 영역의 기지 데이터로부터 구한 CIR을 이용해서 채널 등화할 수 있다. 또한 MPH 블록 B1, B2의 데이터도 필드 동기로부터 구한 CIR과 제1 기지 데 이터 영역의 기지 데이터로부터 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다. 그러나 필드 동기를 포함하지 않는 데이터 그룹의 경우 필드 동기로부터 CIR을 구할 수 없으므로, MPH 블록 B1~B3의 데이터는 제1 기지 데이터 영역과 제3 기지 데이터 영역에서 구한 CIR을 이용하여 채널 왜곡을 보상할 수 있다.
본 발명은 상기 기지 데이터 영역에서 추정된 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)이 있다. 상기 선형 외삽 기법은 수많은 외삽 기법 중 가장 간단한 예이며 상기한 방법 외에 여러 가지 다양한 외삽 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않을 것이다.
도 53은 본 발명에 따른 채널 등화기의 일 실시예로서, 잔류 반송파 위상 에러를 추정하여 채널 등화된 신호로부터 보상함으로써, 수신 성능을 더욱 향상시킬 수 있다.
도 53은 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도로서, 제1 주파수 영역 변환부(3100), 채널 추정부(3110), 제2 주파수 영역 변환부(3121), 계수 계산부(3122), 왜곡 보상부(3130), 시간 영역 변환부(3140), 잔류 반송파 위상 에러 제거부(3150), 잡음 제거부(Noise Canceller ; NC)(3160), 및 결정(Decision)부(3170)를 포함하여 구성된다.
상기 제1 주파수 영역 변환부(3100)는 입력 데이터를 중첩하는 중첩(overlap)부(3101), 및 중첩부(3101)의 출력 데이터를 주파수 영역으로 변환하는 FFT(Fast Fourier Transform)부(3102)를 포함하여 구성된다.
상기 채널 추정부(3110)는 입력 데이터로부터 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정하는 CIR 추정기(3111), 상기 CIR 추정기(3111)에서 추정된 CIR의 위상을 보상하는 위상 보상기(3112), 제1 클리너(Pre-CIR Cleaner)(3113), CIR 연산기(3114), 제2 클리너(Post-CIR Cleaner)(3115), 및 제로 패딩(zero-padding)부(3116)를 포함할 수 있다.
상기 제2 주파수 영역 변환부(3121)는 상기 채널 추정부(3110)에서 출력되는 CIR을 주파수 영역으로 변환하는 FFT부를 포함하여 구성된다.
상기 시간 영역 변환부(3140)는 상기 왜곡 보상부(3130)에서 왜곡이 보상된 데이터를 시간 영역으로 변환하는 IFFT부(3141), 및 상기 IFFT부(3141)의 출력 데이터로부터 유효 데이터만을 추출하는 세이브(save)부(3142)를 포함하여 구성된다.
상기 잔류 반송파 위상 에러 제거부(3150)는 상기 채널 등화된 데이터에 포함된 잔류 반송파 위상 에러를 제거하는 에러 보상부(3151), 및 상기 채널 등화된 데이터와 결정기(3170)의 결정 데이터를 이용하여 잔류 반송파 위상 에러를 추정한 후 상기 에러 보상부(3151)로 출력하는 잔류 반송파 위상 에러 추정부(3152)를 포함하여 구성된다.
상기 왜곡 보상부(3130)와 에러 보상부(3151)는 복소수 곱셈 역할을 수행하는 소자는 어느 것이나 가능하다.
이때 수신되는 데이터가 VSB 방식으로 변조된 데이터이므로, 8레벨의 이산 데이터는 실수 성분에만 존재한다. 그러므로 도 53에서 잡음 제거부(3160)와 결정기(3170)에서 사용되는 모든 신호는 실수 신호이다. 그러나 잔류 반송파 위상 에러 및 위상 잡음을 추정하고 보상하기 위해서는 실수 성분뿐만 아니라 허수 성분이 필요하기 때문에 상기 잔류 반송파 위상 에러 제거부(3150)는 허수 성분까지 입력받아 사용한다.
일반적으로 채널 등화를 수행하기 전에 수신 시스템 내 복조기(demodulator)(1002)에서 반송파의 주파수 및 위상 복원을 수행하게 되는데, 충분히 보상되지 않은 잔류 반송파 위상 에러가 채널 등화기에 입력되면 채널 등화의 성능을 저하시키게 된다. 특히 동적 채널 환경에서는 채널의 급격한 변화때문에 상기의 잔류 반송파 위상 에러가 정적 채널에 비해 크며, 이것은 수신 성능 저하의 주요한 원인으로 작용한다.
또한 수신 시스템 내 로컬 발진기(Local Oscillator)(도시되지 않음)는 이상적으로는 단일 주파수 성분을 가져야 하지만 실제로는 원하는 주파수 외의 주파수 성분이 존재하며 이러한 주파수 성분을 로컬 발진기의 위상 잡음이라 한다. 상기의 위상 잡음 또한 수신 성능 저하의 요인이 된다. 이러한 잔류 반송파 위상 에러 및 위상 잡음은 통상의 채널 등화기에서 보상하기 어렵다.
따라서 본 발명은 도 53과 같이 잔류 반송파 위상 에러 및 위상 잡음을 제거하기 위한 반송파 복원 루프 즉, 잔류 반송파 위상 에러 제거부(3150)를 채널 등화 기 내에 포함함으로써, 채널 등화 성능을 개선할 수 있다.
즉, 도 53에서 복조된 수신 데이터는 제1 주파수 영역 변환부(3100)의 중첩부(3101)에서 기 설정된 중첩 비율로 중첩되어 FFT부(3102)로 출력된다. 상기 FFT부(3102)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜곡 보상부(3130)로 출력된다.
상기 왜곡 보상부(3130)는 상기 제1 주파수 영역 변환부(3100)의 FFT부(3102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(3122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(3102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(3140)의 IFFT부(3141)로 출력한다. 상기 IFFT부(3141)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(3142)로 출력한다. 상기 세이브부(3142)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출하여 잔류 반송파 위상 에러 제거부(3150)의 에러 보상부(3151)로 출력한다.
상기 에러 보상부(3151)는 상기 시간 영역에서 추출된 유효 데이터에 추정된 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호를 곱하여 상기 유효 데이터에 포함된 잔류 반송파 위상 에러 및 위상 잡음을 제거한다.
상기 에러 보상부(3151)에서 잔류 반송파 위상 에러가 보상된 데이터는 잔류 반송파 위상 에러 및 위상 잡음을 추정하기 위해 잔류 반송파 위상 에러 추정부(3152)로 출력됨과 동시에 잡음을 제거하기 위해 잡음 제거부(3160)로 출력된다.
상기 잔류 반송파 위상 에러 추정부(3152)는 에러 보상부(3151)의 출력 데이터와 결정기(3170)의 결정 데이터를 이용하여 잔류 반송파 위상 에러 및 위상 잡음을 추정하고, 추정된 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호를 상기 에러 보상부(3151)로 출력한다. 본 발명에서는 추정된 잔류 반송파 위상 에러 및 위상 잡음의 역수를 상기 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호로서 출력하는 것을 일 실시예로 한다.
도 54는 상기 잔류 반송파 위상 에러 추정부(3152)의 일 실시예를 보인 상세 블록도로서, 위상 에러 검출기(3211), 루프 필터(3212), 수치 제어 발진기(Numerically Controlled Oscillator ; NCO)(3213), 및 콘쥬게이터(3214)를 포함하여 구성된다. 도 54에서 결정 데이터와 위상 에러 검출기(3211)의 출력, 루프 필터(3212)의 출력은 실수 신호이며, 에러 보상부(3151)의 출력, NCO(3213)의 출력 및 콘쥬게이터(3214)의 출력은 복소수 신호이다.
상기 위상 에러 검출기(3211)는 에러 보상부(3151)의 출력 데이터와 결정 기(3170)의 결정 데이터를 입력받아 잔류 반송파 위상 에러 및 위상 잡음을 추정한 후 루프 필터(3212)로 출력한다.
상기 루프 필터(3212)는 잔류 반송파 위상 에러 및 위상 잡음을 필터링하고, 그 결과를 NCO(3213)로 출력한다. 상기 NCO(3213)는 필터링된 잔류 반송파 위상 에러 및 위상 잡음에 해당하는 정현파를 생성하여 콘쥬게이터(3214)로 출력한다.
상기 콘쥬게이터(3214)는 상기 NCO(3213)의 정현파의 콘쥬게이트 값을 구하여 에러 보상부(3151)로 출력한다. 이때 상기 콘쥬게이터(3214)의 출력 데이터가 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호 즉, 잔류 반송파 위상 에러 및 위상 잡음의 역수가 된다.
상기 에러 보상부(3151)는 상기 시간 영역 변환부(3140)에서 출력되는 등화된 데이터와 상기 콘쥬게이터(3214)에서 출력되는 잔류 반송파 위상 에러 및 위상 잡음을 보상하는 신호를 복소곱하여 상기 등화된 데이터에 포함된 잔류 반송파 위상 에러 및 위상 잡음을 제거한다.
한편 상기 위상 에러 검출기(3211)는 다양한 방법 및 구조로 잔류 반송파 위상 에러 및 위상 잡음을 추정할 수 있다. 본 발명에서는 일 실시예로, 결정 지향(decision-directed) 방식으로 잔류 반송파 위상 에러 및 위상 잡음을 추정한다.
본 발명에 따른 결정 지향 방식의 위상 에러 검출기는 채널 등화된 데이터에 잔류 반송파 위상 에러 및 위상 잡음이 없을 경우, 채널 등화된 데이터와 결정 데이터와의 상관값에 실수 값만 존재한다는 점을 이용한다.
즉, 잔류 반송파 위상 에러 및 위상 잡음이 없을 때, 상기 위상 에러 검출 기(3211)의 입력 데이터를 xi+jxq라고 하면, 위상 에러 검출기(3211)의 입력 데이터와 결정 데이터와의 상관값은 하기의 수학식 9와 같다.
이때, 상기 xi와 xq는 상관 관계가 없으므로 xi와 xq의 상관값은 0이고, 따라서 상기 상관값은 잔류 반송파 위상 에러 및 위상 잡음이 없을 경우 실수값만 존재한다. 그러나 잔류 반송파 위상 에러 및 위상 잡음이 존재할 경우 실수 성분이 허수부에, 허수 성분이 실수부에 나타나기 때문에 상기 상관값에 허수 성분이 나타난다.
따라서 상기 상관값의 허수부와 잔류 반송파 위상 에러 및 위상 잡음은 비례한다고 볼 수 있고, 하기의 수학식 10과 같이 상기 상관값의 허수부를 잔류 반송파 위상 에러 및 위상 잡음으로 사용할 수 있다.
도 55는 상기 잔류 반송파 위상 에러 및 위상 잡음을 구하는 위상 에러 검출기(3211)의 구조의 일 실시예를 보인 구성 블록도로서, 힐버트 변환부(3311), 복소수 구성부(3312), 콘쥬게이터(3313), 곱셈기(3314), 및 위상 에러 출력부(3315)를 포함하여 구성된다. 즉, 상기 힐버트 변환부(3311)는 상기 결정기(3170)의 결정 데이터 를 힐버트 변환하여 허수부 결정 데이터 를 만들고, 이를 복소수 구성부(3312)로 출력한다. 상기 복소수 구성부(3312)는 결정 데이터 와 를 이용하여 복소 결정 데이터 를 구성하여 콘쥬게이터(3313)로 출력한다. 상기 콘쥬게이터(3313)는 복소수 구성부(3312)의 출력을 콘쥬게이트시켜 곱셈기(3314)로 출력한다. 상기 곱셈기(3314)는 에러 보상부(3151)의 출력 데이터 와 상기 콘쥬게이터(3313)의 출력 데이터를 복소곱한다. 즉 상기 곱셈기(3314)의 출력이 에러 보상부(3151)의 출력 데이터와 결정기(3170)의 결정 데이터와의 상관값이 된다. 상기 곱셈기(3314)에서 구한 상관 데이터는 위상 에러 출력부(3315)로 입력된다.
도 55의 위상 에러 검출기는 여러 가지 위상 에러 검출 방식 중 일 예이며 이 외에도 여러 가지 다른 방식의 위상 에러 검출기가 적용될 수 있으므로, 본 발명은 상기된 실시예로 한정되지 않을 것이다. 또한 본 발명의 다른 실시예로서, 2가지 이상의 위상 에러 검출기를 결합하여 잔류 반송파 위상 에러 및 위상 잡음을 검출할 수도 있다.
이렇게 검출된 잔류 반송파 위상 에러 및 위상 잡음을 제거한 잔류 반송파 위상 에러 제거부(3150)의 출력은 채널 등화 및 잔류 반송파 위상 에러 및 위상 잡음이 제거된 원 신호와 채널 등화 과정에서 백색 잡음이 증폭되어 유색 잡음화된 신호의 합으로 이루어진다.
따라서 상기 잡음 제거부(3160)는 상기 잔류 반송파 위상 에러 제거부(3150)의 출력 데이터와 결정기(3170)의 결정 데이터를 입력받아 유색 잡음을 추정한다. 그리고 상기 잔류 반송파 위상 에러 및 위상 잡음이 제거된 데이터에서 상기 추정된 유색 잡음을 빼 줌으로써, 등화 과정에서 증폭된 잡음을 제거한다.
이를 위해 상기 잡음 제거부(3160)는 감산기 및 잡음 예측기(Noise Predictor)를 포함할 수 있다. 즉, 상기 감산기는 상기 잔류 반송파 위상 에러 제거부(3150)의 출력 데이터로부터 잡음 예측기에서 예측된 잡음을 빼 증폭 잡음이 제거된 신호를 데이터 복원을 위해 출력함과 동시에 결정기(3170)로 출력한다. 상기 잡음 예측기는 상기 잔류 반송파 위상 에러 제거부(3150)에서 잔류 반송파 위상 에러가 제거된 신호로부터 상기 결정기(3170)의 출력을 빼 잡음 성분을 계산하고 이를 잡음 예측기 내의 필터 입력으로 사용한다. 그리고 상기 잡음 예측기는 이 필터(도시되지 않음)를 사용하여 상기 잔류 반송파 위상 에러 제거부(3150)의 출력 심볼에 포함되어진 유색 잡음 성분을 예측하여 상기 감산기로 출력한다.
상기 잡음 제거부(3160)에서 잡음이 제거된 데이터는 데이터 복호를 위해 출력됨과 동시에 결정기(3170)로 출력된다.
상기 결정기(3170)는 기 설정된 다수개의 결정 데이터들 예를 들어, 8개의 결정 데이터들 중 잡음 제거부(3160)의 출력과 가장 가까운 결정 데이터를 선택하여 잔류 반송파 위상 에러 추정부(3152)와 잡음 제거부(3160)로 출력한다.
한편 복조된 수신 데이터는 채널 등화기 내 제1 주파수 영역 변환부(3100)의 중첩부(3101)로 입력됨과 동시에 채널 추정부(3110)의 CIR 추정기(3111)로도 입력된다.
상기 CIR 추정기(3111)는 트레이닝 시퀀스를 이용하여 CIR을 추정하여 위상 보상기(3112)로 출력한다. 만일 채널 등화할 데이터가 필드 동기를 포함하는 데이터 그룹 내 데이터라면 상기 CIR 추정기(3111)에서 이용되는 트레이닝 시퀀스는 필 드 동기 데이터와 기지 데이터가 될 수 있다. 하지만 채널 등화할 데이터가 필드 동기를 포함하지 않는 데이터 그룹 내 데이터라면 상기 트레이닝 시퀀스는 기지 데이터만 될 수 있다.
일 예로, 상기 CIR 추정기(3111)는 기지 데이터 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 기지 데이터를 이용하여 채널의 임펄스 응답을 추정한다. 이를 위해 상기 CIR 추정기(3111)는 상기 기지 데이터 검출기(1004)로부터 기지 데이터 위치 정보(Known Data Position Information)를 제공받는다.
또한 상기 CIR 추정기(3111)는 필드 동기가 포함되는 데이터 그룹이라면 필드 동기 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 채널의 임펄스 응답(CIR_FS)을 추정할 수 있다. 이를 위해 상기 CIR 추정기(3111)는 상기 기지 데이터 검출기(1004)로부터 필드 동기 위치 정보(Field Sync Position Information)를 제공받을 수 있다.
상기 CIR 추정기(3111)는 최소 자승(Least Square ; LS) 방식으로 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정할 수 있다.
상기 LS 추정 방식은 기지 데이터 구간 동안 채널을 거쳐 온 기지 데이터와 수신단에서 이미 알고있는 기지 데이터와의 상호 상관값(Cross Correlation Value) p를 구하고, 상기 기지 데이터의 자기 상관행렬 R을 구한다. 그리고 나서 수신 데이터와 원 기지 데이터와의 상호 상관값인 p속에 존재하는 자기 상관 부분을 제거 하도록 의 행렬 연산을 하여 전송 채널의 임펄스 응답(CIR)을 추정하는 방법이다.
상기 위상 보상기(3112)는 추정된 CIR의 위상 변화를 보상하여 제1 클리너(3113) 또는 CIR 연산기(3114)로 출력한다. 이때 상기 위상 보상기(3112)는 Maximum likelihood 방식으로 추정된 CIR의 위상 변화를 보상할 수 있다.
즉, 복조된 수신 데이터에 포함되어 입력되는 잔류 반송파 위상 에러 및 위상 잡음은 매 기지 데이터 열마다 CIR 추정기(3111)에서 추정되는 CIR의 위상을 변화시킨다. 이때 선형 보간에 사용되는 입력 CIR의 위상 변화 속도가 커서 위상의 변화가 선형이 아닐 경우 선형 보간을 통해 추정한 CIR로부터 등화 계수를 구하여 채널을 보상하면 채널 등화 성능이 떨어지게 된다.
따라서 본 발명은 CIR 추정기(3111)에서 추정되는 CIR의 위상 변화량을 제거하여 왜곡 보상부(3130)가 잔류 반송파 위상 에러 및 위상 잡음 성분을 보상하지 않고 그대로 통과시키도록 하고, 잔류 반송파 위상 에러 제거부(3150)가 잔류 반송파 위상 에러 및 위상 잡음 성분을 보상하도록 한다.
이를 위해 본 발명은 상기 위상 보상기(3112)에서 Maximum likelihood 방식으로 추정된 CIR의 위상 변화량을 제거하도록 한다.
상기 Maximum likelihood 위상 보상법의 기본 개념은 모든 CIR 성분에 공통으로 존재하는 위상 성분을 추정하고 이 공통 위상 성분의 역을 추정된 CIR에 곱해 서 상기의 공통 위상 성분을 채널 등화기 즉, 왜곡 보상부(3130)에서 보상하지 않도록 하는 것이다.
즉, 상기의 공통 위상 성분을 라 할 때, 새로 추정한 CIR은 이전에 추정한 CIR에 비해 위상이 만큼 회전되어 있다. 상기 Maximum likelihood 위상 보상법은 t 시점에서의 CIR을 hi(t)라 할 때, hi(t)를 만큼 회전시켰을 때 t+1 시점에서의 CIR인 hi(t+1)과의 차의 제곱값이 최소가 되는 위상 를 찾는다. 여기서 i는 추정된 CIR의 탭(tap)을 나타내며, CIR 추정기(3111)에서 추정하는 CIR의 탭 수를 N으로 하였다면, 0이상 N-1이하의 값을 가진다.
이를 수식으로 정리하면 다음의 수학식 11과 같다.
상기 수학식 12를 정리하면, 하기의 수학식 13과 같이 된다.
도 56을 보면, 위상 보상기는 상관 연산기(3410), 위상 변화 추정기(3420), 보상 신호 생성기(3430), 및 곱셈기(3440)를 포함하여 구성된다.
상기 상관 연산기(3410)는 제1 N 심볼 버퍼(3411), N 심볼 지연기(3412), 제2 N 심볼 버퍼(3413), 콘쥬게이터(3414), 및 곱셈기(3415)를 포함하여 구성된다.
즉, 상기 상관 연산기(3410) 내 제1 N 심볼 버퍼(3411)는 CIR 추정기(3111)에서 심볼 단위로 입력되는 데이터를 최대 N개 심볼까지 저장할 수 있으며, 제1 N 심볼 버퍼(3411)에 일시 저장된 심볼 데이터는 상관 연산기(3410) 내 곱셈기(3415)와 곱셈기(3440)로 입력된다.
동시에 상기 CIR 추정기(3111)에서 출력되는 심볼 데이터는 N 심볼 지연기(3412)에서 N 심볼만큼 지연된 후 제2 N 심볼 버퍼(3413)를 거쳐 콘쥬게이터(3414)에서 콘쥬게이트(conjugate ; 공액)되어 곱셈기(3415)로 입력된다.
상기 곱셈기(3415)는 상기 제1 N 심볼 버퍼(3411)의 출력과 콘쥬게이터(3414)의 출력을 곱하여 위상 변화 추정기(3420) 내 누산기(3421)로 출력한다.
즉, 상기 상관 연산기(3410)는 N 길이를 갖는 현재 CIR인 hi(t+1)과 N 길이를 갖는 이전 CIR인 hi(t)의 상관값을 구하여 위상 변화 추정기(3420)의 누산기(3421)로 출력한다.
상기 누산기(3421)는 상기 곱셈기(3415)에서 출력되는 상관값을 N 심볼동안 누산시켜 위상 검출기(3422)로 출력한다. 상기 위상 검출기(3422)는 상기 누산기(3421)의 출력으로부터 상기 수학식 12와 같이 공통 위상 성분 를 구하여 보상 신호 생성기(3430)로 출력한다.
상기 보상 신호 생성기(3430)는 상기 검출된 위상과 반대의 위상을 가지는 복소 신호 를 위상 보상 신호로서 곱셈기(3440)로 출력한다. 상기 곱셈기(3440)는 상기 제1 N 심볼 버퍼(3411)에서 출력되는 현재 CIR인 hi(t+1)에 위상 보상 신호 를 곱하여 추정된 CIR의 위상 변화량을 제거한다.
이와 같이 상기 Maximum likelihood 방식의 위상 보상기(3112)는 입력 CIR과 N 심볼 지연되는 이전 CIR과의 상관값의 위상 성분을 구하고, 이렇게 구한 위상과 반대의 위상을 가지는 위상 보상 신호를 생성한 후 추정된 CIR에 곱함으로써, 추정된 CIR의 위상 변화량을 제거하게 된다.
상기와 같이 위상 변화가 보상된 CIR은 제1 클리너(3113)를 거쳐 또는 제1 클리너(3113)를 바이패스하여 CIR 연산기(3114)로 입력된다. 상기 CIR 연산기(3114)는 추정된 CIR에 대해 보간 또는 외삽하여 제2 클리너(3115)로 출력한다. 여기서 추정된 CIR은 위상 변화가 보상된 CIR이다.
상기 CIR 연산기(3114)가 추정된 CIR에 대해 보간을 하는지, 외삽을 하는지에 따라 제1 클리너(3113)가 동작할 수도 있고, 동작하지 않을 수도 있다. 예를 들어, 추정된 CIR에 대해 보간을 수행하면 제1 클리너(3113)가 동작 안하고, 추정된 CIR에 대해 외삽을 수행하면 제1 클리너(3113)가 동작한다.
즉, 기지 데이터로부터 추정된 CIR에는 구하고자 하는 채널 성분뿐만 아니라 잡음에 의한 지터(jitter) 성분도 포함된다. 이러한 지터 성분은 등화기 성능을 저 하하는 요인이 되므로 계수 계산부(3122)에서 CIR을 사용하기 전에 제거하는 것이 좋다. 따라서 상기 제1,제2 클리너(3113,3115)에서는 입력되는 CIR 성분 중 파워(power)가 기 설정된 임계값(threshold) 이하인 부분을 제거(즉, '0'으로 만듦)하는 것을 일 실시예로 한다. 그리고 이러한 제거 과정을 CIR cleaning이라 한다.
즉, 상기 CIR 연산기(3114)에서 CIR 보간(interpolation)은, 상기 CIR 추정기(3112)에서 추정되고, 위상 보상기(3112)에서 위상 변화가 보상된 두 개의 CIR에 각각 계수를 곱하고 더하여 이루어진다. 이때 CIR의 잡음 성분 중 일부는 서로 더해져 상쇄된다. 따라서 상기 CIR 연산기(3114)에서 CIR 보간을 하는 경우에는 잡음 성분이 남아있는 원래의 CIR을 사용한다. 즉, 상기 CIR 연산기(3114)에서 CIR 보간을 하는 경우, 상기 위상 보상기(3112)에서 위상 변화가 보상된 추정 CIR은 제1 클리너(3113)를 바이패스하여 CIR 연산기(3114)로 입력된다. 그리고 상기 CIR 연산기(3114)에서 보간된 CIR은 제2 클리너(3115)에서 클리닝한다.
반면 상기 CIR 연산기(3114)에서 CIR 외삽은, 상기 위상 보상기(3112)에서 위상 변화가 보상된 두 CIR의 차를 이용해 두 CIR 바깥에 위치한 CIR을 추정하여 이루어진다. 그러므로 이때는 CIR의 잡음 성분이 오히려 증폭된다. 따라서 상기 CIR 연산기(3114)에서 CIR 외삽을 하는 경우에는 상기 제1 클리너(3113)에서 클리닝된 CIR를 사용한다. 즉, 상기 CIR 연산기(3114)에서 CIR 외삽을 하는 경우, 상기 외삽된 CIR은 제2 클리너(3115)를 거쳐 제로 패딩부(3116)로 입력된다.
한편 상기 제2 클리너(3115)에서 클링닝되어 출력되는 CIR을 상기 제2 주파수 영역 변환부(3121)에서 주파수 영역으로 변환할 때 입력되는 CIR의 길이와 FFT 사이즈(Size)가 일치하지 않는 경우가 발생할 수 있다. 즉, CIR의 길이가 FFT 사이즈보다 작은 경우가 발생할 수 있다. 이 경우 제로 패딩부(3116)에서는 FFT 사이즈와 입력되는 CIR 길이의 차이만큼 CIR에 '0'을 첨가하여 상기 제2 주파수 영역 변환부(3121)로 출력한다. 여기서 제로 패딩되는 CIR은 보간된 CIR, 외삽된 CIR, 기지 데이터 구간에서 추정된 CIR 중 하나가 될 수 있다.
상기 제2 주파수 영역 변환부(3121)는 입력되는 시간 영역의 CIR를 FFT하여 주파수 영역의 CIR로 변환한 후 계수 계산부(3122)로 출력한다.
상기 계수 계산부(3122)는 상기 제2 주파수 영역 변환부(3121)에서 출력되는 주파수 영역의 CIR을 이용하여 등화 계수를 계산한 후 왜곡 보상부(3130)로 출력한다. 이때 상기 계수 계산부(3122)는 일 실시예로, 상기 주파수 영역의 CIR로부터 평균 자승 에러를 최소화(Minimum Mean Square Error : MMSE)하는 주파수 영역의 등화 계수를 구하여 왜곡 보상부(3130)로 출력한다.
상기 왜곡 보상부(3130)는 상기 제1 주파수 영역 변환부(3100)의 FFT부(3102)에서 출력되는 주파수 영역의 중첩 데이터에 계수 계산부(3122)에서 계산된 등화 계수를 복소곱하여 상기 FFT부(3102)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한다.
도 57은 데이터 그룹이 도 5와 구조로 구분되었을 때, A,B,C,D 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 다른 실시예로 보이고 있다.
즉, 도 5에서 알 수 있듯이 A/B 영역(region)(즉, MPH 블록 B3~B8)에서는 충분히 긴 기지 데이터가 주기적으로 전송되므로 CIR을 이용하는 간접 등화 방식을 사용할 수 있지만, C/D 영역(즉, MPH 블록 B1,B2,B9,B10)에서는 기지 데이터를 충분히 길게 전송할 수 없을 뿐만 아니라 주기적으로 일정하게 전송할 수 없으므로 기지 데이터를 이용하여 CIR을 추정하기에 적합하지 않다. 따라서 C/D 영역에서는 등화기의 출력을 이용하여 계수를 갱신하는 직접 등화 방식을 사용해야 한다.
예를 들어, A/B 영역의 데이터에 대해서는 사이클릭 프리픽스 및 CIR을 이용한 간접 등화 방식의 채널 등화를 수행하고, C/D 영역의 데이터에 대해서는 중첩 & 세이브 방식을 사용하고 등화기 출력의 에러로부터 등화기 계수를 갱신하는 직접 등화 방식의 채널 등화를 수행할 수 있다.
이를 위해 도 57의 주파수 영역 채널 등화기는 주파수 영역 변환부(3510), 왜곡 보상부(3520), 시간 영역 변환부(3530), 제1 계수 연산부(3540), 제2 계수 연산부(3550), 및 계수 선택부(3560)를 포함할 수 있다.
상기 주파수 영역 변환부(3510)는 중첩부(3511), 선택부(3512), 및 제1 FFT부(3513)를 포함할 수 있다.
상기 시간 영역 변환부(3530)는 IFFT부(3531), 세이브부(3532), 및 선택부(3533)를 포함할 수 있다.
상기 제1 계수 연산부(3540)는 CIR 추정기(3541), 평균 연산부(3542), 제2 FFT부(3543), 및 계수 연산기(3544)를 포함할 수 있다.
상기 제2 계수 연산부(3550)는 결정기(3551), 선택부(3552), 감산기(3553), 제로 패딩부(3554), 제3 FFT부(3555), 계수 갱신부(3556), 및 지연기(3557)를 포함할 수 있다.
이때 상기 주파수 영역 변환부(3510)의 선택부(3512), 시간 영역 변환부(3530)의 선택부(3533), 및 계수 선택부(3560)는 현재 입력 데이터가 A/B 영역의 데이터인지, C/D 영역의 데이터인지에 따라 입력 데이터를 선택하는 멀티플렉서(즉, 먹스)로 구성할 수 있다.
이와 같이 구성된 도 57에서 입력되는 데이터가 A/B 영역의 데이터이면 주파수 영역 변환부(3510)의 선택부(3512)는 입력 데이터와 중첩부(3511)의 출력 데이터 중 입력 데이터를 선택하고, 시간 영역 변환부(3530)의 선택부(3533)는 IFFT부(3531)의 출력 데이터와 세이브부(3532)의 출력 데이터 중 IFFT부(3531)의 출력 데이터를 선택한다. 그리고 계수 선택부(3560)는 제1 계수 연산부(3540)에서 출력되는 등화 계수를 선택한다.
한편 입력되는 데이터가 C/D 영역의 데이터이면 주파수 영역 변환부(3510)의 선택부(3512)는 입력 데이터와 중첩부(3511)의 출력 데이터 중 중첩부(3511)의 출력 데이터를 선택하고, 시간 영역 변환부(3530)의 선택부(3533)는 IFFT부(3531)의 출력 데이터와 세이브부(3532)의 출력 데이터 중 세이브부(3532)의 출력 데이터를 선택한다. 그리고 계수 선택부(3560)는 제2 계수 연산부(3550)에서 출력되는 등화 계수를 선택한다.
즉, 수신 데이터는 주파수 영역 변환부(3510)의 중첩부(3511)와 선택부(3512) 그리고, 제1 계수 연산부(3540)로 입력된다. 상기 선택부(3512)는 입력 데이터가 A/B 영역의 데이터이면 수신 데이터를 선택하여 제1 FFT부(3513)로 출력하고, C/D 영역의 데이터이면 중첩부(3511)에서 중첩된 데이터를 선택하여 제1 FFT 부(3513)로 출력한다. 상기 제1 FFT부(3513)는 상기 선택부(3512)에서 출력되는 시간 영역의 데이터를 FFT하여 주파수 영역으로 변환한 후 왜곡 보상부(3520)와 제2 계수 연산부(3550)의 지연기(3557)로 출력한다.
상기 왜곡 보상부(3520)는 상기 제1 FFT부(3513)에서 출력되는 주파수 영역의 데이터에 계수 선택부(3560)에서 출력되는 등화 계수를 복소곱하여 상기 제1 FFT부(3513)에서 출력되는 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(3530)의 IFFT부(3531)로 출력한다.
상기 시간 영역 변환부(3530)의 IFFT부(3531)는 채널의 왜곡이 보상된 데이터를 IFFT하여 시간 영역으로 변환한 후 세이브부(3532)와 선택부(3533)로 출력한다. 상기 선택부(3533)는 입력 데이터가 A/B 영역의 데이터이면 IFFT부(3531)의 출력 데이터를 선택하고, C/D 영역의 데이터이면 세이브부(3532)에서 추출된 유효 데이터를 선택하여 데이터 복호를 위해 출력함과 동시에 제2 계수 연산부(3550)로 출력한다.
상기 제1 계수 연산부(3540)의 CIR 추정기(3541)는 기지 데이터 구간 동안 수신되는 데이터와 상기 송/수신측의 약속에 의해 수신측에서 발생한 기준 기지 데이터를 이용하여 CIR을 추정한 후 평균 연산부(3542)로 출력한다. 또한 상기 CIR 추정기(3541)는 필드 동기 구간 동안 수신되는 데이터와 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 CIR을 추정할 수 있으며, 추정된 CIR은 평균 연산부(3542)로 출력한다.
상기 평균 연산부(3542)는 입력되는 연속된 CIR들의 평균값을 구하여 제2 FFT부(3543)로 출력한다.
상기 제2 FFT부(3543)는 입력된 시간 영역의 CIR을 FFT하여 주파수 영역으로 변환한 후 계수 연산기(3544)로 출력한다.
상기 계수 연산기(3544)는 주파수 영역의 CIR을 이용하여 평균 자승 에러를 최소화하는 조건을 만족하는 등화 계수를 계산하여 계수 선택부(3560)로 출력한다.
상기 제2 계수 연산부(3550)의 결정기(3551)는 다수개 예를 들어, 8개의 결정값들 중 상기 등화된 데이터와 가장 가까운 결정값을 선택하여 선택부(3552)로 출력한다. 상기 선택부(3552)는 일반 데이터 구간에서는 상기 결정기(3551)의 결정값을 선택하고, 기지 데이터 구간에서는 기지 데이터를 선택하여 감산기(3553)로 출력한다. 상기 감산기(3553)는 상기 선택부(3552)의 출력으로부터 상기 시간 영역 변환부(3530)의 선택부(3533)의 출력을 빼 에러를 구하고 이 에러 값을 제로 패딩부(3554)로 출력한다.
상기 제로 패딩부(3554)는 입력되는 에러에 수신 데이터가 중첩되는 양에 해당하는 양의 0(zero)을 첨가한 후 제3 FFT부(3555)로 출력한다. 상기 제3 FFT부(3555)는 0이 첨가된 시간 영역의 에러를 주파수 영역의 에러로 변환한 후 계수 갱신부(3556)로 출력한다. 상기 계수 갱신부(3556)는 지연기(3557)에서 지연된 주파수 영역의 데이터와 주파수 영역의 에러를 이용하여 이전 등화 계수를 갱신한 후 계수 선택부(3560)로 출력한다. 이때 갱신된 등화 계수는 다음에 이전 등화 계수로 이용하기 위해 저장된다.
상기 계수 선택부(3560)는 입력 데이터가 A/B 영역의 데이터이면 제1 계수 연산부(3540)에서 계산된 등화 계수를 선택하고, C/D 영역의 데이터이면 제2 계수 연산부(3550)에서 갱신된 등화 계수를 선택하여 왜곡 보상부(3520)로 출력한다.
도 58은 데이터 그룹이 도 5와 같은 구조로 구분되었을 때, A,B,C,D 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 채널 등화기의 또 다른 실시예로 보이고 있다.
예를 들어, A/B 영역의 데이터에 대해서는 중첩 & 세이브 방식의 CIR을 이용한 간접 등화 방식의 채널 등화를 수행하고, C/D 영역의 데이터에 대해서는 중첩 & 세이브 방법을 이용한 직접 등화 방식의 채널 등화를 수행할 수 있다.
이를 위해 도 58의 채널 등화기는 주파수 영역 변환부(3610), 왜곡 보상부(3620), 시간 영역 변환부(3630), 제1 계수 연산부(3640), 제2 계수 연산부(3650), 및 계수 선택부(3660)를 포함할 수 있다.
상기 주파수 영역 변환부(3610)는 중첩부(3611)와 제1 FFT부(3612)를 포함할 수 있다.
상기 시간 영역 변환부(3630)는 IFFT부(3631)와 세이브부(3632)를 포함할 수 있다.
상기 제1 계수 연산부(3640)는 CIR 추정기(3641), 보간부(3642), 제2 FFT부(3643), 및 계수 연산기(3644)를 포함할 수 있다.
상기 제2 계수 연산부(3650)는 결정기(3651), 선택부(3652), 감산기(3653), 제로 패딩부(3654), 제3 FFT부(3655), 계수 갱신부(3656), 및 지연기(3657)를 포함할 수 있다.
이때 상기 계수 선택부(3660)는 현재 입력 데이터가 A/B 영역의 데이터인지, C/D 영역의 데이터인지에 따라 입력 데이터를 선택하는 멀티플렉서(즉, 먹스)로 구성할 수 있다. 즉 상기 계수 선택부(3660)는 입력되는 데이터가 A/B 영역의 데이터이면 제1 계수 연산부(3640)의 등화 계수를 선택하고, C/D 영역의 데이터이면 제2 계수 연산부(3650)의 등화 계수를 선택한다.
이와 같이 구성된 도 58에서 수신 데이터는 주파수 영역 변환부(3610)의 중첩부(3611)와 제1 계수 연산부(3640)로 입력된다. 상기 중첩부(3611)는 기 설정된 중첩 비율에 따라 입력 데이터를 중첩시켜 제1 FFT부(3612)로 출력한다. 상기 제1 FFT부(3612)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜곡 보상부(3620)와 제2 계수 연산부(3650)의 지연기(3657)로 출력된다.
상기 왜곡 보상부(3620)는 상기 제1 FFT부(3612)에서 출력되는 주파수 영역의 중첩 데이터에 계수 선택부(3660)에서 출력되는 등화 계수를 복소곱하여 상기 제1 FFT부(3612)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 시간 영역 변환부(3630)의 IFFT부(3631)로 출력한다. 상기 IFFT부(3631)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(3632)로 출력한다. 상기 세이브부(3632)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출한 후 데이터 복호를 위해 출력함과 동시에 계수 갱신을 위해 제2 계수 연산부(3650)로 출력한다.
상기 제1 계수 연산부(3640)의 CIR 추정기(3641)는 기지 데이터 구간 동안 수신된 데이터와 수신측에서 발생한 기준 기지 데이터를 이용하여 CIR을 추정한 후 보간부(3642)로 출력한다. 또한 상기 CIR 추정기(3641)는 필드 동기 구간 동안 수신되는 데이터와 수신측에서 발생한 기준 필드 동기 데이터를 이용하여 CIR을 추정한 후 보간부(3642)로 출력한다.
상기 보간부(3642)는 입력되는 CIR를 이용하여 추정된 CIR들 사이에 위치하는 시점에서의 CIR들 즉, 기지 데이터가 없는 구간의 CIR들을 기 설정된 보간법으로 추정하고 그 결과를 제2 FFT부(3643)로 출력한다. 상기 제2 FFT부(3643)는 입력되는 CIR을 주파수 영역으로 변환하여 계수 연산기(3644)로 출력한다. 상기 계수 연산기(3644)는 주파수 영역의 CIR을 이용하여 평균 자승 에러를 최소화하는 조건을 만족하는 주파수 영역 등화 계수를 계산한 후 계수 선택부(3660)로 출력한다.
상기 제2 계수 연산부(3650)의 구성 및 동작은 상기 도 57의 제2 계수 연산부(3550)와 동일하므로 상세 설명을 생략한다.
상기 계수 선택부(3660)는 입력 데이터가 A/B 영역의 데이터이면 제1 계수 연산부(3640)에서 계산된 등화 계수를 선택하고, C/D 영역의 데이터이면 제2 계수 연산부(3650)에서 갱신된 등화 계수를 선택하여 왜곡 보상부(3620)로 출력한다.
도 59는 데이터 그룹이 도 5와 같은 구조로 구분되었을 때, A,B,C,D 영역에 따라 채널 임펄스 응답(CIR)의 추정 및 적용을 다르게 하는 채널 등화기의 또 다른 실시예로 보이고 있다.
예를 들어, 기지 데이터가 일정한 주기마다 배치되어 있는 A/B 영역에서는 상기 기지 데이터를 이용하여 채널 임펄스 응답(Channel Impulse Response ; CIR) 을 추정한 후 채널 등화를 수행하고, C/D 영역에서는 등화된 데이터의 결정값을 이용하여 CIR을 추정한 후 채널 등화를 수행할 수 있다.
본 발명의 일 실시예로는, 상기 A/B 영역에서는 상기 기지 데이터를 이용하여 최소 자승(Least Square ; LS) 방식으로 채널 임펄스 응답(Channel Impulse Response ; CIR)을 추정한 후 채널 등화를 수행하고, C/D 영역에서는 최소 평균 자승(Least Mean Square ; LMS) 방식으로 CIR을 추정한 후 채널 등화를 수행한다. 즉, 상기 A/B 영역과 같이 주기적인 기지 데이터가 존재하지 않는 C/D 영역에서는 상기 A/B 영역과 동일한 방식으로 채널 등화를 수행할 수 없으므로, C/D 영역에서는 LMS 방식으로 CIR을 추정하여 채널 등화를 수행한다.
도 59를 보면, 중첩부(3701), 제1 FFT(Fast Fourier Transform)부(3702), 왜곡 보상부(3703), IFFT부(3704), 세이브부(3705), 제1 CIR 추정기(3706), CIR 보간부(3707), 결정기(3708), 선택부(3709), 제2 CIR 추정기(3710), 선택부(3711), 제2 FFT부(3712), 및 계수 연산기(3713)를 포함하여 구성된다. 상기 왜곡 보상부(3703)는 복소수 곱셈 역할을 수행하는 소자는 어느 것이나 가능하다.
이와 같이 구성된 도 59에서, 등화기 입력 데이터는 중첩부(3701)에서 기 설정된 중첩 비율로 중첩되어 제1 FFT부(3702)로 출력된다. 상기 제1 FFT부(3702)는 FFT를 통해 시간 영역의 중첩 데이터를 주파수 영역의 중첩 데이터로 변환하여 왜곡 보상부(3703)로 출력된다.
상기 왜곡 보상부(3703)는 상기 제1 FFT부(3702)에서 출력되는 주파수 영역의 중첩 데이터에 계수 연산기(3713)에서 계산된 등화 계수를 복소곱하여 상기 제1 FFT부(3702)에서 출력되는 중첩 데이터의 채널 왜곡을 보상한 후 IFFT부(3704)로 출력한다. 상기 IFFT부(3704)는 채널의 왜곡이 보상된 중첩 데이터를 IFFT하여 시간 영역으로 변환하여 세이브부(3705)로 출력한다. 상기 세이브부(3705)는 채널 등화된 시간 영역의 중첩된 데이터로부터 유효 데이터만을 추출한 후 데이터 복호를 위해 출력함과 동시에 채널 추정을 위해 결정기(3708)로 출력한다.
상기 결정기(3708)는 다수개 예를 들어, 8개의 결정값들 중 상기 등화된 데이터와 가장 가까운 결정값을 선택하여 선택부(3709)로 출력한다. 상기 선택부(3709)는 멀티플렉서로 구성할 수 있다. 상기 선택부(3709)는 일반 데이터 구간에서는 상기 결정기(3708)의 결정값을 선택하고, 기지 데이터 구간에서는 기지 데이터를 선택하여 제2 CIR 추정기(3710)로 출력한다.
한편 제1 CIR 추정기(3706)는 기지 데이터 구간 동안 입력되는 데이터와 기준 기지 데이터를 이용하여 CIR을 추정한 후 CIR 보간부(3707)로 출력한다. 또한 제1 CIR 추정기(3706)는 필드 동기 구간 동안 입력되는 데이터와 기준 필드 동기 데이터를 이용하여 CIR을 추정할 수 있으며, 추정된 CIR은 CIR 보간부(3707)로 출력한다. 여기서 상기 기준 필드 동기 데이터는 송/수신측의 약속에 의해 수신측에서 생성한 기준 필드 동기 데이터이다.
이때 상기 제1 CIR 추정기(3706)는 일 실시예로 LS 방식으로 CIR을 추정한다. 상기 LS 추정 방식은 기지 데이터 구간 동안 채널을 거쳐 온 기지 데이터와 수신단에서 이미 알고있는 기지 데이터와의 상호 상관값(Cross Correlation Value) p를 구하고, 상기 기지 데이터의 자기 상관행렬 R을 구한다. 그리고 나서 수신 데이 터와 원 기지 데이터와의 상호 상관값인 p속에 존재하는 자기 상관 부분을 제거하도록 의 행렬 연산을 하여 전송 채널의 임펄스 응답을 추정하는 방법이다.
상기 CIR 보간부(3707)는 상기 제1 CIR 추정기(3706)로부터 CIR을 입력받아 상기 기지 데이터 구간에서는 추정된 CIR을 출력하고, 기지 데이터와 기지 데이터 사이의 구간에서는 상기 CIR을 기 설정된 보간법으로 보간한 후 보간된 CIR을 출력한다. 이때 상기 기 설정된 보간법은 어떤 함수에서 알려진 데이터를 이용하여 알려지지 않은 지점의 데이터를 추정하는 방법이다. 가장 간단한 일례로 선형 보간(Linear Interpolation)법이 있으며, 상기 선형 보간법은 수많은 보간법 중 가장 간단한 예이다. 본 발명은 상기한 방법 외에 여러 가지 다양한 보간 기법을 사용할 수 있으므로 본 발명은 상기된 예로 제한되지 않은 것이다.
즉, 상기 CIR 보간부(3707)는 입력되는 CIR을 이용하여 기지 데이터가 없는 구간의 CIR을 기 설정된 보간법으로 추정하여 선택부(3711)로 출력한다.
상기 제2 CIR 추정기(3710)는 등화기 입력 데이터와 선택부(3709)의 출력 데이터를 이용하여 CIR을 추정한 후 선택부(3711)로 출력한다. 이때 상기 CIR은 일 실시예로 LMS 방식으로 추정한다. 상기 LMS 추정 방식에 대해서는 뒤에서 상세히 설명한다.
상기 선택부(3711)는 A/B 영역(즉, MPH 블록 B3~B8)에서는 상기 CIR 보간 부(3707)에서 출력되는 CIR을 선택하고, C/D 영역(즉, MPH 블록 B1,B2,B9.B10)에서는 상기 제2 CIR 추정기(3710)에서 출력되는 CIR을 선택하여 제2 FFT부(3712)로 출력한다. 상기 제2 FFT부(3712)는 입력되는 CIR을 주파수 영역으로 변환하여 계수 연산기(3713)로 출력한다. 상기 계수 연산기(3713)는 입력되는 주파수 영역의 CIR을 이용하여 등화 계수를 계산하여 왜곡 보상부(3703)로 출력한다. 이때 상기 계수 연산기(3713)는 상기 주파수 영역의 CIR로부터 평균 자승 에러를 최소화(Minimum Mean Square Error : MMSE)하는 주파수 영역의 등화 계수를 구하는 것을 일 실시예로 한다.
이때 상기 제2 CIR 추정기(3710)는 C/D 영역의 초기 CIR로 상기 A/B 영역에서 구한 CIR을 사용할 수 있다. 예를 들어, MPH 블록 B8의 CIR 값을 MPH 블록 B9의 초기 CIR 값으로 사용할 수 있다. 이렇게 하면 C/D 영역에서의 수렴 속도를 단축할 수 있다.
상기 제2 CIR 추정기(3710)에서 LMS 방식으로 CIR을 추정하는 기본 원리는 어떤 미지의 전송 채널의 출력을 입력받아 이 채널의 출력값과 적응 필터(Adaptive Filter)의 출력값의 차이가 최소화가 되도록 적응 필터의 계수값을 갱신해가는 것이다. 즉 등화기 입력 데이터와 상기 제2 CIR 추정기(3710) 내 적응 필터(도시되지 않음)의 출력값이 같아지도록 상기 적응 필터의 계수 값을 갱신해가며, FFT 주기마다 필터 계수를 CIR로 출력한다.
도 60을 보면, 제2 CIR 추정기(3710)는 선택부(3709)의 출력 데이터 를 순차적으로 지연시키는 지연기(T), 상기 각 지연기(T)의 해당 출력 데이터와 에러 데이터 e(n)를 곱하는 곱셈기, 및 상기 각 곱셈기의 해당 출력에 의해 계수가 갱신되는 계수 갱신부가 탭 수만큼 구비되어 구성된다. 설명의 편의를 위해 상기 탭 수만큼 구비되는 곱셈기들을 제1 곱셈부라 한다. 또한 상기 선택부(3709)의 출력 데이터 및 각 지연기(T)의 출력 데이터(마지막 지연기의 출력 데이터는 제외됨)를 각 계수 갱신부의 해당 출력 데이터와 곱하는 곱셈기가 탭 수만큼 더 구비되어 구성되며, 설명의 편의를 위해 상기 곱셈기들을 제2 곱셈부라 한다. 또한 상기 제2 곱셈부의 각 곱셈기의 출력 데이터를 모두 더하여 등화기 입력의 추정값 으로 출력하는 가산기와, 상기 가산기의 출력 과 등화기 입력 데이터 y(n)와의 차를 에러 데이터 e(n)로 출력하는 감산기를 더 포함하여 구성된다.
이와 같이 구성된 도 60을 보면, 일반 데이터 구간에서는 등화된 데이터의 결정값이, 기지 데이터 구간에서는 기지 데이터가 제2 CIR 추정기(3710) 내 첫 번째 지연기와 제2 곱셈부의 첫 번째 곱셈기로 입력된다.
상기 입력 데이터 는 탭 수만큼 직렬 연결된 지연기(T)를 통해 순차적으로 지연된다. 상기 각 지연기의 출력 데이터와 에러 데이터 e(n)는 제1 곱셈부의 해당 곱셈기에서 곱해져 해당 계수 갱신부 내 계수를 갱신한다. 각 계수 갱신부에서 갱신된 계수는 제2 곱셈부의 해당 곱셈기에서 입력 데이터 및 마지막 지 연기를 제외한 각 지연기의 출력 데이터와 곱해져 가산기로 입력된다. 상기 가산기는 상기 제2 곱셈부의 각 곱셈기의 출력 데이터를 모두 더하여 등화기 입력의 추정값 으로 감산기에 출력한다. 상기 감산기는 상기 추정값 과 등화기 입력 데이터 y(n)와의 차를 에러 데이터 e(n)로 하여 제1 곱셈부의 각 곱셈기로 출력한다. 이때 에러 데이터 e(n)는 지연기(T)를 통해 제1 곱셈부의 각 곱셈기로 출력된다.
그리고 전술한 과정을 통해 필터의 계수를 계속 갱신해가며, FFT 주기마다 각 계수 갱신부의 출력이 제2 CIR 추정기(3710)의 CIR 출력이 된다.
지금까지 본 발명에서 설명한 데이터 그룹 내 각 영역에서 채널 등화를 위해 CIR을 구하는 방법들은 본 발명의 이해를 돕기 위한 실시예들이며, 이러한 방법들은 보다 넓고 다양하게 응용될 수 있으므로 본 발명은 상기 실시예로 제시한 것에 제한되지 않을 것이다.
블록 복호기
한편 상기 등화기(1003)에서 채널 등화된 후 블록 복호기(1005)로 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터(예를 들어, RS 프레임 내 데이터)이면 송신측의 역으로 트렐리스 복호 및 블록 복호가 수행되고, 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터(예를 들어, 메인 서비스 데이터)이면 트렐리스 복호만 수행된다.
상기 블록 복호기(1005)에서 트렐리스 복호 및 블록 복호된 데이터는 RS 프레임 복호기(1006)로 출력된다. 즉, 상기 블록 복호기(1005)는 데이터 그룹 내 데이터들 중 기지 데이터, 트렐리스 초기화에 이용된 데이터, 시그널링 정보 데이터, MPEG 헤더 그리고 전송 시스템의 RS 부호기/비체계적 RS 부호기 또는 비체계적 RS 부호기에서 부가된 RS 패리티 데이터들을 제거하고 RS 프레임 복호기(1006)로 출력한다. 여기서 데이터 제거는 블록 복호전에 이루어질 수도 있고, 블록 복호 중이나 블록 복호 후에 이루어질 수도 있다.
한편 상기 블록 복호기(1005)에서 트렐리스 복호된 데이터는 데이터 디인터리버(1009)로 출력된다. 이때 상기 블록 복호기(1005)에서 트렐리스 복호되어 데이터 디인터리버(1009)로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, RS 프레임 내 데이터, 시그널링 정보도 포함될 수 있다. 또한 송신측에서 전처리기(230) 이후에 부가되는 RS 패리티 데이터도 상기 데이터 디인터리버(1009)로 출력되는 데이터에 포함될 수 있다.
다른 실시예로, 송신측에서 블록 부호화는 수행되지 않고, 트렐리스 부호화만 수행된 데이터는 상기 블록 복호기(1005)에서 그대로 바이패스되어 데이터 디인터리버(1009)로 출력될 수도 있다. 이 경우 상기 데이터 디인터리버(1009) 전단에 트렐리스 복호기를 더 구비하여야 한다.
상기 블록 복호기(1005)는 입력되는 데이터가 송신측에서 블록 부호화는 수행되지 않고 트렐리스 부호화만 수행된 데이터라면, 입력 데이터에 대해 비터비(또는 트렐리스) 복호를 수행하여 하드 판정값을 출력하거나, 또는 소프트 판정값을 하드 판정하고 그 결과를 출력할 수도 있다.
상기 블록 복호기(1005)는 입력되는 데이터가 송신측에서 블록 부호화와 트렐리스 부호화가 모두 수행된 데이터라면, 입력 데이터에 대하여 소프트 판정값을 출력한다.
즉, 상기 블록 복호기(1005)는 입력되는 데이터가 송신측의 블록 처리기(302)에서 블록 부호화가 수행되고, 트렐리스 부호화부(256)에서 트렐리스 부호화가 수행된 데이터라면, 송신측의 역으로 트렐리스 복호와 블록 복호를 수행한다. 이때 송신측의 블록 처리기는 외부 부호기로 볼 수 있고, 트렐리스 부호화부는 내부 부호기로 볼 수 있다.
이러한 연접 부호의 복호시에 외부 부호의 복호 성능을 최대한 발휘하기 위해서는 내부 부호의 복호기에서 소프트 판정값을 출력하는 것이 좋다.
도 61은 본 발명에 따른 블록 복호기(1005)의 일 실시예를 보인 상세 블록도로서, 피드백 제어기(4010), 입력 버퍼(4011), 트렐리스 복호부(4012), 심볼-바이트 변환기(4013), 외부 블록 추출기(Outer Block Extractor)(4014), 피드백 디포맷터(4015), 심볼 디인터리버(4016), 외부 심볼 매퍼(Outer Symbol Mapper)(4017), 심볼 복호기(4018), 내부 심볼 매퍼(Inner Symbol Mapper)(4019), 심볼 인터리버(4020), 피드백 포맷터(4021), 출력 버퍼(4022)를 포함할 수 있다. 송신측과 마찬가지로, 상기 트렐리스 복호부(4012)는 내부 복호기로 볼 수 있고, 심볼 복호기(4018)는 외부 복호기로 볼 수 있다.
상기 입력 버퍼(4011)는 등화기(1003)에서 채널 등화되어 출력되는 심볼값 들 중에서 블록 부호화된 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값들을 일시 저장하며, 저장된 심볼값들을 터보 복호를 위한 터보 복호 크기(TDL)로 트렐리스 복호부(4012)에 M번 반복 출력한다. 상기 터보 복호 크기(TDL)를 터보 블록이라 하기도 한다. 여기서 TDL은 최소한 하나 이상의 SCCC 블록 크기를 포함할 수 있어야 한다. 그러므로 도 5에 정의된 바와 같이, 하나의 MPH 블록이 16 세그먼트 단위이고, 10개의 MPH 블록들의 조합으로 한 개의 SCCC 블록이 구성된다고 가정하면, TDL은 그 조합 가능한 최대 크기보다 크거나 같아야 한다. 예를 들어 2개의 MPH 블록이 1개의 SCCC 블록을 구성한다고 가정하면, TDL은 32 세그먼트(828x32 = 26496 심볼) 이상이 될 수 있다.
상기 M은 피드백 제어기(4010)에서 미리 정한 터보 복호의 반복 횟수이다.
또한 상기 입력 버퍼(4011)는 등화기(1003)에서 채널 등화되어 출력되는 심볼값 중에 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터 심볼, CRC 데이터 심볼들을 포함)값이 전혀 포함되지 않은 구간에서의 입력 심볼값들은 저장하지 않고 바이패스한다. 즉, SCCC 블록 부호화가 수행되지 않았던 구간의 입력 심볼값에 대해서는 트렐리스 복호만 수행하므로 입력 버퍼(4011)는 상기 입력에 대해 저장 및 반복 출력 과정을 수행하지 않고 그대로 트렐리스 복호부(4012)로 입력시킨다.
상기 입력 버퍼(4011)의 저장, 반복, 및 출력은 피드백 제어기(4010)의 제어에 의해 이루어진다. 상기 피드백 제어기(4010)는 시그널링 정보 복호부(1013)에서 출력되는 SCCC 관련 정보 예를 들어, SCCC 블록 모드와 SCCC 아웃터 코드 모드를 참조하여 입력 버퍼(4011)의 저장 및 출력을 제어할 수 있다.
상기 트렐리스 복호부(4012)는 12-way 트렐리스 부호기와 대응하기 위해서 12-way TCM(Trellis Coded Modulation) 복호기를 포함한다. 그리고 상기 12-way 트렐리스 부호기의 역과정으로 입력 심볼값에 대해 12-way 트렐리스 복호를 수행한다.
즉, 상기 트렐리스 복호부(4012)는 입력 버퍼(4011)의 출력 심볼값과 피드백 포맷터(4021)의 소프트 판정값(soft-decision value)을 각각 TDL만큼 입력받아 각 심볼의 TCM 복호를 수행한다.
이때, 상기 피드백 포맷터(4021)에서 출력되는 소프트 판정값들은 상기 피드백 제어기(4010)의 제어에 의해 상기 입력 버퍼(4011)에서 출력되는 TDL만큼의 심볼 위치와 일대일로 매칭되어 트렐리스 복호부(4012)로 입력된다. 즉, 상기 입력 버퍼(4011)에서 출력되는 심볼값과 터보 복호되어 입력되는 데이터는 해당 터보 블록(TDL) 내 같은 위치끼리 매칭되어 트렐리스 복호부(4012)로 출력된다. 예를 들어, 상기 터보 복호된 데이터가 터보 블록 내 세 번째 심볼값이라면 상기 입력 버퍼(4011)에서 출력되는 터보 블록 내 세 번째 심볼값과 매칭되어 트렐리스 복호부(4012)로 출력된다.
이를 위해 상기 피드백 제어기(4010)는 회귀적인 터보 복호가 이루어지는 동안 상기 입력 버퍼(4011)에서 해당 터보 블록 데이터를 저장하도록 제어하며, 지연 등을 통해 심볼 인터리버(4020)의 출력 심볼의 소프트 판정값(예를 들어, LLR)과 상기 출력 심볼의 블록 내 같은 위치에 해당하는 입력 버퍼(4011)의 심볼값이 일대일 매칭되어 해당 경로(way)의 TCM 복호기로 입력될 수 있도록 제어한다. 이때 블록 부호화된 심볼값이 아닌 경우, 터보 복호되지 않기 때문에 상기 피드백 포맷터(4021)에서 매칭되는 출력 위치에 널(null)을 입력한다.
이러한 과정이 터보 복호의 기 설정된 반복 횟수동안 진행되고 나면, 다음 터보 블록의 데이터가 입력 버퍼(4011)로부터 출력되어 상기 터보 복호 과정을 반복한다.
상기 트렐리스 복호부(4012)의 출력은 전송된 심볼들에 대해서 송신측 트렐리스 부호기에 입력된 심볼들의 신뢰도를 의미한다. 예를 들어 송신측의 트렐리스 부호화부(256)의 입력은 두 비트가 한 심볼이므로 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(Log Likelihood Ratio ; LLR)를 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)할 수 있다. 상기 LLR(Log Likelihood Ratio)이란 입력 비트가 1일 확률값과 0일 확률값의 비율에 대한 로그값을 의미한다. 또는 2비트 즉, 한 심볼이 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 4개의 조합(00,01,10,11)에 대해 모두 출력(심볼단위 출력)할 수 있다. 이것은 결국 수신한 심볼에 대한 소프트 판정값으로서, 트레릴스 부호기에 입력되었던 비트들의 신뢰도를 나타낸다. 상기 트렐리스 복호부(4012) 내 각 TCM 복호기의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.
상기 트렐리스 복호부(4012)의 출력은 심볼-바이트 변환기(4013)와 외부 블 록 추출기(4014)로 출력된다.
상기 심볼-바이트 변환기(4013)는 상기 트렐리스 복호부(4012)에서 트렐리스 복호되어 출력되는 소프트 판정값을 하드 판정(hard-decision)한 후 4 심볼을 하나의 바이트 단위로 묶어 도 36의 데이터 디인터리버(1009)로 출력한다. 즉, 상기 심볼-바이트 변환기(4013)는 트렐리스 복호부(4012)의 출력 심볼의 소프트 판정값에 대해 비트 단위의 하드 판정을 수행한다. 그러므로 상기 심볼-바이트 변환기(4013)에서 하드 판정되어 바이트 단위로 출력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등이 포함된다.
상기 외부 블록 추출기(4014)는 상기 트렐리스 복호부(4012)의 TDL만큼의 소프트 판정값들 중 모바일 서비스 데이터 심볼(RS 프레임 부호화시 부가된 RS 패리티 데이터, CRC 데이터 심볼들을 포함)에 해당하는 B 만큼의 소프트 판정값들을 구분하여 피드백 디포맷터(4015)로 출력한다. 즉, 상기 외부 블록 추출기(4014)에서 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 등의 소프트 판정값은 피드백 디포맷터(4015)로 출력되지 않고 버려진다.
상기 피드백 디포맷터(4015)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)로 입력되는 중간 과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 모바일 서비스 데이터 심볼의 처리 순서 변화의 역과정으로 모바일 서비스 데이터 심볼의 소프트 판정 값의 처리 순서를 변경(reordering)한 후 심볼 디인터리버(4016)로 출력한다. 이는 송신 측의 블록 처리기(302)의 트렐리스 부호화부(256) 사이에 다수의 블록이 존재하며, 이 블록들로 인해 블록 처리기(302)에서 출력되는 모바일 서비스 데이터 심볼의 순서와 트렐리스 부호화부(256)로 입력되는 모바일 서비스 데이터 심볼의 순서가 달라지기 때문이다. 따라서 상기 피드백 디포맷터(4015)는 상기 심볼 디인터리버(4016)로 입력되는 모바일 서비스 데이터 심볼의 순서가 송신측의 블록 처리기(302)의 출력 순서와 일치하도록 상기 외부 블록 추출기(4014)에서 출력되는 모바일 서비스 데이터 심볼의 순서를 재배열(reordering)한다. 이러한 재배열(reordering) 과정은 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다.
도 62는 피드백 디포맷터(4015)의 일 실시예를 보인 상세 블록도로서, 데이터 디인터리버(5011), 패킷 디포맷터(5012), 데이터 인터리버(5013), 및 그룹 디포맷터(5014)를 포함할 수 있다. 도 62의 경우, 상기 외부 블록 추출기(4014)에서 추출된 모바일 서비스 데이터 심볼의 소프트 판정값은 그대로 피드백 디포맷터(4015)의 데이터 디인터리버(5011)로 출력되지만, 상기 외부 블록 추출기(4014)에서 제거된 데이터 위치(예를 들면, 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터, MPEG 헤더 위치)에는 위치 홀더(또는 널 데이터)가 삽입되어 피드백 디포맷터(4015)의 데이터 디인터리버(5011)로 출력된다.
상기 데이터 디인터리버(5011)는 송신측의 데이터 인터리버(253)의 역과정으로 입력되는 데이터를 디인터리빙하여 패킷 디포맷터(5012)로 출력한다. 상기 패킷 디포맷터(5012)는 송신측의 패킷 포맷터(305)의 역과정을 수행한다. 즉, 디인터리 빙되어 출력되는 데이터들 중 포맷터(305)에서 삽입했던 MPEG 헤더에 대응하는 위치 홀더를 제거한다. 상기 패킷 디포맷터(5012)의 출력은 데이터 인터리버(5013)로 입력되고, 상기 데이터 인터리버(5013)는 송신측의 데이터 디인터리버(529)의 역과정으로 입력되는 데이터를 인터리빙한다. 그러면 도 5와 같은 구조의 데이터가 그룹 디포맷터(5014)로 출력된다. 상기 그룹 디포맷터(5014)는 송신측의 그룹 포맷터(303)의 역과정을 수행한다. 즉, 상기 그룹 포맷터(5014)는 메인 서비스 데이터, 기지 데이터, 시그널링 정보 데이터, RS 패리티 데이터에 해당하는 위치 홀더를 제거한 후 순서가 재배열(reordering)된 모바일 서비스 데이터 심볼들만 심볼 디인터리버(4016)로 출력한다. 다른 실시예로, 상기 피드백 디포맷터(4015)를 메모리 맵 등을 이용하여 구현한다면 외부 블록 추출기(4014)에서 제거된 데이터 위치에 위치 홀더를 삽입하고 제거하는 과정을 생략할 수 있다.
상기 심볼 디인터리버(4016)는 송신측의 심볼 인터리버(514)의 심볼 인터리빙의 역과정으로, 상기 피드백 디포맷터(4015)에서 순서가 변경되어 출력되는 데이터 심볼의 소프트 판정값에 대해 디인터리빙한다. 상기 심볼 디인터리버(4016)에서 디인터리빙시 사용되는 블록의 크기는 송신측의 심볼 인터리버의 실제 심볼의 인터리빙 크기(즉, B)와 동일하며 이것은 터보 복호가 트렐리스 복호부(4012)와 심볼 복호기(4018) 간에 이루어지기 때문이다.
상기 심볼 디인터리버(4016)의 입력과 출력은 모두 소프트 판정값이며, 상기 디인터리빙된 소프트 판정값은 외부 심볼 매퍼(4017)로 출력된다.
상기 외부 심볼 매퍼(4017)는 송신측의 콘볼루션 부호기(513)의 구성 및 부 호율에 따라 그 동작이 달라질 수 있다. 예를 들어, 상기 콘볼루션 부호기(513)에서 1/2 부호화되어 전송된 데이터라면 상기 외부 심볼 매퍼(4017)는 입력 데이터를 그대로 심볼 복호기(4018)로 출력한다. 다른 예로, 상기 콘볼루션 부호기(513)에서 1/4 부호화되어 전송된 데이터라면 심볼 복호기(4018)의 입력 형식에 맞게 입력 데이터를 변환하여 심볼 복호기(4018)로 출력한다. 이를 위해 상기 외부 심볼 매퍼(4017)는 시그널링 정보 복호부(1013)로부터 SCCC 관련 정보 예를 들어, SCCC 블록 모드와 SCCC 아웃터 코드 모드를 입력받을 수 있다.
상기 심볼 복호기(4018, 즉 외부 복호기)는 송신측의 콘볼루션 부호기(513)의 역과정으로, 외부 심볼 매퍼(4017)의 출력에 대해 심볼 복호를 수행한다. 이때 상기 심볼 복호기(4018)에서는 2가지 소프트 판정값이 출력된다. 하나는 콘볼루션 부호기(513)의 출력 심볼과 매칭되는 소프트 판정 값(이하, 제1 소프트 판정값이라 함)이고 다른 하나는 콘볼루션 부호기(513)의 입력 비트와 매칭되는 소프트 판정 값(이하, 제2 소프트 판정값이라 함)이다. 상기 제1 소프트 판정값은 콘볼루션 부호기(513)의 출력 심볼 즉, 두 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)를 심볼을 구성하는 상위비트와 하위비트에 대해 각각 출력(비트단위 출력)하거나, 2비트가 "00", "01", "10", "11"이 될 확률값의 로그비(LLR)를 모든 조합에 대해 출력(심볼단위 출력)할 수 있다. 상기 제1 소프트 판정값은 내부 심볼 매퍼(4019)와 심볼 인터리버(4020), 및 피드백 포맷터(4021)를 통해 트렐리스 복호부(4012)로 피드백된다. 상기 제2 소프트 판정값은 송신측의 콘볼루션 부호기(513)의 입력 비트의 신뢰도를 의미하며, 한 비트의 '1'일 확률과 '0'일 확률간의 로그비(LLR)로 표현되어 외부 버퍼(4022)로 출력된다. 상기 심볼 복호기(4018)의 복호 알고리즘으로는 MAP(Maximum A posteriori Probability), SOVA(Soft-Out Viterbi Algorithm)등이 사용될 수 있다.
상기 심볼 복호기(4018)에서 출력되는 제1 소프트 판정값은 내부 심볼 매퍼(4019)로 입력된다. 상기 내부 심볼 매퍼(4019)는 제1 소프트 판정값을 트렐리스 복호부(4012)의 입력 형식에 맞게 변환하여 심볼 인터리버(4020)로 출력한다. 상기 내부 심볼 매퍼(4019)도 송신측의 콘볼루션 부호기(513)의 구조 및 부호율에 따라 그 동작이 달라질 수 있다.
상기 심볼 인터리버(4020)는 상기 내부 심볼 매퍼(4019)에서 출력되는 제1 소프트 판정값에 대해 도 26과 같이 심볼 인터리빙하여 피드백 포맷터(4021)로 출력한다. 상기 심볼 인터리버(4020)의 출력도 소프트 판정값이 된다.
상기 피드백 포맷터(4021)는 송신측의 블록 처리기(302)의 출력 심볼이 트렐리스 부호화부(256)에 입력되는 중간과정(예를 들어, 그룹 포맷터, 데이터 디인터리버, 패킷 포맷터, 데이터 인터리버)에서 발생하는 심볼의 처리 순서 변화에 맞춰 상기 심볼 인터리버(4020)의 출력 값들의 순서를 변경한 후 트렐리스 복호부(4012)로 출력한다. 상기 피드백 포맷터(4021)의 재배열(reordering) 과정도 소프트웨어, 하드웨어, 미들웨어 중 적어도 하나로 구현될 수 있다. 일 예로, 상기 피드백 포맷터(4021)는 도 62의 역과정을 수행하도록 구현할 수도 있다.
상기 심볼 인터리버(4020)에서 출력되는 소프트 판정 값들은 입력 버퍼(4011)에서 출력되는 TDL만큼의 모바일 서비스 데이터 심볼 위치와 일대일로 매 칭되어 트렐리스 복호부(4012)로 입력된다. 이때 메인 서비스 데이터 심볼이나 메인 서비스 데이터의 RS 패리티 심볼, 기지 데이터 심볼, 시그널링 정보 데이터 등은 모바일 서비스 데이터 심볼이 아니므로, 상기 피드백 포맷터(4021)는 해당 위치에 널 데이터를 삽입하여 트렐리스 복호부(4012)로 출력한다. 또한 상기 TDL 크기의 심볼들을 터보 복호할 때마다 첫번째 복호 시작시에서는 상기 심볼 인터리버(4020)로 부터 피드백되는 값이 없으므로, 상기 피드백 포맷터(4021)는 피드백 제어기(4010)의 제어를 받아 모바일 서비스 데이터 심볼을 포함한 모든 심볼 위치에 널 데이터를 삽입하여 트렐리스 복호부(4012)로 출력한다.
상기 출력 버퍼(4022)는 피드백 제어기(4010)의 제어에 따라 상기 심볼 복호기(4018)에서 제2 소프트 판정값을 입력받아 일시 저장한 후 RS 프레임 복호기(1006)로 출력한다. 일 예로, 상기 출력 버퍼(4022)는 M번의 터보 복호가 수행될 때까지 상기 심볼 복호기(4018)의 제2 소프트 판정값을 오버라이트하고 있다가, 하나의 TDL에 대해 M번의 터보 복호가 모두 수행되면, 그때의 제2 소프트 판정값을 RS 프레임 복호기(1006)로 출력한다.
상기 피드백 제어기(4010)는 도 61과 같은 블록 복호기 전체의 터보 복호 및 터보 복호 반복 횟수를 제어한다.
즉, 기 설정된 반복 횟수동안 터보 복호가 이루어지고 나면, 심볼 복호기(4018)의 제2 소프트 판정값은 출력 버퍼(4022)를 통해 RS 프레임 복호기(1006)로 출력되고, 한 터보 블록에 대한 블록 복호 과정이 완료된다. 이를 본 발명에서는 설명의 편의를 위해 회귀적인 터보 복호 과정이라 한다.
이때 상기 트렐리스 복호부(4012)와 심볼 복호기(4018) 사이의 회귀적인 터보 복호 횟수는 하드웨어 복잡도와 에러정정 성능을 고려하여 정의할 수 있는데 횟수가 증가하면 에러 정정 능력은 우수해지지만 하드웨어는 복잡해지는 단점이 있다.
한편 도 36의 데이터 디인터리버(1009), RS 복호기(1010), 및 디랜더마이저(1011)는 메인 서비스 데이터를 수신하기 위해 필요한 블록들로서, 오직 모바일 서비스 데이터만을 수신하기 위한 수신 시스템 구조에서는 필요하지 않을 수도 있다.
상기 데이터 디인터리버(1009)는 송신측의 데이터 인터리버의 역과정으로 상기 블록 복호기(1005)에서 출력되는 데이터를 디인터리빙하여 RS 복호기(1010)로 출력한다. 상기 데이터 디인터리버(1009)로 입력되는 데이터는 메인 서비스 데이터뿐만 아니라, 모바일 서비스 데이터, 기지 데이터, RS 패리티, MPEG 헤더 등을 포함한다.
상기 RS 복호기(1010)는 디인터리빙된 데이터에 대해 체계적 RS 복호를 수행하여 디랜더마이저(1011)로 출력한다.
상기 디랜더마이저(1011)는 RS 복호기(1010)의 출력을 입력받아서 송신기의 랜더마이저와 동일한 의사 랜덤(pseudo random) 바이트를 발생시켜 이를 bitwise XOR(exclusive OR)한 후 MPEG 동기 바이트를 매 패킷의 앞에 삽입하여 188 바이트 패킷 단위로 출력한다.
RS
프레임 복호기
상기 블록 복호기(1005)에서 출력되는 데이터는 포션(portion) 단위이다. 즉, 송신측에서 RS 프레임은 복수개의 포션으로 구분되고, 각 포션의 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역에 할당되거나, A/B 영역과 C/D 영역 중 어느 하나에 할당되어 수신측으로 전송된다. 따라서 상기 RS 프레임 복호기(1006)에서는 하나의 퍼레이드 내 복수개의 포션을 모아 하나의 RS 프레임을 구성하거나, 두개의 RS 프레임을 구성하고, RS 프레임 단위로 에러 정정 복호를 수행한다.
예를 들어, RS 프레임 모드가 00이라면 하나의 퍼레이드는 하나의 RS 프레임을 전송하는데, 이때 하나의 RS 프레임은 복수개의 포션으로 구분되고, 구분된 각 포션의 모바일 서비스 데이터는 대응하는 데이터 그룹의 A/B/C/D 영역에 할당되어 전송된다. 이 경우, 상기 MPH 프레임 복호기(1006)는 도 63의 (a)와 같이 데이터 그룹 내 A/B/C/D 영역에서 모바일 서비스 데이터를 추출하여 하나의 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹에 대해 수행하여 복수개의 포션을 얻을 수 있다. 그리고 복수개의 포션의 모바일 서비스 데이터를 모아 하나의 RS 프레임을 구성할 수 있다. 이때 마지막 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 RS 프레임을 구성한다.
다른 예로, RS 프레임 모드가 01이라면 하나의 퍼레이드는 두개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 전송한다. 이때 프라이머리 RS 프레임은 복수개의 프라이머리 포션으로 구분되고, 구분된 각 프라이머리 포션의 모바일 서비스 데이터는 대응하는 데이터 그룹 내 A/B 영역에 할당되어 전송된다. 그리고 세컨더리 RS 프레임은 복수개의 세컨더리 포션으로 구분되고, 구분된 각 세컨더리 포션의 모바일 서비스 데이터는 해당 데이터 그룹 내 C/D 영역에 할당되어 전송된다. 이 경우, 상기 MPH 프레임 복호기(1006)는 도 63의 (b)와 같이 데이터 그룹 내 A/B 영역에서 모바일 서비스 데이터를 추출하여 하나의 프라이머리 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹의 A/B 영역에 대해 수행하여 복수개의 프라이머리 포션을 얻을 수 있다. 그리고 복수개의 프라이머리 포션을 모아 프라이머리 RS 프레임을 구성할 수 있다. 이때 마지막 프라이머리 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 프라이머리 RS 프레임을 구성한다. 또한 해당 데이터 그룹 내 C/D 영역에서 모바일 서비스 데이터를 추출하여 하나의 세컨더리 포션을 구성하는 과정을 하나의 퍼레이드의 복수개의 데이터 그룹의 C/D 영역에 대해 수행하여 복수개의 세컨더리 포션을 얻을 수 있다. 그리고 복수개의 세컨더리 포션을 모아 세컨더리 RS 프레임을 구성할 수 있다. 이때 마지막 세컨더리 포션에 스터핑 바이트가 추가되어 있다면, 스터핑 바이트는 제거하고 세컨더리 RS 프레임을 구성한다.
즉, 상기 RS 프레임 복호기(1006)는 상기 블록 복호기(1005)로부터 RS 부호화 및/또는 CRC 부호화된 각 포션의 모바일 서비스 데이터를 입력받고, 시그널링 정보 복호부(1013)로부터 출력되는 RS 프레임 관련 정보에 따라 입력되는 복수개의 포션을 모아 RS 프레임을 구성한 후 에러 정정을 수행한다. 상기 RS 프레임 관련 정보 내 RS 프레임 모드 값을 참조하면 RS 프레임을 구성할 수 있고, RS 프레임을 구성하기 위해 사용된 RS 코드의 패리티의 개수와 코드 크기에 대한 정보를 알 수 가 있다.
상기 RS 프레임 복호기(1006)에서는 RS 프레임 관련 정보를 참조하여 송신 시스템의 RS 프레임 부호기에서의 역과정을 수행하여 RS 프레임 내 에러들을 정정한 후, 에러 정정된 모바일 서비스 데이터 패킷에 RS 프레임 부호화 과정에서 제거되었던 1 바이트의 MPEG 동기 바이트를 부가하여 디랜더마이저(1007)로 출력한다.
도 64는 RS 프레임 모드 값이 00일 때, 즉 하나의 퍼레이드로 전송되는 복수개의 포션을 모아 하나의 RS 프레임과 RS 프레임 신용 맵(Reliability Map)을 형성하는 과정과, 전송 시스템의 역과정으로 수퍼 프레임 단위의 역 로우 섞음(row de-permutation)을 수행한 후 역 로우 섞음된 RS 프레임과 RS 프레임 신용 맵으로 다시 구분하는 과정을 도시하고 있다.
즉, 상기 RS 프레임 복호기(1006)는 입력받은 모바일 서비스 데이터들을 모아서 RS 프레임을 구성한다. 상기 모바일 서비스 데이터는 전송 시스템에서 RS 프레임 단위로 RS 부호화되고, 수퍼 프레임 단위로 로우 섞음된 데이터인 것을 일 실시예로 한다. 이때 에러 정정 부호화 예를 들어, CRC 부호화는 수행되어 있을 수도 있고, 생략되어 있을 수도 있다.
만일, 전송 시스템에서 (N+2)x(187+P) 바이트 크기의 RS 프레임을 M개의 포션으로 구분하고, M개의 포션의 모바일 서비스 데이터를 대응하는 M개의 데이터 그룹의 A/B/C/D 영역에 할당하여 전송하였다고 가정하면, 수신 시스템에서도 도 64의 (a)와 같이 각 포션의 모바일 서비스 데이터를 모아 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성한다.
이때 해당 RS 프레임을 구성하는 적어도 하나의 포션에 스퍼핑 바이트(S)가 추가되어 전송되었다면 상기 스터핑 바이트는 제거되고 RS 프레임과 RS 프레임 신용 맵이 구성된다. 예를 들어, 도 23에서와 같이 S개의 스터핑 바이트가 추가되었다면 S개의 스터핑 바이트가 제거된 후 RS 프레임과 RS 프레임 신용 맵이 구성된다.
그리고 상기 블록 복호기(1005)에서 복호 결과를 소프트 판정값으로 출력한다고 가정하면, 상기 RS 프레임 복호기(1006)는 상기 소프트 판정값의 부호로 해당 비트의 0과 1을 결정할 수 있으며, 이렇게 결정된 비트를 8개 모아서 한 바이트를 구성하게 된다. 이러한 과정을 하나의 퍼레이드 내 복수개의 포션(또는 데이터 그룹)의 소프트 판정값에 대해 모두 수행하면 (N+2)x(187+P) 바이트 크기의 RS 프레임을 구성할 수가 있게 된다.
또한 본 발명은 소프트 판정값을 RS 프레임을 구성하는데 이용할 뿐만 아니라, 신용 맵(Reliability Map)을 구성하는데 이용한다.
상기 신용 맵은 상기 소프트 판정값의 부호로 결정된 비트를 8개 모아 구성한 해당 바이트가 믿을만한지 여부를 나타낸다.
일 실시예로, 소프트 판정값의 절대값이 기 설정된 문턱값을 넘을 경우에는 해당 소프트 판정값의 부호로 판단한 해당 비트 값은 믿을만하다고 판단하고, 넘지 못할 경우에는 믿을만하지 못하다고 판단한다. 그리고 나서, 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 한 바이트 내 한 비트라도 믿을만하지 못하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을 수 없다고 표시한다. 여기서 한 비 트는 하나의 실시예이며, 복수개 예를 들어, 4개의 이상의 비트가 믿을만하지 못하다고 판단된 경우에 신용 맵에 해당 바이트를 믿을 수 없다고 표시할 수도 있다.
반대로 한 바이트 내 모든 비트가 믿을만하다고 판단된 경우 즉, 한 바이트의 모든 비트의 소프트 판정값의 절대값이 기 설정된 문턱값을 넘는 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다. 마찬가지로, 한 바이트 내 복수개 예를 들어, 4개 이상의 비트가 믿을만하다고 판단된 경우에는 신용 맵에 해당 바이트를 믿을만하다고 표시한다.
상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
상기 소프트 판정값을 이용한 RS 프레임의 구성과 신용 맵의 구성은 동시에 이루어질 수 있다. 이때 상기 신용 맵 내 신용 정보는 상기 RS 프레임 내 각 바이트에 1:1로 대응한다. 예를 들어, 하나의 RS 프레임이 (N+2) x (187+P) 바이트 크기를 가진다면, 상기 신용 맵은 (N+2) x (187+P) 비트 크기를 가진다. 도 64의 (a'),(b')는 본 발명에 따른 신용 맵 형성 과정을 보이고 있다.
이때 상기 도 64의 (b)의 RS 프레임과 (b')의 RS 프레임 신용 맵은 수퍼 프레임 단위로 로우 섞음되어 있다(도 21 참조). 따라서 RS 프레임과 RS 프레임 신용 맵을 모아 수퍼 프레임과 수퍼 프레임 신용 맵을 구성한 후, 도 64의 (c),(c')와 같이 RS 프레임과 RS 프레임 신용 맵에 대해 전송 시스템의 역과정으로 수퍼 프레임 단위의 역 로우 섞음(De-permutation)을 수행한다.
상기와 같이 수퍼 프레임 단위의 역 로우 섞음이 수행되면, 도 64의 (d),(d')와 같이 (N+2) x (187+P) 바이트 크기의 RS 프레임과 (N+2) x (187+P) 비트 크기의 RS 프레임 신용 맵으로 구분한다.
이어 상기 구분된 RS 프레임에 대해 RS 프레임 신용 맵 정보를 이용하여 에러 정정을 수행한다.
도 65는 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 것이다.
도 65는 전송 시스템에서 RS 프레임에 대해 RS 부호화와 CRC 부호화를 모두 수행한 경우의 에러 정정 과정을 보인 실시예이다.
다음은 도 65에 도시된 에러 정정 과정을 상세히 설명한다.
즉, 도 65의 (a),(a')와 같이 (N+2)x(187+P) 바이트 크기의 RS 프레임과 (N+2)x(187+P) 비트 크기의 RS 프레임 신용 맵이 구성되면, 이 RS 프레임에 대해 CRC 신드롬 체크를 수행하여 각 로우의 에러 발생여부를 검사한다. 이어 도 65의 (b)와 같이 2 바이트 CRC 체크섬을 제거하여 Nx(187+P) 바이트 크기의 RS 프레임을 구성하고, 각 로우에 대응하는 에러 플래그에 에러 여부를 표시한다. 마찬가지로 신용 맵 중 CRC 체크섬에 해당하는 부분은 활용도가 없으므로, 이 부분을 제거하여 도 65의 (b')와 같이 Nx(187+P)개의 신용 정보만을 남긴다.
상기와 같이 CRC 신드롬 체크가 수행되고 나면, 컬럼 방향으로 RS 복호(decoding)를 수행한다. 이때 상기 CRC 에러 플래그의 수에 따라 RS 이레이저(erasure) 정정을 수행할 수도 있다. 즉, 도 65의 (c)와 같이 상기 RS 프레임 내 각 로우에 대응하는 CRC 에러 플래그를 검사하여, 에러를 가진 로우의 개수가 컬럼 방향 RS 복호를 할 때 RS 이레이저 정정을 수행할 수 있는 최대 에러 개수보다 같 거나 작은지를 판단한다. 상기 최대 에러 개수는 RS 부호화시 삽입된 패리티 개수(P)이다.
본 발명에서는 일 실시예로 각 컬럼마다 부가되는 패리티 개수(P)가 48개라고 가정한다.
이 경우 CRC 에러를 가진 로우의 개수가 RS 이레이저 복호(decoding)로 수정 가능한 최대 에러 개수(실시예에 따르면 48)보다 작거나 같다면 도 65의 (d)와 같이 (187+P) 즉, 235개의 N 바이트 로우를 갖는 RS 프레임에 대해서 컬럼 방향으로 (235,187)-RS 이레이저 복호를 수행하고, 도 65의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다.
그런데, CRC 에러를 가진 로우의 개수가 RS 이레이저 복호로 수정 가능한 최대 에러 개수(즉, 48)보다 크다면 RS 이레이저 복호를 수행할 수가 없다.
이러한 경우 일반적인 RS 복호를 통해서 에러 정정을 수행할 수 있다. 또한 본 발명은 소프트 판정값으로부터 RS 프레임을 구성할 때 함께 생성한 신용 맵을 이용하여 에러 정정 능력을 더욱 높일 수 있다.
즉, 상기 RS 프레임 복호기에서는 블록 복호기(1005)의 소프트 판정값의 절대값을 기 설정된 임계값과 비교하여 해당 소프트 판정값의 부호로 결정되는 비트 값의 신용을 판단하였다. 그리고 소프트 판정값의 부호로 판단한 비트를 8개 모아 구성한 해당 바이트에 대한 신용 정보를 신용 맵에 표시하였다.
따라서 본 발명은 도 65의 (c)와 같이 특정 로우의 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 프레임 내 모든 컬럼 방향으로 에러 정정 복호가 수행되면 도 65의 (e)와 같이 각 컬럼의 마지막에 부가되었던 48바이트의 패리티 데이터를 제거한다.
이와 같이 본 발명은 RS 프레임 내 각 로우에 대응되는 전체 CRC 에러의 개수는 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 크더라도, 특정 컬럼의 에러 정정 복호시에 해당 컬럼의 신용 맵의 신용 정보에 의해 신용이 낮은 바이트의 수가 RS 이레이저 복호로 정정 가능한 최대 에러 개수보다 같거나 작으면 그 컬럼에 대해서는 RS 이레이저 복호를 수행할 수 있다.
여기서 일반적인 RS 복호와 RS 이레이저 복호의 차이는 정정 가능한 에러의 개수이다. 즉, 일반적인 RS 복호를 수행하면 RS 부호화 과정에서 삽입된 (패리티의 개수)/2에 해당하는 개수(예를 들면, 24)만큼 에러를 정정할 수 있고, RS 이레이저 복호를 수행하면 RS 부호화 과정에서 삽입된 패리티의 개수(예를 들면, 48)만큼 에러를 정정할 수 있다.
상기와 같이 에러 정정 복호가 수행되고 나면, 도 65의 (e)와 같이 187개의 N 바이트 로우(즉, 패킷)로 된 RS 프레임을 얻을 수 있다. 그리고 Nx187 바이트 크기의 RS 프레임은 순서대로 N개의 187 바이트의 크기로 출력이 되는데, 이때 도 65의 (f)와 같이 각 187 바이트의 패킷에 전송 시스템에서 삭제한 1 바이트의 MPEG 동기 바이트를 부가하여 188 바이트 단위의 모바일 서비스 데이터 패킷을 출력한 다.
상기와 같이 RS 프레임 복호된 모바일 서비스 데이터는 데이터 디랜더마이저(1007)로 출력된다. 상기 데이터 디랜더마이저(1007)는 입력받은 모바일 서비스 데이터에 대해서 송신 시스템의 랜더마이저의 역과정에 해당하는 디랜더마이징을 수행하여 출력함으로써, 송신 시스템에서 송신한 모바일 서비스 데이터를 얻을 수가 있게 된다. 본 발명은 상기 RS 프레임 복호기(1006)에서 데이터 디랜더마이징 기능을 수행할 수도 있다. 그리고 이러한 RS 프레임 복호기를 하나의 MPH 프레임 내 퍼레이드의 수(=M)만큼 병렬로 구비하고, M개의 RS 프레임 복호기의 입력단에는 복수의 포션들을 다중화하는 다중화기를, M개의 RS 프레임 복호기의 출력단에는 역다중화기를 구비하여 MPH 프레임 복호기를 구성할 수도 있다.
전체 수신 시스템
도 66은 본 발명의 일 실시예에 따른 수신 시스템의 구성 블록도로서, 도 36의 복조부가 적용될 수 있다.
도 66의 수신 시스템은 튜너(6001), 복조부(demodulating unit)(6002), 역다중화기(6003), 오디오 복호기(6004), 비디오 복호기(6005), 네이티브 TV 어플리케이션 매니저(6006), 채널 매니저(6007), 채널 맵(6008), 제1 저장부(6009), SI 및/또는 데이터 복호기(6010), 제2 저장부(6011), 시스템 매니저(6012), 데이터 방송 어플리케이션 매니저(6013), 저장 제어부(storage controller)(6014), 및 제3 저장부(6015), GPS 모듈(6020)을 포함할 수 있다. 상기 제1 저장부(6009)는 비휘발성 메모리(NVRAM)(또는 플래시 메모리)이다. 상기 제3 저장부(6015)는 하드 디스크 드라이브(HDD), 메모리 칩과 같은 대용량 저장 장치이다.
상기 튜너(6001)는 안테나, 케이블, 위성 중 어느 하나를 통해 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조부(6002)로 출력한다. 이때 상기 튜너(6001)는 채널 매니저(6007)의 제어를 받으며, 또한 튜닝되는 채널의 방송 신호의 결과(result)와 강도(strength)를 상기 채널 매니저(6007)에 보고한다. 상기 특정 채널의 주파수로 수신되는 데이터는 메인 서비스 데이터, 모바일 서비스 데이터, 상기 메인 서비스 데이터와 모바일 서비스 데이터의 복호(decoding)를 위한 테이블 데이터 등이 있다.
본 실시예에서는 모바일 서비스 데이터로서 이동형 방송을 위한 오디오 데이터, 비디오 데이터가 적용될 수 있다. 이러한 오디오 데이터, 비디오 데이터는 각종 부호기에 의해 압축되어 방송국으로부터 전송될 것이다. 이 경우, 압축에 사용된 해당 부호기에 대응되게 수신기 내에서는 비디오, 오디오 복호기(6004,6005)가 구비될 것이며, 각 복호기(6004,6005)에서의 복호가 수행되어 사용자에게 비디오 및 오디오가 제공될 것이다. 오디오 데이터를 위한 부호/복호 scheme으로는, AC 3, MPEG 2 AUDIO, MPEG 4 AUDIO, AAC, AAC+, HE AAC, AAC SBR, MPEG-Surround, BSAC을 예로 들 수 있고, 비디오 데이터를 위한 부호/복호 scheme으로는, MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 등이 있다.
실시예에 따라서는 모바일 서비스데이터로서 데이터 서비스를 위한 데이터, 예컨대 자바 어플리케이션에 대한 데이터, HTML 어플리케이션에 대한 데이터, XML 에 대한 데이터가 그 예가 될 수 있다. 이러한 데이터 서비스를 위한 데이터는 자바 어플리케이션을 위한 자바 class file이 될 수 도 있고, 이러한 파일들의 위치를 지시하는 directory file이 될 수도 있다. 또한 각 어플리케이션에서 사용되는 오디오 file, 비디오 file이 될 수도 있다.
상기 데이터 서비스로는 날씨서비스, 교통서비스, 증권서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공서비스, 상품정보 및 이에 대한 주문 등이 가능하도록 하는 서비스, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으나 본원 발명은 이에 한정하지는 않는다.
또한 실시예에 따라서는 모바일 서비스 데이터는 메타(Meta) 데이터가 될 수도 있다. 이러한 메타 데이터는 XML로 기술되어 DSM-CC 프로토콜을 통해 전송되는 것을 일 예로 들 수 있다.
상기 복조부(6002)는 상기 튜너(6001)에서 출력되는 신호에 대해 VSB 복조, 채널 등화 등을 수행하여 메인 서비스 데이터와 모바일 서비스 데이터로 구분한 후 TS 패킷 단위로 출력한다. 상기 복조부(6002)는 전술한 도 36이 그 일 예가 될 것이다. 그러나 이는 일실시예들 일 뿐 본 발명의 권리범위는 이에 한정되지 않는다.
본 발명에서는 상기 복조부(6002)에서 출력되는 모바일 서비스 데이터 패킷만 역다중화기(6003)로 입력되는 것을 일 실시예로 설명한다. 이 경우 메인 서비스 데이터 패킷은 메인 서비스 데이터 패킷을 처리하는 또 다른 역다중화기(도시되지 않음)로 입력된다. 이때 상기 메인 서비스 데이터 패킷을 처리하는 역다중화기에도 메인 서비스 데이터의 저장을 위해 상기 저장 제어부(6014)가 연결된다. 또한 하나의 역다중화기에서 모바일 서비스 데이터 패킷뿐만 아니라, 메인 서비스 데이터 패킷에 대해서도 역다중화를 수행하도록 설계할 수도 있다.
상기 저장 제어부(6014)는 역다중화기(6003)와 인터페이스하여 모바일 서비스 데이터 및/또는 메인 서비스 데이터의 즉시 녹화, 예약 녹화, 타임 시프트(Time shift) 등을 제어한다. 예를 들어, 도 66의 수신 시스템에 즉시 녹화, 예약 녹화, 타임 시프트 중 어느 하나가 설정되면 역다중화기(6003)로 입력되는 해당 모바일 서비스데이터 및/또는 메인 서비스 데이터는 상기 저장 제어부(6014)의 제어에 의해 상기 제3 저장부(6015)에 저장된다. 상기 제3 저장부(6015)는 타임 시프트 기능을 위한 임시 저장 영역 및/또는 사용자 선택에 따라 데이터를 영구 저장하는 영구 저장 영역으로 구분될 수 있다.
그리고 상기 제3 저장부(6015)에 저장된 데이터의 재생이 필요한 경우, 상기 저장 제어부(6014)는 상기 제3 저장부(6015)에 저장된 해당 데이터를 독출하여 해당 역다중화기(예를 들어, 모바일 서비스 데이터인 경우 도 66의 역다중화기(6003))로 출력한다.
이때 상기 제3 저장부(6015)의 저장 용량은 제한되어 있으므로, 상기 저장 용량의 효율성을 위해 압축 부호화되어 입력된 모바일 서비스 데이터 및/또는 메인 서비스 데이터는 그대로 제3 저장부(6015)에 저장하는 것을 본 발명의 일 실시예로 한다. 이 경우 재생 명령에 따라 상기 제3 저장부(6015)에서 독출된 데이터는 역다 중화기를 통해 해당 복호기(decoder)로 입력되어 원래 상태로 복원된다.
또한 상기 저장 제어부(6014)는 상기 제3 저장부(6015)에 저장되어 있거나 현재 버퍼링되고 있는 데이터의 재생(play), 빨리 감기(fast forward), 되감기(rewind), 슬로우 모션(slow motion), 인스턴트리플레이(instant replay) 등을 제어할 수 있다. 여기서 인스턴트 리플레이는 다시 보고 싶은 장면을 반복해서 시청 가능한 기능이며, 저장되어 있는 데이터뿐만 아니라 현재 리얼타임으로 수신되는 데이터도 타임 시프트(time shift) 기능과 연계하여 인스턴트 리플레이할 수 있다.
상기 저장 제어부(6014)는 입력된 데이터가 아날로그 형태, 예를 들어 전송 방식이 NTSC, PAL 등인 경우, 입력된 데이터를 압축 부호화하여 제3 저장부(6015)에 저장할 수 있다.
이를 위해 상기 저장 제어부(6014)는 인코더를 포함할 수 있으며, 상기 인코더는 소프트웨어, 미들웨어, 하드웨어 중 적어도 하나로 구현될 수 있다. 상기 인코더는 일 실시예로 MPEG 인코더를 이용할 수 있다. 상기 인코더는 저장 제어부(6014)의 외부에 구비될 수도 있다.
한편 상기 저장 제어부(6014)는 입력되는 데이터가 제3 저장부(6015)에 저장되었을 때 불법 복사되는 것을 방지하기 위해 입력되는 데이터를 스크램블(또는 인크립션이라 하기도 함)하여 상기 제3 저장부(6015)에 저장할 수도 있다. 이 경우 상기 저장 제어부(6014)는 상기 제3 저장부(6015)에 저장되는 데이터를 스크램블하기 위한 스크램블 알고리즘과 상기 제3 저장부(6015)에서 독출되는 데이터를 디스 크램블(또는 디크립션이라 하기도 함)하기 위한 디스크램블 알고리즘을 포함할 수 있다. 상기 스크램블의 방법으로는 스크램블을 원하는 데이터를 임의의 키(예를 들어, control word)를 이용하여 변형하거나, 신호 자체를 섞는 방법 등이 이용될 수 있다.
한편 상기 역다중화기(6003)는 복조부(6002)에서 출력되는 리얼 타임 데이터 또는 제3 저장부(6015)에서 독출된 데이터를 입력받아 역다중화를 수행한다. 본 발명에서는 상기 역다중화기(6003)가 모바일 서비스데이터 패킷에 대해서 역다중화를 수행하는 것을 일 실시예로 설명한다.
다만, 실시예에 따라서는 모바일 서비스 데이터 뿐만 아니라 메인 서비스 데이터도 역다중화기(6003), 오디오 복호기(6004), 비디오 복호기(6005), 네이티브 TV 어플리케이션 매니저(6006), 채널 매니저(6007), 채널 맵(6008), 제1 저장부(6009), SI 및/또는 데이터 복호기(6010), 제2 저장부(6011), 시스템 매니저(6012), 데이터 방송 어플리케이션 매니저(6013), 저장 제어부(storage controller)(6014), 제3 저장부(6015), GPS 모듈(6020)에 의해 처리되어 사용자에게 각종 서비스를 제공하는 데 이용될 수 있다.
상기 역다중화기(6003)는 상기 SI 및/또는 데이터 복호기(SI 및/또는 data decoder)(6010)의 제어에 의해 입력되는 모바일 서비스 데이터 패킷들로부터 모바일 서비스 데이터와 SI(System Information) 테이블을 역다중화한다. 그리고 상기 역다중화된 모바일 서비스데이터와 SI 테이블들은 섹션 형태로 SI 및/또는 데이터 복호기(6010)로 출력된다. 이 경우 SI 및/또는 데이터 복호기(6010)로 입력되는 모 바일 서비스 데이터는 데이터 서비스를 위한 데이터가 적용되는 것이 바람직할 것이다.
상기 모바일 서비스 데이터가 전송되는 채널 내에서 모바일 서비스 데이터를 추출하여 디코딩하기 위해서는 시스템 정보가 필요하다. 이러한 시스템 정보는 경우에 따라서는 서비스 정보라고도 불리운다. 상기 시스템 정보는 채널 정보, 이벤트 정보 등을 포함할 수 있다.
본 발명의 실시예에서는 상기 시스템 정보로서 PSI/PSIP(Program Specific Information/Program and System Information Protocol) 을 적용하나 본 발명은 이에 한정하는 것은 아니다. 즉 시스템 정보를 테이블 포맷으로 전송하는 프로토콜이라면 그 명칭에 상관없이 본 발명에 적용 가능할 것이다.
상기 PSI는 채널 및 프로그램을 분류하기 위해 정의된 MPEG-2의 시스템 규격이고, 상기 PSIP는 채널 및 프로그램의 분류가 가능한 ATSC(Advanced Television Systems Committee) 규격이다.
상기 PSI는 일 실시예로서, PAT(Program Association Table), CAT(Conditional Access Table), PMT(Program Map Table), 및 NIT(Network Information Table)를 포함할 수 있다.
상기 PAT는 PID가 '0'인 패킷에 의해 전송되는 특수 정보로서, 각 프로그램마다 해당 PMT의 PID 정보와 NIT의 PID 정보를 전송한다. 상기 CAT는 송신측에서 사용하고 있는 유료 방송 시스템에 대한 정보를 전송한다. 상기 PMT는 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트열이 전송되는 트랜 스포트 스트림 패킷의 PID 정보, 및 PCR이 전달되는 PID 정보를 전송한다. 상기 NIT는 실제 전송망의 정보를 전송한다.
상기 PSIP은 일 실시예로서, VCT(Virtual Channel Table), STT(System Time Table), RRT(Rating Region Table), ETT(Extended Text Table), DCCT(Direct Channel Change Table), DCCSCT(Direct Channel Change Selection Code Table), EIT(Event Information Table), 및 MGT(Master Guide Table)를 포함할 수 있다.
상기 VCT는 가상 채널에 대한 정보 예를 들어, 채널 선택을 위한 채널 정보와 오디오 및/또는 비디오의 수신을 위한 패킷 식별자(PID) 등의 정보를 전송한다. 즉, 상기 VCT를 파싱하면 채널 이름, 채널 번호 등과 함께 채널 내에 실려오는 방송 프로그램의 오디오와비디오의 PID를 알 수 있다.
도 67은 본 발명에 따른 VCT의 일실시예를 도시하고 있다.
도 67의 VCT 신택스는 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, transport_stream_id 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_number 필드, protocol_version 필드, num_channels_in_section 필드 중 적어도 하나를 포함하여 구성된다.
상기 VCT 신택스는 상기 num_channels_in_section 필드 값만큼 반복되는 'for' 루프의 제1 반복문을 더 포함하는데, 상기 제1 반복문 내에는 short_name 필드, major_channel_number 필드, minor_channel_number 필드, modulation_mode 필드, carrier_frequency 필드, channel_TSID 필드, program_number 필드, ETM_location 필드, access_controlled 필드, hidden 필드, service_type 필드, source_id 필드, descriptor_length 필드, 및 이 제1 반복문 내에 포함되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제2 반복문 중 적어도 하나를 포함하여 구성된다. 본 발명에서는 설명의 편의를 위해 상기 제2 반복문을 제1 디스크립터 루프라 한다. 상기 제1 디스크립터 루프에 포함되는 디스크립터 descriptors()는 가상 채널 각각에 개별적으로 적용되는 디스크립터이다.
또한 상기 VCT 신택스는 additional_descriptor_length 필드와, 상기 VCT에 추가되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제3 반복문을 더 포함할 수 있다. 본 발명에서는 설명의 편의를 위해 상기 제3 반복문을 제2 디스크립터 루프라 한다. 상기 제2 디스크립터 루프에 포함되는 디스크립터 additional_descriptors()는 VCT에서 기술되는 모든 가상 채널에 공통적으로 적용되는 디스크립터이다.
이와 같이 구성된 도 67에서, 상기 table_id 필드는 상기 테이블로 전송되는 정보가 VCT임을 인식할 수 있는 고유 식별자(ID)를 표시한다. 즉, 상기 table_id 필드는 이 섹션(section)이 속해 있는 테이블이 VCT라는 것을 알려주는 값을 나타내며, 일 예로 0xC8이 할당될 수 있다.
상기 version_number 필드는 VCT의 버전 값을 나타내고, 상기 section_number 필드는 이 섹션의 번호를, 상기 last_section_number 필드는 완전한 VCT의 마지막 섹션의 번호를 나타낸다. 상기 num_channels_in_section 필드는 상기 VCT 섹션 내에 존재하는 전체 가상 채널의 개수를 지정한다.
그리고, 상기 'for' 루프의 제1 반복문 내에 있는 short_name 필드는 가상 채널 이름을 나타내고, 상기 major_channel_number 필드는 상기 제1 반복문 안에서 정의되는 가상 채널과 관련된 '메이저' 채널 번호를 나타내고, 상기 minor_channel_number 필드는 '마이너' 채널 번호를 나타낸다. 즉, 각각의 가상 채널 번호는 메이저와 마이너 채널 번호에 연결되어 있어야 하며, 메이저, 마이너 채널 번호는 해당 가상 채널에 대한 사용자 참조 번호로 작용한다.
상기 program_number 필드는 MPEG-2 PAT(Program Association Table)와 PMT(Program Map Table)가 정의되어 있는 가상 채널을 연결하기 위해 나타내며, 상기 PAT/PMT안에 있는 프로그램 번호와 일치한다. 여기서, PAT는 각 프로그램 번호마다 그 프로그램의 구성 요소를 기술하는데, PMT를 전송하는 트랜스포트 패킷의 PID를 가리킨다. 상기 PMT는 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트열이 전송되고 있는 트랜스포트 패킷의 PID 리스트와 부속 정보를 기술하고 있다.
도 68은 본 발명에 따른 service_type 필드의 일실시예를 도시한 것이다.
상기 service_type 필드는 해당 virtual channel 내의 서비스 타입을 알려주는 필드이다. 도면과 같이, service_type 필드에는 아날로그 텔레비전, 디지털 텔레비전, 디지털 오디오만, 디지털 데이터만을 각각 지칭할 수 있도록 규정되어 있다. 또한 본 발명에 따르면, service_type 필드로 모바일 방송이 지칭되도록 규정될 수 있다. SI 및/또는 데이터 복호기(6010)를 통해 파싱된 service_type 필드는 도 66과 같은 수신 시스템 내에 제공되어 사용될 것이다. 실시예에 따라서는 파싱 된 service_type 필드는 오디오/비디오 복호기(6004,6005)에 각각 제공되어 복호작업에 사용될 수도 있다.
상기 source_id 필드는 해당 가상 채널에 연결된 프로그램 소스를 나타낸다.
여기서, 소스란 영상, 텍스트, 데이터 또는 음향과 같은 하나의 특정 소스를 말한다. 상기 source_id 필드값은 VCT를 전송하는 트랜스포트 스트림 내에서는 유일한 값을 가진다.
한편, 다음의 'for' 루프의 반복문 내에 있는 서술자 루프(descriptor loop ; descriptor{})에는service location descriptor를 포함할 수 있다.
이러한 service location descriptor는 각 elementary stream에 대한 stream type, PID 및 language code를 포함할 수 있다.
도 69는 본 발명에 따른 service location descriptor의 실시예를 도시한 것이다.
도 69에 도시된 바와 같이, service location descriptor는 descriptor_tag 필드, descriptor_length 필드, PCR_PID 필드를 포함할 수 있다.
여기서 PCR_PID는 program_number 필드에 의해 특정된 프로그램에서 유효한 PCR 필드가 포함된 transport stream 패킷의 PID를 나타낸다.
한편, service location descriptor는 number_elements 필드를 포함하여 해당 프로그램에 사용된 PID 수를 나타낸다. 이 number_elements 필드의 값에 따라 다음에 기술된 서술자 'for' 루프 반복문의 반복 횟수가 결정된다.
도 69에 도시된 바와 같이, 'for' 루프 반복문 내에는 해당 elementary stream(비디오, 오디오, 데이터)의 stream type을 나타내는 stream_type 필드, 해당 elementary stream의 PID를 나타내는 elementary_PID 필드, 해당 elementary stream의language code를 나타내는 ISO_639_language_code 필드가 포함된다.
도 70은 본 발명에 따른 stream_type 필드에 할당될 수 있는 실시예를 도시하고 있다. 도 70에 도시된 바와 같이, stream type으로는 ISO/IEC 11172 Video, ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream, ISO/IEC 11172 Audio, ISO/IEC 13818-3 Audio, ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections, ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data, ISO/IEC 13522 MHEG, ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Annex A DSM CC, ITU-T Rec. H.222.1, ISO/IEC 13818-6 type A, ISO/IEC 13818-6 type B, ISO/IEC 13818-6 type C, ISO/IEC 13818-6 type D, ISO/IEC 13818-1 auxiliary등이 적용될 수 있다.
한편, 본 발명에 따르면, stream type으로 MPH video stream : Non-hierarchical mode, MPH audio stream : Non-hierarchical mode, MPH Non-A/V stream : Non-hierarchical mode, MPH High Priority video stream : Hierarchical mode, MPH High Priority audio stream : Hierarchical mode, MPH Low Priority video stream : Hierarchical mode, MPH Low priority audio stream : Hierarchical mode 등이 더 적용될 수 있다.
여기서 MPH는 mobile, pedestrian, handheld 각각의 첫글자이며, 고정형에 반대되는 개념이다. 따라서 MPH video stream : Non-hierarchical mode, MPH audio stream : Non-hierarchical mode, MPH Non-A/V stream : Non-hierarchical mode, MPH High Priority video stream : Hierarchical mode, MPH High Priority audio stream : Hierarchical mode, MPH Low Priority video stream : Hierarchical mode, MPH Low priority audio stream : Hierarchical mode 등은 mobile 방송을 송수신하는 경우에 적용되는 stream type을 규정한 것이다. 또한 Hierarchical mode와 Non-hierarchical mode는, 어느 하나의 부호/복호 방식에 Hierarchical 구조가 적용되어 Priority가 적용된 스트림이 있을 경우 사용되는 value이다. 따라서 Hierarchical 구조의 코덱이 사용된 경우, stream type 필드에 Hierarchical mode와 Non-hierarchical mode가 포함된 해당 필드 값이 지정되어 각 스트림이 구분된다. 이러한 stream type 정보는 SI 및/데이터 복호기(6010)에 의해 파싱되어 비디오/오디오 복호기(6004,6005)에 제공되며, 비디오/오디오 복호기(6004,6005)는 이러한 stream type 정보를 이용하여 복호작업을 수행한다.
그 외에 적용될 수 있는 다른 stream type으로는 오디오 데이터를 위한 MPEG 4 AUDIO, AC 3, AAC, AAC+, BSAC, HE AAC, AAC SBR, MPEG-S 등과, 비디오 데이터를 위한, MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 등이 추가될 수 있다.
또한, 도 70의 MPH video stream : Non-hierarchical mode, MPH audio stream : Non-hierarchical mode 등의 hierarchical mode, Non-hierarchical mode가 사용된 필드에서 각 audio stream, video stream 대신에, 상기의 오디오 데이터를 위한 MPEG 4 AUDIO, AC 3, AAC, AAC+, BSAC, HE AAC, AAC SBR, MPEG-S 등과, 비디오 데이터를 위한 MPEG 2 VIDEO, MPEG 4 VIDEO, H.264, SVC, VC-1 등이 각각 대 체되는 실시예를 고려할 수 있으며, 이는 본 발명의 기술범위에 포함된다.
한편, 상기 stream_type 필드는 PMT 내의 하나의 field로서 규정될 수 있으며, 이 경우 상기와 같은 syntax를 가질 수 있음은 물론이다.
상기 STT는 현재의 날짜와 시간 정보를 전송하고, 상기 RRT는 프로그램 등급을 위한 지역 및 심의 기관 등에 대한 정보를 전송한다. 상기 ETT는 채널 및 방송 프로그램에 대한 부가 설명을 전송하고, 상기 EIT는 가상 채널의 이벤트에 대한 정보(예를 들어, 제목, 시작 시간 등등)를 전송한다.
도 71은 본 발명에 따른 EIT에 대한 비트 스트림 신택스의 실시예를 도시한 도면이다.
도 71의 EIT(Event Information Table)의 실시예는, 가상 채널(virtual channel)의 이벤트에 대한 제목(title), 시작 시각(start time), 지속 시간(duration) 등에 대한 정보를 포함하는 PSIP의 테이블 중 하나이다. 도 71에 도시된 바와 같이, EIT는 다수개의 필드(field)들로 구성된다.
테이블 아이디(table_id) 필드는 8비트로 구성되며, '0xCB' 값을 가지며, 이 경우 당해 섹션(section)은 EIT에 속한다는 것을 의미한다.
section_syntax_indicator 필드는 1비트로 구성되며, '1' 값을 가지며, 이 경우 당해 섹션은 "section_length" 필드를 지나 generic section syntax를 따른다는 것을 의미한다.
private_indicator 필드는 1비트로 구성되며, '1' 값을 가질 수 있다.
source_ID는 본 테이블에서 나타내는 이벤트를 운반하는 Virtual Channel을 식별하는 아이디이다.
version_numbers_in_section 필드는 이벤트 정보 테이블의 개체의 버젼을 나타낸다. 본 발명에서는 종래의 버젼 넘버에 대해 새로운 버젼 넘버를 갖는 이벤트 정보 테이블에 포함되는 이벤트 변경 정보를 최신의 변경 정보로 인식한다.
current_next_indicator 필드는 해당 EIT가 포함하는 이벤트 정보가 현재의 정보인지, 미래의 정보인지를 나타낸다.
num_event 필드는 상기 소스 아이디를 가지는 채널 내에 속하는 이벤트의 수를 나타낸다. 즉, 하부의 이벤트 루프(loop)는 상기 이벤트의 수만큼 반복하는 것이다.
이상에서 설명한 EIT의 필드는 하나의 EIT 신택스에 포함되는 적어도 하나 이상의 이벤트에 대해 공통으로 적용되는 필드이다.
"for(j=0;j<num_events_in_section;j++){}" 로 포함되는 루프는 이벤트들 각각의 특성을 설명해 주고 있다. 이하의 필드는 개별의 이벤트에 대한 상세 정보를 나타내는 필드이다. 따라서 이하에서 설명하는 필드는 EIT 신택스가 설명하는 해당 이벤트에 개별적으로 적용되는 필드이다.
이벤트 루프 내에서 있는event_ID는 각각의 개별적인 이벤트를 식별하는 식별자이다. 이벤트 아이디의 숫자는 이벤트 ETM_ID(identifier for event Extended Text Message)의 일부이다.
start_time 필드는 이벤트의 시작 시각을 나타내는 필드이다.
따라서 전자 프로그램 정보에서 제공하는 프로그램의 시작 시간 정보를 본 필드에서 수집한다.
length_in_seconds 필드는 이벤트의 지속 시간(duration)을 알려준다. 따라서 전자 프로그램 정보에서 제공하는 프로그램의 끝나는 시각인 end time 정보를 본 필드에서 수집한다. 즉, 상기 스타트 타임 필드의 값과 상기 length in seconds 필드의 값을 더하여 엔드 타임 정보를 수집하는 것이다.
title_text()필드는, 방송 프로그램의 제목을 표시하는 용도로 사용될 수 있다.
한편, 각 event에 적용되는 descriptor가 EIT에 포함될 수 있다. descriptors_length 필드는 descriptor의 길이를 나타낸다.
한편, 다음의 'for' 루프의 반복문 내에 있는 서술자 루프(descriptor loop ; descriptor{})에는 AC-3 audio descriptor, MPEG 2 audio descriptor, MPEG 4 audio descriptor, AAC descriptor, AAC+ descriptor, HE AAC descriptor, AAC SBR descriptor, MPEG surround descriptor, BSAC descriptor, MPEG 2 video descriptor, MPEG 4 video descriptor, H.264 descriptor, SVC descriptor, VC-1 descriptor 중 적어도 하나의 descriptor를 포함할 수 있다. 여기서 각 descriptor는 각 이벤트에 적용된 오디오/비디오 코덱에 대한 정보를 기술하고 있다. 이러한 코덱에 대한 정보는 오디오/비디오 복호기(6004,6005)에 제공되어 복호작업에 이용될 수 있다.
상기 DCCT/DCCSCT는 자동 채널 변경과 관련된 정보를 전송하고, 상기 MGT는 상기 PSIP 내 각 테이블들의 버전 및 PID 정보를 전송한다.
그리고 상기 PSI/PSIP 내 테이블들은 모두 섹션이라는 기본 단위를 가지며 하나 이상의 섹션들이 조합되어 하나의 테이블을 구성하게 된다. 예를 들어, 상기 VCT는 256개의 섹션으로 분리될 수 있다. 그리고, 하나의 섹션은 여러 개의 가상 채널 정보를 실을 수 있으나, 하나의 가상 채널에 대한 정보는 두 개 이상의 섹션으로 나누지 않는다.
이때 수신 시스템에서는 PSI 내 테이블들만 이용하거나, 또는 PSIP 내 테이블들만 이용하거나, 또는 PSI와 PSIP 내 테이블들의 조합을 이용하여 전송되는 모바일 서비스 데이터를 파싱하여 디코딩할수 있다.
상기 모바일 서비스 데이터를 파싱하여 디코딩하기 위해서는, PSI의 경우 적어도 PAT, PMT가 필요하고, PSIP의 경우 VCT가 필요하다.
예를 들어, 상기 PAT는 상기 모바일 서비스 데이터를 전송하는 시스템 정보 및 상기 데이터 서비스를 위한 데이터(또는 프로그램번호)에 해당하는 PMT의 PID를 포함할 수 있고, 상기 PMT는 상기 모바일 서비스 데이터를 전송하는 TS 패킷의 PID를 포함할 수 있다.
상기 VCT는 상기 모바일 서비스 데이터를 전송하는 가상 채널의 정보와 상기 모바일 서비스 데이터를 전송하는 TS 패킷의 PID를 포함할 수 있다.
한편, 실시예에 따라서는 PSIP 대신 DVB-SI가 적용될 수도 있다. 이러한 DVB-SI는 NIT, SDT, EIT, TDT 등을 포함할 수 있다. 이러한 DVB-SI는 위에서 언급한 PSI와 함께 사용될 수 있다.
상기 네트워크 정보 테이블(network information table ; NIT)은 특정 네트 워크 공급자에 속하는 서비스를 그룹으로 분류한다. 이 테이블에는 IRD의 설정 중 사용되는 동조 정보가 모두 수록된다. 이 테이블은 동조 정보의 변화를 알리는데 사용될 수 있다. 상기 서비스 설명 테이블(Service description table ; SDT)에는 이름 및 특정 MPEG 멀티플렉스의 각 서비스에 관련된 다른 매개 변수가 수록된다. 상기 이벤트 정보 테이블(Event information table ; EIT)은 MPEG 멀티플렉스에서 발생하는 모든 이벤트와 관련된 정보의 전송에 사용된다. 이 테이블에는 현재 전송에 관한 정보가 수록되며 IRD가 수신할 수 있는 다른 전송 스트림을 선택적으로 포괄하는 정보가 수록된다. 상기 시간 및 날짜 테이블(Time and Date table ; TDT)은 IRD 내부 클럭 갱신에 사용된다.
또한, 다음과 같은 세 가지 선택적 SI 테이블이 있다.
즉, 부케 연관 테이블(Bouquet associate table ; BAT)은 IRD가 시청자에게 서비스를 제공하는 방법으로 사용할 수 있는 서비스 그룹화 방법을 제공한다. 특정 서비스는 하나 이상의 `부케`에 속할 수 있다. 실행 상태 테이블(Running Status table ; RST) 섹션은 하나 이상의 이벤트 실행 상태의 신속한 갱신에 사용된다. 상기 실행 상태 섹션은 이벤트의 상태가 변하는 시점에 단 한번만 전송된다. 다른 SI 테이블은 보통 반복적으로 전송된다. 스터핑 테이블(Stuffing table, ST)은 종속 테이블이나 전체 SI 테이블의 교체 또는 폐기에 사용될 수 있다.
본 발명의 일실시예로서 모바일 서비스 데이터가 오디오, 비디오 데이터인 경우, TS 패킷 내 페이로드에 실린 모바일 서비스 데이터는 PES 타입인 것이 바람직하다.
본 발명의 다른 실시예로서 모바일 서비스 데이터가 데이터 서비스를 위한 데이터인 경우, TS 패킷 내 페이로드에 실린 모바일 서비스 데이터가 DSM-CC 섹션 형태인 것을 일 실시예로 설명한다.
다만, 상기 데이터 서비스를 위한 데이터가 실리는 TS 패킷은 PES (Packetized Elementary Stream) 타입일 수도 있고, 섹션 타입일 수도 있다. 즉, PES 타입의 데이터 서비스를 위한 데이터가 TS 패킷으로 구성되거나, 섹션 타입의 데이터 서비스를 위한 데이터가 TS 패킷으로 구성된다.
본 발명에서는 상기 데이터 서비스를 위한 데이터가 섹션 타입으로 전송되는 것을 일 실시예로 설명한다. 이때 상기 데이터 서비스를 위한 데이터는 DSM-CC(Digital Storage Media-Command and Control) 섹션에 포함되고, 상기 DSM-CC 섹션은 다시 188바이트 단위의 TS 패킷으로 구성되는 것을 일 실시예로 설명한다.
그리고 상기 DSM-CC 섹션을 구성하는 TS 패킷의 식별자는 DST(Data Service Table)에 포함된다. 만일 DST를 전송하는 경우 상기 PMT 또는, VCT의 service location descriptor 내 stream_type 필드 값으로 0x95를 할당한다. 즉, 수신 시스템에서는 PMT나 VCT의 stream_type 필드 값이 0x95이면 모바일 서비스 데이터를 포함하는 데이터 방송 즉, 모바일 서비스 데이터가 수신되고 있음을 알 수 있다. 이때 상기 모바일 서비스 데이터는 데이터/오브젝트 캐로젤(data/object carousel) 방식으로 전송될 수 있다. 상기 데이터/오브젝트 캐로젤 방식은 동일한 데이터를 주기적으로 반복 전송하는 것을 의미한다.
이때 상기 역다중화기(6003)는 상기 SI 및/또는 데이터 복호기(6010)의 제어 에 의해 섹션 필터링을 수행하여 중복되는 섹션은 버리고, 중복되지 않은 섹션만 SI 및/또는 데이터 복호기(6010)로 출력한다.
또한 상기 역다중화기(6003)는 섹션 필터링을 통해 원하는 테이블 예를 들어, VCT 또는 EIT를 구성하는 섹션만을 SI 및/또는 데이터 복호기(6010)로 출력할 수도 있다. 상기 VCT 또는 EIT에는 모바일 서비스 데이터에 대한 특정 디스크립터가 포함될 수도 있다. 그러나 상기 모바일 서비스 데이터가 PMT 등의 다른 테이블에 포함되는 것을 배제하는 것은 아니다.
상기 섹션 필터링의 방법으로는, MGT에서 정의된 테이블 예를 들어, VCT의 PID를 확인하여 섹션 필터링을 걸어주는 방법이 있고, 또는 상기 VCT가 고정된 PID, 다른 말로는 base PID를 가지고 있는 경우에는 MGT를 확인하지 않고, 바로 섹션 필터링을 걸어주는 방법 등이 있다. 이때 상기 역다중화기(6003)는 PID, table_id 필드, version_number 필드, section_number 필드 등을 참조하여 섹션 필터링을 수행한다.
상술하면, 본 발명에 따른 VCT의 PID를 정의하는 방법으로는 크게 두 가지 방법이 존재한다.
여기서 상기 VCT의 PID는 다른 테이블들과 상기 VCT를 구별하기 위해 필요한 패킷 식별자이다.
첫번째 방법으로, 본 발명에 따른 VCT의 PID가 MGT에 의존적이 되도록 설정할 수 있다. 이 경우, 수신 시스템에서는 PSIP 또는 PSI의 수많은 테이블들 중에서 VCT를 바로 확인할 수는 없고, MGT에서 정의되어진 PID를 체크해야만 비로소 VCT를 독출시킬 수가 있다. 상기 MGT는 각종 테이블들의 PID, 사이즈(size), 버전 넘버(version number) 등을 정의하는 테이블이다.
두번째 방법으로, 본 발명에 따른 VCT의 PID가 MGT로부터 독립적인 베이스(base) PID 값, 즉 고정된 PID 값을 가지도록 설정할 수도 있다. 이 경우, 첫번째 방법과 달리 MGT의 PID를 일일이 확인하지 않고, 본 발명에 따른 VCT를 식별할 수 있는 장점이 있다. 물론, 베이스 PID에 대한 약속이 송신 시스템과, 수신 시스템 사이에서 선행되어야 한다.
한편 실시예에 따라서는, 상기 역다중화기(6003)는 섹션 필터링을 통해 AIT(Application Information Table)만을 SI 및/또는 데이터 복호기(6010)로 출력할 수 있다. 이러한 AIT는 데이터 서비스를 위해 수신기에서 구동되는 어플리케이션에 대한 정보를 포함하는 테이블을 의미하며, 경우에 따라서는 XAIT, AMT라고도 불리운다. 따라서 어플리케이션의 정보를 담고는 있는 테이블이라면 어느 것이나 아래의 설명에 적용될 것이다. 이러한 AIT가 전송되는 경우, PMT의 stream_type 필드로 0x05가 할당될 수 있다.
이러한 AIT는 어플리케이션에 대한 정보, 예컨대 어플리케이션의 이름(name), 어플리케이션의 버전, 어플리케이션의 우선 순위, 어플리케이션의 ID, 어플리케이션의 상태(auto-start, 유저에 의한 조작가능, kill 등), 어플리케이션의 타입(Java 또는 HTML), 어플리케이션의 class들과 데이터 파일을 포함하는 스트림의 위치, 어플리케이션의 base directory, 어플리케이션의 아이콘의 위치 등에 대한 정보를 포함할 수 있다.
그리고 상기 AIT를 이용하여 데이터 서비스를 위한 어플리케이션 정보를 검출하는 방법으로는 component_tag, original_network_id, transport_stream_id, service_id가 사용되어 검출될 수 있다. 상기 component_tag는 해당 Object Carousel의 DSI를 운반하는 elementary stream을 지칭하며, 상기 original_network_id는 transport connection을 제공하는 TS의 DVB-SI original_network_id를 지칭한다. 또한 상기 transport_stream_id는 transport connection을 제공하는 TS의 MPEG TS를 지칭하며, 상기 service_id는 transport connection을 제공하는 서비스의 DVB-SI를 지칭한다. 상기 original_network_id, transport_stream_id, service_id가 이용되어 특정 채널에 대한 정보를 얻을 수 있다. 이상과 같은 정보를 이용하여 검출된 데이터 서비스를 위한 데이터, 예컨대 어플리케이션에 대한 데이터는 SI 및/또는 데이터 복호기(6010)에 의해 제2 저장부(6011)에 저장될 수 있다.
상기 SI 및/또는 데이터 복호기(6010)는 역다중화된 모바일 서비스 데이터를 구성하는 DSM-CC 섹션을 파싱하고, 파싱 결과인 모바일 서비스 데이터를 상기 제2 저장부(6011)에 데이터베이스화한다.
상기 SI 및/또는 데이터 복호기(6010)는 동일한 테이블 식별자(table_id)를 갖는 섹션들을 모아 테이블을 구성하여 파싱하고, 파싱 결과인 시스템 정보를 제2 저장부(6011)에 데이터베이스화한다.
이때 상기 SI 및/또는 데이터 복호기(6010)는 파싱을 함에 있어서, 상기 역다중화기(6003)에서 섹션 필터링하지 않거나 그렇지 못한 나머지 액츄얼 섹션 데이 터(actual section data) 부분을 모두 읽어서, 상기 제2 저장부(6011)에 저장한다. 상기 제2 저장부(6011)는 테이블에서 파싱된 시스템 정보와 DSM-CC 섹션에서 파싱된 모바일 서비스 데이터를 저장하는 테이블 및 데이터/오브젝트 캐로젤 데이터베이스이다.
여기서, 하나의 테이블이 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 테이블 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다. 예를 들어, VCT의 PID를 갖는 TS 패킷만을 모으면 섹션이 되고, VCT에 할당된 테이블 식별자를 갖는 섹션들을 모으면 VCT가 된다.
상기 VCT를 파싱하면 모바일 서비스 데이터가 전송되는 가상 채널에 대한 정보를 얻을 수 있다.
또한, 본 발명에 따르면, SI 및/또는 데이터 복호기(6010)는 VCT의 SLD를 파싱하여 해당 elementary stream의 스트림 타입 정보를 오디오 혹은 비디오 복호기(6004,6005)에 전송한다. 이 경우, 해당 오디오 혹은 비디오 복호기(6004,6005)는 전송된 스트림 타입 정보를 이용하여 오디오 혹은 비디오 디코딩 작업을 수행한다.
또한, 본 발명에 따르면, SI 및/또는 데이터 복호기(6010)는 EIT의 AC-3 audio descriptor, MPEG 2 audio descriptor, MPEG 4 audio descriptor, AAC descriptor, AAC+ descriptor, HE AAC descriptor, AAC SBR descriptor, MPEG surround descriptor, BSAC descriptor, MPEG 2 video descriptor, MPEG 4 video descriptor, H.264 descriptor, SVC descriptor, VC-1 descriptor 등을 파싱하여 해당 이벤트의 오디오 혹은 비디오 코덱 정보를 오디오 혹은 비디오 복호기(6004,6005)에 전송한다. 이 경우, 해당 오디오 혹은 비디오 복호기(6004,6005)는 전송된 오디오 혹은 비디오 코덱 정보를 이용하여 오디오 혹은 비디오 디코딩 작업을 수행한다.
상기 획득된 데이터 서비스의 어플리케이션 식별 정보, 서비스 컴포넌트 식별 정보, 서비스 정보는 제2 저장부(6011)에 저장될 수도 있고, 데이터 방송 어플리케이션 매니저(6013)로 출력될 수도 있다.
그리고 상기 어플리케이션 식별 정보, 서비스 컴포넌트 식별 정보, 서비스 정보는 상기 데이터 서비스를 위한 데이터를 디코딩하는데 참조가 될 수도 있고, 또는 데이터 서비스를 위한 어플리케이션 프로그램의 구동을 미리 준비시킬 수도 있다.
또한 상기 SI 및/또는 데이터 복호기(6010)는 채널 및 이벤트 관련 정보 테이블인 시스템 정보 테이블의 역다중화를 제어하여, A/V PID 리스트를 채널 매니저(Channel Manager)(6007)로 전송할 수 있다.
상기 채널 매니저(6007)는 채널 맵(Channel Map)(6008)을 참조하여, 시스템 관련 정보 테이블 수신 요청을 상기 SI 및/또는 데이터 복호기(6010)에 할 수 있고, 그 결과를 전송받을 수 있다. 그리고, 상기 채널 매니저(6007)는 상기 튜너(6001)의 채널 튜닝을 제어할 수도 있다.
또한 상기 채널 매니저(6007)는 상기 역다중화기(6003)를 직접 제어하여, A/V PID를 직접 셋팅함으로써, 오디오/비디오 복호기(6004,6005)를 제어할 수도 있 다.
상기 오디오/비디오 복호기(6004,6005)는 메인 서비스 데이터 패킷으로부터 역다중화된 오디오와 비디오를 각각 디코딩하여 출력할 수도 있고, 모바일 서비스 데이터 패킷으로부터 역다중화된 오디오와 비디오를 각각 디코딩하여 출력할 수도 있다. 한편 실시예에 따라서는 모바일 서비스 데이터에 데이터 서비스를 위한 데이터뿐만 아니라 오디오 데이터, 비디오 데이터가 포함될 경우, 역다중화기(6003)에서 역다중화된 오디오 데이터, 비디오 데이터가 오디오 복호기(6004), 비디오 복호기(6005)에서 각각 디코딩될 수 있음은 물론이다. 일 예로, 오디오 복호기(6004)는 AC-3 복호 알고리즘, MPEG 2 audio 복호 알고리즘, MPEG 4 audio 복호 알고리즘, AAC 복호 알고리즘, AAC+ 복호 알고리즘, HE AAC 복호 알고리즘, AAC SBR 복호 알고리즘, MPEG surround 복호 알고리즘, BSAC 복호 알고리즘을 적용하고, 비디오 복호기(6005)는 MPEG 2 video 복호 알고리즘, MPEG 4 video 복호 알고리즘, H.264 복호 알고리즘, SVC 복호 알고리즘, VC-1 복호 알고리즘을 적용하여 복호할 수 있다.
오디오 복호기(6004)는 역다중화기(6003)가 역다중화하여 출력한 오디오 스트림으로부터 오디오 데이터 및 부가 정보를 추출할 수 있다. 그리고 오디오 복호기(6004)는 추출한 오디오 데이터를 상기 부가 정보에 포함된 스케일 펙터 인덱스 정보가 지시하는 스케일 펙터를 기초로 역 스케일링하여 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(6004)는 상기 오디오 데이터를 역양자화하고, 상기 역양자화한 오디오 데이터를 상기 부가 정보에 포함된 식별값이 지시하는 블록길이에 따라 각 블록별로 시간 영역의 신호로 변환하여 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(6004)는 상기 오디오 데이터를 상기 오디오 데이터에 포함된 허프만 테이블 정보 및 영역 구분 정보를 기초로 복호화하여 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(6004)는 역다중화기(6003)가 역다중화하여 출력한 오디오 스트림으로부터 오디오 파라미터를 추출할 수 있다. 그리고 오디오 복호기(6004)는 추출한 오디오 파라미터를 기초로 상기 오디오 스트림에 포함된 서브 프레임 개수 정보를 산출하고, 상기 산출한 서브 프레임 개수 정보를 기초로 상기 서브 프레임 각각의 시작 위치 정보를 산출할 수 있다. 오디오 복호기(6004)는 산출한 시작 위치 정보를 기초로 상기 오디오 파라미터에 따라 상기 서브 프레임에 포함된 오디오 데이터를 복호화할 수 있다.
또한 오디오 복호기(6004)는 역다중화기(6003)가 역다중화하여 출력한 오디오 스트림으로부터 오디오 데이터 및 부가 정보를 추출하고, 상기 부가 정보를 기초로 상기 오디오 데이터를 역양자화하고, 상기 역 양자화된 오디오 데이터에 포함된 미드 데이터 및 사이드 데이터를 기초로 스테레오 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(6004)는 역다중화기(6003)가 역다중화하여 출력한 오디오 스트림으로부터 파라미터를 추출하고 상기 추출한 파라미터를 복호화하여 확장 영역의 오디오 신호를 복원할 수 있다. 여기서 오디오 복호기(6004)는 상기 추출한 파라미터를 ACELP(Algebraic Code Excited Linear Prediction) 및 TCX(Transform Coded Excitation)에 따라 복호화하여 확장 영역의 오디오 신호를 복원할 수 있다. 만일 상기 파라미터가 SBR(Spectral Band Replication)를 포함하는 경우에는, 오디오 복호기(6004)는 상기 파라미터를 복호화하여 모노 채널의 고주파 영역의 오디오 신호를 복원할 수 있다.
한편 상기 네이티브 TV 어플리케이션 매니저(6006)는 제1 저장부(6009)에 저장된 네이티브 어플리케이션 프로그램을 구동시켜, 채널 전환과 같은 일반적인 기능을 수행한다. 상기 네이티브 어플리케이션 프로그램은 수신 시스템의 출하시에 내장되는 소프트웨어를 의미한다.
즉, 상기 네이티브 TV 어플리케이션 매니저(6006)는 유저 인터페이스(User Interface ; UI)를 통해 수신 시스템으로 사용자 요청이 있는 경우, 스크린 상의 그래픽 유저 인터페이스(Graphic User Interface ; GUI)로 디스플레이하여 사용자의 요구에 응한다.
상기 유저 인터페이스는 리모콘, 키패드, 조그 다이얼, 스크린 상에 구비된 터치 스크린 등과 같은 입력 장치를 통해 사용자 요청을 입력받아 네이티브 TV 어플리케이션 매니저(6006), 데이터 방송 어플리케이션 매니저(6013) 등으로 출력한다.
또한, 상기 네이티브 TV 애플리케이션 매니저(6006)는 채널 매니저(6007)를 제어하여 채널 관련 운영 즉, 채널 맵(6008)의 관리 및 SI 및/또는 데이터 복호기(6010)를 제어한다. 그리고 상기 네이티브 TV 애플리케이션 매니저(6006)는 수신 시스템 전체의 GUI 제어, 사용자 요구 및 상기 수신 시스템의 상태를 제1 저장 부(6009)에 저장 및 복원한다.
상기 채널 매니저(6007)는 상기 튜너(6001)와 SI 및/또는 데이터 복호기(6010)를 제어하여 사용자의 채널 요구에 응할 수 있도록 채널 맵(6008)을 관리한다.
즉, 상기 채널 매니저(6007)는 튜닝(tuning)할 채널에 관련된 테이블을 파싱(parsing)하도록 SI 및/또는 데이터 복호기(6010)에 요구하고, 상기 SI 및/또는 데이터 복호기(6010)로부터 상기 테이블을 파싱한 결과를 보고 받는다. 그리고 상기 채널 매니저(6007)는 상기 보고된 파싱 결과에 따라 상기 채널 맵(6008)을 업데이트(update)하고, 모바일 서비스 데이터로부터 데이터 서비스를 위한 데이터와 관련 테이블을 역다중화하기 위한 PID를 상기 역다중화기(6003)에 설정한다.
상기 시스템 매니저(6012)는 전원 온 및 오프에 의해 수신 시스템의 부팅을 제어하고, 롬 이미지(다운로드된 소프트웨어 이미지를 포함)를 제1 저장부(6009)에 저장한다.
즉, 상기 제1 저장부(6009)는 수신 시스템의운용에 필요한 OS(operating system) 등의 운용 프로그램과 데이터 서비스 기능을 수행하는 어플리케이션 프로그램(application program)을 저장한다.
상기 어플리케이션 프로그램은 제2 저장부(6011)에 저장된 데이터 서비스를 위한 데이터를 처리하여 사용자에게 데이터 서비스를 제공하기 위한 프로그램이다. 제2 저장부(6011)에 데이터 서비스를 위한 데이터가 저장되어 있다면 상기 어플리케이션 프로그램 또는 다른 어플리케이션 프로그램에 의해 처리되어 사용자에게 제 공된다.
상기 제1 저장부(6009)에 저장된 운영 프로그램과 어플리케이션 프로그램은 다운로드되는 새로운 프로그램으로 갱신 또는 수정될 수 있다. 또한 저장된 운영 프로그램과 어플리케이션 프로그램은 동작 전원의 공급이 차단되어도 지워지지 않고 계속 저장되므로, 동작 전원이 인가되면 새로이 다운로드받지 않고도 수행될 수 있다.
본 발명에 따른 데이터 서비스를 제공하기위한 어플리케이션 프로그램은 수신 시스템의 출하시에 제1 저장부(6009)에 내장될 수도 있고, 이후 다운로드를 통해 제1 저장부(6009)에 저장될 수도 있다. 또한 상기 제1 저장부(6009)에 저장된 데이터서비스를 위한 어플리케이션 프로그램 즉, 데이터 서비스 제공 어플리케이션 프로그램은 삭제, 갱신, 수정이 가능하다. 또한 상기 데이터서비스 제공 어플리케이션 프로그램은 데이터 서비스를 위한 데이터가수신될 때마다 데이터 서비스를 위한 데이터와 함께 다운로드되어 실행될 수도 있다.
상기 데이터 방송 어플리케이션 매니저(6013)는 유저 인터페이스(UI: User Interface)에 의해 데이터 서비스 요청이 있는 경우, 제1 저장부(6009)에 저장된 해당 어플리케이션 프로그램을 구동시켜 요청된 데이터를 처리함에 의해 사용자에게 데이터 서비스를 제공한다. 그리고 이러한 데이터 서비스를 위해 상기 데이터 방송 어플리케이션 매니저(6013)는 GUI를 지원한다. 여기서 데이터 서비스는 문자, 음성, 그래픽, 정지 영상, 동영상 등의 형태로 제공된다.
상기 데이터 방송 어플리케이션 매니저는 제1 저장부(6009)에 저장된 어플리 케이션 프로그램을 실행시키기 위한 플랫폼을 구비할 수 있다. 상기 플랫폼은 일 예로, 자바(Java) 프로그램을 실행시키기 위한 자바 버츄얼 머신(Java Virtual Machine)이 될 수 있다.
다음은 상기 데이터 방송 어플리케이션 매니저(6013)에서 제1 저장부(6009)에 저장된 데이터 서비스 제공 어플리케이션 프로그램을 실행시켜, 제2 저장부(6011)에 저장된 데이터 서비스를 위한 데이터를 처리함에 의해 사용자에게 데이터 서비스를 제공하는 예를 설명한다.
예를 들어, 상기 데이터 서비스가 교통 정보 서비스라고 가정하면, 본 발명의 데이터 서비스는 전자지도 혹은 GPS가 장착되지 않았거나, 전자지도와 GPS가 모두 장착되지 않은 수신기에서 문자, 음성, 그래픽, 정지영상, 동영상 중 적어도 하나를 통해 사용자들에게 제공된다. 이 경우 도 66과 같은 수신 시스템에 GPS 모듈(6020)이 장착되어 있다면, 상기 GPS 모듈(6020)은 복수의 저궤도 위성으로부터 송신되는 위성 신호를 수신하여 현재 위치 정보(경도, 위도, 고도)를 추출한 후 데이터 방송 어플리케이션 매니저(6013)로 출력한다. 이때 각 링크 및 노드에 대한 정보를 포함하는 전자 지도와 다양한 그래픽 정보가 제2 저장부(6011) 또는 제1 저장부(6009)나 도시되지 않은 다른 저장부에 저장되어 있다고 가정한다.
즉, 상기 데이터 방송 어플리케이션 매니저(6013)의 요청에 의해, 상기 제2 저장부(6011)에 저장된 데이터 서비스를 위한 데이터는 독출되어 데이터 방송 어플리케이션 매니저(6013)로 입력된다.
상기 데이터 방송 어플리케이션 매니저(6013)는 제2 저장부(6011)로부터 읽 어 온 데이터 서비스를 위한 데이터를 해석하여 그 메시지 내용에 따른 필요한 정보 및/또는 제어 신호를 추출한다. 즉 상기 데이터 방송 어플리케이션 매니저(6013)는 현재 위치 정보 및 그래픽 정보를 이용하여, 사용자에게 현재 위치 정보를 그래픽으로 제공하도록 처리한다.
도 72는 본 발명의 다른 실시예에 따른 디지털 방송 수신 시스템의 구성 블록도이다.
도 72의 수신 시스템은 튜너(7001), 복조부(7002), 역다중화기(7003), 제 1 디스크램블러(7004), 오디오 복호기(7005), 비디오 복호기(7006), 제 2 디스크램블러(7007), 인증 수단(7008), 네이티브 TV 어플리케이션 매니저(7009), 채널 매니저(7010), 채널 맵(7011), 제1 저장부(7012), SI 및/또는 데이터 복호기(7013), 제2 저장부(7014), 시스템 매니저(7015), 데이터 방송 어플리케이션 매니저(7016), 저장 제어부(storage controller)(7017), 제3 저장부(7018), 및 통신 모듈(7019), GPS 모듈(7020)을 포함할 수 있다. 상기 제1 저장부(7012)는 비휘발성 메모리(NVRAM)(또는 플래시 메모리)이다. 상기 제3 저장부(7018)는 하드 디스크 드라이브(HDD), 메모리 칩과 같은 대용량 저장 장치이다. 또한, 상기 도 72을 구성하는 각 부분에 대한 설명 중 도 66과 중복되는 부분은 상술한 도 66의 내용을 원용하며 기에서는 생략한다.
한편 송신측에서는 방송망을 이용하여 전송되는 모바일 서비스 및/또는 메인 서비스 데이터에 대한 불법 복사나 불법 시청을 방지하기 위한 서비스 또는 유료 방송 서비스를 제공하기위해 방송 콘텐츠를 스크램블하여 송출할 수 있다.
이 경우 수신 시스템에서는 상기 스크램블된 방송 콘텐츠를 디스크램블하여야만 사용자에게 제대로 된 방송 콘텐츠를 제공할 수 있다. 또한, 수신 시스템은 상기 디스크램블 이전에 인증 수단에 의한 인증 절차를 거칠 수 있다.
이하에서는 본 발명의 일실시예에 따라 인증 수단과 디스크램블 수단을 구비하는 수신 시스템에 대해 설명한다.
본 발명에 따른 수신 시스템은 스크램블된 방송 콘텐츠를 수신하여 디스크램블하는 수단과 상기 디스크램블과 관련하여 해당 수신 시스템이 수신 자격이 있는 정당한 수신 시스템인지를 인증하는 수단을 구비할 수 있다.
이하에서는 설명의 편의를 위해 상기 디스크램블하는 수단은 디스크램블러(7004, 7007), 상기 인증하는 수단은 인증 수단(7008)으로 명명한다. 이러한 명칭은 일실시예 일 뿐 다른 명칭, 예컨대 디크립터(decrypter)라고 명명될 수도 있다.
이때, 도 72의 수신 시스템은 상기 디스크램블러(7004, 7007)와 인증 수단(7008)을 내부에 구비하고 있는 것을 일 실시예로 도시하였으나, 외부 모듈에 별도로 구비할 수도 있다. 또한, 상기 디스크램블러(7004, 7007)와 인증 수단(7008)을 각각 내부 또는 외부 모듈에 별개로 구비할 수도 있다. 상기 모듈은 SD나 CF 메모리와 같은 슬롯 형태, 메모리 스틱 형태, USB 형태 등이 가능하며, 수신 시스템에 착탈할 수 있다.
상기 수신 시스템은 상술한 바와 같이, 인증 수단(7008)을 통해 인증에 성공하면, 스크램블된 방송 콘텐츠를 디스크램블러(7004, 7007)에서 디스크램블하여 사 용자에게 제공할 수 있다. 이때, 상기 인증 방법과 디스크램블 방법은 다양한 방식을 이용할 수 있다. 그러나 그 경우에 송/수신간에 미리 정한 약속에 의하여야 할 것이다.
이하에서는 설명의 편의를 위해 인증 방법과 디스크램블 방법의 몇 가지 실시예를 설명하고, 중복되는 설명 부분은 생략하겠다. 그러나 본 발명은 상술한 몇 가지 실시예에 한정되지 않으며, 당업자에게 자명한 기술 사상에까지 본 발명에 포함됨을 밝혀둔다.
먼저, 상기 수신 시스템에 인증 수단(7008)과 디스크램블러(7004, 7007)가 구비된 경우에 대해 설명하면, 다음과 같다.
상기 수신 시스템은 튜너(7001)와 복조부(7002)를 통해 스크램블된 방송 콘텐츠를 수신하고, 시스템 매니저(7015)는 상기 수신한 방송 콘텐츠의 스크램블 여부를 판단한다. 그리고 상기 판단 결과 방송 콘텐츠가 스크램블되었으면, 상기 인증 수단(7008)을 동작시키도록 제어한다.
상기 인증 수단(7008)은 상술한 바와 같이 해당 수신 시스템이 유료 방송 서비스를 수신할 수 있는 자격이 있는 정당한 호스트인지 판단하기 위해 인증 절차를 거친다. 이때, 상기 인증 절차는 다양한 인증 방법에 따라 제각각일 것이다.
일 실시예로, 상기 인증 수단(7008)은 수신하는 방송 콘텐츠 내 IP 데이터그램의 IP 어드레스와 해당 호스트의 고유한 주소를 비교하는 방식으로 인증할 수 있다. 이때, 상기 해당 수신 시스템의 고유한 주소는 MAC 어드레스일 수 있다. 즉, 상기 인증 수단(7008)은 디캡슐화된 IP 데이터그램에서 IP 어드레스를 추출하여 해 당 어드레스와 매핑되는 수신 시스템 정보를 얻는다. 이때, 수신 시스템은 IP 어드레스와 수신 시스템 정보를 매핑할 수 있는 정보(예를 들면, 테이블 형식)를 미리 구비하고 있어야 한다.
그러므로, 상기 인증 수단(7008)은 해당 수신 시스템의 주소와 IP 어드레스와 매핑되는 수신 시스템 정보의 동일성을 판단하여 인증 절차를 수행한다. 즉, 상기 인증 수단(7008)은 판단 결과 두 정보가 동일하면, 해당 수신 시스템은 수신 자격이 있는 정당한 수신 시스템으로 판단할 수 있다.
다른 실시예로는, 송수신측에서 미리 표준화된 식별 정보를 정의하고 유료 방송 서비스를 신청한 수신 시스템의 식별 정보를 송신측에서 전송하고 수신 시스템에서는 자신의 식별 번호와 동일성 판단을 거쳐 인증 절차를 수행하는 방법이 있다. 즉, 송신측은 유료 방송 서비스를 신청한 해당 수신 시스템의 고유의 식별 정보(번호)를 데이터베이스를 생성하여 저장하고, 방송 콘텐츠를 스크램블하는 경우에 EMM(Entitlement Management Message)에 상기 식별 정보를 포함하여 전송한다.
그리고 해당 방송 콘텐츠가 스크램블될 때, 상기 스크램블에 적용된 CAS(Conditional Access System) 정보, 모드 정보, 메시지 위치 정보와 같은 메시지(예를 들면, ECM, EMM)가 해당 데이터 헤더나 다른 패킷을 통해 전송된다. 상기 ECM(Entitlement Control Message)은 스크램블에 사용된 제어 단어(CW)를 포함할 수 있다. 이때 상기 제어 단어는 인증키로 암호화되어 있을 수 있다. 상기 EMM은 해당 데이터의 인증키와 자격 정보를 포함할 수 있다. 상기 인증키는 수신자 고유의 분배키로 암호화되어 있을 수 있다. 즉, 모바일 서비스 데이터가 제어 워드(CW) 를 이용하여 스크램블되어 있고, 인증을 위한 정보와 디스크램블을 위한 정보가 송신측에서 전송된다고 가정하자. 그러면, 송신측에서는 상기 CW를 인증키로 암호화한 후 자격 제어 메시지(ECM)에 포함하여 전송한다. 또한 송신측에서는 상기 CW를 암호화하는데 사용된 인증키와 수신 시스템의 수신 자격(예, 수신 자격이 있는 수신 시스템의 표준화된 시리얼 번호)을 자격 관리 메시지(EMM)에 포함하여 전송한다.
따라서, 수신 시스템의 인증 수단(7008)은 해당 수신 시스템 고유의 식별 정보를 추출하고, 수신하는 방송 서비스의 EMM에 포함된 식별 정보를 추출하여 두 식별 정보의 동일성 여부를 판단하여 인증 절차를 수행한다. 즉, 상기 인증 수단(7008)은 판단 결과 두 정보가 동일하면, 해당 수신 시스템은 수신 자격이 있는 정당한 수신 시스템으로 판단할 수 있다.
또 다른 실시예로는, 수신 시스템은 착탈 가능한 외부 모듈에 상기 인증 수단(7008)을 구비할 수 있다. 이때, 상기 수신 시스템과 외부 모듈은 공통 인터페이스(common interface; CI)를 통해 인터페이싱한다. 즉, 외부 모듈은 공통 인터페이스를 통해 수신 시스템으로부터 스크램블된 데이터를 수신하여 디스크램블을 수행할 수도 있으며, 디스크램블에 필요한 정보만을 상기 수신 시스템으로 전송할 수도 있다.
또한, 상기 공통 인터페이스는 물리적 계층과 하나 이상의 프로토콜 계층으로 구성하며, 해당 프로토콜 계층은 추후 확장성을 고려하여 각각 독립된 기능을 제공하는1개 이상의 계층을 포함하는 구조를 가질 수 있다.
상기 외부 모듈은 스크램블에 사용된 키 정보와 인증 정보들을 저장하고 있으면서 디스크램블 기능은 없는 메모리 또는 카드이거나 디스크램블 기능을 포함한 카드일 수 있다. 즉, 상기 모듈은 하드웨어, 미들웨어 또는 소프트웨어 형태로 디스크램블 기능을 포함할 수 있다.
이때 수신 시스템과 외부 모듈은 송신측에서 제공하는 유료 방송 서비스를 사용자에게 제공하기 위해 각각 인증을 받아야 한다. 따라서, 송신측은 상기 인증을 받은 수신 시스템과 모듈 페어에만 유료 방송 서비스를 제공할 수도 있다.
이와 함께 상기 수신 시스템과 외부 모듈은 공통 인터페이스를 통해 서로 상호 인증이 필요하다. 즉, 상기 모듈은 공통 인터페이스를 통해 수신 시스템 내 시스템 매니저(7015)와 통신하여 수신 시스템을 인증할 수 있으며, 수신 시스템은 공통 인터페이스를 통해서 모듈을 인증할 수 있다. 그리고 상기 모듈은 상기 상호 인증 과정에서 수신 시스템의 고유 ID와 자신의 고유 ID를 추출하여 송신측으로 전송할 수 있으며, 송신측은 상기 값을 이용하여 서비스 시작 여부 및 과금 정보로 사용할 수 있다. 상기 시스템 매니저(7015)는 필요한 경우 상기 과금 정보를 통신 모듈(7019)을 통해 원격지의 송신측으로 전송할 수 있다.
상기 인증 수단(7008)은 해당 수신 시스템 및/또는 외부 모듈을 인증하고, 상기 인증에 성공하면 해당 수신 시스템을 유료 방송 서비스를 수신할 수 있는 자격이 있는 정당한 수신 시스템으로 인정한다. 또한, 상기 인증 수단(7008)은 방송 콘텐츠를 제공하는 송신측이 아닌 수신 시스템 사용자가 가입한 이동통신사로부터 인증 관련 데이터를 수신할 수 있다. 이때, 상기 인증 관련 데이터는 방송 콘텐츠 를 제공하는 송신측에서 스크램블하여 이동통신사를 거쳐 전송하거나 이동통신사에서 스크램블하여 전송할 수 있을 것이다.
상기 인증 수단(7008)에서 인증 절차를 거쳐 인증에 성공하면, 수신 시스템은 스크램블되어 수신된 방송 콘텐츠를 디스크램블할 수 있다. 이때, 상기 디스크램블은 디스크램블러(7004, 7007)에서 이루어지며, 상기 디스크램블러(7004, 7007)는 수신 시스템 내부 또는 외부 모듈에 구비될 수 있다.
또한, 수신 시스템은 공통 인터페이스를 구비하고 디스크램블러(7004, 7007)를 포함한 외부 모듈과 통신하여 디스크램블할 수 있다. 즉, 디스크램블러(7004, 7007)는 하드웨어나 미들웨어 또는 소프트웨어 형태로 상기 모듈에 포함되거나 수신 시스템 내부에 포함할 수 있으며, 상기 모듈과 수신 시스템 모두 포함하거나 어느 하나에만 포함할 수도 있다.
만일 상기 디스크램블러(7004, 7007)가 수신 시스템 내부에 구비되었다면, 송신측(서비스 사업자와 방송국 중 적어도 하나를 포함)에서 동일한 스크램블 방법으로 데이터를 스크램블하여 전송하는 경우에 유리하다.
한편, 상기 디스크램블러(7004, 7007)가 외부 모듈에 포함되었다면, 송신측마다 서로 다른 스크램블 방법으로 데이터를 스크램블하여 전송하는 경우에 유리하다. 이 경우 수신 시스템은 각 송신단의 디스크램블 알고리즘을 구비하지 않아도 되어 더욱 단순화 및 소형화시킬 수 있다. 따라서, 이 경우에는 상기 외부 모듈이 각 송신측이 독점적으로 제공하는 CA 기능 및 사용자에게 제공할 각종 서비스들을 위한 기능을 제공하는 주체가 될 수 있다.
그리고 상기 공통 인터페이스는 여러 종류의 외부 모듈과 수신 시스템 내 시스템 매니저(7015) 간에 단일 방식으로 통신한다. 또한, 수신 시스템은 서로 다른 서비스를 제공하는 적어도 하나 이상의 모듈이 동시에 연결되어 동작 할 수 있기 때문에 복수 개의 모듈과 시스템 매니저(7015)를 연결할 수 있는 구조를 가진다.
또한, 상기 수신 시스템과 외부 모듈간의공통 인터페이스 프로토콜에는 상호간 정상적인통신을 유지하기 위해, 상대방의 상태를 주기적으로 검사하는 기능을 포함한다. 상기 수신 시스템과 모듈은 이러한 기능을 사용하여 상대방의 상태를 관리하고 만약 어느 하나가 오동작을 하면 이를 사용자나 송신측에 리포트(report)하고 복구(recovery)를 시도하는 기능을 포함한다.
또 다른 실시예로는, 하드웨어에 종속하지 않고 소프트웨어적으로 인증 절차를 수행할 수 있다.
즉, 수신 시스템은 CAS 소프트웨어를 다운로드 등을 통해 미리 저장한 메모리 카드가 삽입되면, 상기 메모리 카드로부터 상기 CAS 소프트웨어를 수신하여 로딩하고 인증 절차를 수행한다. 상기 메모리 카드로부터 읽어 온 CAS 소프트웨어는 수신 시스템 내 제 1 저장부(7012)에 탑재시키고 하나의 애플리케이션 형태로 구동하는 것을 일 실시예로 한다. 특히, 본 발명에서는 미들웨어기반 위에 상기 CAS 소프트웨어를 탑재하고 실행시키는 것을 일 실시예로 한다. 또한, 상기 미들웨어는 자바(JAVA) 미들웨어를 일 예로 하여 설명한다.
이를 위해 수신 시스템은 메모리 카드와 접속하기 위해 공통 인터페이스를 구비할 수 있으며, 상기 제 1 저장부(7012)는 휘발성 메모리, 비휘발성 메모리 및 플래시 메모리(또는 플래시 롬이라고도 함)일 수 있다. 이때 상기 메모리카드는 주로 플래시 메모리 또는 소형 하드를 사용한다. 상기 메모리카드는 저장되는 CAS 소프트웨어의 내용, 인증, 스크램블, 과금 방식 등에 따라 적어도 하나 이상의 수신 시스템에서 사용할 수 있다.
그러나 상기 CAS 소프트웨어는 적어도 인증에 필요한 정보와 디스크램블에 필요한 정보를 포함하여야 한다.
따라서, 상기 인증 수단(7008)은 송신측과 수신 시스템 및 수신 시스템과 메모리 카드 간에 인증 절차를 수행한다. 이때, 상기에서 설명한 것과 유사하게 메모리 카드는 수신 자격이 있는 것으로 인증 가능한 정상 수신 시스템에 대한 정보를 포함할 수 있다. 예를 들어, 상기 수신 시스템에 대한 정보는 해당 수신 시스템에 대해 표준화된 시리얼 번호와 같은 고유 정보를 들 수 있다. 따라서, 상기 인증 수단(7008)은 상기 메모리카드에 포함된 표준화된 시리얼 번호와 같은 고유 정보와 해당 수신 시스템의 고유 정보를 비교하여 메모리카드와 수신 시스템 간에 인증을 수행할 수 있다.
상기 CAS 소프트웨어는 자바 미들웨어 기반에서 동작하게 되면 먼저, 수신 시스템과 메모리카드 간에 인증을 수행한다. 예를 들어, CAS 소프트웨어에 포함된 수신 시스템의 고유 번호와 상기 수신 시스템의 시스템 매니저(7015)로부터 읽어 온 수신 시스템의 고유 번호가 동일한지를 확인하여 동일하면 상기 메모리카드는 상기 수신 시스템에서 사용 가능한 정상적인 메모리카드로 확인된다. 이때, 상기 CAS 소프트웨어는 수신 시스템의 출하시에 제 1 저장부(7015)에 내장될 수도 있고, 송신측이나 상기와 같이 모듈 내지 메모리카드로부터 제 1 저장부(7015)로 다운로드받을 수 있다. 그러면 상기 디스크램블 기능은 데이터 방송 애플리케이션 매니저(7009)에 의해 하나의 애플리케이션 형태로 동작하게 할 수 있다.
이후 상기 CAS 소프트웨어는 역다중화기(7003)에서 출력하는 EMM/ECM 패킷을 파싱하여 해당 수신기가 수신 자격이 있는지를 확인하여 디스크램블에 필요한 정보(즉, CW)를 구하여 디스크램블러(7004, 7007)에 제공한다. 즉, 자바 미들웨어 기반에서 동작하는 CAS 소프트웨어는 먼저 수신 시스템으로부터 해당 수신 시스템의 고유 번호를 읽어 와 상기 EMM으로 전송된 수신 시스템의 고유 번호를 비교하여 현 수신 시스템의 수신 자격을 확인한다.
그리고 수신 시스템의 수신 자격이 확인되면 ECM으로 전송된 해당 방송 서비스 정보와 해당 방송 서비스의 수신 자격을 이용하여 상기 수신 시스템이 해당 방송 서비스를 수신할 수 있는 자격이 있는지를 확인한다. 상기 방송 서비스를 수신할 수 있는 자격이 확인되면 상기 EMM으로 전송된 인증키를 이용하여 ECM으로 전송되는 암호화된CW를 해독한 후 디스크램블러(7004, 7007)로 출력한다. 상기 디스크램블러(7004, 7007)는 상기 CW를 이용하여 방송 서비스를 디스크램블한다.
한편 상기 메모리카드에 저장되는 CAS 소프트웨어는 방송국에서 제공하려는 유료 서비스에 따라 확장 가능하다. 또한 상기 CAS 소프트웨어는 인증 및 디스크램블에 관련된 정보뿐만 아니라 다른 부가 정보도 포함할 수 있다.
그리고 수신 시스템은 송신측으로부터 CAS 소프트웨어를 다운로드받아 상기 메모리카드에 저장된 CAS 소프트웨어를 업그레이드할 수도 있다.
이와 같이 본 발명은 어떠한 형태의 방송 수신기이든지 외부 메모리 인터페이스만 제공된다면 수신 시스템에 착탈 가능한 모든 메모리카드를 만족하는 방식으로 CAS 시스템을 구현함으로써, 방송과 같은 유료 방송 콘텐츠를 수신할 수 있는 수신 시스템에서 최소의 비용으로 최대의 기능을 구현하고, 수신 시스템의 다양성을 존중할 수 있다.
또한, 구현 방식에 있어서 최소 애플리케이션 프로그램 인터페이스(API)만 구현하면 되므로 수신 시스템 제조사의 부담을 최소화하고, CAS 업체에 종속할 수밖에 없었던 부분을 제거할 수 있다. 이로 인해 송신측의 CAS 장비 구축 및 운영 시스템을 위한 비용도 최소화할 수 있게 된다.
한편, 상기 디스크램블러(7004, 7007)는 하드웨어나 소프트웨어 형태로 상기 모듈에 포함될 수도 있으며, 이 경우 스크램블되어 수신되는 데이터는 상기 모듈에서 디스크램블된 후 복호가 이루어질 수 있다.
또한 스크램블되어 수신되는 데이터를 상기 제 3 저장부(7018)에 저장하는 경우, 상기 스크램블된 데이터를 디스크램블하여 저장할 수도 있고, 스크램블된 데이터를 그대로 저장한 후 재생시에 디스크램블할 수도 있다. 그리고 상기 저장 제어부(7017)에 스크램블/디스크램블 알고리즘이 구비되어 있는 경우, 상기 저장 제어부(7017)는 스크램블되어 수신되는 데이터를 다시 한 번 스크램블하여 상기 제 3 저장부(7018)에 저장할 수도 있다.
또 다른 실시예로는, 디스크램블링된(수신 제한된) 방송 콘텐츠는 방송망을 통해 송신하고, 상기 수신 제한을 풀기 위한 인증, 디스크램블 관련 정보 등은 통 신 모듈(7019)을 통해 송수신하여 수신 시스템에서 양방향 통신이 가능하도록 한다.
수신 시스템은 원격지에 위치한 송신측과 송수신을 원하는 방송 데이터와 상기 방송 데이터를 전송하는 수신 시스템을 송신측에서 인식할 수 있도록 해당 수신 시스템의 시리얼 번호나 MAC 어드레스와 같은 고유 정보(ID)를 송신측 내 통신 모듈로 전달하거나 송신측 내 통신 모듈로부터 제공받는다.
수신 시스템 내 통신 모듈(7019)은 양방향 통신 기능을 지원하지 않는 수신 시스템에서 송신측 내 통신 모듈과 양방향 통신을 수행하기 위해 필요한 프로토콜을 제공한다.
그리고 수신 시스템은 전송하고자 하는 데이터와 고유 정보(ID)를 포함한 TLV(Tag-Length-Value) 코딩 방법을 사용하여 PDU(Protocol Data Unit)를 구성한다. 태그 필드는 해당 PDU의 인덱싱, 길이 필드는 Value 필드의 길이, Value 필드는 전송할 실제 데이터와 수신 시스템 고유 번호(ID)를 포함한다.
만약 수신 시스템이 자바 플랫폼(Java Platform)을 장착하고 송신측의 자바 애플리케이션(Java Application)을 네트워크를 통해서 수신 시스템으로 다운로드한 뒤에 동작시키는 플랫폼을 구성하면, 송신측에서 임의로 정의한 태그 필드를 포함하는 PDU를 수신 시스템 내 저장 매체 등에서 다운로드한 뒤 통신 모듈(7019)로 전송하는 구조도 가능하다.
이 경우 상기 PDU는 수신 시스템 내 자바 애플리케이션에서 PDU를 구성하여 통신 모듈(7019)로 출력할 수 있다. 또는 상기 자바 애플리케이션에서 태그 값, 전 송할 실제 데이터와 해당 수신 시스템의 고유 정보를 전송하고, 수신 시스템 내에서 TLV 코딩을 통해 PDU를 구성할 수도 있다.
이러한 구조의 장점은 송신측이 원하는 데이터(또는 애플리케이션)가 추가되더라도 수신 시스템의 펌웨어(firmware)는 변경할 필요가 없다는 점이다.
이때 송신측 내 통신 모듈은 상기 수신 시스템에서 전송받은 PDU를 무선 데이터 네트워크를 통해 전송하거나 상기 네트워크를 통해 수신한 데이터를 PDU로 구성하여 수신 시스템으로 전송한다. 이때, 송신단 내 통신 모듈은 수신 시스템으로 전송할 PDU를 구성할 때 원격지의 송신측 고유 정보(예를 들어, IP 어드레스 등)를 포함하여 구성할 수도 있다.
이때, 수신 시스템은 무선 데이터 네트워크를 통해 송수신함에 있어서, 공통 인터페이스를 구비하여 CDMA, GSM 등의 이동 통신 기지국을 통해 접속이 가능한 WAP, CDMA 1x EV-DO, 액세스 포인트를 통해 접속이 가능한 무선 LAN, 휴대 인터넷, 와이브로, 와이맥스 등을 구비할 수 있다. 상술한 수신 시스템은 통신 기능이 없는 경우에 해당하나, 통신 기능을 갖춘 수신 시스템의 경우에는 통신 모듈(7019)도 필요 없다.
상술한 무선 데이터 네트워크를 통해 송수신되는 방송 데이터는 수신 제한(CA) 기능을 수행하는데 필요한 데이터를 포함할 수도 있다.
한편 상기 역다중화기(7003)는 복조부(7002)에서 출력되는 리얼 타임 데이터 또는 제3 저장부(7018)에서 독출된 데이터를 입력받아 역다중화를 수행한다. 본 발명에서는 상기 역다중화기(7003)가 모바일 서비스데이터 패킷에 대해서 역다중화를 수행하는 것을 일 실시예로 설명한다. 이에 대한 상세한 설명은 전술한 내용을 원용하고여기에서는 생략한다.
상기 제 1 디스크램블러(7004)는 상기 역다중화기(7003)로부터 역다중화된 신호를 수신하여 디스크램블한다. 이때, 상기 제 1 디스크램블러(7004)는 상기 인증 수단(7008)으로부터인증 결과 내지 디스크램블에 필요한 데이터를 수신하여 디스크램블에 이용할 수 있다.
상기 오디오 복호기(7005)와 비디오 복호기(7006)는 상기 제 1 디스크램블러(7004)에서 디스크램블된 신호를 수신하여 복호하여 출력하거나 또는 상기 제 1 디스크램블러(7004)에서 디스크램블하지 않고 출력한 경우에는 그대로 복호하여 출력한다. 이 경우에는 상기 복호된 신호를 수신하여 제 2 디스크램블러(7007)에서 디스크램블하여 처리할 것이다.
상기 오디오 복호기(7005)는 상기 제 1 디스크램블러(7004)에서 디스크램블된 신호 또는 상기 제 1 디스크램블러(7004)에서 디스크램블하지 않고 출력된 신호를 수신하여 수신한 신호에 포함된 오디오 스트림으로부터 오디오 데이터 및 부가 정보를 추출할 수 있다. 그리고 오디오 복호기(7005)는 추출한 오디오 데이터를 상기 부가 정보에 포함된 스케일 펙터 인덱스 정보가 지시하는 스케일 펙터를 기초로 역 스케일링하여 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(7005)는 상기 오디오 데이터를 역양자화하고, 상기 역양자화한 오디오 데이터를 상기 부가 정보에 포함된 식별값이 지시하는 블록길이에 따라 각 블록별로 시간 영역의 신호로 변환하여 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(7005)는 상기 오디오 데이터를 상기 오디오 데이터에 포함된 허프만 테이블 정보 및 영역 구분 정보를 기초로 복호화하여 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(7005)는 상기 제 1 디스크램블러(7004)에서 디스크램블된 신호 또는 상기 제 1 디스크램블러(7004)에서 디스크램블하지 않고 출력된 신호를 수신하여 수신한 신호에 포함된 오디오 스트림으로부터 오디오 파라미터를 추출할 수 있다. 그리고 오디오 복호기(7005)는 추출한 오디오 파라미터를 기초로 상기 오디오 스트림에 포함된 서브 프레임 개수 정보를 산출하고, 상기 산출한 서브 프레임 개수 정보를 기초로 상기 서브 프레임 각각의 시작 위치 정보를 산출할 수 있다. 오디오 복호기(7005)는 산출한 시작 위치 정보를 기초로 상기 오디오 파라미터에 따라 상기 서브 프레임에 포함된 오디오 데이터를 복호화할 수 있다.
또한 오디오 복호기(7005)는 상기 제 1 디스크램블러(7004)에서 디스크램블된 신호 또는 상기 제 1 디스크램블러(7004)에서 디스크램블하지 않고 출력된 신호를 수신하여 수신한 신호에 포함된 오디오 스트림으로부터 오디오 데이터 및 부가 정보를 추출할 수 있다. 그리고 오디오 복호기(7005)는 상기 부가 정보를 기초로 상기 오디오 데이터를 역양자화하고, 상기 역 양자화된 오디오 데이터에 포함된 미드 데이터 및 사이드 데이터를 기초로 스테레오 오디오 신호를 복원할 수 있다.
또한 오디오 복호기(7005)는 상기 제 1 디스크램블러(7004)에서 디스크램블된 신호 또는 상기 제 1 디스크램블러(7004)에서 디스크램블하지 않고 출력된 신호를 수신하여 수신한 신호에 포함된 오디오 스트림으로부터 파라미터를 추출하고 상 기 추출한 파라미터를 복호화하여 확장 영역의 오디오 신호를 복원할 수 있다. 여기서 오디오 복호기(7005)는 상기 추출한 파라미터를 ACELP(Algebraic Code Excited Linear Prediction) 및 TCX(Transform Coded Excitation)에 따라 복호화하여 확장 영역의 오디오 신호를 복원할 수 있다. 만일 상기 파라미터가 SBR(Spectral Band Replication)를 포함하는 경우에는, 오디오 복호기(7005)는 상기 파라미터를 복호화하여 모노 채널의 고주파 영역의 오디오 신호를 복원할 수 있다.
도 73은 본 발명의 일 실시예에 따른 MPH수신기의 구성 블록도이다. 상기 MPH수신기는 튜너(7300), 복조부(7310), 역다중화기(7320), SI 복호기(7330), 비디오 복호기(7340), 오디오 복호기(7350)를 포함하고, 상기 오디오 복호기(7350)는 파싱부(7351), 코어부(7352), 확장부(7353)를 포함하여 구성된다.
상기 튜너(7300)는 안테나, 케이블, 위성 중 어느 하나를 통해 특정 채널의 주파수를 튜닝하여 중간 주파수(IF) 신호로 다운 컨버전한 후 복조부(7310)로 출력한다. 상기 특정 채널의 주파수로 수신되는 데이터는 메인 서비스 데이터, 모바일 서비스 데이터, 상기 메인 서비스 데이터와 모바일 서비스 데이터의 복호(decoding)를 위한 테이블 데이터 등이 있다.
본 실시예에서는 모바일 서비스 데이터로서 이동형 방송을 위한 오디오 데이터, 비디오 데이터가 적용될 수 있다. 이러한 오디오 데이터, 비디오 데이터는 각종 부호기에 의해 압축되어 방송국으로부터 전송될 것이다. 이 경우, 압축에 사용된 해당 부호기에 대응되어 수신기 내의 비디오, 오디오 복호기(7340, 7350)가 디 코딩을 수행하여 사용자에게 비디오 신호 및 오디오 신호를 제공할 것이다
상기 복조부(7310)는 상기 튜너(7300)에서 출력되는 신호에 대해 VSB 복조, 채널 등화 등을 수행하여 메인 서비스 데이터와 모바일 서비스 데이터로 구분한 후 TS 패킷 단위로 출력한다.
상기 역다중화기(7320)는 복조부(7310)에서 출력되는 데이터를 입력받아 역다중화를 수행한다. 상기 역다중화기(7310)는 상기 SI 복호기(System Information decoder)(7330)의 제어에 의해 입력되는 시스템 정보를 역다중화한다. 상기 시스템 정보는 모바일 서비스 데이터 및 PSI/PSIP 테이블 등을 포함한다. 또한, 상기 시스템 정보는 채널 정보, 이벤트 정보 등을 포함할 수 있다.
본 발명의 실시예에서는 상기 시스템 정보로서PSI/PSIP((Program Specific Information/Program and System Information Protocol) 을 적용하나 본 발명은 이에 한정하는 것은 아니다. 즉 시스템 정보를 테이블 포맷으로 전송하는 프로토콜이라면 그 명칭에 상관없이 본 발명에 적용 가능할 것이다.
상기 비디오/오디오 복호기(7340, 7350)는 메인 서비스 데이터 패킷으로부터 역다중화된 비디오 비트스트림 및 오디오 비트스트림을 각각 디코딩하여 출력할 수도 있고, 모바일 서비스 데이터 패킷으로부터 역다중화된 비디오 비트스트림 및 오디오 비트스트림을 각각 디코딩하여 출력할 수도 있다. 한편 실시예에 따라서는 모바일 서비스 데이터에 데이터 서비스를 위한 데이터뿐만 아니라 비디오 비트스트림, 오디오 비트스트림이 포함될 경우, 역다중화기(7320)에서 역다중화된 비디오 비트스트림, 오디오 비트스트림이 비디오 복호기(7340), 오디오 복호기(7350)에서 각각 디코딩될 수 있다. 여기서 비디오 비트스트림 및 오디오 비트스트림은 각각 비이도 스트림 및 오디오 스트림으로 명명될 수 있다.
상기 오디오 복호기(7350) 내의 파싱부(7351)는 역다중화기(7320)에서 출력된 오디오 비트스트림을 파싱(parsing)하여 오디오 신호의 복호화에 필요한 다양한 파라미터 및 오디오 데이터를 생성한다. 상기 오디오 데이터는 시간 영역의 데이터일 수도 있고, 주파수 영역의 데이터일 수도 있다.
코어부(7352)는 부가 정보를 제외한 오디오 신호를 코딩하는 코덱(codec)을 말한다. 상기 코덱은 디코더뿐만 아니라 오디오 신호를 부호화하는 인코더에서도 사용된다. 상기 코어부는 AAC(Advanced Audio coding), MP3, WMA(Windows Media Audio), OggVorbis, 또는 AC3으로 구성될 수 있으며, 오디오 신호에 대하여 코덱 기능을 수행한다면 기존에 개발된 코덱뿐만 아니라 향후 개발될 코덱을 포함할 수 있다. 상기 코덱부(7352)에서는 오디오 신호를 필터뱅크를 이용하여 처리하며, 오디오 신호를 처리하는데 이용되는 윈도우의 크기를 오디오 신호의 특성에 따라 변화하는 블록스위칭, 오디오 신호에 적용되는 양자화/역양자화 등의 프로세스가 이용된다. 상기 코덱부(7352)에서 수행되는 프로세스는 뒤에서 상세하기 기술된다. 상기 코덱부(7352)는 역다중화부((7320)에서 출력된 파라미터 및 오디오 데이터를 이용하여 시간영역의 오디오 신호를 생성해낸다.
추가적으로 bandwidth의 향상 혹은 채널의 향상을 위해 extension 알고리즘이 선택적으로 적용될 수 있다.
상기 오디오 디코더(7350)는 선택적으로 확장부(7353)를 포함할 수 있으며, 상기 확장부(7353)는 밴드폭의 향상 또는 채널의 향상을 위해 종래의 오디오 신호 포맷에 추가적으로 포함되는 확장 정보를 처리하는 장치를 말한다. 상기 확장 정보는 확장 알고리즘을 위한 파리미터 및 오디오 데이터를 포함한다. 예를 들면, MPEG 2 또는 MPEG 4 오디오 포맷의 부가 정보 영역에 다채널 오디오 신호(Multi-channel Audio Signal)로 재생하기 위한 확장 정보를 포함할 수 있다. 이 경우에 MPEG 2 또는 MPEG 4 오디오 신호와 호환성이 있기 때문에, MPEG 2 또는 MPEG 4 오디오 포맷만을 재생할 수 있는 디코더에도 상기 확장 정보를 포함하는 오디오 신호가 이용될 수 있고, 다채널 오디오 신호를 재생할 수 있는 디코더에도 상기 확장 정보를 포함하는 오디오 신호가 이용될 수 있다.
이렇게 생성된 시간 영역의 오디오 신호는 표본화 주파수와 채널 수에 맞게 출력된다. 이하에서는 오디오 신호의 압축이 필요한 이유 및 상기 오디오 신호를 압축하는데 이용되는 기본적인 원리를 기술한다.
도 74는 오디오 신호를 압축하는 방법 및 상기 방법을 수행하는 오디오 신호 처리 장치를 도시한다. 도 74의 (a)는 인코더에서 오디오 신호를 부호화하여 전송하고, 디코더에서 부호화된 오디오 신호를 복호화하여 오디오 신호를 생성하는 일련의 과정을 나타내는 개략도이고, 도 74의 (b)는 상기 인코더에서 수행되는 오디오 신호 압축 원리를 설명하는 도면이다.
도 74의 (b)를 참조하면, 일반적으로 사람이 들을 수 있는 가청 주파수는 20Hz~20kHz이다. 상기 오디오 신호는 엘리어징 현상을 방지하기 위해 최대 주파수의 2배 이상에 해당되는 주파수로 샘플링된다. 일반적으로 사용되는 샘플링 주파수 는 44.1kHz 또는 48kHz가 이용된다. 일반적으로 오디오 신호 샘플은 16비트로 부호화되기 때문에, 상기 샘플링된 오디오 신호가 양자화 및 부호화 과정을 거치면, 대략 44.1kHz*16bit = 706kbps 또는 48kHz*16bit = 768kbps 의 비트레이트로 전송되어야 한다.
상기 비트레이트는 오디오 신호를 전송하는 현재의 전송 시스템에서는 너무 과도하므로, 비트레이트를 줄일 필요가 있다. 오디오 신호의 인코더(7400)는 상기 비트레이트를 줄이기 위해 다양한 압축방법을 이용한다. 상기 오디오 신호를 압축하면 약 32~384kbps 정도로 비트레이트를 줄일 수 있다. 압축하여 부호화된 오디오 신호는 디지털 채널 또는 저장 매체(7410)를 통해 전송 또는 저장될 수 있다. 오디오 신호의 디코더(7420)는 압축하여 부호화된 오디오 신호를 복호화하여 출력한다.
이처럼 적은 용량에도 고음질의 오디오 신호를 구현할 수 있는 것은 PAC(Perceptual Audio Coding)라는 압축방식을 사용하기 때문이다. PAC(Perceptual Audio Coding)는 오디오 신호를 압축하는데 인간 청각의 인식능력을 고려하여 압축하는 방식인데, 사람의 귀로 들을 수 없는 소리나 소음들을 원래의 음악에서 제거하거나 여러 소리를 합쳐서 압축한다.
이와 같은 압축이 필요한 이유는 1) 지각적 투명도(Perceptual Transparency)를 유지하며 비트레이트를 감소시킬 수 있고, 2) 밴드 폭을 줄여 전송 비용을 감소시킬 수 있으며, 3) 저장 용량(Storage Requirements)을 감소시킬 수 있고, 4) 에러에 대한 강인성(Robustness)을 가질 수 있기 때문이다.
오디오 신호를 압축하는데 이용되는 여러 가지의 PAC 방법들은 개발 업체별 로 사람 귀에 대한 소리인식 모델링, 음역 필터링, 음악 데이터처리들을 각각 다르게 하고 있어 상호간의 호환이 어렵다. 따라서 여러 종류의 압축포맷을 지원하기 위해서는 같은 수만큼의 오디오 디코더를 내장해야 한다. 다양한 압축포맷 중 몇 가지 예를 들면 다음과 같다.
MP-3(MPEG Audio layer 3)은 1990년대 초에 MPEG-1의 오디오 규격으로 개발돼 공개된 기술로 현재까지 네티즌에게 가장 인기 있는 디지털 음악 포맷이다. MP-3의 기술을 이용하면 오디오 신호의 데이터 양을 대략 1/10~1/12까지 압축할 수 있다. 이와 같이 압축된 오디오 파일의 크기는 한 곡에 2~5MB에 불과해 네트워크를 통해 고품질의 음악을 쉽게 주고받을 수 있다.
AAC(Advanced Audio Coding)는 1997년 오디오 압축기술의 선두업체들이 공동으로 개발한 포맷으로, MPEG-2 또는 MPEG-4 오디오 규격으로 개발되었으며, 압축 성능과 품질이 매우 우수한 것으로 평가되고 있다. AAC로 만들어진 오디오 신호의 크기는 MP-3으로 만든 파일보다 파일크기가 작으면서도 음질은 오히려 우수한 것으로 평가돼 차세대 압축기술로 널리 사용될 전망이다. 최대 샘플링 주파수는 96Hz이며, 사용 가능한 채널 수는 최대 48채널이다. MP-3보다 약 1.4배의 압축효율이 높다.
AC-3(Audio Coding-3)은 미국의 돌비(Dolby)연구소에서 개발한 오디오 코딩 방식의 3번째 형태를 말하며, 기존의 MP-3나 AAC와는 다른 개념의 오디오 포맷이다. MP-3나 AAC의 경우 2채널에 기반을 둔 압축 포맷이지만, AC-3의 경우 5.1 채널(5개의 오디오채널과 1개의 저주파효과 채널)을 기반으로 한 입체음향 지원 포맷 이다. AC-3은 전후, 좌우, 중앙에 설치하는 5개의 스피커와 1개의 저주파 전용의 서브 우퍼 스피커가 있다. AC-3가 기존 아날로그 방식의 서라운드 시스템에 대해 가지는 가장 큰 차이점은 각 채널이 완전 분리되어 신호간섭이 없이 깨끗한 소리를 전달할 수 있다는 것이다.
디지털 오디오 데이터의 크기를 줄이는 방법 중에서 가장 고전적인 방법은 비트 수나 샘플링 레이트를 낮추는 것이다. 그러나, 이러한 방법은 역동적인 음을 잃게 되며 잡음이 생길 수밖에 없다. 또 샘플링 주파수를 감소시키면 음의 선명도가 떨어질 수밖에 없다. 그러나, 상기와 같은 고효율의 압축기술을 이용할 경우에는, 오디오 신호의 파일 크기는 감소하지만, 디지털화된 정보의 양은 그대로가 되어 매우 유용하다.
도 75는 오디오 신호를 압축하는데 이용되는 마스킹 효과(masking effect)를 설명하기 위한 도면이다. 오디오 인코더는 마스킹 효과를 이용하여 오디오 신호를 부호화한다. 상기 마스킹 효과는 소리 지각의 중요한 특성 중 하나로서, 큰 음에 의해 어떤 임계값 이하의 작음 음이 가려지는 현상 즉, 하나의 소리가 다른 소리의 지각을 억제하는 현상이다. 예를 들면, 기차가 지나갈 때 옆에 있는 친구의 목소리가 들리지 않는 것을 말한다. 마스킹 효과는 오디오 신호를 부호화할 때, 비트 할당의 근거로 사용될 수 있다. 예를 들면, 마스킹 효과로 인하여 인지되지 않는 영역에 대해서는 비트를 할당하지 않을 수 있다. 마스킹 효과에는 주파수 영역에서 가장 잘 설명될 수 있는 동시간 마스킹(simultaneous masking)과, 시간 영역에서 설명되는 전방향 마스킹(forward masking), 역방향 마스킹(backward masking)이 있 다.
인간의 청각기관은 입력 신호를 각기 다른 특성을 갖는 수많은 필터 뱅크에 의해 주파수 분석을 수행하는 것으로 알려져 있다. 이 때, 주파수 분석 과정에서 인간의 청각 기관이 갖는 해상력의 한계에 의해 마스킹 효과가 발생하며 이러한 전처리 효과를 거쳐야 비로서 인지가 이루어진다. 인지된 신호는 마스킹 효과에 의해 생성되는 마스킹 임계값(masking threshold)에 의해 결정된다.
도 75에 도시된 오디오 신호의 각 성분별로 마스킹 함수(masking function)가 분리되어 고려되는 것을 나타낸다. 상기 각 성분별 마스킹 함수를 이용하여 마스킹 임계값을 구한다. 상기 마스킹 임계값 이하의 음은 부호화하지 않으며, 양자화 잡음은 상기 마스킹 임계값 이하가 되도록 한다. 이하에서 상기 마스킹 임계값을 이용하여 오디오 신호를 처리하는 인코더 및 디코더에 대하여 기술한다.
도 76은 일반적인 오디오 인코더의 기본 구조 블록도이다. 오디오 인코더는 T/F 매핑부(Time/Frequency mapping, 7600), 심리음향 모델링부(Psycho-Acoustic Model, 7610), 비트할당 및 양자화부(Bit Allocation and Quantization, 7620), 비트스트림 패킹부(Bitstream Packing, 7630)부를 포함한다.
시간 영역의 오디오 신호는 T/F 매핑부(7600)에서 주파수 영역의 오디오 신호로 변환된다. 이때, 밴드 단위의 주파수 영역 오디오 신호를 생성하기 위해 필터 뱅크가 이용될 수 있다. 심리음향 모델링부(7610)는 심리 음향(Psycho-Acoustic) 모델링을 이용하여 지각적인 중복성을 제거한 후, 마스킹 임계값 등의 정보를 얻어 양자화에 쓰이는 비트할당 정보를 제공한다. 상기 심리음향 모델링부(7610)는 오디 오 신호를 주파수 영역으로 변환된 후, 마스킹 임계값을 계산한다. 그 다음에, 신호 대 마스킹 비, 신호 대 잡음비(SNR : Signal-to-Noise Ratio, 이하 SNR이라 함), 및 잡음 대 마스킹 비(NMR : Noise-to-Masking Ratio, 이하 NMR이라 함)를 이용하여 비트를 할당한다. 비트스트림 패킹부(7630)는 양자화된 디지털 오디오 신호를 이용하여 비트스트림을 생성한다. 도 76에는 도시되지 않았지만, 상기 비트스트림 패킹부(7630)에 입력되지 전에 양자화된 오디오 신호는 엔트로피 부호화 과정을 거친다.
엔트로피 부호화란 심볼이 나올 확률에 따라 심볼을 나타내는 코드의 길이를 달리하는 부호화 방법이다. 디지털 신호의 전송에서 평균 부호 길이가 엔트로피에 가장 가깝도록 부호를 할당하면 가장 효율이 좋다. 따라서, 엔트로피 부호화는 평균 부호 길이가 엔트로피에 가깝도록, 심볼들의 발생 확률에 따라 심볼 당 평균 정보량이 결정된다. 엔트로피 부호화에는 허프만 부호화(Huffman coding), 산술 부호화(Arithmetic coding), LZW(Lempel-Ziv-Welch)부호화 등이 있다. 본 발명은 상기 세 가지 종류의 엔트로피 부호화 방식 중 적어도 하나를 사용하여 오디오 신호를 부호화 하며, 장래에 개발될 엔트로피 부호화 방식을 이용하는 것도 포함한다.
허프만 부호화는 무손실 압축에 쓰이는 엔트로피 부호화의 일종으로, 데이터 문자의 등장 빈도에 따라서 다른 길이의 부호를 사용하는 알고리즘이다. 허프만 부호화는 발생 확률이 낮은 심볼일수록 더 긴 부호를 사용하고, 발생 확률이 높은 심볼일수록 더 짧은 부호를 사용한다.
허프만 부호화는 입력 심볼들의 확률을 미리 알고 있는 것으로 가정한다. 만 약 확률을 미리 알지 못한다면 허프만 부호화는 2단계로 나누어 구성할 수 있다. 제1 단계에서는 입력 심볼들을 모두 읽어서 확률들을 계산하고, 제2 단계에서는 허프만 부호화를 수행하는 것이다. 허프만 부호화의 문제점은 확률 테이블을 압축된 데이터와 함께 전송해야 한다는 것이다. 복호화 장치는 이 확률 테이블 없이는 복호화를 할 수 없기 때문이다. 문제는 압축률을 높일수록 확률 테이블 크기가 커진다는 것이다. 이러한 문제점들을 개선하여 적응 허프만 부호화 알고리즘을 개발하였다. 적응 허프만 부호화의 핵심적인 생각은 심볼을 입력하면서, 허프만 트리를 적응적으로 갱신하는 것이다.
산술 부호화는 하나의 입력 심볼에 하나의 코드워드를 부여하는 방식이 아니라, 입력 심볼 순서 전체에 하나의 코드워드를 부여하는 방식이다. 이 코드워드는 0에서 1이하 범위의 숫자를 나타낸다. 다시 말하면, 입력 심볼 순서 전체를 0에서 1까지 숫자의 하나에 사상하는 함수가 필요하다. 산술 부호화는 이진 심볼을 입력으로 받는 경우, 입력 심볼의 개수가 많지 않은 경우, 그리고 심볼의 발생 확률이 한쪽으로 치우친 경우에 사용하면 좋은 효과를 볼 수 있다.
적응 산술 부호화(Adaptive arithmetic coding)는 유한-문맥(finite-context) 모델에 기반을 두고 있다. 유한 문맥 모델이라는 것은 입력되는 심볼의 확률을 심볼이 발생하는 문맥에 기초하여 계산하는 것이다. 여기서 문맥이란 이전에 입력된 심볼을 의미한다. 이전 심볼을 고려하지 않는 경우는 order-0라고 하고, 고려하는 이전 심볼이 1인 경우는 order-1 이라고 하며, 고려하는 이전 심볼이 2인 경우는 order-2 라고 하고, 고려하는 이전 심볼이 n인 경우는 order-n 이라고 한 다. 그러나 일반적으로 order-3 이상인 경우는 사용되지 않는다. 유한-문맥 모델에 있어서 문제가 되는 부분은 문맥의 order가 선형적으로 증가하면, 문맥을 저장하는데 요구되는 기억 장소가 기하적으로 증가한다는 것이다. 즉, 기억 장소의 사용량이 매우 급격하게 증가한다는 것이다. 때문에 효율적인 기억 장소 관리가 필수적이다.
LZW부호화는 허프만의 통계식 압축법의 문제를 해결하기 위해 개발된 "사전식 압축법"이다. 허프만 부호화 방식은 두 번 읽어야 하나, LZW부호화는 한 번 읽은 동안 부호표를 만들고 데이터를 압축한다. LZW부호화는 파일에 작은 부호표를 만들고 파일을 읽어 가면서 찾아내는 패턴을 그 표에 더해 나간다. 패턴이 많이 발생할수록, 더 많은 부호표를 쓰게 되고 압축률은 좋아진다. LZW부호화에서 사전은 단순히 이전에 부호화된 문자열을 가리킨다. 부호기는 입력 문자열을 움직이는 윈도우(Sliding window)를 이용하여 검사한다. 윈도우는 Search buffer와 Look-ahead buffer 두 부분으로 구성된다. Search buffer는 이미 부호화된 문자열을 포함하고 있고, Look-ahead buffer는 앞으로 부호화할 문자열을 포함한다. 부호기는 포인터를 움직이면서 Search buffer를 조사하여 Look-ahead buffer가 포함하고 있는 문자열과 일치가 되는 문자열의 위치를 찾는다. 포인터가 Look-ahead buffer로부터 이동한 거리를 offset이라 한다.
부호기는 Search buffer에서 포인터가 가리키는 다음 심볼부터 Look-ahead buffer가 포함하고 있는 심볼과 일치하는지를 조사한다. 양쪽 buffer에서 서로 일치가 되는 문자열의 길이를 일치의 길이(length of match)라 한다.
부호기는 Search buffer에서 항상 가장 긴 일치의 길이를 찾으며, 가장 긴 일치가 찾아지면 부호기는 이것을 <o, l, c> 형태로 표시한다. 여기서 o는 offset, l은 length, c는 코드를 나타낸다.
도 77은 본 발명의 일실시예에 따른 도 76의 오디오 부호화 장치의 상세도이다. 도 77을 참조하면, 상기 오디오 부호화 장치는 T/F 매핑부(7700), PA 모델링부(7710), 비트 할당부(7721), 양자화부(7722), 및 비트스트림 패킹부(7730)를 포함하도록 구성된다. 상기 각 구성요소에 대한 설명은 도 76과 동일하므로 생략한다.
상기 PA 모델링부(7710)는 FFT(Fast Fourier Transform)부(7711) 및 마스킹 임계값(Masking Threshold) 산출부(7712)를 포함한다. 오디오 신호는 먼저 FFT부(7711)에서 주파수 도메인으로 변환된다. 그 다음에, 마스킹 임계값 산출부(7712)는 주파수 도메인으로 변환된 오디오 신호를 이용하여 주파수 영역에서 마스킹 임계값을 계산한다. 즉, FFT를 이용하는 심리 음향(Psychoacoustic) 모델에서 지각적인 중복성을 제거한 후, 마스킹 임계값을 얻어 양자화에 쓰이는 비트할당 정보를 제공한다.
FFT는 이산 데이터 값들의 푸리에 변환 계산을 위한 알고리즘이다. FFT는 모든 주파수점에 대해 변환하는 것이 아니라 특징점을 잡아내어 일부만 변환하는 방식이다. 특징을 가진 점들을 골라내어 변환한 후 나머지 부분을 보상하여도 그 특성이 거의 살아 있기 때문이다.
비트 할당부(7721)와 양자화부(7722)는 반복 루프(Iterative Loop, 7720)를 형성한다. 즉, 심리 음향 모델을 이용하여 얻어진 비트 값들을 이용하여 양자화하는 과정을 반복하여 최적의 비트 수를 결정한다. 상기 비트할당 정보는 부가 정보로서 비트스트림 패킹부(7730)로 보내져 오디오 비트스트림에 포함된다. 오디오 부호화 장치로 들어오는 오디오 신호는 PCM 형태로 입력될 수 있으며, 비트레이트는 약 768kbps 정도이다. 상기 오디오 부호화 장치에서 심리 음향 모델을 이용하여 부호화되는 경우, 출력되는 오디오 비트스트림은 채널당 16~192kbps 정도가 된다.
도 78은 오디오 신호의 디코딩 장치를 나타내는 블록도이다. 도 78을 참조하면, 상기 디코딩 장치는 역다중화부(7800), 무손실디코딩부(7810), 합성필터뱅크부(7820)를 포함한다.
상기 역다중화부(7800)는 인코딩 장치에서 전송된 오디오 비트스트림을 파싱하여 부호화된 오디오 신호 및 부가 정보를 생성한다. 상기 부호화된 오디오 신호 및 부가 정보는 주파수 밴드별로 존재한다. 그 다음에, 상기 부호화된 오디오 신호 및 부가 정보에 대한 무손실 디코딩 프로세스가 수행되어 양자화된 오디오 신호가 생성된다. 상기 무손실 디코딩 프로세스는 엔트로피 복호화 방법이 이용될 수 있다. 그 다음에, 합성필터뱅크부(7820)는 주파수 밴드별로 생성된 양자화된 오디오 신호 및 부가 정보를 역양자화한 후에, 시간 도메인에서의 오디오 신호로 변환된다.
상기 오디오 신호를 무손실 디코딩하는 과정 및 시간 도메인으로의 변환과정에는 부가 정보가 이용될 수 있다. 즉, 상기 부가 정보에는 비트할당 정보, 양자화 정보 등이 포함될 수 있어, 오디오 신호를 복호화하는 과정에 이용될 수 있다. 또 한, 상기 부가 정보에는 다채널 오디오 신호로 재생하기 위한 정보가 포함될 수 있고, 3D 효과를 가지는 오디오 신호로 재생하기 위한 정보가 포함될 수 있으며, 다양한 음장 효과(Ambient effect)를 가지는 오디오 신호로 재생하기 위한 정보 등이 포함될 수 있다. 이하에서는 심리 음향 모델을 이용하는 부호화 장치를 보다 상세하게 기술한다.
도 79는 일반적인 MPEG 표준안에 따른 부호화 장치의 기본 구성도를 나타낸다. 도 79를 참조하면, 상기 부호화 장치는 서브밴드 필터 뱅크(7900), 스케일 펙터 검출부(7910), FFT(Fast Fourier Transform)부(7920), 신호 대 마스킹 비 산출부(7930), 비트 할당부(7940), 양자화부(7950), 및 비트열 생성부(7960)를 포함한다.
상기 서브밴드 필터 뱅크(7900)는 48kHz의 16비트로 디지털화된 168Kbps/ch의 디지털 오디오 신호를 32개의 서브밴드로 분할한다. 상기 스케일 펙터 검출부(7910)는 상기 서브밴드 필터 뱅크(7900)에서 출력되는 32개의 서브밴드로 분할된 디지털 오디오 신호로부터 각 서브밴드의 스케일 펙터를 검출한다. 상기 FFT(Fast Fourier Transform)부(7920)는 168Kbps/ch의 디지털 오디오 신호를 푸리에 변환하여 그 스펙트럼을 출력한다. 상기 신호 대 마스킹 비 산출부(7930)는 상기 FFT부(7920)에서 출력되는 스펙트럼과 상기 스케일 펙터 검출부(7910)로부터 검출된 스케일 펙터와의 비교를 통해, 각 서브밴드의 최대 스펙트럼을 선택하여 상기 최대 스펙트럼에 상응하는 신호 파워(signal power)와 마스킹 임계값(masking threshold)을 이용하여 신호 대 마스킹 비(SMR : Signal-to-Masking Ratio, 이하 SMR이라 함)를 산출한다.
상기 비트 할당부(7940)는 상기 신호 대 마스킹 비 산출부에서 산출된 신호 대 마스킹 비와 신호 대 잡음비(SNR : Signal-to-Noise Ratio, 이하 SNR이라 함)를 이용하여 잡음 대 마스킹 비(NMR : Noise-to-Masking Ratio, 이하 NMR이라 함)를 산출하고, 산출된 잡음 대 마스킹 비에 따라 비트를 할당한다. 상기 양자화부(7950)는 상기 비트 할당부(7940)에서 할당된 비트에 따라 상기 서브밴드 필터 뱅크(7900)로부터 출력된 디지털 오디오 신호를 양자화한다. 상기 비트열 생성부(7960)는 상기 양자화부(7950)에서 양자화된 디지털 오디오 신호에 부가 정보를 포함시켜 압축된 비트스트림을 생성한다. 오디오 신호의 디코딩 장치는 상술한 인코딩 방법의 역과정을 통해 오디오 신호를 재생한다.
상기 FFT부(7920)와 신호 대 마스킹 산출부(7930)는 심리음향 모델에 의한 것이다. 여기서, 부가정보는 나중에 양자화되어 압축된 디지털 비디오 신호를 복원할 때 필요한 정보를 말하며, 예를 들면, 스케일 펙터 인덱스 정보와 비트할당 정보 등이 있다. 또한 디코더 및 인코더의 구현에 따라서 스케일 펙터 인덱스 정보는 비트할당 정보로서 역할을 수행할 수 있다.
더욱 상세히 설명하면, 통계학적 중복성을 제거하기 위하여 입력 디지털 오디오 신호를 필터 뱅크에 통과시켜 서브밴드 샘플로 변환한다. 상기 필터 뱅크는 등간격으로 구성되거나, 또는 저주파 영역을 조밀하게 구성하는 것과 같이 주파수 대역별로 다른 간격을 가지도록 구성될 수 있다. 또한, 고속 푸리에 변환을 사용하는 심리 음향(Psychoacoustic) 모델에서 지각적인 중복성을 제거한 후, 마스크 임 계값을 얻어 양자화에 쓰이는 비트할당 정보를 제공한다.
MPEG의 계층 1, 2에서는 32개의 동일한 간격을 가지는 단일 서브밴드 필터 뱅크를 사용하는데, 서브밴드 분석에 사용되는 필터는 512-탭 저역 통과 필터가 기본이 되며, 행렬 연산에 의해 주파수 천이가 되어 32개의 동일 크기 서브밴드가 분할된다. 본 발명은 상기 필터 뱅크에 한정되지 않고, 다양한 방식으로 구성되는 필터 뱅크를 포함한다.
일반적으로, 심리 음향 모델에서 산출되는 SMR은 심리 음향 모델의 결과인 마스킹 임계값(Masking Threshold)과 FFT 스펙트럼 및 스케일 펙터로부터 산출되는 신호 파워와의 비로 데시벨(dB)로 표시할 때, 다음과 같은 수학식 14로 표현될 수 있다.
여기서, SMR은 각 서브밴드별로 하나씩 한 프레임에 32개가 얻어진다. SMR의 물리적 의미는 각 서브밴드별로 신호 파워가 마스킹 임계치에 비해 상대적으로 큰 정도를 나타낸다.
도 80은 도 79에 따른 특정 프레임에서 각 서브밴드에 대한 SMR 곡선을 나타낸 그래프이다. 도 80에 나타낸 바와 같이, SMR은 서브밴드 1과 서브밴드 17 사이에서 0dB 이상의 양의 값을 갖는 반면에, 서브밴드 18과 서브밴드 32 사이에서 0dB 이하의음의 값을 갖게 됨을 알 수 있다. 이때, 0dB 이하의 음의 값을 갖는 서브밴드 구간(예컨대, 서브밴드 18과 서브밴드 32 사이)은 이미 모든 신호가 마스킹된 상태로, 더 이상 비트 할당을 할 필요가 없음을 나타낸다. 따라서, 0dB 이상의 양의 값을 갖는 서브밴드 구간(예컨대, 서브밴드 1과 서브밴드 17 사이)만을 대상으로 비트 할당을 해주어야 한다.
한편, 각 서브밴드의 샘플 값을 정규화(normalization)시키기 위한 스케일 펙터를 검출하기 위해서는 먼저 12개의 샘플의 정규화된 절대값 중 최대값을 찾아야 한다. 다음에 이 최대값과 MPEG에서 제안한 64개의 스케일 펙터를 비교하여 정규화된 최대값보다 바로 다음으로 큰 스케일 펙터를 그 프레임의 스케일 펙터로 정의한다.
도 79의 비트 할당부(7940)는 32개로 분할된 서브밴드 중에 산출된 NMR이 가장 큰 서브밴드에 우선 1비트를 할당하고, 새로 각 서브밴드별로 NMR을 산출하여 다시 가장 큰 서브밴드에 1비트를 할당하는 식의 반복 과정을 한 프레임에 할당된 총 비트수가 소진될 때까지 수행한다.
이러한 비트 할당 과정에서 사용되는 NMR은 SNR과 SMR를 이용하여 아래와 같은 수학식 15로 표현될 수 있다.
여기서, SNR은 양자화 과정에서 발생하는 양자화 잡음과 원 신호 파워 사이의 비를 나타낸다. 상기 NMR의 물리적 의미는 해당 서브밴드의 양자화 잡음이 마스킹 임계값에 비해 상대적으로 큰 정보를 나타낸다. 이로부터 NMR이 크게 될수록 제거돼야 할 잡음이 많게 됨을 알 수 있다.
따라서, 비트 할당을 통해 NMR이 큰 서브밴드일수록 보다 많은 비트를 할당하여주게 된다. 통상적으로 1비트를 할당하게 되면, SNR이 6dB 향상되게 된다. 그러므로, 비트 할당이란 각 서브밴드별로 적절하게 비트를 할당하여 NMR값을 모두 음수로 만들어주어, 양자화 잡음이 마스킹 임계값보다 작도록 만들어주는 과정이라 할 수 있다.
이렇게 되면, 부호화 과정에서 발생한 잡음이 청각적으로 사람의 귀에 들리지 않게 되어 음질의 손실 없이 압축이 가능해지게 된다.
상기 [수학식 15]에서 SMR은 신호 파워와 마스킹 임계값에 의해 얻어지는 고정된 값이므로, 결국 SNR에 의해서 변화되게 된다.
도 81은 본 발명의 일실시예에 따른 AAC 부호화 장치의 블록도이다. 도 81을 참조하면, 상기 AAC 부호화 장치는 심리음향 모델링부(8100), 전처리부(8110), 필터뱅크(8120), TNS(Temporal Noise Shaping)부(8130), 세기(Intensity)/커플링(Coupling)부(8140), 예측(Prediction)부(8150), M/S(Mid/Side) 스테레오 처리부(8160), 데이터 복원부(8170), 및 비트열 생성부(8180)를 포함한다. 상기 데이터 복원부(8170)는 반복 루프 구조로서, 압축율/왜곡 제어부(8171), 스케일 펙터 추출부(8172), 양자화부(8173), 그리고 무손실 부호화(8174)를 포함한다.
PCM(Pulse Code Modulation) 형태의 오디오 신호는 심리음향 모델링부(8100)와 전처리기(8110)로 입력된다. 상기 전처리기(8110)는 전송될 비트율에 따라 입력 오디오 신호의 샘플링 주파수를 가변시켜 출력한다. 경우에 따라서는, 상기 전처리기(8110)가 존재하지 않을 수 있다.
상기 심리음향 모델링부(8100)는 입력 오디오 신호들을 적당한 스케일 펙터 대역(scalefactor band)의 신호들로 묶고, 각 신호들의 상호작용으로 인해 발생되는 마스킹 현상을 이용하여 각 대역(scalefactor band)에서의 마스킹 임계값(masking threshold)을 계산한다. 상기 심리음향 모델링부(8100)의 출력은 필터 뱅크(8120), TNS부(8130), 세기/커플링부(8140), M/S 스테레오 처리부(8160)로 입력된다.
상기 필터뱅크(8120)는 전처리기(8110)를 거친 신호와 심리음향 모델부(8100)의 마스킹 임계값을 이용하여 오디오 신호의 통계적인 중복성을 제거한 후 TNS부(8130)로 출력한다. 즉, 상기 필터뱅크(8120)에서는 전 대역을 등간격 주파수폭을 갖는 32개의 서브밴드로 세분하여 입력되는 오디오 신호를 서브밴드 샘플로 부호화한다. 본 발명은 주파수 전 대역을 등간격 서브밴드로 분할하는 필터 뱅크 뿐만 아니라, 주파수 대역별로 다른 간격을 가지는 서브밴드로 분할하는 필터 뱅크를 이용하는 것을 포함한다.
상기 필터뱅크(8120)에서 부호화된 서브밴드 샘플들은 TNS부(8130), 세기/커플링부(8140), 예측부(8150), M/S 스테레오 처리부(8160)를 거쳐 데이터 복원부(8170)로 입력된다. 상기 TNS부(8130), 세기/커플링부(8140), 예측부(8150), M/S 스테레오 처리부(8160)는 부호화기에서 선택적으로 사용 가능하다.
즉, 상기 TNS부(8130)는 필터 뱅크(8120)의 출력과 심리음향 모델부(8100)의 출력을 입력받아 변환에 이용되는 각 윈도우 내에서 양자화 잡음의 시간적인 모양을 제어한다. 이때 주파수 데이터의 필터링 과정을 적용함으로써 시간영역잡음 형 상화가 가능하다.
상기 세기/커플링부(8140)는 스테레오 신호를 좀 더 효율적으로 처리하기 위한 모듈로서, 심리음향 모델부(8100)의 출력과 TNS부(8130)의 출력을 입력 받아 두 개의 채널 중 하나의 채널의 스케일 펙터 대역에 대한 양자화된 정보만을 부호화하고, 나머지 채널은 스케일 펙터만을 전송한다. 상기 세기/커플링부(8140)는 부호화기에서 반드시 사용해야 하는 모듈은 아니고 여러 가지 사항을 고려해서 각 스케일 펙터 대역 단위로 사용 여부를 판단할 수 있다.
상기 예측부(8150)는 상기 세기/커플링부(8140)의 출력과 데이터 복원부(8170)의 양자화부(8173)의 출력을 입력 받아 현재 프레임의 주파수 계수 값들을 예측한다. 이렇게 예측된 값과 실제 주파수 성분의 차를 양자화해서 부호화함으로써 사용되는 비트 발생량을 줄일 수 있다. 이때 상기 예측부(8150)도 프레임 단위로 선택적으로 사용할 수 있다. 즉 예측부(8150)를 사용하면 다음 주파수 계수를 예측하는데 복잡도가 높아지기 때문에 사용하지 않을 수 있다. 또한 경우에 따라서는 예측에 의한 차이가 원래 신호보다 더 큰 확률을 가지고 있음으로 인해 예측을 함으로써 실제 발생한 비트 발생량이 예측을 하지 않을 때보다도 더 커질 수 있는데 이때는 예측부(8150)를 사용하지 않는다.
상기 M/S 스테레오 처리부(8160)도 스테레오 신호를 좀 더 효율적으로 처리하기 위한 모듈로서, 상기 심리음향 모델부(8100)의 출력과 예측부(8150)의 출력을 입력받아 왼쪽 채널 신호와 오른쪽 채널 신호를 각각 더한 신호와 뺀 신호로 변환한 후 이 신호를 처리한다. 상기 M/S 스테레오 처리부(8160)도 부호화기에서 반드 시 사용해야 하는 것은 아니고 부호화기에서 여러 가지 사항을 고려해서 각 스케일 펙터 대역 단위로 사용 여부를 판단할 수 있다. 상기 M/S 스테레오 처리부(8160)의 출력은 데이터 복원부(8110) 내 스케일 펙터 추출부(8172)로 입력된다.
상기 스케일 펙터 추출부(8172)는 압축률/왜곡 제어부(8171)의 제어에 의해 스케일 펙터를 추출한 후 M/S 스테레오 처리부(8160)에서 출력되는 서브밴드 샘플들을 정규화하여 양자화부(8173)로 출력한다.
상기 양자화부(8173)는 스케일 펙터 추출부(8172)에서 정규화된 서브밴드 샘플들을 양자화한 후 무손실 부호화부(8174)로 입력된다. 즉 상기 양자화부(8173)는 인간이 들어도 느끼지 못하도록 각 대역의 양자화 잡음의 크기가 마스킹 임계값보다 작도록 각 대역의 서브밴드 샘플들을 양자화한다.
상기 양자화부(8173)에서 양자화된 신호는 무손실 부호화부(8174)에서 부호화된 후 압축율/왜곡 제어부(8171)와 비트열 생성부(8180)로 출력된다. 상기 비트열 생성부(8180)는 각 모듈(8110~8170)에서 만들어진 정보들을 모아서 비트열을 생성하여 전송한다.
이와 같이 도 81의 AAC 부호화 과정에서, 심리음향 모델을 통해 주파수 영역에서 마스킹 임계값을 얻고 이를 바탕으로 양자화 잡음이 귀에 들리지 않도록 비트 할당을 수행하는 구조는 MP3 부호화 과정과 동일하다. 다만, AAC 부호화 과정에서는 주파수 변환 과정이 MP3에 비해 높은 주파수 해상도를 갖는 2048-point MDCT를 수행(필터뱅크)하고, 시간 영역에서 잡음을 정형하는 기술인 TNS(Temporal Noise Shaping)를 사용하며, 프레임과 프레임 사이의 통계적 중복성을 제거하기 위한 예 측(Prediction)을 사용하는 것이 MP3와 크게 다르다. 또한 AAC 부호화 과정에서는 전송될 비트율에 따라 샘플링 주파수를 가변시킬 수 있는 전처리기(8110)를 가지고 있다.
이러한 구조에서 AAC의 무손실 부호화부(8174)는 허프만 부호화 방식을 이용한다. 상기 허프만 부호화 방식도 허프만 코드북을 사용하여, 2개 또는 4개의 MDCT 계수 짝(n-tupples)을 부호화한다는 점에서 MP3와 유사하다. 그러나 동일한 코드북을 사용하는 영역을 섹션(section)이라는 단위로 구분하며, rzero 영역 및 count1 영역과 같은 구분이 존재하지 않는다는 점은 다르다. 즉, AAC 부호화 과정은 MDCT 스펙트럼 계수에 대해 통계적 특성이 유사한 영역끼리 묶이도록 섹션을 나눈 뒤, 각 섹션별로 가장 적합한 코드북을 선택하여 허프만 부호화하게 된다. 이때 AAC에서 사용되는 허프만 코드북은 총 12개이다.
상기 AAC의 경우도 허프만 테이블로 표현 가능한 최대값은 15까지이며, 그 이상의 값을 표현하기 위해서는 예외처리(escape coding ; ESC)를 해야 한다. 즉, 16 이상의 정보를 부호화하기 위해서는 먼저 16에 해당하는 코드워드를 허프만 부호화하고 그 뒤에 다음의 수학식 16과 같이 구성된 escape_sequence라는 것을 첨가한다.
여기서, <escape_prefix>는 N비트개의 이진수 '1'을 의미하고, <escape_separator>는 이진수 '0'을, 그리고, <escape_word>는 N+4 비트의 부호없 는 정수값(unsigned integer)으로 표현된 계수를 나타낸다. 따라서, N은 2(N+4)가 <escape_word> 자리에 들어갈 MDCT 계수를 표현할 수 있는 최소값으로 선택한다.
MP3에서는 허프만 코드북의 선택에 의해 예외 처리로 부호화하는데 사용되는 비트수가 결정되는데 반해, AAC에서는 각 예외 처리하는 계수별로 사용되는 비트수를 결정하는 것이 다르다. 이하에서는 AAC 디코딩 장치에 대해 기술한다.
도 82는 본 발명의 일 실시예에 따른 AAC 디코딩 장치의 블록도이다. 도 82를 참조하면, AAC 디코딩 장치는 비트열 포맷터(8200), 디코딩 및 역양자화부(8210), M/S 스테레오 처리부(8220), 예측부(8230), 세기/커플링부(8240), TNS부(8250), 정규화부(8260), 필터뱅크(8270), 및 AAC 이득 제어부(8280)를 포함한다.
부호화된 오디오 비트스트림(Coded audio stream)이 입력으로 들어오면, 비트열 포맷터(8200)에서 역다중화 과정을 거쳐 복호화에 필요한 정보를 추출하고, 그 다음에 디코딩 및 역양자화부(8210)에서 허프만 복호화 및 역양자화가 수행된다. 그 다음에 M/S 스테레오 복원, 예측, 세기/커플링(Intensity/Coupling) 스테레오 복원, TNS 필터링, 정규화, 필터뱅크, 및 AAC 이득 제어 과정을 거쳐 오디오 신호를 재생한다. 상기 복호화 과정은 도 81에서 기술된 부호와 과정과 동일하거나, 또는 유사하므로 구체적인 설명은 생략한다.
M/S 스테레오 처리부(8220), 예측부(8230), 세기/커플링부(8240), TNS부(8250), 및 정규화부(8260)에서는 주파수 도메인의 오디오 신호를 처리하고, 필터뱅크(8270)를 거치면서 오디오 신호는 시간 도메인으로 변환되어 처리된다. 이 하에서는 허프만 부호화에 대하여 기술한다.
도 83은 본 발명의 일 실시예에 따른 MP3 부호화 장치의 블록도이다. 도 83을 참조하면, 상기 MP3 부호화 장치는 서브밴드 필터뱅크(8310), MDCT(Modified Discrete Cosine Transform)부(8520), 왜곡 제어부(8350), FFT(Fast Fourier Transform)부(8330), 심리음향 모델부(8340), 및 비트열 생성부(8360)를 포함한다.
상기 왜곡 제어부(8350)는 반복 루프로서, 비선형 양자화부(8352), 비트 할당부(8351), 허프만(Huffman) 부호화부(8354), 그리고 부가정보 부호화부(8353)로 구성된다.
먼저 오디오 신호는 통계적인 중복성을 제거하기 위해 서브밴드 필터뱅크(8310)로 입력되고, 동시에 인간의 청각 특성에 의한 지각적인 중복성을 제거하기 위해FFT부(8330)로 입력된다.
상기 서브밴드 필터뱅크(8310)에서 오디오 신호의 통계적인 중복성이 제거된 서브밴드 샘플은 MDCT부(8320)로 출력되어 MDCT가 수행됨으로써, 주파수 해상도를 높이는 하이브리드(hybrid) 변환 부호화 방식이 사용된다.
즉, 청각특성을 효율적으로 이용하기 위해서는 신호를 주파수 성분으로 나누는 것이 필요한데, 이 때문에 서브밴드 필터뱅크(8310)에서는 전 대역을 등간격 주파수폭을 갖는 32개의 서브밴드로 세분하여 입력되는 오디오 신호를 서브밴드 부호화한다.
상기 FFT(Fast Fourier Transform)부(8330)는 입력되는 오디오 신호를 FFT를 통해 주파수 영역으로 변환하여 심리음향 모델부(8340)로 출력한다. 상기FFT를 사 용하는 심리음향 모델부(8340)에서는 입력되는 오디오 신호로부터 인간의 청각 특성에 의한 지각적인 중복성을 제거하기 위하여, FFT된 주파수 신호로부터 귀에 들리지 않는 잡음 레벨인 마스킹 임계값(masking threshold)을 얻는다.
왜곡 제어부(8350)의 비트 할당부(8351)는 각 프레임에서의 마스킹 임계값을 근거로 하여 MDCT 계수의 양자화 비트를 할당하여 양자화부(8352)로 출력한다. 이때 양자화 잡음이 오디오 신호에 의해 마스킹 될 수 있도록 각 서브밴드 샘플에 최소한의 비트를 할당한다.
상기 왜곡 제어부(8350) 내 비트 할당과 양자화, 그리고 허프만 부호화 과정은 반복 루프를 통해 처리된다. 이때 상기 비트 할당부(8351)는 잡음을 완전히 마스킹 시킬 수 없을 때에는 주관적 잡음을 최소화하도록 스케일 팩터 대역별로 비트를 할당한다. 상기 할당된 비트를 기반으로 양자화부(8352)에서 비선형 양자화된 MDCT 계수는 허프만 부호화부(8354)로 입력되어 허프만 부호화가 이루어진 후 비트열 생성부(8360)로 출력된다. 상기 허프만 부호화가 이루어진 오디오 신호는 비트열 생성부(8360)에서 부가 정보와 함께 비트열로 만들어진 후 전송된다.
여기서 허프만 부호화란 통계적 압축 방법의 일종으로 각 단위 정보를 표현하는 비트 수를 단위 정보들의 출현 빈도를 기반으로 할당하는 개념이다. 즉, 빈도가 높은 정보는 적은 비트 수를 사용하여 표현하고, 빈도가 낮은 정보는 비트 수를 많이 사용하여 표현해서 전체 데이터의 표현에 필요한 비트의 양을 줄인다. 따라서 단위 정보에 따라 코드의 길이가 달라지는 가변 길이 코드이며, 오디오 및 영상의 압축을 위해 많이 사용된다. 상기 허프만 부호화에 의해 압축된 데이터는 허프만 복호화에 의해 원 정보를 오차없이 복원할 수 있기 때문에 무손실(noiseless) 부호화 방법의 일종이다.
그리고 MP3 및 AAC 부호화에서는 양자화된 신호에 대해 허프만 부호화를 수행하며, 이를 위한 허프만 코드북을 가지고, 각각의 단위 정보들에 해당하는 코드북 인덱스를 찾아 해당 코드워드를 전송하는 방법을 취한다.
먼저, MP3의 허프만 부호화 과정에 대해 상세히 설명한다.
상기 MP3의 허프만 부호화는 반복 루프 내에서 수행된다. 상기 왜곡 제어부(8350)에 해당하는 반복 루프는 해당 입력 신호에 대한 마스킹 임계값을 기준으로 비트를 할당하는 외부 루프와 할당된 비트에 따라 MDCT 계수의 비선형 양자화를 수행하고, 양자화된 MDCT 계수를 허프만 부호화하는 내부 루프로 구성된다.
상기 내부 루프에 존재하는 허프만 부호화에서는 양자화된 MDCT 계수의 크기에 따라 세가지 영역으로 나누어 각각 다른 가변 길이 부호화 방법을 사용한다.
도 84는 본 발명의 일 실시예에 따른 MP3에서 주파수 영역별로 다른 특성을 갖는 부호화 방법을 사용한다는 것을 도시한다. 도 84를 참조하면, MP3 부호화 방법은 주파수 영역을 576개의 스펙트럼으로 구분하고, 576개의 스펙트럼을 MDCT 계수가 모두 0인 run zero(또는 all zero) 영역, 크기가 0과 1과 -1만 존재하는 count1 영역, 그 외의 크기를 가지는 big_value 영역으로 구분한다.
이때, 가장 높은 주파수 스펙트럼 계수로부터 처음으로 0이 아닌 값이 나타날 때까지의 구간 즉, MDCT 계수가 모두 0인 run zero 영역은 부호화하지 않는다. 다만 0의 개수에 관한 정보는 부호화 장치에서 복호화 장치로 전송할 수 있다.
그 다음 0과 1과 -1만 존재하는 count1 구간에 대해서는 4개의 MDCT 계수씩 짝(quadruple)을 지어 허프만 테이블 내 한 개의 코드워드를 전송한다. 이때 사용되는 허프만 테이블은, 예를 들면, Huffman codes for Layer III 중 Huffman code table for quadruples(A)와 Huffman code table for quadruples(B)이다. 상기 count1 영역에 대한 상기 허프만 테이블 A 및 B는 해당 정보를 표현하는데 적합한 것을 선택적으로 사용할 수 있으며, 선택된 테이블 정보는 오디오 데이터에 포함되어 전송된다.
그리고 절대값이 1보다 큰 값들을 갖는 big_value 영역은 두 개의 MDCT 계수씩 짝을 이루어 허프만 부호화된다. 즉, 상기 big_value 영역은 다시 3개의 부영역(subregion1, subregion2, subregion3)으로 나뉘어진다. 그리고 각 부영역별로 0~31번까지 있는 허프만 테이블, 예를 들면, Huffman codes for Layer III 중Huffman code table 0 ~ 31 중에서 역시 최소의 비트로 부호화할 수 있는 허프만 테이블을 선택하여 허프만 부호화에 사용하게 된다.
부호화 장치는 각각의 부영역에 대하여 모든 호프만 테이블을 사용해보고, 가장 적은 비트를 사용할 수 있는 허프만 테이블을 선택한다. 또한, 인코딩 장치는 각 부영역별로 선택된 허프만 테이블 정보 및/또는 영역 구분 정보를 비트열에 포함하여 전송한다. 상기 각 부영역별로 선택된 허프만 테이블 정보 및/또는 영역 구분 정보는 오디오 데이터에 포함되어 전송될 수 있다. 복호화 장치는 전송된 허프만 테이블 정보 및/또는 영역 구분 정보를 이용하여 오디오 신호를 복호화 한다.
상기 big_value 영역의 MDCT 계수를 부호화하는데 사용되는 허프만 코드북 0~31까지는 각 코드북별로 표현할 수 있는 최대값(절대값)이 달라지므로, 각 부영역별 MDCT 계수의 최대값까지 표현할 수 있는 허프만 코드북 가운데서 선택해야 한다.
도 85는 본 발명의 일 실시예에 따른 MP3에서 사용되는 허프만 코드북별 최대 절대값 등을 나타내는 테이블이다. 도85를 참조하면, 코드북 13~31 등에서처럼 MP3의 허프만 코드북을 통해 표현할 수 있는 값은 15가 최대이다. 그러나, 양자화된 MDCT 계수는 그 이상의 값이 존재하며, 이러한 값을 표현하기 위해서는 예외 처리를 하게 된다. 즉, 15 이상의 큰 값이 존재하는 경우 최대값 15에 해당하는 코드워드로 허프만 부호화하고, 그 이상에 해당하는 계수값은 선형PCM 부호화 방법으로 표현하여 코드워드 뒤에 추가하게 된다. 이때, 선형 PCM 부호화에 사용되는 비트수가 linbits 이다.
예를 들어, 18이란 정보를 표현하기 위해서는 코드북 17(linbits=2)을 선택하고, 해당 MDCT 계수 자리에 15에 해당하는 코드워드를 삽입한 뒤, 18-15, 즉 3을 2비트를 이용하여 표현한 이진수 11을 해당 코드워드 뒤에 첨부하는 방법이다. 코드북 16~23까지는 동일한 허프만 코드북(#16)을 사용하면서, linbits이 다른 경우를 나타낸다. 마찬가지로 코드북 24~31까지는 동일한 코드북(#24)을 사용하며, linbits이 서로 다른 경우이다. 이하에서는 상기와 같이 허프만 테이블을 이용하여 부호화된 오디오 신호를 복호화하는 MP3 복호화 장치에 대하여 기술한다.
도 86은 본 발명의 일 실시예에 따른 MP3 복호화 장치의 블록도이다. 도 86을 참조하면, 상기 MP3 복호화 장치는 역다중화부(8610), 허프만 복호화부(8620), 역양자화부(8630), IMDCT부(8640), 및 서브밴드 필터뱅크(8650)를 포함한다.
상기 역다중화부(8610)는 전송된 오디오 비트스트림으로부터 복호화에 필요한 정보들을 추출(unpack)한다. 역다중화부(8610)에서 분리된 부가 정보 및 오디오 비트스트림은 허프만 복호화부(8620)로 출력된다.
상기 허프만 복호화부(8620)는 허프만 부호화되어 입력된 오디오 비트스트림으로부터 양자화된 MDCT 계수를 얻어내서 역양자화부(8630)로 출력한다. 상기 역양자화부(8630)에서는 양자화된 MDCT 계수를 역양자화하여 실수의 MDCT 계수를 산출한다. 상기 실수 MDCT 계수는 IMDCT부(8640)와 서브밴드 필터뱅크(8650)를 거쳐 시간영역의 신호인 PCM 신호로 출력된다. 이하에서는 AAC 부호화 방법에서 이용되는 허프만 부호화 방법에 대하여 기술한다.
도 87은 본 발명의 일 실시예에 따른 AAC 부호화 장치의 블록도이다.
도 87을 참조하면, 상기AAC 부호화 장치는 심리음향 모델부(8700), 전처리기(8710), 서브밴드 필터뱅크(8720), TNS(Temporal Noise Shaping)부(8730), 세기(Intensity)/커플링부(8740), 예측부(8750), M/S(Mid/Side) 스테레오 처리부(8760), 데이터 복원부(8770), 및 비트열 생성부(8780)로 구성된다.
상기 데이터 복원부(8770)는 반복 루프 구조로서, 압축율/왜곡 제어부(8771), 스케일팩터 추출부(8772), 양자화부(8773), 그리고 허프만 부호화부(8774)로 구성된다. 상기 부호화 장치를 구성하는 구성요소들의 기능은 도 81을 참조하여 전술하였으므로, 여기서는 각 구성요소들에 대한 설명은 생략하고, AAC 부호화 장치에서 이용되는 허프만 부호화 방법에 대하여 기술한다.
AAC 부호화 과정에서, 심리음향 모델을 통해 주파수 영역에서 마스킹 임계값을 얻고 이를 바탕으로 양자화 잡음이 귀에 들리지 않도록 비트 할당을 수행하는 구조는 MP3 부호화 과정과 동일하다. 다만, AAC 부호화 과정에서는 주파수 변환 과정이 MP3에 비해 높은 주파수 해상도를 갖는 2048-point MDCT를 수행(필터뱅크)하고, 시간 영역에서 잡음을 정형하는 기술인 TNS(Temporal Noise Shaping)를 사용하며, 프레임과 프레임 사이의 통계적 중복성을 제거하기 위한 예측(Prediction)을 사용하는 것이 MP3와 크게 다르다. 또한 AAC 부호화 과정에서는 전송될 비트율에 따라 샘플링 주파수를 가변시킬 수 있는 전처리기(8710)를 가지고 있다.
이러한 구조에서 AAC의 허프만 부호화도 허프만 코드북을 사용하여, 2개 또는 4개의MDCT 계수 짝(n-tupples)을 부호화한다는점에서 MP3와 유사하다. 그러나 동일한 코드북을 사용하는 영역을 섹션(section)이라는 단위로 구분하며, run zero 영역 및 count1 영역과 같은 구분이 존재하지 않는다는 점은 다르다. 즉, AAC 부호화 과정은 MDCT 스펙트럼 계수에 대해 통계적 특성이 유사한 영역끼리 묶이도록 섹션을 나눈 뒤, 각 섹션별로 가장 적합한 코드북을 선택하여 허프만 부호화하게 된다. AAC 부호화 장치는 상기 섹션에 대한 정보 및/또는 각 섹션별로 사용된 허프만 테이블 정보를 AAC 복호화 장치로 전송한다. 상기 정보는 오디오 데이터 내에 포함되어 전송될 수 있다. AAC 복호화 장치는 상기 섹션에 대한 정보 및/또는 각 섹션별로 사용된 허프만 테이블 정보를 이용하여 오디오 신호를 복호화 한다. AAC에서 사용되는 허프만 코드북은 총 12개이며, 각 코드북별로 표현가능한 최대값 등의 특징은 도 88과 같다.
도 88은 본 발명의 일 실시예에 따른 AAC에서 사용되는 허프만 코드북별 최대 절대값 등을 나타내는 테이블이다. AAC의 경우도 허프만 테이블로 표현 가능한 최대값은 15까지이며, 그 이상의 값을 표현하기 위해서는 예외처리(escape coding ; ESC)를 해야 한다. 상기 AAC에서 사용하는 예외처리 방법은 MP3의 경우와 다르며, 다음과 같다.
즉, 16 이상의 정보를 부호화하기 위해서는 먼저 16에 해당하는 코드워드를 허프만 부호화하고 그 뒤에 다음의 [수학식 17]와 같이 구성된 escape_sequence라는 것을 첨가한다.
여기서, <escape_prefix>는 N비트개의 이진수 '1'을 의미하고, <escape_separator>는 이진수 '0'을, 그리고, <escape_word>는 N+4 비트의 부호없는 정수값(unsigned integer)으로 표현된 계수를 나타낸다. 따라서, N은 2(N+4)가 <escape_word> 자리에 들어갈 MDCT 계수를 표현할 수 있는 최소값으로 선택한다.
상기 MP3에서는 허프만 코드북의 선택에 의해 예외 처리로 부호화하는데 사용되는 비트수가 결정되는데 반해, AAC에서는 각 예외 처리하는 계수별로 사용되는 비트수를 결정하는 것이 다르다.
도 88에 도시된 허프만 코드북을 살펴보면, 코드북 0번 및 11번을 제외하면 동일한 최대 절대값을 갖는 경우에 대해 각각 2개씩의 코드북이 존재하므로, 이들을 이진수 '0'과 '1'에 대응하도록 분류하는 것이 가능하다. 이하에서는 또 다른 무손실 부호화 방법에 해당되는 산술부호화 방법에 대하여 기술한다.
도 89는 본 발명의 일 실시예에 따른 산술부호화(arithmetic coding) 방법이 사용되는 복호화 장치를 도시한다. 산술 부호화는 여러 심볼들을 묶은 가변길이 심볼열을 고정길이 부호로 표현하는 방법인데, 심볼열의 발생확률이 거의 일정하게 유지되도록 묶는다. 산술부호화 방법은 허프만 부호화보다 실질적인 방법으로, 이론적으로 거의 최대의 압축률을 제공하므로 허프만 부호화보다 더 효율적이다.
산술부호화에 사용되는 모델링이란 다음 부호화될 심벌에 대한 확률 분포를 계산하는 과정을 말하는데, 산술부호화에서는 두 가지 형식의 모델링을 사용한다. 첫 번째는 고정된 모델을 사용하는 경우인데, 이 경우에는 부호기와 복호기 모두 각 심벌에 대한 확률을 정확히 알고 있는 경우이다. 각 심벌에 대한 확률은 부호화될 몇 개의 대표적인 샘플을 취하여 계산되고, 계산된 확률은 고정되어 부호화할 때 사용된다. 두 번째는 적응적 모델을 사용하는 경우인데, 이 경우에는 각 심벌에 대한 확률을 고정하지 않고 각각의 심벌을 부호화하는 과정에서 확률을 갱신하는 방법을 사용한다. 이와 같은 경우는 실제 확률 분포와 거의 유사하게 모델링 되기 때문에 더욱 정확할 부호화를 가능하게 한다.
도 89를 참조하면, 비트스트림 역다중화부(8910)에서 파싱된 오디오 신호는 허프만 복호화부(8920)에서 복호화되거나, 또는 산술 복호화부(8930)에서 복호화될 수 있다. 본 발명은 오디오 신호의 일부는 허프만 복호화하고, 일부는 산술 복호화하는 것을 포함한다. 복호화된 오디오 신호는 역양자화부(8940), M/S 스테레오 처리부(8950), 인텐시티 처리부(8960), TNS부(8970), 및 필터뱅크를 거쳐 재생될 수 있다. 상기 각 구성요소에대한 설명은 AAC 디코딩 과정과 동일하므로, 구체적인 설명은 생략한다. 이하에서는 오디오 비트스트림의 데이터 구조에 대하여 기술한다.
도 90은 본 발명의 일 실시예에 따른 오디오 비트스트림 데이터 구조를 도시한다. 도 90을 참조하면, 오디오 비트스트림의 한 프레임은 단독으로 복호할 수 있는 최소 단위로서, 일정한 샘플 수의 데이터를 압축하여 싣고 있다. 하나의 프레임에는 헤더(9010), CRC(Cyclic Redundancy Checking, 9020), 오디오 데이터(9030), 부가 데이터(9040)를 포함한다. 상기 오디오 데이터(9030) 내에는 비트 할당 정보(9031), 스케일 펙터 정보(9032) 및 샘플 값(9033)이 들어 있다.
상기 헤더(9010) 내에는 동기워드(9050), ID, 계층, 보호 비트, 비트율 인덱스, 샘플링 주파수, 패딩 비트, 개별용도 비트, 모드 및 모드 확장 정보를 포함한다. 동기 워드(9050)과 ID는 모두 1의 값을 가지며, 동기를 맞추는데 사용된다.
상기 부가 데이터(9040)는 특정 비트 단위를 맞추기 위한 정렬비트열 및 비트레이트를 맞추기 위한 패딩 데이터를 포함한다. 이하에서는 바이트 정렬에 대하여 기술한다.
도 91은 본 발명의 일 실시예에 따른 오디오 비트스트림(bitstream)의 데이터 구조를 도시한다. 상기 오디오 비트스트림은 복호화가 가능한 최소의 단위인 프레임을 비트열 상에 연속적으로 이어 붙인 형태를 가진다. 비트스트림 상에서, 각각의 프레임에 해당되는 비트열은 특정 비트 단위, 바람직하게는 바이트(byte) 단위로 정렬된다. 따라서 하나의 프레임에 대해 부호화된 데이터 및 부호화 정보를 포함하는 데이터비트열의 비트수가 상기 특정 비트 단위, 바람직하게는 바이 트(byte, 8bit) 단위의 배수가 아닌 경우, 다음 프레임의 시작점을 상기 특정 비트 단위로 맞추기 위해 정렬비트열이 비트스트림에 포함된다.
상기 데이터비트열의 비트수를 이용하여 정렬비트열의 비트수를 결정한다. 상기 데이터비트열에 할당된 비트수와 상기 데이터비트열의 비트수 사이의 차를 상기 정렬비트열의 비트수로 결정할 수 있다.
비트스트림이 각 프레임에 대한 비트열 이전에 config 데이터를 포함하는 경우, 상기 config 데이터 이후에도 상기와 같은 방법으로 결정된 비트수를 가지는 정렬비트열이 포함될 수 있다.
도 91을 참조하면, 프레임 n과 프레임(n+2)의 경우와 같이. 프레임 단위의 데이터비트열의 비트수가 상기 특정 비트 단위, 바람직하게는 8bit의 배수가 아닌 경우에는, 상기 데이터비트열의 비트수 이상인 8의 배수들 중 최소값과 상기 데이터비트열의 비트수 사이의 차에 해당하는 비트수를 가지는 정렬비트열이 비트스트림에 포함된다. 예를 들어 프레임 n에 대응되는 데이터비트열의 비트수가 27bit인 경우, 27 이상의 8의 배수 중 최소값인 32와 상기 27 사이의 차인 5bit의 정렬비트열이 상기 데이터비트열에 연속하여 전송된다.
또한, 프레임 (n+1)과 같이, 프레임 단위의 데이터비트열의 비트수가 상기 특정 비트 단위, 바람직하게는 8bit의 배수인 경우에는 정렬비트열이 비트스트림에 포함되지 아니한다.
상기 정렬비트열은 적어도 하나의 1을 포함하며, 복호화에 필요한 정보들을 포함할 수 있다. 상기 생성된 데이터비트열과 정렬비트열은 프레임 단위로 연속하 여 전송된다.
이하에서는 상기 정렬비트열에 포함되는 정보에 대한 실시예들에 대해 설명하기로 한다.
각 프레임의 부호화 과정에서 생성되는 정보가 상기 정렬비트열에 포함될 수 있다. 제1 실시예로, 부호화 장치에서 부호화된 데이터들 중 전송 비트율 등의 제한에 의해 데이터비트열에 포함되지 못한 데이터가 상기 정렬데이터에 포함될 수 있다. 부호화부에서 부호화된 데이터들 중 데이터비트열에 포함되지 못한 데이터는 저장부(미도시)에 저장되고, 결정된 정렬비트수가 1 이상인 경우, 저장된 데이터들 중 상기 결정된 정렬비트수로 표현 가능한 데이터가 상기 정렬비트열에 포함된다.
예컨데, 도 91의 경우, 프레임 n 또는 (n+2)에 대해 부호화 장치에서 부호화된 데이터 중 데이터비트열에 포함되지 않은 데이터는 이후에 연속하는 정렬비트열의 비트수로 표현가능한 만큼 상기 정렬비트열에 포함되어 전송된다. 또한, 각 프레임의 부호화 과정에서 생성된 정보 이외의 정보가 상기 정렬비트열에 포함될 수도 있다.
제2 실시예로서, 전송하는 비트스트림에 부가 정보, 예를 들어 메타 데이터(meta data) 또는 복사 방지를 위한 워터 마킹 데이터(watermarking data)가 상기 정렬비트열에 포함될 수 있다. 상기 메타 데이터는 파일명, 제목, 장르, 가사정보 등을 포함할수 있다. 현재 전송하려는 비트스트림에 관한 부가정보를 최초프레임 이전 또는 프레임의 진행 도중에 생성하여 저장하고, 정렬비트열의 비트수가 1 이상으로 결정된 프레임이 나타날 경우마다 상기 프레임의 정렬비트열에 순차적으 로 삽입하여 전송할 수 있다.
제3 실시예로서, 부호화 장치와 복호화 장치가 미리 약속한 정보, 예를 들어 전송 에러 확인을 위한 에러 체크 데이터가 상기 정렬비트열에 포함될 수 있다. 이하에서는 오디오 신호의 포맷에 포함될 수 있는 추가 확장 정보에 대하여 기술한다.
도 92는 본 발명의 일 실시예에 따른 추가 확장 정보를 개괄적으로 도시한다. 상기 추가 확장 정보는 인핸스드 레이어(enhanced layer) 정보를 포함하다. 도 92를 참조하면, 오디오 신호를 전송할 수 있는 데이터 량에 제한이 있는 경우, 먼저 모노 채낼의 저주파 영역에 해당되는 신호만(도 92에서 core 부분)을 전송한다. 전송할 수 있는 데이터 량이 증가할수록, 모노 채널의 고주파 영역에 해당되는 신호(도 92에서 1 부분)를 전송하고, 그 다음에는 스테레오 신호의 저주파 영역에 해당되는 신호(도 92의 2 부분)를 전송하며, 그 다음에는 스테레오 신호의 고주파 영역에 해당되는 신호(도 92의 3 부분)를 전송할 수 있다.
예를 들면, SBR(Spectral Band Replication)의 경우에는 core 부분에 1 부분을 추가하는 것이고, Parametric Stereo(PS)의 경우에는 2부분 및 3부분까지 추가하는 것이다. MPEG 서라운드의 경우에는 도 92에 도시된 것보다 더 많은 영역, 즉 멀티 채널에 대한 정보까지 추가한다.
상기 코어 영역은 코어 코덱으로 부호화 하고, 확장 영역(예를 들면, 1, 2, 3 영역)은 SBR이나PS를 통해 추가적인 파라미터를 생성하여 전송한다. 디코딩 장치는 코어 디코딩 후 추가 파라미터를 이용하여 추가 디코딩을 할 수 있다.따라서 대 역폭 확장 및/또는 추가 채널의 복원이 가능하다. 만일 디코딩 장치가 SBR 까지만 복호화할 수 있으면, 비록 인코딩 장치가 도 92에 도시된 모든 확장 정보를 전송하였더라도, SBR까지만 복호화할 수 있다. 이하에서는 상기 확장 정보에 포함될 수 있는 SBR에 대하여 기술한다.
도 93은 본 발명의 일 실시예에 따른 SBR의 원리를 설명하는 그래프이다. SBR의 기본 원리는 오디오 신호의 고주파와 저주파 대역 사이에 높은 연관성이 존재한다는 가정에 기반을 둔다. 이는 저주파 대역의 정보를 이용하여 고주파 대역의 성분을 추정할 수 있다는 것을 의미한다.
도 93을 참조하면, SBR의 첫 단계는 저주파 스펙트럼 데이터를 고주파 대역으로 복사하는 전위(transposition)의 과정이다. 그 다음에, 전 대역(Full bandwidth)의 스펙트럼을 갖는 원본 오디오 신호의 스펙트럼 포락선과 전위 과정에서 포함되지 않고 제외될 가능성이 있는 고주파 성분을 보상하기 위해 필요한 추가 정보를 이용해 고주파 대역의 모양을 조정한다. 이와 같은 방법을 이용하여 고주파 영역의 오디오 신호를 복원(reconstruction)할 수 있다.
도 94는 본 발명의 일 실시예에 따른 SBR과 AAC와의 결합을 나타내는 블록도이다. 도 94를 참조하면, SBR 부호기(9410)는 AAC 부호화(9420) 이전에 독립적으로 처리된다. 이는 SBR 알고리즘이 어떠한 형태의 압축 시스템과도 자유롭게 결합할 수 있다는 것을 의미한다. 다중화부(9430)는 SBR 부호화 과정에서 생성된 부가 정보와 부호화된 오디오 신호를 이용하여 오디오 비트스트림을 생성한다. 상기 오디오 비트스트림은 복호기로 전송된다.
비트역다중화부(9440)는 전송된 오디오 비트스트림을 파싱하고, 오디오 신호는 AAC 복호기(9450)를 거쳐 SBR 복호기(9460)으로 전송된다. SBR 복호기(9460)는 비트역다중화부(9440)에서 파싱된 부가 정보를 이용하여 AAC 복호기(9450)에서 출력된 저주파 신호로부터전대역(full bandwidth)의 오디오 신호를 복원한다.
AAC는 SBR과 결합할 경우AAC만을 사용할 때보다 훨씬 높은 압축 효율을 갖게 된다. 이는 SBR의 추가 정보의 크기가 매우 작기 때문에 AAC 부호화 자원의 대부분이 저주파 성분을 부호화하는 데에만 사용될 수 있기 때문이다. SBR과 결합된 AAC를 보통 "AAC+" 또는 "HE AAC"라 한다.
도 95는 본 발명의 일 실시예에 따른 SBR 부호기에 관한 블록도이다. 도 95를 참조하면, SBR 부호기는 다운샘플링부(9510), QMF 분석 필터뱅크(9520), 파라미터 추출부(9530), 및 포락선 추정부(9540)를 포함한다.
상기 다운샘플링부(9510)는 입력되는 오디오 신호를 다운샘플링하여, 저주파 영역에 해당되는 신호만을 추출한다. 상기 QMF 분석 필터뱅크(9520)는 입력되는 오디오 신호를 64밴드로 구분된 주파수 영역 신호를 변환한다. 그 다음에, 파라미터 추출부(9530)는 SBR 파라미터를 생성하고, 포락선 추정부(9540)는 오디오 신호의 포락선 정보를 생성한다. SBR 파라미터는 포락선 정보를 포함한다. 상기와 같은 과정을 통해 생성된 다운샘플링된 오디오 신호 및 SBR 파라미터는 코어 부호화부(9550)로 전송되어 오디오 비트스트림을 생성한다. 상기 오디오 비트스트림은 SBR 복호기로 전송된다.
도 96은 본 발명의 일 실시예에 따른 SBR 복호기에 관한 블록도이다. 도 96 을 참조하면, SBR 복호기는 QMF 분석 필터뱅크(9620), HF 생성부(9630), 포락선 조정부(9640), 고주파성분추가부(9650), QMF 합성 필터뱅크(9660)를 포함한다.
전송된 오디오 비트스트림은 코어 복호화부(9610)를 거친 후에, 오디오 신호는 QMF 분석 필터뱅크(9620)로 입력된다. SBR 부호기에서 오디오 신호는 다운샘플링 되었으므로, 상기 QMF 분석 필터뱅크(9620)는 32밴드에 대해서만 수행된다. SBR 데이터는 상기 32밴드 오디오 신호와 함께 HF 생성부(9630)에서 고주파 신호를 생성한다. 그 다음에 포락선 조정부(9640)에서 전체 신호의 포락선이 조정되며, 고주파성분추가부(9650)에서 추가적인 고주파 성분을 결합한다. 주파수 영역의 오디오 신호 및 SBR 데이터는 QMF 합성 필터뱅크(9660)에서 시간 영역의 오디오 신호로 변환된다.
지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
도 97은 IP 기반으로 모바일 서비스를 제공하기 위한 프로토콜 스택(protocol stack)의 다른 실시예를 보이고 있다.
도 97은 IP 계층과 물리 계층 사이에 적응 계층(Adaption Layer)을 포함시켜, MPEG-2 TS 포맷을 사용하지 않으면서 IP 데이터그램과 PSI/PSIP 데이터를 전송할 수 있도록 하는데 있다.
도 97에서도 모바일 서비스를 위한 시그널링은 PSI/PSIP 섹션 구조로 인캡슐레이션되고, 설명의 편의를 위해 PSI/PSIP 데이터라 칭하기로 한다. 그리고 모바일 서비스를 위한 A/V 스트리밍은 도 98과 같이 RTP 헤더, UDP 헤더, IP 헤더가 순차적으로 더해져 하나의 IP 데이터그램을 구성한다. 즉 오디오 스트림은 도 98의 IP 데이터그램의 A/V Payload 필드에 포함되어 방송 수신기로 전송될 수 있고, 방송 수신기는 오디오 스트림이 포함된 IP 데이터그램을 수신하여, 수신된 IP 데이터그램으로부터 오디오 스트림을 추출하여 오디오 신호를 복원할 수 있다. 본 발명은 다른 실시예로, 모바일 서비스를 위한 시그널링 정보 중 전송 파라미터는 IP 데이터그램으로 구성할 수도 있다.
상기 적응 계층은 IP 데이터그램과 섹션 타입의 PSI/PSIP 데이터를 구분하고, 구분된 데이터를 상위 계층에서 처리할 수 있도록 연결하는 데이터 링크 계층이다.
즉, 상기 적응 계층에서 PSI/PSIP 데이터, IP 데이터그램 그리고, PSI/PSIP 데이터와 IP 데이터그램을 구분할 수 있는 식별 정보를 포함하는 RS 프레임을 생성한다.
이상에서 설명한 바와 같은 본 발명에 따른 디지털 방송 시스템, 및 데이터 처리 방법은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성이 가능한 이점이 있다.
본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러 없이 수신할 수 있는 이점이 있다.
본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다.
특히 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다.
도 1은 본 발명에 따른 모바일 서비스 데이터의 송신과 수신을 위한 MPH 프레임 구조의 일 예를 보인 도면
도 2는 일반적인 VSB 프레임 구조의 일 예를 보인 도면
도 3은 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 공간 영역에서 보인 본 발명의 도면
도 4는 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 시간 영역에서 보인 본 발명의 도면
도 5는 본 발명에 따른 데이터 인터리빙 후의 데이터 그룹의 구조에 대한 일 실시예를 보인 도면
도 6은 도 5의 일부를 확대한 도면
도 7은 본 발명에 따른 데이터 인터리빙 전의 데이터 그룹의 구조에 대한 일 실시예를 보인 도면
도 8은 도 7의 일부를 확대한 도면
도 9는 본 발명에 따른 MPH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 순서의 일 예를 보인 도면
도 10은 본 발명에 따른 하나의 MPH 프레임에 단일 퍼레이드를 할당할 때의 일 예를 보인 도면
도 11은 본 발명에 따른 하나의 MPH 프레임에 세개의 퍼레이드를 할당할 때의 일 예를 보인 도면
도 12는 도 11의 3개의 퍼레이드의 할당 과정을 5개의 서브 프레임으로 확장한 예를 보인 도면
도 13은 본 발명의 일 실시예에 따른 전송 시스템의 개략적인 구성 블록도
도 14는 도 13의 서비스 다중화기의 일 실시예를 보인 구성 블록도
도 15는 도 13의 송신기의 일 실시예를 보인 구성 블록도
도 16은 도 15의 전처리기의 일 실시예를 보인 구성 블록도
도 17은 도 16의 MPH 프레임 부호기의 일 실시예를 보인 구성 블록도
도 18은 도 17의 RS 프레임 부호기의 일 실시예를 보인 상세 블록도
도 19의 (a),(b)는 본 발명에 따른 RS 프레임 모드 값에 따라 하나 또는 두개의 RS 프레임이 복수개의 포션으로 구분되고, 각 포션이 각 데이터 그룹에 할당되는 과정을 보인 도면
도 20의 (a) 내지 (c)는 본 발명의 일 실시예에 따른 에러 정정 부호화 및 에러 검출 부호화 과정을 보인 도면
도 21의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 수퍼 프레임 단위의 로우 섞음 과정을 보인 도면
도 22의 (a),(b)는 하나의 퍼레이드가 두개의 RS 프레임으로 구성되는 예를 보인 도면
도 23의 (a),(b)는 본 발명에 따른 데이터 그룹을 구성하기 위해 RS 프레임을 분할하는 과정의 일 실시예를 보인 도면
도 24의 본 발명에 따른 블록 처리기의 일 실시예를 보인 구성 블록도
도 25는 본 발명에 따른 블록 처리기 내 콘볼루션 부호기의 일 실시예를 보인 도면
도 26은 본 발명에 따른 블록 처리기의 심볼 인터리빙 예를 보인 도면
도 27은 도 16의 그룹 포맷터의 일 실시예를 보인 구성 블록도
도 28은 본 발명에 따른 트렐리스 부호기의 일 실시예를 보인 구성 블록도
도 29는 본 발명에 따른 데이터 그룹 내 일부 영역에 시그널링 정보 영역을 할당하는 예를 보인 도면
도 30은 도 16의 시그널링 부호기의 일 실시예를 보인 구성 블록도
도 31은 본 발명에 따른 TPC 데이터의 신택스 구조에 대한 일 실시예를 보인 도면
도 32는 본 발명에 따른 TPC 데이터와 FIC 데이터의 전송 시나리오의 일 예를 보인 도면
도 33은 본 발명에 따른 퍼레이드 단위로 전원을 제어하기 위한 예를 보인 도면
도 34는 본 발명에 따른 트렐리스 부호화 전의 데이터 그룹 내 트레이닝 시퀀스의 배치 예를 보인 도면
도 35는 본 발명에 따른 트렐리스 부호화 후의 데이터 그룹 내 트레이닝 시퀀스의 배치 예를 보인 도면
도 36은 본 발명에 따른 수신 시스템 내 복조부의 일 실시예를 보인 구성 블록도
도 37은 본 발명에 따른 기지 데이터가 주기적으로 일반 데이터에 삽입되는 예를 보인 데이터 구조도
도 38은 본 발명에 따른 복조기의 일 실시예를 보인 구성 블록도
도 39는 도 38의 복조기의 일 실시예를 보인 상세 블록도
도 40은 본 발명에 따른 주파수 옵셋 추정기 의 일 실시예를 보인 블록도
도 41은 본 발명에 따른 기지 데이터 검출 및 초기 주파수 옵셋 추정기 의 일 실시예를 보인 구성 블록도
도 42는 도 41의 부분 상관기의 일 실시예를 보인 구성 블록도
도 43은 본 발명에 따른 따른 타이밍 복구부의 일 실시예를 보인 도면
도 44의 (a),(b)는 기지 데이터와 수신된 신호의 상관값을 구하여 타이밍 에러를 검출하는 일 실시예를 보인 도면
도 45의 (a),(b)는 기지 데이터와 수신된 신호의 상관값을 구하여 타이밍 에러를 검출하는 다른 실시예를 보인 도면
도 46은 타이밍 에러가 있을 경우 상관값을 예시한 도면
도 47은 시간 영역에서 타이밍 에러를 검출하는 타이밍 에러 검출기의 일 실시예를 보인 상세 블록도
도 48은 타이밍 주파수 에러를 검출하는 타이밍 에러 검출기의 일 실시예를 보인 상세 블록도
도 49는 타이밍 주파수 에러를 검출하는 타이밍 에러 검출기의 다른 실시예를 보인 상세 블록도
도 50은 본 발명에 따른 DC 제거기의 일 실시예를 보인 구성 블록도
도 51은 도 50의 DC 추정기 의 입력 샘플 데이터의 이동 예를 보인 도면
도 52는 본 발명에 따른 DC 제거기의 다른 실시예를 보인 구성 블록도
도 53은 본 발명에 따른 채널 등화기의 일 실시예를 보인 구성 블록도
도 54는 도 53의 잔류 반송파 위상 에러 추정부의 일 실시예를 보인 구성 블록도
도 55는 도 54의 위상 에러 검출기의 일 실시예를 보인 구성 블록도
도 56은 도 54의 위상 보상기의 일 실시예를 보인 구성 블록도
도 57은 본 발명에 따른 채널 등화기의 다른 실시예를 보인 구성 블록도
도 58은 본 발명에 따른 채널 등화기의 또 다른 실시예를 보인 구성 블록도
도 59는 본 발명에 따른 채널 등화기의 또 다른 실시예를 보인 구성 블록도
도 60은 본 발명에 따른 CIR 추정기 의 일 실시예를 보인 상세 블록도
도 61은 본 발명에 따른 블록 복호기의 일 실시예를 보인 상세 블록도
도 62는 도 61의 피드백 디포맷터의 일 실시예를 보인 구성 블록도
도 63의 (a),(b)는 복수개의 포션들을 모아 하나나 두개의 RS 프레임을 구성하는 과정의 일 예를 보인 도면
도 64, 도 65는 본 발명에 따른 에러 정정 복호 과정의 일 실시예를 보인 도면
도 66은 본 발명의 일 실시예에 따른 수신 시스템의 전체 구성 블록도
도 67은 본 발명에 따른 가상 채널 테이블에 대한 신택스 구조의 일 실시예 를 보인 도면
도 68은 본 발명에 따른 service_type 필드의 일 실시예를 보인 도면
도 69는 본 발명에 따른 서비스 로케이션 디스크립터에 대한 신택스 구조의 일 실시예를 보인 도면
도 70은 본 발명에 따른 stream_type 필드에 할당될 수 있는 값들과 그 정의의 예들을 보인 도면
도 71은 본 발명에 따른 이벤트 정보 테이블에 대한 신택스 구조의 일 실시예를 보인 도면
도 72는 본 발명의 다른 실시예에 따른 수신 시스템의 전체 구성 블록도
도 73은 본 발명의 일 실시예에 따른 MPH수신기의 구성 블록도
도 74는 오디오 신호를 압축하는 방법 및 상기 방법을 수행하는 오디오 신호 처리 장치를 도시한 도면
도 75는 오디오 신호를 압축하는데 이용되는 마스킹 효과(masking effect)를 설명하기 위한 도면
도 76은 일반적인 오디오 인코더의 기본 구조 블록도
도 77은 본 발명의 일실시예에 따른 도 76의 오디오 부호화 장치의 상세도
도 78은 오디오 신호의 디코딩 장치를 나타내는 블록도
도 79는 일반적인 MPEG 표준안에 따른 부호화 장치의 기본 구성도를 도시한 도면
도 80은 도 79에 따른 특정 프레임에서 각 서브밴드에 대한 SMR 곡선을 나타 낸 그래프
도 81은 본 발명의 일실시예에 따른 AAC 부호화 장치의 블록도
도 82는 본 발명의 일 실시예에 따른 AAC 디코딩 장치의 블록도도
도 83은 본 발명의 일 실시예에 따른 MP3 부호화 장치의 블록도
도 84는 본 발명의 일 실시예에 따른 MP3에서 주파수 영역별로 다른 특성을 갖는 부호화 방법을 사용한다는 것을 도시한 도면
도 85는 본 발명의 일 실시예에 따른 MP3에서 사용되는 허프만 코드북별 최대 절대값 등을 나타내는 테이블
도 86은 본 발명의 일 실시예에 따른 MP3 복호화 장치의 블록도
도 87은 본 발명의 일 실시예에 따른 AAC 부호화 장치의 블록도
도 88은 본 발명의 일 실시예에 따른 AAC에서 사용되는 허프만 코드북별 최대 절대값 등을 나타내는 테이블
도 89는 본 발명의 일 실시예에 따른 산술부호화(arithmetic coding) 방법이 사용되는 복호화 장치를 도시한 도면
도 90은 본 발명의 일 실시예에 따른 오디오 비트스트림 데이터 구조를 도시
도 91은 본 발명의 일 실시예에 따른 오디오 비트스트림(bitstream)의 데이터 구조를 도시한 도면
도 92는 본 발명의 일 실시예에 따른 추가 확장 정보를 개괄적으로 도시한 도면
도 93은 본 발명의 일 실시예에 따른 SBR의 원리를 설명하는 그래프
도 94는 본 발명의 일 실시예에 따른 SBR과 AAC와의 결합을 나타내는 블록도
도 95는 본 발명의 일 실시예에 따른 SBR 부호기에 관한 블록도
도 96은 본 발명의 일 실시예에 따른 SBR 복호기에 관한 블록도
도 97은 본 발명에 따른 모바일 서비스를 위한 프로토콜 스택의 다른 실시예를 보인 도면
도 98은 도 97에 의해 생성된 IP 데이터그램의 일 예를 보인 도면
Claims (15)
- 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신하되, 상기 모바일 서비스 데이터는 RS 프레임을 구성할 수 있고, 상기 RS 프레임은 상기 모바일 서비스 데이터에 대한 적어도 하나의 데이터 패킷, 상기 적어도 하나의 데이터 패킷을 기초로 생성된 RS 패리티 및 상기 적어도 하나의 데이터 패킷 및 상기 RS 패리티를 기초로 생성된 CRC checksum을 포함하는 수신부;상기 RS 프레임에 대해 CRC복호 및 RS복호를 수행하여 모바일 서비스 데이터에 발생된 에러를 정정하는 RS Frame 디코더; 및상기 모바일 서비스 데이터에 포함된 오디오 스트림으로부터 오디오 데이터를 추출하고 상기 오디오 데이터를 상기 오디오 데이터에 포함된 허프만 테이블 정보 및 영역 구분 정보를 기초로 복호화하며, 상기 복호화된 오디오 데이터를 역양자화하여 오디오 신호를 복원하는 디코더;를 포함하는 것을 특징으로 하는 방송 수신기.
- 제 1 항에 있어서,상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에는 기지 데이터 열이 선형적으로 삽입되며, 상기 기지 데이터열의 시작 부분에는 송신기의 트렐리스 인코더 내 메모리를 초기화하는데 이용된 초기화 데이터가 위치하는 것을 특징으로 하는 방송 수신기.
- 제 1 항에 있어서,상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에 기지 데이터 열이 N개 삽입되며, 상기 N개의 기지 데이터열 중 첫 번째 기지 데이터 열 및 두 번째 기지데이터 열 사이에는 상기 전송 파라미터가 삽입되는 것을 특징으로 하는 방송 수신기.
- 제 1 항에 있어서,상기 오디오 영역 구분 정보는 상기 오디오 데이터를 주파수 영역별로 구분한 것을 지시하고, 상기 허프만 테이블 정보는 상기 오디오 데이터의 영역별로 선택된 허프만 테이블을 지시하는 것을 특징으로 하는 방송 수신기.
- 제 1 항에 있어서,상기 오디오 스트림은 헤더, CRC(Cyclic Redundancy Checkin), 오디오 데이터, 부가 데이터를 포함하는 것을 특징으로 하는 방송 수신기.
- 제 5 항에 있어서,상기 부가 데이터는 특정 비트 단위를 맞추기 위한 정렬비트열을 포함하는 것을 특징으로 하는 방송 수신기.
- 제 5 항에 있어서,상기 부가 데이터는 비트레이트를 맞추기 위한 패딩 데이터를 포함하는 것을 특징으로 하는 방송 수신기.
- 제 1 항에 있어서,상기 디코더는,상기 오디오 스트림으로부터 오디오 데이터를 추출하는 비트역다중화부 및상기 오디오 데이터를 상기 오디오 데이터에 포함된 허프만 테이블 정보 및 영역 구분 정보를 기초로 복호화하며, 상기 복화화된 오디오 데이터를 역양자화하여 오디오 신호를 복원하는 AAC(Advanced Audio Coding) 복호기를 포함하는 것을 특징으로 하는 방송 수신기.
- 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신하는 단계;상기 모바일 서비스 데이터가 구성하는 RS 프레임에 대해 CRC복호 및 RS복호를 수행하여 모바일 서비스 데이터에 발생된 에러를 정정하는 단계; 및상기 모바일 서비스 데이터에 포함된 오디오 스트림으로부터 오디오 데이터를 추출하고 상기 오디오 데이터를 상기 오디오 데이터에 포함된 허프만 테이블 정 보 및 영역 구분 정보를 기초로 복호화하며, 상기 복호화된 오디오 데이터를 역양자화하여 오디오 신호를 복원하는 단계;를 포함하되,상기 모바일 서비스 데이터는 RS 프레임을 구성할 수 있고, 상기 RS 프레임은 상기 모바일 서비스 데이터에 대한 적어도 하나의 데이터 패킷, 상기 적어도 하나의 데이터 패킷을 기초로 생성된 RS 패리티 및 상기 적어도 하나의 데이터 패킷 및 상기 RS 패리티를 기초로 생성된 CRC checksum을 포함하는 것을 특징으로 하는 방송신호 처리방법.
- 제 9 항에 있어서,상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에는 기지 데이터 열이 선형적으로 삽입되며, 상기 기지 데이터열의 시작 부분에는 송신기의 트렐리스 인코더 내 메모리를 초기화하는데 이용된 초기화 데이터가 위치하는 것을 특징으로 하는 방송신호 처리방법.
- 제 9 항에 있어서,상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에 기지 데이터 열이 N개 삽입되며, 상기 N개의 기지 데이터열 중 첫 번째 기지 데이터 열 및 두 번째 기지데이터 열 사이에는 상기 전송 파라미터가 삽입되는 것을 특징으로 하는 방송신호 처리방법.
- 제 9 항에 있어서,상기 오디오 영역 구분 정보는 상기 오디오 데이터를 주파수 영역별로 구분한 것을 지시하고, 상기 허프만 테이블 정보는 상기 오디오 데이터의 영역별로 선택된 허프만 테이블을 지시하는 것을 특징으로 하는 방송신호 처리방법.
- 제 9 항에 있어서,상기 오디오 스트림은 헤더, CRC(Cyclic Redundancy Checkin), 오디오 데이터, 부가 데이터를 포함하는 것을 특징으로 하는 방송신호 처리방법.
- 제 13 항에 있어서,상기 부가 데이터는 특정 비트 단위를 맞추기 위한 정렬비트열을 포함하는 것을 특징으로 하는 방송신호 처리방법.
- 제 13 항에 있어서,상기 부가 데이터는 비트레이트를 맞추기 위한 패딩 데이터를 포함하는 것을 특징으로 하는 방송신호 처리방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/167,234 US8074152B2 (en) | 2007-07-02 | 2008-07-02 | Broadcasting receiver and broadcast signal processing method |
CA 2692107 CA2692107C (en) | 2007-07-02 | 2008-07-02 | Broadcasting receiver and broadcast signal processing method |
PCT/KR2008/003916 WO2009005309A1 (en) | 2007-07-02 | 2008-07-02 | Broadcasting receiver and broadcast signal processing method |
US13/286,123 US9106349B2 (en) | 2007-07-02 | 2011-10-31 | Broadcasting receiver and broadcast signal processing method |
US14/788,062 US20160020869A1 (en) | 2007-07-02 | 2015-06-30 | Broadcasting receiver and broadcast signal processing method |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94745207P | 2007-07-02 | 2007-07-02 | |
US60/947,452 | 2007-07-02 | ||
US95771407P | 2007-08-24 | 2007-08-24 | |
US60/957,714 | 2007-08-24 | ||
US97408407P | 2007-09-21 | 2007-09-21 | |
US60/974,084 | 2007-09-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090004665A true KR20090004665A (ko) | 2009-01-12 |
KR101405972B1 KR101405972B1 (ko) | 2014-06-12 |
Family
ID=40456965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20080063685A KR101405972B1 (ko) | 2007-07-02 | 2008-07-01 | 방송 수신기 및 방송신호 처리방법 |
Country Status (4)
Country | Link |
---|---|
US (3) | US8074152B2 (ko) |
KR (1) | KR101405972B1 (ko) |
CA (1) | CA2692107C (ko) |
WO (1) | WO2009005309A1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100089004A (ko) * | 2009-02-02 | 2010-08-11 | 엘지전자 주식회사 | 송/수신 시스템 및 데이터 처리 방법 |
US9763059B2 (en) | 2009-02-02 | 2017-09-12 | Lg Electronics Inc. | Transmitting/receiving system and method of processing data in the transmitting/receiving system |
US9966974B2 (en) | 2011-01-14 | 2018-05-08 | Samsung Electronics Co., Ltd | Apparatus and method for providing compatibility of transmission signal in communication system |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101276851B1 (ko) * | 2007-04-06 | 2013-06-18 | 엘지전자 주식회사 | 디지털 방송 신호 송신 장치 및 방법 |
KR101405972B1 (ko) | 2007-07-02 | 2014-06-12 | 엘지전자 주식회사 | 방송 수신기 및 방송신호 처리방법 |
KR101405975B1 (ko) | 2007-07-23 | 2014-06-12 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
WO2010107213A2 (ko) * | 2009-03-15 | 2010-09-23 | 엘지전자 주식회사 | 송/수신 시스템 및 방송 신호 처리 방법 |
KR20110063327A (ko) | 2009-11-30 | 2011-06-10 | 삼성전자주식회사 | 디지털 방송 송신기, 디지털 방송 수신기 및 그들의 스트림 구성 및 처리 방법 |
KR101298591B1 (ko) * | 2009-12-17 | 2013-08-26 | 한국전자통신연구원 | 무선 통신 시스템에서 데이터 송수신 장치 및 방법 |
US9462316B2 (en) * | 2009-12-29 | 2016-10-04 | International Business Machines Corporation | Digital content retrieval utilizing dispersed storage |
US8315333B2 (en) * | 2010-01-28 | 2012-11-20 | Lg Electronics Inc. | Digital broadcasting system and method for transmitting and receiving digital broadcast signal |
US8489971B1 (en) * | 2010-05-28 | 2013-07-16 | Sk Hynix Memory Solutions Inc. | Hardware implementation scheme to adapt coefficients for data dependent noise prediction and soft output viterbi algorithm |
JP5190490B2 (ja) * | 2010-06-14 | 2013-04-24 | Nttエレクトロニクス株式会社 | 出力レート制御装置及び出力レート制御方法 |
KR20120012301A (ko) * | 2010-07-30 | 2012-02-09 | 삼성전자주식회사 | 디지털 방송에서의 확장 방송 서비스 송수신 방법 및 장치 |
TWI450266B (zh) * | 2011-04-19 | 2014-08-21 | Hon Hai Prec Ind Co Ltd | 電子裝置及音頻資料的解碼方法 |
GB2496201A (en) * | 2011-11-07 | 2013-05-08 | Sony Corp | Context adaptive data encoding and decoding |
TWI540886B (zh) * | 2012-05-23 | 2016-07-01 | 晨星半導體股份有限公司 | 音訊解碼方法及音訊解碼裝置 |
US9325356B2 (en) | 2013-03-15 | 2016-04-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single-sideband transmitter using class-S amplifier |
TWI546799B (zh) | 2013-04-05 | 2016-08-21 | 杜比國際公司 | 音頻編碼器及解碼器 |
US9913234B2 (en) * | 2013-08-21 | 2018-03-06 | Nec Corporation | Frequency deviation compensation scheme, frequency deviation compensation method, and storage medium |
CN103428227B (zh) * | 2013-09-05 | 2016-03-30 | 中国科学技术大学苏州研究院 | 基于Huffman编码的IP隐秘通信方法 |
US9620133B2 (en) * | 2013-12-04 | 2017-04-11 | Vixs Systems Inc. | Watermark insertion in frequency domain for audio encoding/decoding/transcoding |
SG11201700460SA (en) | 2014-07-23 | 2017-02-27 | Aviat Networks Inc | Systems and methods for averaging in frequency domain equalization systems |
GB201513316D0 (en) * | 2015-07-29 | 2015-09-09 | Flynn Thomas M | P19-0 encoding engine |
KR102546098B1 (ko) * | 2016-03-21 | 2023-06-22 | 한국전자통신연구원 | 블록 기반의 오디오 부호화/복호화 장치 및 그 방법 |
US10015612B2 (en) | 2016-05-25 | 2018-07-03 | Dolby Laboratories Licensing Corporation | Measurement, verification and correction of time alignment of multiple audio channels and associated metadata |
KR101858123B1 (ko) * | 2017-04-25 | 2018-05-17 | 고려대학교 산학협력단 | 혼합형 반복 복호 방법 및 장치 |
GB2565268B (en) * | 2017-06-22 | 2021-11-24 | Avago Tech Int Sales Pte Lid | Apparatus and method for packing a bit stream |
US10447313B2 (en) | 2017-11-28 | 2019-10-15 | X Development Llc | Communication method and system with on demand temporal diversity |
CN108549096B (zh) * | 2018-04-17 | 2021-10-01 | 中国科学院微电子研究所 | Gps导航电文纠错译码的方法及装置 |
CN110782906B (zh) * | 2018-07-30 | 2022-08-05 | 南京中感微电子有限公司 | 音频数据恢复方法、装置及蓝牙设备 |
CN109857463B (zh) * | 2019-01-30 | 2020-12-01 | 上海兆芯集成电路有限公司 | 加速压缩方法以及加速压缩装置 |
US11677494B2 (en) * | 2021-01-19 | 2023-06-13 | Avago Technologies International Sales Pte. Limited | Enhanced error protection of payload using double CRC |
Family Cites Families (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2075309B (en) * | 1980-04-29 | 1984-03-07 | Sony Corp | Processing binary data framing |
US5892879A (en) * | 1992-03-26 | 1999-04-06 | Matsushita Electric Industrial Co., Ltd. | Communication system for plural data streams |
JP3265980B2 (ja) * | 1996-04-15 | 2002-03-18 | 松下電器産業株式会社 | 番組情報構成方法および番組情報構成装置 |
JPH10154373A (ja) * | 1996-09-27 | 1998-06-09 | Sony Corp | データデコードシステムおよびデータデコード方法、伝送装置および方法、並びに、受信装置および方法 |
EP2247014B1 (en) * | 1997-05-30 | 2012-01-04 | Qualcomm Incorporated | Method and apparatus for providing error protection for over-the-air file transfer |
JPH1127641A (ja) * | 1997-07-07 | 1999-01-29 | Toshiba Corp | テレビジョン受信機 |
JP3096020B2 (ja) * | 1997-12-16 | 2000-10-10 | 日本放送協会 | 送信装置および受信装置 |
JPH11261906A (ja) | 1998-01-12 | 1999-09-24 | Sony Corp | テレビ放送受信装置、テレビ放送受信方法およびテレビ放送方法 |
US6459427B1 (en) * | 1998-04-01 | 2002-10-01 | Liberate Technologies | Apparatus and method for web-casting over digital broadcast TV network |
US6931198B1 (en) * | 1998-07-15 | 2005-08-16 | Sony Corporation | Apparatus and method for downloading desired data signal to user-selectable storage unit |
JP3968545B2 (ja) * | 1998-10-28 | 2007-08-29 | セイコーエプソン株式会社 | マイクロレンズアレイの製造方法 |
EP1022884A1 (en) | 1999-01-25 | 2000-07-26 | CANAL+ Société Anonyme | Address assignment in a digital transmission system |
CN1293847A (zh) | 1999-01-28 | 2001-05-02 | 皇家菲利浦电子有限公司 | 数据分组传输系统中解密密钥的同步 |
US6625219B1 (en) * | 1999-02-26 | 2003-09-23 | Tioga Technologies, Ltd. | Method and apparatus for encoding/framing for modulated signals over impulsive channels |
US6985537B1 (en) * | 1999-09-15 | 2006-01-10 | Lucent Technologies Inc. | Symbol self synchronous interleaving method and apparatus for OFDM-based communication system |
US6975689B1 (en) * | 2000-03-30 | 2005-12-13 | Mcdonald James Douglas | Digital modulation signal receiver with adaptive channel equalization employing discrete fourier transforms |
KR100360622B1 (ko) * | 2000-06-12 | 2002-11-13 | 주식회사 문화방송 | 엠펙 데이터 프레임과 이를 이용한 송수신 시스템 |
JP4631235B2 (ja) | 2000-08-25 | 2011-02-16 | ソニー株式会社 | デジタル放送送信方法、デジタル放送送信装置、並びに、デジタル放送受信装置 |
US6686880B1 (en) * | 2000-10-25 | 2004-02-03 | Xm Satellite Radio, Inc. | Method and apparatus for prompting a reverse channel response from receiver in a digital broadcast system |
US7224935B2 (en) | 2000-11-29 | 2007-05-29 | Visteon Global Technologies, Inc. | Telematics application for implementation in conjunction with a satellite broadcast delivery system |
US7111221B2 (en) * | 2001-04-02 | 2006-09-19 | Koninklijke Philips Electronics N.V. | Digital transmission system for an enhanced ATSC 8-VSB system |
US6987778B2 (en) * | 2001-05-22 | 2006-01-17 | Qualcomm Incorporated | Enhanced channel interleaving for optimized data throughput |
JP2004536524A (ja) * | 2001-07-19 | 2004-12-02 | トムソン ライセンシング ソシエテ アノニム | ディジタル放送伝送のロバスト受信 |
JP4784030B2 (ja) * | 2001-09-21 | 2011-09-28 | ソニー株式会社 | 記録装置、再生装置、記録方法、再生方法 |
JP2003101812A (ja) | 2001-09-26 | 2003-04-04 | Hitachi Ltd | 受信システムおよび携帯端末 |
WO2003036643A1 (fr) * | 2001-10-23 | 2003-05-01 | Fujitsu Limited | Disque optique, dispositif et procede d'acces a ce disque optique |
KR100406122B1 (ko) | 2002-03-29 | 2003-11-14 | 한국전자통신연구원 | 디지털 데이터 방송을 위한 동기화 데이터 삽입 장치 및그 방법 |
KR100466237B1 (ko) | 2002-06-20 | 2005-01-13 | 한국전자통신연구원 | 디지털 방송 프로토콜 변환 방법 및 그 시스템 |
US7151575B1 (en) * | 2002-07-18 | 2006-12-19 | Entropic Communications, Inc. | Wireless extension for cable television signals |
ES2297083T3 (es) * | 2002-09-04 | 2008-05-01 | Microsoft Corporation | Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel. |
JP4575655B2 (ja) | 2002-09-24 | 2010-11-04 | 富士通テン株式会社 | デジタル放送受信装置 |
US7831869B2 (en) * | 2003-01-27 | 2010-11-09 | Hewlett-Packard Development Company, L.P. | DDS logical data grouping |
KR20040074345A (ko) | 2003-02-17 | 2004-08-25 | 엘지전자 주식회사 | 차량항법시스템의 통화제어장치 |
GB2402307A (en) | 2003-05-30 | 2004-12-01 | Nokia Corp | Encapsulating irregular burst transmissions with overhead information specifying the timing interval to the next burst |
JP2005094354A (ja) | 2003-09-17 | 2005-04-07 | Matsushita Electric Ind Co Ltd | デジタル放送受信機 |
KR20060104995A (ko) | 2003-10-27 | 2006-10-09 | 노키아 코포레이션 | 서비스 선택 및 분류를 위한 장치, 시스템, 방법 및 컴퓨터프로그램 생성물 |
KR100608113B1 (ko) | 2003-12-26 | 2006-08-04 | 한국전자통신연구원 | 에러 핸들러를 포함한 디지털 오디오 복호화기 및 디지털오디오 재생기 |
CA2556331A1 (en) * | 2004-02-17 | 2005-09-29 | Therasense, Inc. | Method and system for providing data communication in continuous glucose monitoring and management system |
KR100659266B1 (ko) * | 2004-04-22 | 2006-12-20 | 삼성전자주식회사 | 다양한 코드율을 지원하는 저밀도 패러티 검사 코드에 의한데이터 송수신 시스템, 장치 및 방법 |
US7138659B2 (en) * | 2004-05-18 | 2006-11-21 | Onscreen Technologies, Inc. | LED assembly with vented circuit board |
KR100577007B1 (ko) | 2004-06-22 | 2006-05-10 | 현대자동차주식회사 | 텔레매틱스 장치 |
KR100744055B1 (ko) | 2004-06-23 | 2007-07-30 | 삼성전자주식회사 | 수신 성능 및 등화 성능이 향상된 디지털 방송 송수신 시스템 및 그의 신호처리방법 |
US7502983B2 (en) * | 2004-06-28 | 2009-03-10 | Massey Peter C | Binary error-correction coding method and decoding method for trellis with permuted and sequential symbols |
WO2006028337A1 (en) | 2004-09-06 | 2006-03-16 | Samsung Electronics Co., Ltd. | Apparatus and method for receiving digital multimedia broadcasting signals |
FR2876196B1 (fr) | 2004-10-06 | 2006-12-01 | Renault Sas | Dispositif de gestion de l'alimentation du systeme multimedia d'un vehicule automobile |
KR20060062464A (ko) | 2004-12-03 | 2006-06-12 | 현대자동차주식회사 | 디지털 멀티미디어 방송을 이용한 영상 피 오 아이 서비스방법 |
KR20060063258A (ko) | 2004-12-07 | 2006-06-12 | 엘지전자 주식회사 | 차량용 핸즈프리 시스템 |
US8199781B2 (en) | 2004-12-14 | 2012-06-12 | Samsung Electronics Co., Ltd | Device and method for demultiplexing received transport stream in digital broadcasting receiver |
KR101036471B1 (ko) * | 2004-12-15 | 2011-05-25 | 엘지전자 주식회사 | E8-vsb 송/수신 시스템, 그리고 데이터 속성 발생장치 및 방법 |
KR20060072573A (ko) | 2004-12-23 | 2006-06-28 | 엘지전자 주식회사 | 디지털 멀티미디어 방송 송신기와 수신기 |
KR100790117B1 (ko) | 2005-02-02 | 2007-12-31 | 삼성전자주식회사 | 디지털 방송 채널 선택 장치 및 방법 |
KR101066292B1 (ko) | 2005-02-07 | 2011-09-20 | 삼성전자주식회사 | 디지털 멀티미디어 방송의 데이터 방송 선택적 수신시스템 및 방법 |
KR100673199B1 (ko) | 2005-04-27 | 2007-01-22 | 에스케이 텔레콤주식회사 | 휴대용 디지털 방송 수신 장치 및 제한 수신 방법 |
KR100819266B1 (ko) * | 2005-04-27 | 2008-10-27 | 삼성전자주식회사 | 디지털 오디오 방송 시스템에서 차등 전송되는 방송 데이터의 송수신 장치 및 방법 |
US20070093943A1 (en) * | 2005-06-01 | 2007-04-26 | Scott Nelson | System and method for remote convenience vehicle telematics |
JP2007010368A (ja) | 2005-06-28 | 2007-01-18 | Pioneer Electronic Corp | ナビゲーション装置、ナビゲーション方法、およびナビゲーションプログラム |
KR100735276B1 (ko) | 2005-08-18 | 2007-07-03 | 삼성전자주식회사 | 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 |
KR100724891B1 (ko) | 2005-09-16 | 2007-06-04 | 삼성전자주식회사 | 디지털 비디오 방송 시스템에서 섹션 검출 및 신뢰성 정보획득을 위한 다중 순환잉여검증 장치 및 방법 |
JP4643406B2 (ja) | 2005-09-27 | 2011-03-02 | 株式会社東芝 | 放送受信装置 |
CA2562202C (en) * | 2005-10-05 | 2013-06-18 | Lg Electronics Inc. | Method of processing traffic information and digital broadcast system |
KR101079100B1 (ko) | 2005-10-12 | 2011-11-02 | 엘지전자 주식회사 | 디지털 방송 시스템, 방법, 및 데이터 구조 |
KR100740209B1 (ko) | 2005-10-21 | 2007-07-18 | 삼성전자주식회사 | 디지털 방송 수신 시스템 및 그 신호 처리 방법 |
KR101199369B1 (ko) * | 2005-11-25 | 2012-11-09 | 엘지전자 주식회사 | 디지털 방송 시스템 및 처리 방법 |
CN101395881B (zh) * | 2005-12-16 | 2012-06-27 | 杜比国际公司 | 用于产生和解释具有带有指定入口点的一系列段的数据流的设备、方法和计算机程序 |
US7823051B2 (en) | 2006-01-03 | 2010-10-26 | Samsung Electronics Co., Ltd. | Digital broadcasting transmission system and method thereof |
KR20070091962A (ko) | 2006-03-08 | 2007-09-12 | 한국방송공사 | 애니메이션을 이용한 디엠비 데이터 방송의 나레이션 제공방법 및 이를 구현하기 위한 프로그램이 저장된 컴퓨터로판독 가능한 기록매체 |
KR100661005B1 (ko) | 2006-03-24 | 2006-12-26 | 삼성전자주식회사 | Dmb 수신 네비게이션 이동 단말기 및 이를 이용한네비게이션 수행 방법 |
US7873104B2 (en) * | 2006-10-12 | 2011-01-18 | Lg Electronics Inc. | Digital television transmitting system and receiving system and method of processing broadcasting data |
KR101343407B1 (ko) | 2007-02-26 | 2013-12-20 | 삼성전자주식회사 | 부가 데이터 전송이 가능한 디지털 송신 시스템 및 그 방법 |
KR101405972B1 (ko) | 2007-07-02 | 2014-06-12 | 엘지전자 주식회사 | 방송 수신기 및 방송신호 처리방법 |
JP2012128931A (ja) * | 2010-12-17 | 2012-07-05 | Toshiba Corp | チャネル回路及び磁気ディスク装置の欠陥検出方法 |
-
2008
- 2008-07-01 KR KR20080063685A patent/KR101405972B1/ko not_active IP Right Cessation
- 2008-07-02 CA CA 2692107 patent/CA2692107C/en not_active Expired - Fee Related
- 2008-07-02 US US12/167,234 patent/US8074152B2/en not_active Expired - Fee Related
- 2008-07-02 WO PCT/KR2008/003916 patent/WO2009005309A1/en active Application Filing
-
2011
- 2011-10-31 US US13/286,123 patent/US9106349B2/en not_active Expired - Fee Related
-
2015
- 2015-06-30 US US14/788,062 patent/US20160020869A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100089004A (ko) * | 2009-02-02 | 2010-08-11 | 엘지전자 주식회사 | 송/수신 시스템 및 데이터 처리 방법 |
US9763059B2 (en) | 2009-02-02 | 2017-09-12 | Lg Electronics Inc. | Transmitting/receiving system and method of processing data in the transmitting/receiving system |
US9966974B2 (en) | 2011-01-14 | 2018-05-08 | Samsung Electronics Co., Ltd | Apparatus and method for providing compatibility of transmission signal in communication system |
Also Published As
Publication number | Publication date |
---|---|
CA2692107C (en) | 2013-04-16 |
CA2692107A1 (en) | 2009-01-08 |
US20090044072A1 (en) | 2009-02-12 |
US8074152B2 (en) | 2011-12-06 |
KR101405972B1 (ko) | 2014-06-12 |
US20120047416A1 (en) | 2012-02-23 |
US20160020869A1 (en) | 2016-01-21 |
US9106349B2 (en) | 2015-08-11 |
WO2009005309A1 (en) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101597579B1 (ko) | 방송 수신기 및 방송신호 처리방법 | |
KR101531528B1 (ko) | 방송 수신기 및 방송신호 처리방법 | |
KR101490246B1 (ko) | 방송 수신기 및 방송신호 처리방법 | |
KR101405972B1 (ko) | 방송 수신기 및 방송신호 처리방법 | |
KR101405971B1 (ko) | 방송 수신기 및 방송신호 처리방법 | |
KR101008652B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100902903B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20080114595A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090004582A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090004581A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20080114594A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090012180A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090010927A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100904447B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170512 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |