상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 디지털 방송 송신기는, 소정의 위치에 스터프 바이트(Stuff byte)가 삽입되어 있는 전송 스트림을 랜덤화하는 랜덤화부; 상기 랜덤화부에서 출력된 데이터에 포함되어 있는 상기 스터프 바이트를 소정의 기지(Known) 데이터로 대체하는 스터프 바이트 교환부; 상기 스터프 바이트 교환부에서 출력된 데이터에 대해 RS 인코딩을 수행하는 RS 인코딩 부; 상기 RS 인코딩부에서 출력된 데이터에 대해 인터리빙을 수행하는 인터리빙부; 상기 인터리빙부에서 출력된 데이터에 대해 트렐리스 인코딩을 수행하는 트렐리스 인코딩부; 상기 RS 인코딩부에서 출력된 데이터와 상기 트렐리스 인코딩부에서 출력된 데이터에 기초하여 패리티를 생성하고 생성된 패리티를 상기 트렐리스 인코딩부로 입력하는 RS 패리티 생성부; 및 상기 트렐리스 인코딩부에서 출력된 데이터에 대해 변조를 수행하고 RF 업컨버팅을 수행하는 변조 및 RF부를 포함한다.
바람직하게는, 상기 트렐리스 인코딩부는 트렐리스 인코딩 수행을 위한 메모리를 구비하며, 상기 스터프 바이트가 삽입된 위치에서 입력되는 데이터에 대해 상기 메모리 초기화를 수행한다.
또한, 바람직하게는, 상기 트렐리스 인코딩부는 상기 메모리를 초기화하는 값을 상기 RS 패리티 생성부에 입력하고 상기 RS 패리티 생성부에서 생성된 패리티를 입력받아 그에 대응하는 패리티를 대체한다.
바람직하게는, 상기 스터프 바이트의 삽입 위치에 대한 정보를 나타내는 제어신호를 생성하여 상기 트렐리스 인코딩부의 메모리 초기화를 제어하는 제어부;를 더 포함한다.
더 바람직하게는,상기 제어부는 상기 스터프 바이트교환부에 상기 스터프 바이트의 위치 정보와 그 위치에서 대체될 기지 데이터를 보내고, 상기 RS 패리티 생성부에 초기화 패킷의 위치 정보를 보낸다.
또한, 바람직하게는, 상기 RS 패리티 생성부는,상기 RS 인코딩부에서 출력된 초기화 영역을 포함하는 패킷을 임시 저장하는 패킷버퍼;를 더 포함한다.
더 바람직하게는 상기 패킷버퍼는 상기 메모리 초기화에 따라 변경된 데이터를 입력받아 저장된 상기 데이터를 업데이트한다.
또한, 바람직하게는, 상기 RS 패리티 생성부는, 상기 트레리스 인코딩부에서 출력된 초기화 심볼을 소정의 바이트로 맵핑하여 상기 패킷버퍼로 출력하는 바이트 맵퍼와 상기 패킷 버퍼로부터 출력된 데이터를 RS 인코딩하는 RS 인코더와, 상기 RS 인코더의 출력을 소정의 심볼로 변환하는 심볼 맵퍼를 더 포함한다.
또한, 상기 스터프 바이트는 상기 전송 스트림의 적응 필드(Adaptation Field)에 삽입되어 있다.
또한, 상기 전송 스트림에 상기 스터프 바이트의 위치 및 길이에 대한 정보가 소정의 위치에 삽입되어 있다.
또한, 상기 소정의 기지 데이터는 상기 트렐리스 인코딩부를 통과한 후의 출력이 유사 잡음(pseudo noise)과 유사한 스펙트럼을 가지며 평균 DC(direct current)값이 0에 가깝게 되는 성질을 갖는다.
한편, 본 발명의 일 실시예에 따른 디지털 방송 송신기의 송신방법은 소정의 위치에 스터프 바이트(Stuff byte)가 삽입되어 있는 전송 스트림을 랜덤화하는 랜덤화 단계; 상기 랜덤화 단계에서 출력된 데이터에 대해 상기 스터프 바이트를 소정의 기지(Known) 데이터로 대체하는 스터프 바이트 교환 단계; 상기 스터프 바이트 교환 단계에서 출력된 데이터에 대해 RS 인코딩을 수행하는 인코딩 단계;상기 RS 인코딩 단계에서 출력된 데이터에 대해 인터리빙을 수행하는 인터리빙 단계; 상기 인터리빙 단계에서 출력된 데이터에 대해 트렐리스 인코딩을 수행하는 트렐리스 인코딩 단계; 상기 RS 인코딩 단계에서 출력된 데이터와 상기 트렐리스 인코딩 단계에서 출력된 데이터에 기초하여 패리티를 생성하고 생성된 패리티를 상기 트렐리스 인코딩 단계로 입력하는 RS 패리티 생성 단계; 및 상기 트렐리스 인코딩 단계에서 출력된 데이터에 대해 변조를 수행하고 RF 업컨버팅을 수행하는 단계;를 포함한다.
본 발명의 일 실시예에 따른 디지털 방송 수신기는 소정의 위치에 삽입된 스터프 바이트(Stuff byte)에 소정의 기지데이터(Known Data)를 삽입하여 인코딩된 신호를 수신하여 복조하는 복조부; 복조된 상기 신호를 등화하는 등화부; 등화된 상기 신호의 에러를 정정하고 복호하는 비터비 디코딩부; 상기 비터비 디코딩부의 출력 데이터에 대해 디인터리빙을 수행하는 디인터리빙부; 및 상기 디인터리빙부의 출력 데이터에 대해 역 랜덤화를 수행하는 역랜덤화부를 포함한다.
본 발명의 일실시예에 따른 디지털 방송 송신기의 트렐리스 인코더는, 소정의 위치에 삽입되어 있는 스터프 바이트(Stuff byte)를 소정의 기지(Known) 데이터로 대체하여 형성된 전송 스트림을 전송하는 디지털 방송 송신기의 트렐리스 인코더에 있어서, 트렐리스 인코딩 수행을 위한 메모리를 구비하며, 상기 스터프 바이트가 삽입된 위치에서 입력되는 데이터에 대해 상기 메모리 초기화를 수행한다.
한편, 본 발명의 다른 실시예에 따른 디지털 방송 송신기는, 소정의 위치에 스터프 바이트(Stuff byte)가 삽입되어 있는 전송 스트림을 랜덤화하는 랜덤화부; 상기 랜덤화부에서 출력된 데이터에 포함되어 있는 상기 스터프 바이트를 소정의 기지(Known) 데이터로 대체하는 스터프 바이트 교환부; 상기 스터프 바이트 교환부 에서 출력된 데이터에 대해 RS 인코딩을 수행하는 RS 인코딩부; 상기 RS 인코딩부에서 출력된 데이터에 대해 인터리빙을 수행하는 인터리빙부; 메모리를 포함하고 상기 인터리빙부에서 출력된 데이터에 대해 상기 스터프 바이트가 삽입된 위치에서 상기 메모리의 초기화를 수행하고 트렐리스 인코딩을 수행하는 트렐리스 인코딩부; 상기 메모리를 초기화하는 값을 입력받고 패리티를 생성하고 생성된 패리티를 상기 트렐리스 인코딩부로 입력하는 RS 패리티 생성부; 및 상기 트렐리스 인코딩부에서 출력된 데이터에 대해 변조를 수행하고 RF 업컨버팅을 수행하는 변조 및 RF부를 포함한다.
한편, 본 발명의 다른 실시예에 따른 디지털 방송 송신기의 신호처리 방법은, 소정의 위치에 스터프 바이트(Stuff byte)가 삽입되어 있는 전송 스트림을 랜덤화하는 랜덤화 단계; 상기 랜덤화 단계에서 출력된 데이터에 대해 상기 스터프 바이트를 소정의 기지(Known) 데이터로 대체하는 스터프 바이트 교환 단계; 상기 스터프 바이트 교환 단계에서 출력된 데이터에 대해 RS 인코딩을 수행하는 인코딩 단계; 상기 RS 인코딩 단계에서 출력된 데이터에 대해 인터리빙을 수행하는 인터리빙 단계; 상기 인터리빙단계에서 출력된 데이터에 대해 상기 스터프 바이트가 삽입된 위치에서 메모리의 초기화를 수행하고 트렐리스 인코딩을 수행하는 단계; 상기 메모리를 초기화하는 값을 입력받고 패리티를 생성하고 생성된 패리티를 상기 트렐리스 인코딩 단계로 입력하는 RS 패리티 생성 단계; 및 상기 트렐리스 인코딩 단계에서 출력된 데이터에 대해 변조를 수행하고 RF 업컨버팅을 수행하는 단계;를 포함한다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 3은 일반적인 MPEG-2 전송 스트림 패킷의 구조를 나타내는 도면이다. 도 3를 참조하면, 일반적인 MPEG-2 전송 스트림은 4 바이트의 TS 헤더 부분과 184 바이트의 적응 필드(adaptation field) 또는 통상의 데이터(payload data)로 구성된다.
도 4는 본 발명에 따라 스터프바이트가 추가된 적응 필드(adaptation field)를 포함하는 MPEG-2 전송 스트림 패킷의 구조를 나타내는 도면이다. 도 4를 참조하면, 본 발명에 따른 MPEG-2 전송 스트림은 4 바이트의 헤더 부분과 "n" 바이트의 적응 필드와 "184-n" 바이트의 통상의 데이터(payload data)로 구성된다. 적응 필드 중 2 바이트는 적응 필드의 길이에 대한 정보를 포함한 적응 필드 헤더(AF Header)이고 적응 필드 헤더 뒤에 정보를 담지 않고 단순히 공간만을 차지하는 스터프 바이트가 삽입될 수 있다. 적응 필드의 유무는 전송 스트림의 TS 헤더내의 적응 필드 제어(adaptation field control) 비트의 값에 의해 정해진다.
본 발명에서는 도 4에 도시된 데이터 포맷과 같이 전송 스트림의 적응 필드에 스터프 바이트(stuff byte)가 삽입된 형태의 MPEG-2 TS 패킷이 송신기의 입력으로 이용된다.
도 5는 본 발명의 송신 시스템을 구현하기 위해 SRS가 삽입될 전송 스트림의 구조를 예시한 도면이다. 여기서, 설명의 편의를 위해 전송스트림의 동기 바이트(Sync byte) 다음의 3 바이트를 노멀 헤더(Normal Header), 적응 필드의 처음 2바이트를 AF(adaptation field) 헤더(Header)로 명명한다.
도 5a는 SRS를 이용하는 VSB 시스템에 기본 형태의 MPEG-2 패킷 데이터의 구조로서, 동기신호인 1 바이트와 3 바이트의 PID(Packet Identity)로 구성된 노멀 헤더부분, 스터프 바이트의 위치에 대한 정보를 포함하는 2 바이트의 적응 필드 헤더(AF Header), 및 소정 길이(N)의 바이트로 구성된 스터프 바이트를 포함하며, 이외의 바이트는 전송하고자 하는 통상의 데이터(Payload Data)인 노멀 스트림으로 구성된다. 스터프 바이트의 시작 위치는 고정되어 있으므로 바이트의 위치에 대한 정보는 스터프 바이트의 길이에 대한 정보로 표현된다. 스터프 바이트 길이(stuffing bytes length) N은 1부터 27까지 사용될 수 있다.
또한, 도 5b-5e는 SRS를 효과적으로 사용하기 위해 적응 필드 내에 PCR, OPCR, splice_count 등 다른 정보가 들어 있는 형태의 패킷 구조를 도시한다. 이 경우에도 적응 필드는 그 크기가 항상 일정하도록 구성된다. AF헤더와 PCR, OPCR, splice_count 등의 정보 이외의 부분이 SRS가 삽입될 정보를 담지 않는 스터프 바이트이다.
도 6은 본 발명의 일 실시예에 따른 디지털 방송 송신 시스템을 나타내는 블럭도이다.
도 6을 참조하면, 디지털 방송 송신기는 랜덤화부(610), 스터프바이트교환부(620), RS인코딩부(630), 인터리빙부(640), 트렐리스인코딩부(650), RS 패리티 생성부(660), 다중화부(670) 및 제어부(680)를 포함한다.
랜덤화부(610)는 할당된 채널 공간의 활용도를 높이기 위해 입력된 MPEG-2 전송 스트림 데이터를 랜덤화한다. 랜덤화부(610)에 입력되는 데이터는 도 5와 같 이 통상적인 데이터(payload data)를 포함하지 않는 소정 바이트 길이의 스터프 바이트(Stuff byte)를 소정의 위치에 삽입하여 구성한 데이터 포맷을 가진다.
스터프바이트교환부(620)는 송신측과 수신측 간에 미리 약속된 소정의 패턴을 갖는 특정 시퀀스인 기지 데이터를 생성할 수 있으며, 랜덤화된 데이터의 스터프 바이트 위치에서 스터프 바이트를 기지데이터로 대체한다. 기지데이터는 그 패턴이 송수신되는 일반적인 데이터(payload data)와 구별되므로 용이하게 검출할 수 있어 수신측의 동기 및 등화에 이용된다.
RS 인코딩부(630)는 채널에 의해 발생하는 오류를 정정하기 위해 스터프바이트교환부(620)에 의해 스터프 바이트가 교환된 패킷 데이터에 대해 RS 인코딩을 수행하여 소정 바이트의 패리티를 부가한다.
인터리빙부(640)는 RS인코딩부(630)에서 출력된 패리티가 추가된 패킷에 대해 소정의 패턴으로 데이터 인터리빙을 수행한다.
트렐리스 인코딩부(650)는 인터리빙부(640)에서 출력된 데이터를 심볼로 변환하고 2/3 비율의 트렐리스 부호화를 통해 심볼 맵핑을 수행한다. 여기서, 트렐리스 인코딩부(650)는 기지데이터의 시작점에서 자체 메모리 소자에 임시 저장된 값을 특정한 값으로 초기화하고 트렐리스 부호화를 수행한다. 메모리 소자 저장 값을 예를 들면 "00" 상태로 만들어 초기화한다. 또한, 트렐리스 인코딩부(650)는 그 메모리를 초기화하는 값을 RS 패리티 생성부(660)로 입력하고 RS 패리티 생성부에서 생성된 새로운 패리티를 입력받아 그 패리티로 대응하는 기존 패리티를 대체한다.
RS 패리티 생성부(660)는 트렐리스 인코딩부(650)로부터 입력받은 메모리를 초기화시키는 값을 이용하여 RS 인코딩부(630)로부터 입력받은 MPEG-2 패킷에 대해 RS 인코딩을 수행하여 패리티를 생성하고 생성된 패리티를 트렐리스 인코딩부로 보낸다.
제어부(680)는 스터프바이트교환부(620)에 스터프 바이트의 위치 정보와 그 위치에서 대체될 기지 데이터를 보낸다.
또한, 제어부(680)는 RS 패리티 생성부(660)로 입력되는 187 바이트 단위의 패킷 중 초기화를 위해 사용된 부분을 포함하는 초기화 패킷의 위치정보를 RS 패리티 생성부에 보내 그 초기화 패킷만이 사용될 수 있도록 제어한다. 한편, 설계의 편의를 위해서 스터프 바이트가 27보다 작게 사용되더라도 스터프 바이트가 27 또는 26개가 사용되는 것으로 가정하고 그에 해당하는 33 개 또는 32개의 초기화 패킷을 RS 패리티 생성부의 입력으로 사용할 수 있다. 이 경우 변경되지 않은 패리티가 있더라도 문제가 발생하지 않는다.
또한, 제어부(680)는 트렐리스 인코딩부(650)에 초기화 영역 및 대체되어야 할 패리티 영역을 알려 주는 신호를 입력한다. 트렐리스 인코딩부는 이 신호를 이용하여 메모리 초기화를 수행하고 RS 패리티 생성부(660)에서 생성된 패리티를 입력받아 기존 패리티를 대체한다.
다중화부(670)는 트렐리스 인코딩부(650)에 의해 심볼로 변환된 데이터에 도 2의 데이터 포맷과 같이 세그먼트 단위로 세그먼트 동기신호를 삽입하고 필드 단위로 필드 동기신호를 삽입한다.
한편, 변조 및 RF부(미도시)는 파일럿신호가 삽입된 신호를 펄스 성형(Pulse shaping)하고 중간 주파수(Intermediate Frequency) 반송파에 실어 진폭을 변조하는 등 VSB 변조를 수행하고, 변조된 신호를 RF 변환하여 증폭하고 소정의 대역으로 할당된 채널을 통해 전송한다.
이하, 도 6의 트렐리스 인코딩부(650)의 구성과 동작을 상세하게 설명한다.
트렐리스 인코딩부(650)는 제어부(680)로부터 초기화 영역 및 대체할 패리티 영역을 알려 주는 신호를 입력받아 메모리를 초기화하고 메모리의 초기화에 이용한 값을 RS 패리티 생성부(660)로 출력한다. 트렐리스 인코딩부는 피드백 구조를 가지고 있으므로 이전의 메모리 값에 의해 그 출력이 영향을 받는다. 따라서 스터프바이트교환부(620)가 전송 스트림의 스터프 바이트를 특정한 기지 데이터인 SRS(supplementary reference sequence)로 대체하더라도 트렐리스 인코딩부(650)의 메모리 값이 고정되어 있지 않으면 그 메모리 값에 따라 SRS가 여러 가지 형태로 출력될 수 있다. 이러한 문제를 해결하기 위해 스터프 바이트수만큼 SRS가 시작하는 부분에서 트렐리스 인코딩부(650)의 입력 값을 변경하여 트렐리스 인코딩부(650)의 메모리를 초기화한다.
도 7은 본 발명의 실시예에 따라 메모리 상태를 0으로 초기화하도록 동작하는 트렐리스 인코딩부의 한 예를 도시한 도면이다.
트렐리스 인코딩부(650)에 SRS의 시작위치에 존재하는 메모리를 초기화하는 영역(memory initialization region)이 입력되면 제어부의 제어에 따라 initial_sel가 동작하여 MUX는 기존의 트렐리스 인코딩의 입력(X1, X0) 대신에 메모리 상태를 0으로 만드는 새로운 값(X1', X2')(zero forcing input)을 출력한다. 여기서, 트렐리스 인코딩부내의 컨볼루션 인코더(convolutional encoder)의 메모리가 2개이므로 메모리를 초기화하기 위해서는 연속된 2 심볼(symbol) 즉 2*2=4 비트의 입력이 필요하다. 표1은 3개의 메모리 S0,S1,S2의 8가지 상태와 메모리를 0으로 만들기 위한 연속된 두 입력값을 나타낸 것이다.
표 1
도 7의 트렐리스 인코딩부는 메모리의 초기화를 위해 사용된 X1',X0'을 RS 패리티 생성부(660)로 입력한다. 새로운 입력(X1',X0')이 트렐리스 인코딩부(650)의 입력으로 사용되므로 값(X1,X0)을 포함하는 MPEG-2 패킷의 패리티는 부정확한 패리티가 된다. 정확한 패리티를 형성하기 위해서는 트렐리스 인코딩부(650)가 기존의 입력(X1,X0) 대신 새로운 입력(X1',X0')을 이용해서 패리티를 구성해야 한다. 이러한 패리티의 생성은 RS 패리티 생성부(660)를 통해 이루어진다. RS 패리티 생성부(660)에 의해 새로 생성된 패리티는 트렐리스 인코딩부(650)로 보내지고 트렐 리스 인코딩부(650)는 기존 패리티를 새로 생성된 패리티로 대체한다.
도 8은 RS 패리티 생성부의 구성의 일예를 도시한다. RS 패리티 생성부(800)는 심볼-바이트 변환기(810), 데이터 디인터버(820), 패킷 버퍼(830), RS 인코더(840), 데이터 인터리버(850), 바이트-심볼 변환기(860)를 포함한다.
심볼-바이트 변환기(810)는 트렐리스 인코딩부(650)로부터 2 비트로 이루어진 초기화 심볼(initialization symbol)를 입력받아 ATSC Digital Television Standard"(document A/53)의 D.2 바이트-심볼 테이블(Byte to symbol table)과 역으로 동작하는 심볼-바이트 변환(symbol to byte conversion)을 수행한다.
데이터 디인터리버(820)는 심볼-바이트 변환된 값을 디인터리빙한 후 패킷 버퍼에 입력한다.
패킷 버퍼(830)는 데이터 디인터리버(820)의 출력과 RS 인코딩부(630)로부터 출력되는 187 바이트 단위의 초기화 영역을 포함하는 패킷을 임시 저장한다. 패킷 버퍼는 기존의 초기화 영역에 있는 값을 새로운 값으로 대체한다. 이 때 대체되는 입력은 1 바이트가 다 이용되는 것이 아니라 초기화에 사용되는 바이트의 중 상위 4비트만 대체된다. RS 인코더(840)는 패킷버퍼의 출력을 RS 인코딩하여 패리티를 부가한다. 여기서 RS 인코더에서 생성된 패리티는 데이터 인터리버를 통과한다. 그 출력은 "ATSC Digital Television Standard"(document A/53)의 D.2 table의 바이트-심볼 변환(Byte to symbol conversion)되어 트렐리스 인코딩부(650)에 입력으로 사용된다.
도 9는 인터리버와 디인터리버의 동작에서 발생하는 지연(delay)의 문제를 해결한 고속으로 동작하는 다른 패리티 생성부를 도시한다. 도 9의 패리티 생성부는 바이트 맵퍼(910), 패킷 버퍼(920), RS 인코더(930) 및 심볼 맵퍼(940)을 포함한다.
바이트 맵퍼(910)은 트렐리스 인코딩부로부터 입력된 초기화 심볼을 도 8의 심볼-바이트 변환 및 데이터 인터리빙을 수행한 값으로 바로 맵핑하여 패킷 버퍼로 출력한다. 패킷 버퍼(920)는 바이트 맵퍼의 출력과 RS 인코딩부로부터 출력되는 187 바이트 단위의 초기화 영역을 포함하는 패킷을 임시 저장한다. 이 패킷 버퍼에서 데이터 대체가 수행된 후 그 출력은 RS 인코더(930)에서 RS 인코딩된 후 심볼 매퍼(940)를 거쳐 빠른 속도로 트렐리스 인코딩부에 입력된다. 심볼 맵퍼(940)는 도 8의 인터리버와 바이트-심볼 변환기의 동작을 동시에 수행한다.
도 10 내지 14는 본 발명의 동작을 설명하기 위한 데이터 포맷을 나타내는 도면이다.
먼저, 도 10은 인터리빙부(640)의 인터리빙 동작에 의한 전송 스트림의 SRS 영역의 변화를 설명하기 위한 도면이다.
인터리빙에 의해 RS 인코딩부(630)에서 출력되는 207개의 패킷에 존재하는 SRS를 위한 스터프 바이트는 52 세그먼트 단위로 반복적으로 나타난다. 인터리빙에 의해 스터프 바이트가 가로 방향으로 배열된다. 여기서, 첫 번째 가로줄이 첫 번째 스터프 바이트, 두번째 가로줄이 두 번째 스터프 바이트, N번째 가로줄이 N번째 스터프 바이트에 해당한다. 도 2에 도시된 바와 같이 VSB 프레임은 필드 동기 세그먼트( field sync) 뒤에 312개의 데이터 세그먼트가 존재한다. 즉 312/52=6이 므로 필드 동기 세그먼트 뒤에 52 세그먼트 단위로 6개의 동일한 SRS 가 나타난다.
도 11은 스터프 바이트의 길이가 27인 경우 RS 인코딩부의 출력에서 본 SRS 영역(SRS Area), 초기화 영역(Initialization Area), 초기화 패킷의 RS 패리티(initialization packet RS parity)를 도시한다. 초기화 패킷 RS 패리티(initialization packet RS parity)는 초기화 영역(Initialization Area)에 대응하는 패리티로서, 트렐리스 인코더의 초기화에 따라 새로운 패리티로 대체되어야 할 패리티를 나타낸다. 도 10에 도시된 바와 같이 52 바이트 중 밑에 있는 부분이 인터리빙후 먼저 나타나는 부분이므로 이 부분이 초기화 영역이 된다.
스터프 바이트는 1개부터 27개까지 SRS를 위해 사용될 수 있고 N개의 스터프 바이트가 SRS를 위해 이용되면 도 11에서 N개까지의 초기화 영역에 해당하는 패리티가 초기화 패킷 RS 패리티(initialization packet RS parity)가 된다.
예를 들어 설명하면 스터프 바이트가 1개 사용되면 도 11에 도시된 바와 같이 첫번째 스터프 바이트(stuffing byte)의 초기화 영역(Initialization Area)는 7 바이트의 크기를 가지고, 이 초기화 영역을 포함하는 7개의 패킷(52,1,2,3,4,5,6)이 초기화에 이용된다. 두 번째 스터프 바이트의 초기화 영역(Initialization Area)은 8 바이트의 크기를 가지고 52,1,2,3,4,5,6,7 패킷이 초기화에 이용된다.
도시된 바와 같이, 스터프 바이트가 첫 번째 스터프 바이트부터 N번째 스터프 바이트까지 N개가 SRS를 형성하는 데 사용되면 52,1,2,3,...,N+4,N+5 패킷이 초기화 영역(Initialization Area)을 포함하는 패킷에 해당한다. 즉, N+6개 패킷의 패리티가 초기화 영역(Initialization Area)을 포함하고 그 패리티가 초기화 패킷 RS 패리티(initialization packet RS parity)가 되어 추후 대체된다. N=27인 경우 52,1,2,3,...,31,32 패킷의 패리티, 즉 33개의 패리티가 초기화 패킷 RS 패리티( initialization packet RS parity)가 된다.
한편, ATSC에서 사용되는 TCM 엔코더는 12심볼 단위로 트렐리스 인코딩을 수행하므로 완전히 초기화하기 위해서는 12개의 TCM 엔코더를 초기화해야 한다. 그러나, 케쥬얼티(Causality)로 인해 첫 번째부터 5번째 스터프 바이트까지는 순서대로 각각 7,8,9,10,11개의 TCM 엔코더만을 초기화시킬 수 있다. 그 이외 SRS로 사용되는 스터프 바이트는 12개의 엔코더를 모두 초기화하는데 사용될 수 있다. 이 갯수는 도 11에 있는 각 스터프 바이트의 초기화 영역(initialization area)의 크기와 같다. 도 11에서 각 바이트(byte)의 4 심볼(1 심볼을 구성하는데 2 비트가 사용됨)가 동일한 TCM 엔코더를 통과하므로 한 바이트는 한 TCM 엔코더를 초기화 할 수 있다. 위에서 언급했듯이 2개의 심볼 즉 2*2=4비트만으로 초기화가 가능하므로 초기화 위치 중 MSB 4 비트만 초기화에 사용되고 LSB 4 비트는 SRS를 구성하는 데 사용된다.
도 12는 도 11의 RS 인코딩부의 출력이 데이터 인터리빙부를 거친 후의 데이터 포맷을 나타낸다. 52,1,2,...,31,32번째 패킷, 즉 33개의 패킷만이 27 길이의 스터프 바이트의 초기화 영역 이후에 그 패킷에 해당하는 패리티가 나타난다.
한편, 전술한 바와 같이 트렐리스 인코딩부는 이전 메모리 값에 의해 그 출력과 다음 메모리 상태가 영향을 받는다. 즉, 이전 입력이 바뀌게 되면 초기화를 위해 사용돼야 할 입력이 변경된다. 만약 초기화 영역에 해당하는 패킷의 패리티가 초기화 영역보다 먼저 오게 되면 새로 생성된 패리티에 의해 그전에 트렐리스 인코딩부(650)의 메모리를 초기화하기 위해 사용했던 입력 값이 변경된다. 이 경우, 초기화가 수행되지 않거나, 초기화 수정 값을 이용하여 정확한 패리티를 생성할 수 없다. 따라서, 도 12와 같이 초기화 패킷의 패리티가 초기화 영역 보다 먼저 나타나지 않도록 하기 위해서는 스터프 바이트의 최대 사용 개수는 27이 된다.
위와 같은 이유로 트렐리스 인코딩부(650)는 첫 번째 스터프 바이트를 7개까지 초기화할 수 있다. 나머지 5개 스터프 바이트는 초기화 위치가 47,48,49,50,51 번째 패킷에 존재하는 데 이 패킷 모두 대체돼야 할 패리티가 초기화 위치보다 먼저 오기 때문에 초기화에 이용할 수 없다.
도 13은 52 세그먼트 단위로 반복되는 TS 패킷의 구조를 나타내는 도면이다. 도 13에서는 SRS를 위해 스터프 바이트가 27개 사용된 경우 RS 인코딩부의 출력의 형태를 보여 준다. 스터프 바이트가 27개 보다 작게 사용되면 그 줄어든 영역에 해당하는 부분 만큼 초기화 패킷 RS 패킷(Initialization packet RS parity)도 줄어들게 된다. 초기화 되지 않는 부분은 SRS로 사용되지 않기 때문에 다른 용도로 사용할 수 있다. 이 도면에서 PCR을 15번째 패킷을 통해 전달하면 도 5에서와 같이 PCR이 6 바이트공간을 차지하므로 SRS자리의 1바이트를 침범한다. 이 경우 그 자리는 SRS로 사용하지 않고 앞 5 바이트와 함께 총 6 바이트가 PCR전송에 사용한다.
도 14는 SRS를 생성하기 위해 스터프 바이트 교환부에 입력되는 SRS 패턴의 바이트 값의 예를 도시한다. 도 14의 패턴 바이트 값은 SRS 패턴 메모리(미도시)에 저장되어 있고 그 값들은 트렐리스 인코딩부를 통과한 후 유사 잡음(pseudo noise) 와 유사한 스펙트럼을 가지며 평균 DC(direct current)값이 0에 가깝게 되는 성질을 갖는다. 스터프 바이트가 27개 이내로 사용되면 그 갯수 만큼 대체되어 삽입된다. 예를 들어 스터프 바이트가 10개 사용되면 도면 중 10개 부분까지만 대체되는 것과 같은 방식으로 SRS가 생성된다. 초기화 영역(Initialization area)는 하위 4 비트가 SRS에 이용된다. 상위 4비트는 임의의 값이 들어갈 수 있다. 또 초기화가 되지 않는 부분에는 임의의 어떤 값도 들어갈 수 있다. 그러나 PCR이 사용되면 PCR이 그대로 전달되도록 PCR위치에서는 다른 값이 들어갈 수 없다.
도 15는 본 발명의 디지털방송 수신기의 블록도이다.
도 15의 디지털 방송 수신기는 복조부(1510), 등화부(1520), 비터비 디코딩부(1530), 디인터리빙부(1540), RS디코딩부(1550), 역랜덤화부(1560) 및 제어부(1570)를 포함하며, 도 6의 디지털 방송 송신기의 역 과정으로 동작하여 수신된 신호를 복호한다.
튜너부(Tuner/IF)(미도시)가 채널을 통해 수신된 RF 신호를 기저대역 신호로 변환하고, 복조부(1510)가 변환된 기저대역 신호에 대해 동기 검출 및 복조를 수행한다.
등화부(1520)는 복조된 신호로부터 채널의 멀티패스에 의한 채널왜곡을 보상한다. 또한, 등화부(1520)는 제어부로부터 기지 데이터를 입력받아 채널 왜곡 보상에 이용한다.
비터비디코딩부(Viterbi decoder)(1530)는 등화부(1520)에서 등화된 신호로부터 에러를 정정하고 디코딩을 수행한다.
데이터 디인터리빙부(Deinterleaver)(1540)는 송신기의 인터리빙부에 의해 분산된 데이터를 재 정렬한다.
디인터리빙된 데이터는 RS디코딩부(1550)를 통해 에러가 정정되며, RS디코딩부(1550)를 통해 정정된 데이터는 역랜덤화부(1560)를 통해 역 랜덤화(derandomize)되어 MPEG-2 전송 스트림의 데이터가 복원된다.
한편, 제어부(1570)는 SRS 구간과 SRS가 가지는 값을 등화기에 보내 주어 성능 개선에 이용한다. SRS 구간과 SRS가 가지는 값은 모드에 따라 결정되며 이 모드는 정해져 있을 수도 있고 송신기에서 모드 신호를 보낼 수 있다. 송신기가 모드 신호가 보내는 경우는 제어기에서 모드 신호를 검출하여 모드에 해당하는 SRS 구간과 SRS가 가지는 값을 등화기에 보낸다. 정해진 값을 가지는 SRS를 구성하기 위해서는 그 입력이 도 14와 같이 특정한 값으로 결정되어야 한다. 성능을 개선하기 위해 비터비 디코더 또는 RS 디코더는 SRS 부분을 디코딩 출력 대신 제어기로부터 정확한 값을 받아 이용한다.
도 16은 본 발명의 디지털 송신기의 다른 실시예를 도시한다.
도 16의 송신기는 RS 인코딩부의 선형 코딩 특성을 이용한 시스템으로 RS 패리티 생성부(1660)는 입력으로 초기화 심볼만 이용한다. 초기화 이외 187 바이트에 대해서는 입력이 0으로 간주하고 패리티를 출력한다.
도 17은 이러한 동작을 수행하기 위한 형태의 트렐리스 인코딩부(1650)를 나타낸다. 메모리를 초기화하기 필요한 새로운 입력 비트와 초기화 영역에 원래 입력으로 사용한 입력 비트를 배타적 논리합(exclusive OR)하여 RS 패리티 생성 부(1660)에 보낸다. RS 패리티 생성부는 이 값만을 이용해 패리티를 생성하고, 이 생성된 패리티와 대체될 원래 입력으로 들어온 패리티와 배타적 논리합(exclusive OR)하여 그 값을 이용한다. 이렇게 동작하면 그 전술한 초기화에 따라 변경된 패리티를 대체하는 데 이용된 패리티와 동일한 패리티 입력이 되어 동일한 동작을 수행할 수 있다.
도 18은 본 발명에 따른 디지털 방송 송신 방법을 설명하기 위한 흐름도이다.
먼저, 랜덤화부(610)는 전송스트림을 입력받아 랜덤화를 수행한다(S100).
제어부(680)의 제어에 따라 스터프 바이트 교환부(620)에서 랜덤화부(610)에 의해 랜덤화된 전송스트림에 포함되어 있는 스터프 바이트 영역에 기지 데이터를 삽입한다(S110).
인코딩부(630)에서 기지 데이터가 삽입된 전송스트림이 입력되면, 전송스트림의 패킷에 포함되어 있는 패리티영역에 패리티를 부가하는 RS 인코딩을 수행한다(S120).
인터리빙부(640)에서 RS인코딩부(630)에서 출력된 패리티가 추가된 패킷에 대해 소정의 패턴으로 데이터 인터리빙을 수행한다(S130).
트렐리스 인코딩부(650)에서 기지데이터의 시작점에서 자체 메모리 소자에 임시 저장된 값을 특정한 값으로 초기화하고 트렐리스 부호화를 수행한다(S140).
RS 패리티 생성부(660)에서 트렐리스 인코딩부(650)로부터 입력받은 메모리를 초기화 하는데 사용되는 값을 이용하여 RS 인코딩부(630)로부터 입력받은 MPEG- 2 패킷에 대해 RS 인코딩을 수행하여 패리티를 생성하고 생성된 패리티를 트렐리스 인코딩부로 보낸다(S150).
다중화부(670)에서 트렐리스 인코딩부(650)에 의해 심볼로 변환된 데이터에 도 2의 데이터 포맷과 같이 세그먼트 단위로 세그먼트 동기신호를 삽입하고 필드 단위로 필드 동기신호를 삽입한다(S160).
한편, 변조 및 RF부(미도시)는 파일럿신호가 삽입된 신호를 펄스 성형(Pulse shaping)하고 중간 주파수(Intermediate Frequency) 반송파에 실어 진폭을 변조하는 등 VSB 변조를 수행하고, 변조된 신호를 RF 변환하여 증폭하고 소정의 대역으로 할당된 채널을 통해 전송한다(S170).
도 19는 본 발명에 따른 디지털 방송 수신 방법을 설명하기 위한 흐름도이다.
튜너부(Tuner/IF)(미도시)가 채널을 통해 수신된 RF 신호를 베이스밴드 신호로 변환하고, 복조부(1510)가 변환된 베이스밴드 신호에 대해 동기 검출 및 복조를 수행한다(S200).
등화부(1520)에서 복조된 신호로 부터 채널왜곡을 보상하고 수신된 심볼의 상호 간섭을 제거하여 등화를 수행한다(S210).
비터비디코딩부(Viterbi decoder)(1530)에서 등화된 신호로부터 에러를 정정하고 디코딩을 수행한다(S220).
데이터 디인터리빙부(Deinterleaver)(1540)에서 송신기의 인터리빙부에 의해 분산된 데이터를 재 정렬한다(S230).
디인터리빙된 데이터는 RS디코딩부(1550)를 통해 에러가 정정되며(S240), RS디코딩부(1550)를 통해 정정된 데이터는 역랜덤화부(1560)를 통해 역 랜덤화(derandomize)되어 MPEG-2 전송 스트림의 데이터가 복원된다(S250).