이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 트렐리스 인코딩 장치는, 부가기준신호가 삽입된 전송 스트림을 각각 트렐리스 인코딩하며, 상기 부가기준신호 처리 이전 구간에서 각기 개별적인 방식으로 메모리 리셋을 수 행하는 복수 개의 트렐리스 인코더 및 상기 복수 개의 트렐리스 인코더 내의 메모리에 저장된 값에 따라 상기 전송 스트림의 패리티를 보상하는 패리티 보상부를 포함한다.
이 경우, 상기 복수 개의 트렐리스 인코더는 제1 내지 5 타입 트렐리스 인코더 중 적어도 하나의 트렐리스 인코더를 포함하는 것이 바람직하다.
상기 제1 타입 트렐리스 인코더는, 제1 내지 제3 메모리를 구비하며, 상기 부가기준신호 처리 이전 구간에 속하는 제1 신호값이 수신되는 시점에서 상기 제1 및 제3 메모리를 제로로 세팅하는 타입의 트렐리스 인코더가 될 수 있다.
즉, 상기 제1 타입 트렐리스 인코더는, 제1 내지 제3 메모리, 상기 전송 스트림 내의 신호값 및 상기 제1 메모리에 저장된 저장값 중 하나를, 외부 제어 신호에 따라 선택적으로 출력하는 제1 먹스, 상기 제1 먹스로부터 출력되는 출력값과 상기 제1 메모리에 저장된 저장값을 가산하여, 가산 결과값을 상기 제1 메모리에 저장하는 제1 가산기, 상기 전송 스트림 내의 신호값 및 상기 제2 메모리에 저장된 저장값 중 하나를, 상기 외부 제어 신호에 따라 선택적으로 출력하는 제2 먹스 및 상기 제2 먹스의 출력값과 상기 제2 메모리에 저장된 저장값을 가산하여 상기 제3 메모리에 저장하는 제2 가산기를 포함할 수 있다.
이 경우, 상기 제1 먹스는 상기 외부 제어 신호가 리셋 신호일 때 상기 제1 메모리의 저장값을 선택하여 출력하며, 상기 제1 가산기는 상기 제1 먹스의 출력값 및 상기 제1 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제1 메모리에 저장할 수 있다.
또한, 상기 제2 먹스는 상기 외부 제어 신호가 리셋 신호일 때 상기 제2 메모리에 저장된 저장값을 선택하여 출력하며, 상기 제2 가산기는 상기 제2 먹스의 출력값 및 상기 제2 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제3 메모리에 저장할 수 있다.
한편, 상기 제2 및 3 타입 트렐리스 인코더는, 제1 내지 제3 메모리를 구비하며, 상기 부가기준신호 처리 이전 구간에 속하는 신호값 중 제1 신호값이 수신되는 시점에서는 상기 제1 메모리의 저장값을 그대로 유지시키며 제3 메모리를 제로로 세팅하고, 상기 제1 신호값에 후속되는 제2 신호값이 수신되는 시점에서, 상기 제1 메모리를 소정 값으로 세팅하면서 제2 메모리를 제로로 세팅하는 타입의 트렐리스 인코더가 될 수 있다.
즉, 상기 제2 타입 트렐리스 인코더는, 제1 내지 제3 메모리, 기 설정된 고정값 및 상기 제1 메모리에 저장된 저장값 중 하나를 제1 외부 제어 신호에 따라 선택적으로 출력하는 제1 먹스, 상기 전송 스트림 내의 신호값 및 상기 제1 먹스에서 출력되는 출력값 중 하나를 제2 외부 제어 신호에 따라 선택적으로 출력하는 제2 먹스, 상기 제2 먹스로부터 출력되는 출력값과 상기 제1 메모리에 저장된 저장값을 가산하여, 가산 결과값을 상기 제1 메모리에 저장하는 제1 가산기, 상기 전송 스트림 내의 신호값 및 상기 제2 메모리에 저장된 저장값 중 하나를, 상기 제2 외부 제어 신호에 따라 선택적으로 출력하는 제3 먹스 및 상기 제3 먹스의 출력값과 상기 제2 메모리에 저장된 저장값을 가산하여 상기 제3 메모리에 저장하는 제2 가산기를 포함할 수 있다.
이 경우, 상기 제1 먹스는 상기 제1 외부제어신호에 따라 제1 리셋 구간이라고 판단되면 상기 고정값을 선택하여 출력하고, 상기 제1 리셋 구간에 후속되는 제2 리셋 구간이라고 판단되면 상기 제1 메모리의 저장값을 선택하여 출력하며, 상기 제2 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 전송 스트림 내의 신호값을 선택하여 출력하고, 상기 제2 외부 제어 신호가 일반 동작 신호이면 상기 제1 먹스에서 출력되는 출력값을 선택하여 출력하고, 상기 제1 가산기는 상기 제2 먹스의 출력값 및 상기 제1 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제1 메모리에 저장할 수 있다.
또한, 상기 제3 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 제2 메모리에 저장된 저장값을 선택하여 출력하며, 상기 제2 가산기는 상기 제3 먹스의 출력값 및 상기 제2 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제3 메모리에 저장할 수 있다.
한편, 상기 제3 타입 트렐리스 인코더는, 제1 내지 제3 메모리, 상기 제1 메모리에 저장된 저장값을 인버팅시킨 값 및 기 설정된 고정값 중 하나를 제1 외부 제어 신호에 따라 선택적으로 출력하는 제1 먹스, 상기 전송 스트림 내의 신호값 및 상기 제1 먹스에서 출력되는 출력값 중 하나를 제2 외부 제어 신호에 따라 선택적으로 출력하는 제2 먹스, 상기 제2 먹스로부터 출력되는 출력값과 상기 제1 메모리에 저장된 저장값을 가산하여, 가산 결과값을 상기 제1 메모리에 저장하는 제1 가산기, 상기 전송 스트림 내의 신호값 및 상기 제2 메모리에 저장된 저장값 중 하나를, 상기 제2 외부 제어 신호에 따라 선택적으로 출력하는 제3 먹스 및 상기 제3 먹스의 출력값과 상기 제2 메모리에 저장된 저장값을 가산하여 상기 제3 메모리에 저장하는 제2 가산기를 포함할 수 있다.
여기서, 상기 제1 먹스는 상기 제1 외부제어신호에 따라 제1 리셋 구간이라고 판단되면 상기 고정값을 선택하여 출력하고, 상기 제1 리셋 구간에 후속되는 제2 리셋 구간이라고 판단되면 상기 제1 메모리의 저장값을 인버팅시킨 값을 선택하여 출력하며, 상기 제2 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 전송 스트림 내의 신호값을 선택하여 출력하고, 상기 제2 외부 제어 신호가 일반 신호이면 상기 제1 먹스에서 출력되는 출력값을 선택하여 출력하고, 상기 제1 가산기는 상기 제2 먹스의 출력값 및 상기 제1 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제1 메모리에 저장할 수 있다.
또한, 상기 제3 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 제2 메모리에 저장된 저장값을 선택하여 출력하며, 상기 제2 가산기는 상기 제3 먹스의 출력값 및 상기 제2 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제3 메모리에 저장할 수 있다.
한편, 상기 제4 및 5 타입 트렐리스 인코더는, 제1 내지 제3 메모리를 구비하며, 상기 부가기준신호 처리 이전 구간에 속하는 신호값 중 제1 신호값이 수신되는 시점에서는 상기 제1 메모리의 저장값을 기 설정된 제1 값으로 세팅하면서 상기 제3 메모리를 제로로 세팅하고, 상기 제1 신호값에 후속되는 제2 신호값이 수신되는 시점에서는 상기 제1 메모리의 저장값을 기 설정된 제2 값으로 세팅시키면서 상기 제2 메모리를 제로로 세팅하는 타입의 트렐리스 인코더가 될 수 있다.
구체적으로는, 상기 제4 및 5타입 트렐리스 인코더는 각각, 제1 내지 제3 메모리, 상기 제1 메모리에 저장된 저장값을 인버팅한 값 및 상기 제1 메모리에 저장된 저장값 중 하나를, 제1 외부 제어 신호에 따라 선택적으로 출력하는 제1 먹스, 상기 전송 스트림 내의 신호값 및 상기 제1 먹스에서 출력되는 출력값 중 하나를, 제2 외부 제어 신호에 따라 선택적으로 출력하는 제2 먹스, 상기 제2 먹스로부터 출력되는 출력값과 상기 제1 메모리에 저장된 저장값을 가산하여, 가산 결과값을 상기 제1 메모리에 저장하는 제1 가산기, 상기 전송 스트림 내의 신호값 및 상기 제2 메모리에 저장된 저장값 중 하나를, 상기 제2 외부 제어 신호에 따라 선택적으로 출력하는 제3 먹스 및 상기 제3 먹스의 출력값과 상기 제2 메모리에 저장된 저장값을 가산하여 상기 제3 메모리에 저장하는 제2 가산기를 포함할 수 있다.
이 경우, 상기 제4 타입 트렐리스 인코더에 포함된 상기 제1 먹스는 상기 제1 외부제어신호에 따라 제1 리셋 구간이라고 판단되면 상기 제1 메모리의 저장값을 인버팅한 값을 선택하여 출력하고, 상기 제1 리셋 구간에 후속되는 제2 리셋 구간이라고 판단되면 상기 제1 메모리의 저장값을 선택하여 출력하며, 상기 제2 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 전송 스트림 내의 신호값을 선택하여 출력하고, 상기 제2 외부 제어 신호가 일반 신호이면 상기 제1 먹스에서 출력되는 출력값을 선택하여 출력하고, 상기 제1 가산기는 상기 제2 먹스의 출력값 및 상기 제1 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제1 메모리에 저장할 수 있다.
또한, 상기 제3 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 제2 메모리에 저장된 저장값을 선택하여 출력하며, 상기 제2 가산기는 상기 제3 먹스의 출력값 및 상기 제2 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제3 메모리에 저장할 수 있다.
한편, 상기 제5 타입 트렐리스 인코더에 속하는 상기 제1 먹스는 상기 제1 외부제어신호에 따라 제1 리셋 구간이라고 판단되면 상기 제1 메모리의 저장값을 선택하여 출력하고, 상기 제1 리셋 구간에 후속되는 제2 리셋 구간이라고 판단되면 상기 제1 메모리 저장값의 인버팅 값을 선택하여 출력하며, 상기 제2 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 전송 스트림 내의 신호값을 선택하여 출력하고, 상기 제2 외부 제어 신호가 일반 신호이면 상기 제1 먹스에서 출력되는 출력값을 선택하여 출력하고, 상기 제1 가산기는 상기 제2 먹스의 출력값 및 상기 제1 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제1 메모리에 저장할 수 있다.
이 경우, 상기 제3 먹스는 상기 제2 외부 제어 신호가 리셋신호이면 상기 제2 메모리에 저장된 저장값을 선택하여 출력하며, 상기 제2 가산기는 상기 제3 먹스의 출력값 및 상기 제2 메모리에 저장된 저장값을 배타적 논리합하여 그 결과값을 제3 메모리에 저장할 수 있다.
한편, 상기 패리티 보상부는, 상기 복수 개의 트렐리스 인코더 내의 메모리에 저장된 값에 대응되는 패리티를 생성하는 RS 리인코더, 상기 RS 리인코더에서 생성된 패리티를 상기 전송 스트림에 가산하여 상기 전송 스트림의 패리티를 정정하는 가산기 및, 상기 가산기에 의해 정정된 패리티를 가지는 전송 스트림을 상기 복수 개의 트렐리스 인코더로 제공하는 먹스를 포함할 수 있다.
또한, 본 트렐리스 인코딩 장치는, 상기 복수 개의 트렐리스 인코더에서 트렐리스 인코딩된 전송 스트림을 심볼 매핑하여 출력하는 매퍼를 더 포함할 수 있다.
또한, 본 트렐리스 인코딩 장치는, 상기 먹스에서 제공되는 전송 스트림을 상기 복수 개의 트렐리스 인코더로 순차적으로 입력하는 스플리터 및 상기 복수 개의 트렐리스 인코더에 의해 인코딩된 값을 순차적으로 검출하여 상기 매퍼로 제공하는 인코딩 출력부를 더 포함할 수도 있다.
한편, 본 발명의 일 실시 예에 따른 트렐리스 인코더는, 제1 내지 제3 메모리, 제1 외부 제어신호에 따라 선택적으로 동작하는 제1 먹스, 상기 전송 스트림 내의 소정의 제1 신호값 및 상기 제1 먹스에서 출력되는 출력값 중 하나를 제2 외부 제어 신호에 따라 선택적으로 출력하는 제2 먹스, 상기 제2 먹스로부터 출력되는 출력값과 상기 제1 메모리에 저장된 저장값을 가산하여, 가산 결과값을 상기 제1 메모리에 저장하는 제1 가산기, 상기 전송 스트림 내의 소정의 제2 신호값 및 상기 제2 메모리에 저장된 저장값 중 하나를, 상기 제2 외부 제어 신호에 따라 선택적으로 출력하는 제3 먹스 및 상기 제3 먹스의 출력값과 상기 제2 메모리에 저장된 저장값을 가산하여 상기 제3 메모리에 저장하는 제2 가산기를 포함한다.
이 경우, 상기 제1 먹스는 기 설정된 고정값 및 상기 제1 메모리에 저장된 저장값 중 하나를 제1 외부 제어 신호에 따라 선택적으로 출력할 수 있다.
또는, 상기 제1 먹스는, 상기 제1 메모리 저장값의 인버팅 값 및 기 설정된 고정값 중 하나를 제1 외부 제어 신호에 따라 선택적으로 출력할 수 있다.
또는, 상기 제1 먹스는, 상기 제1 메모리에 저장된 저장값을 인버팅한 값 및 상기 제1 메모리에 저장된 저장값 중 하나를, 제1 외부 제어 신호에 따라 선택적으로 출력할 수도 있다.
이하에서, 첨부된 도면을 참조하여 본 발명에 대하여 자세하게 설명한다.
도 3은 본 발명의 일 실시 예에 따른 트렐리스 인코딩 장치가 적용된 디지털 방송 송신 시스템의 구성을 나타내는 블럭도이다. 도 3에 따르면, 본 디지털 방송 송신 시스템은 전송스트림 생성부(110), 랜덤화부(120), SRS 스터퍼(Supplementary Reference Singal Stuffer : 130), 리드솔로몬 인코더(140), 인터리버(150), 트렐리스 인코딩 장치(200), 송신부(160)를 포함한다.
전송스트림 생성부(110)는 수신기 측으로 전송할 전송 스트림을 생성한다. 즉, 전송 스트림 생성부(110)는 방송 촬영 장치 등과 같은 외부 모듈이나, 압축 처리 모듈(예를 들어, MPEG 2 모듈), 비디오 인코더, 오디오 인코더 등과 같은 다양한 내부 모듈로부터 데이터 패킷을 수신하여, 스트림을 구성한다. 이 경우, 전송 스트림 생성부(110)는 스트림 내의 전체 패킷 또는 일부 패킷에 적응적 필드(adaptation field)를 생성한다. 또한, 전송 스트림 생성부(110)는 일반 데이터 스트림 뿐만 아니라 터보 스트림도 각 패킷 또는 일부 패킷에 기입할 수 있다. 터보 스트림이란 소정의 압축 규격에 따라 압축하여 로버스트하게 처리한 데이터 스트림을 의미한다.
도 4 및 도 5는 전송 스트림의 구성을 설명하기 위한 모식도이다. 도 4에 따 르면, 전송 스트림을 구성하는 하나의 패킷은 TS 헤더(Tranport Stream Header) 및 페이로드 데이터 영역으로 구분된다. 페이로드 데이터 영역 전부는 적응적 필드로 활용될 수도 있다. TS 헤더는 4 바이트로 구성된다. 도 4에 따르면, TS 헤더는 싱크 바이트, 트랜스포트 에러 인디케이터, 페이로드 스타트 인디케이터, 트랜스포트 우선순위, 패킷 ID, 트랜스포트 스크램블링 제어 필드, 적응적 필드 제어 필드, 연속성 카운터 등으로 구성될 수 있다. 한편, 페이로드 데이터 영역은 184 바이트로 구성된다.
도 5에 따르면, 전송 스트림의 일 패킷은 페이로드 데이터 영역 일부에 적응적 필드가 마련되고, 나머지 부분에 페이로드 데이터가 기입된 상태로도 구현될 수 있다. 이 경우, 적응적 필드가 n 바이트로 구현된 경우, 페이로드 데이터는 184-n 바이트로 구현된다. 적응적 필드에는 상술한 터보 스트림이 기입될 수도 있으며, 부가기준신호가 기입될 수도 있다.
한편, 전송스트림 생성부(110)에서 생성된 전송 스트림은 랜덤화부(120)에 의해 랜덤화된 후, SRS 스터퍼(130)에 전달된다.
SRS 스터퍼(130)는 전송스트림에 마련된 적응적 필드에 부가기준신호를 삽입한다. 부가기준신호란 송신측과 수신측에 공통적으로 알려진 신호 패턴을 의미한다. 수신측에서는 수신된 스트림 내의 부가기준신호과 기존의 알려진 부가기준신호를 비교하여 채널 상태를 확인하고, 보상 정도를 결정할 수 있다.
도 6은 적응적 필드에 부가기준신호가 삽입된 상태를 설명하기 위한 모식도이다. 도 6에서 a 패킷은 적응적 필드 중 헤더 영역을 제외한 데이터 영역 전부에 부가기준신호가 삽입된 상태이다. b 패킷은 적응적 필드의 데이터 영역에 PCR(Program Clock Reference) or OPCR(Original Program Clock Reference)와 함께 부가기준신호가 삽입된 상태이다. 그 밖에, c 내지 e패킷은 적응적 필드의 데이터 영역에 프라이빗 데이터, 확장 적응적 필드, 스플라이스 카운트 등과 함께 부가기준신호가 삽입된 경우를 나타낸다. 이와 같이, 전송 스트림 내에 마련된 적응적 필드에는 다양한 종류의 데이터가 기록될 수 있다. 이러한 데이터는 전송스트림 생성부(110) 자체에서 기입될 수 있다.
한편, 부가기준신호가 삽입된 전송스트림은 리드솔로몬 인코더(140)에 의해 리드솔로몬 인코딩되고, 인터리버(150)에 의해 인터리빙된다.
그리고 나서, 트렐리스 인코딩 장치(200)에 의해 트렐리스 인코딩 처리한다. 트렐리스 인코딩 장치(200)는 복수 개의 트렐리스 인코더를 이용하여 트렐리스 인코딩을 수행한다. 이 경우, 부가기준신호가 삽입된 영역을 처리하기 직전에, 각 트렐리스 인코더 내부에 마련된 메모리를 리셋하는 과정을 수행한다.
즉, 상술한 바와 같이 부가기준신호란 송신측과 수신측에 공통적으로 알려진 신호 패턴을 의미한다. 따라서, 송신 과정에서 부가기준신호가 틀려지면 전송 스트림 전송 채널 상태가 정상적인 경우에도 수신측에서는 채널 상태가 불량하다고 판단할 우려가 있다. 트렐리스 인코딩 장치(200)에서 부가기준신호 부분을 트렐리스 인코딩하는 경우, 자체 메모리에 이미 저장되어 있는 저장값에 의해 영향을 받을 수 있으므로, 부가기준신호 처리에 앞서 메모리를 일정값으로 리셋시키는 작업이 필요하다.
송신부(160)는 트렐리스 인코딩된 전송 스트림을 주파수 채널을 통해 송신하는 역할을 한다. 구체적으로는, 송신부(160)는 먹스(미도시), 변조부(미도시) 등을 포함할 수 있다. 먹스는 트렐리스 인코딩된 전송 스트림에 세그먼트 동기신호 및 필드 동기신호를 부가하여 멀티플렉싱한다. 변조부는 멀티플렉싱된 전송 스트림을 채널 변조하고 RF 채널 대역의 신호로 변환(Up-converting)하여 전송한다.
도 7은 도 3의 구성요소 중 트렐리스 인코딩 장치(200)의 일 예를 나타내는 블럭도이다. 도 7에 따르면, 트렐리스 인코딩 장치(200)는 트렐리스 인코더 블럭(300) 및 패리티 보상부(400)를 포함한다.
트렐리스 인코더 블록(300)은 복수 개의 트렐리스 인코더를 이용하여 전송스트림을 트렐리스 인코딩하는 역할을 한다. 이 경우, 트렐리스 인코더 블록(300)은 외부 제어 신호에 따라 패킷을 트렐리스 인코딩할 수 있으며, 패킷의 부가기준신호 데이터를 트렐리스 인코딩하기 직전에 메모리 리셋을 수행한다. 외부 제어 신호는 별도로 마련된 컨트롤러(미도시)로부터 제공받을 수 있다.
패리티 보상부(400)는 트렐리스 인코더 블록(300)에서 메모리 리셋하는 과정에서 출력되는 메모리 저장값에 따라, 전송 스트림의 패리티를 보상한다.
도 8은 도 7의 트렐리스 인코딩 장치(200)의 구성을 좀 더 구체적으로 설명하기 위한 블럭도이다. 도 8에 따르면, 패리티 보상부(400)는 RS 리인코더(410), 가산기(420), 먹스(430)를 포함한다. 또한, 트렐리스 인코더 블럭(300)은 스플리터(310), 복수 개의 트렐리스 인코더(320-1 ~ 320-12), 인코딩 출력부(330)를 포함한다. 또한, 본 트렐리스 인코딩 장치(200)는 매퍼(500)를 더 포함한다.
RS 리인코더(410)는 각 트렐리스 인코더(320-1 ~ 320-12)로부터 출력되는 메모리 저장값에 대응되는 패리티를 생성한다.
가산기(420)는 RS 리인코더(410)에서 생성된 패리티와 외부로부터 입력되는 패킷을 가산하여, 먹스(430)로 제공한다. 여기서, 가산하는 방법은 아래와 같다.
A) 이전 생략...101001010111001010101011AAAAA...이하 생략
B) 이전 생략...000000000000010000000000BBBBB...이하 생략
C) 이전 생략...101001010111011010101011CCCCC...이하 생략
A)는 외부로부터 입력되는 패킷을 의미하고, B)는 RS 리인코딩된 패킷을 의미하며, C)는 가산기(420)를 이용하여 A)와 B)를 배타적 논리합(Exclusive OR) 한 결과를 의미한다. 패킷 A)에서 밑줄 표시된 부분이 트렐리스 인코더 블록(300)으로 입력될 때, 메모리 리셋이 수행된다. 이 경우, 트렐리스 인코더 블록(300) 내부 메모리에 기 저장되어 있는 저장값이 RS 리인코더(410)로 제공되며, RS 리인코더(410)는 제공된 값에 대응되는 패리티를 생성하여 패킷 B)를 출력한다. 패킷 B) 중 밑줄 표시된 부분은 패킷 A)의 밑줄 표시된 부분에 대응되는 변경 값을 의미한다. 패킷 B)에서 밑줄 친 부분에 대응되는 패리티는 BBBBB로 재생성된 상태임을 알 수 있다.
가산기(420)에서는 패킷 A)와 패킷 B)를 배타적 논리합(Exclusive OR)하여, 패킷 C)를 출력한다. 패킷 C)를 살피면, 최초 입력되는 패킷 A)에서 밑줄 표시된 부분이 "01"로 변경되며, 패리티 역시 AAAAA에서 CCCCC로 변경되어 있음을 알 수 있다.
한편, 먹스(430)는 i) 입력되는 전송 스트림의 각 패킷을 트렐리스 인코딩하는 동작모드(이하 "통상모드")와, ii) 가산기(420)에 의해 가산된 패킷을 트렐리스 인코딩하는 동작모드(이하 "패리티정정모드") 중 하나로 동작할 수 있다. 먹스(430)의 동작모드는 RS 리인코더(410)로부터 수신되는 제어신호에 의해 결정된다.
통상 모드로 동작하는 경우, 먹스(430)는 입력되는 전송 스트림을 트렐리스 인코더 블록(300)으로 제공하여 준다. 반면, 패리티 정정 모드로 동작하는 경우, 가산기(420)에서 출력되는 스트림을 트렐리스 인코더 블록(300)으로 제공하여 준다.
먹스(430)는 메모리 리셋 및 패리티 보상이 완료되면, 통상 모드로 동작하여 전송 스트림을 트렐리스 인코더 블록(300)으로 제공한다.
한편, 트렐리스 인코더 블럭(300) 내의 스플리터(310)는 먹스(430)로부터 출력되는 전송 스트림을 순차적으로 각 트렐리스 인코더(320-1 ~ 320-12)로 출력한다. 이 경우, 바이트 단위로 출력할 수 있다.
각 트렐리스 인코더(320-1 ~ 320-12)는 입력되는 스트림을 트렐리스 인코딩하여 출력한다. 이 경우, 트렐리스 인코더 1부터 트렐리스 인코더 12까지 차례대로 연속적으로 선택되어 각각의 트렐리스 인코딩 값을 출력한다. 한편, 부가기준신호가 위치한 구간의 이전 구간에서는 각 트렐리스 인코더(320-1 ~ 320-12)는 메모리 리셋을 수행한다. 이에 따라, 부가기준신호의 이전 구간에서는 메모리가 일정값으로 리셋되면서, 패리티 보상부(400)에 의해 보상된 패리티가 전송스트림에 부가되 므로, 전체 패리티를 일치시킬 수 있게 된다.
인코딩 출력부(330)는 각 트렐리스 인코더(320-1 ~ 320-12)에서 출력되는 인코딩 값을 순차적으로 검출하여, 매퍼(500)로 출력한다.
한편, 트렐리스 인코더 블럭(300)내의 각 트렐리스 인코더(320-1 ~ 320-12)는 각기 개별적인 형태로 구성되어, 개별적인 방식으로 메모리 리셋을 수행할 수 있다. 즉, 전체 트렐리스 인코더(320-1 ~ 320-12)의 구성을 동일하게 하게 되면, 메모리 리셋 시 동일 값이 전송스트림에 포함되므로, 매핑 과정에서 (-) 또는 (+) DC 편차를 가질 수 있다. 이에 따라, 메모리 리셋을 다양한 방식으로 수행하도록 설계함으로써, 이러한 DC 편차를 상쇄 또는 감소시킬 수 있다.
즉, 전체 트렐리스 인코더(320-1 ~ 320-12)는 그 유형에 따라 제1 내지 제5 타입으로 분류될 수 있다. 트렐리스 인코더(320-1 ~ 320-12)들은 각각 세 개의 메모리, 즉, 제1 내지 제3 메모리를 구비하고 있다. 이 중 제2, 제3 메모리는 쉬프트 방식으로 연동한다. 즉, 전송스트림 신호 하나가 입력되면 제3 메모리 저장값은 제2 메모리로 쉬프트되어 저장된다. 따라서, 전체 메모리를 모두 리셋시키기 위해서는 두 개의 신호가 필요하다. 한편, 제1 메모리는 제2, 3 메모리와 별도로 리셋이 이루어진다. 따라서, 첫번째 신호가 입력되는 것만으로 제1 메모리는 리셋 가능하다. 상술한 타입 분류는 제1 메모리의 리셋 형태에 따라 분류될 수 있다.
즉, 제1 타입 트렐리스 인코더는, 제1 리셋 구간에서 제1 및 제3 메모리를 모두 제로로 세팅하고, 제2 리셋 구간에서 제2 메모리까지 제로로 세팅하는 타입의 트렐리스 인코더를 의미한다. 제1 리셋 구간이란 부가기준신호 처리 이전 구간에 속하는 제1 신호값이 수신되는 시점을 의미하며, 제2 리셋 구간이란 제1 신호값에 후속되는 제2 신호값이 수신되는 시점을 의미한다.
다음, 제2 및 3 타입 트렐리스 인코더는, 제1 리셋 구간에서는 제1 메모리의 저장값을 현 상태 그대로 유지하면서 제3 메모리를 제로로 세팅하고, 제1 리셋 구간에 후속되는 제2 리셋 구간에서는 제1 메모리의 저장값을 소정 값으로 세팅하면서 제2 메모리를 제로로 세팅하는 타입의 트렐리스 인코더를 의미한다. 여기서, 소정 값이란 0 또는 1이 될 수 있다. 즉, 제2 타입 트렐리스 인코더는 제2 리셋 구간에서 제1 메모리를 0으로 세팅시키는 타입이고, 제3 타입 트렐리스 인코더는 제2 리셋 구간에서 제1 메모리를 1로 세팅시키는 타입이다.
다음, 제4 및 5 타입 트렐리스 인코더는, 제1 리셋 구간에서 제1 메모리의 저장값을 소정의 제1 값으로 세팅하면서 제3 메모리를 제로로 세팅하고, 제2 리셋 구간에서는 제1 메모리의 저장값을 소정의 제2 값으로 세팅시키면서 제2 메모리를 제로로 세팅하는 타입의 트렐리스 인코더를 의미한다. 구체적으로는 제4 타입 트렐리스 인코더는 제1 리셋 구간에서 제1 메모리를 1로 세팅시키고 제2 리셋 구간에서 제1 메모리를 0으로 세팅시키며, 제5 타입 트렐리스 인코더는 제1 리셋 구간에서 제1 메모리를 0으로 세팅시키고, 제2 리셋 구간에서 제1 메모리를 1로 세팅시키는 타입이다.
도 9는 제1 타입 트렐리스 인코더의 구성을 설명하기 위한 모식도이다. 도 9에 따르면, 제1 타입 트렐리스 인코더는 제1 메모리(S2), 제2 메모리(S1), 제3 메모리(S0), 제1 가산기(610), 제2 가산기(620), 제1 먹스(630), 제2 먹스(640)를 포 함한다.
메모리 리셋 작업은 외부 제어 신호에 따라 결정된다. 구체적으로는, 제1 및 제2 먹스(630, 640)에는 제어 신호 0 또는 1이 입력될 수 있으며, 이 중 제어 신호 1이 리셋 신호로 사용되고, 제어 신호 0이 일반 동작 신호로 사용될 수 있다.
제1 먹스(630)는 외부제어신호에 따라 제1 메모리(S2)에 저장된 값 및 전송 스트림내의 신호값(X1) 중 하나를 선택적으로 출력한다. 구체적으로는, 리셋 신호(즉, 제어 신호 = 1)가 입력되었을 때는 제1 메모리(S2)에 저장된 값을 출력하고, 일반 동작 신호(즉, 제어 신호 = 0)이 입력되었을 때는 X1을 출력한다. X1이란 전송 스트림 내에서 부가기준신호 이전 구간에 마련된 신호값을 의미한다.
제1 먹스(630)의 출력값은 제1 가산기(610)로 제공된다. 제1 가산기(610)는 제1 먹스(630)의 출력값과, 제1 메모리(S2) 저장값을 가산한다. 가산된 결과값은 Z2로서 출력되면서, 동시에 제1 메모리(S2)에 저장된다.
제어 신호 1이 입력되었을 경우, 제1 먹스(630)는 제1 메모리(S2) 저장값을 선택하여 출력하므로, 제1 가산기(610)의 두 입력 값은 동일하게 된다. 제1 가산기(610)가 배타적 논리합을 수행하게 되면, 그 결과값은 0이 된다. 따라서, 제1 메모리(S2)에는 제로로 세팅된다.
이 경우, 기존에 제1 메모리(S2)에 저장되어 있던 값 D1은 RS 리인코더(410)로 출력된다. 이에 따라, D1은 메모리 리셋에 따른 패리티 보상 작업에 사용된다.
한편, 제2 먹스(640)는 외부제어신호에 따라 제2 메모리(S1)에 저장된 저장값 및 전송스트림 내의 신호값(X0) 중 하나를 선택적으로 출력한다. 즉, 제2 먹 스(640)는 리셋신호가 입력되었을 때는 제2 메모리(S1)에 저장된 값을 출력하고, 일반 동작 신호가 입력되었을 때는 X0를 출력한다. X0 역시 전송 스트림 내에서 부가기준신호 이전 구간에 마련된 신호값을 의미한다.
제2 먹스(640)의 출력값은 바로 Z1으로서 출력되면서, 동시에 제2 가산기(620)에도 제공된다. 또한, 제2 먹스(640)의 출력값은 D0로서 RS 리인코더(410)로 제공되어 메모리 리셋에 따른 패리티 보상 작업에 사용된다. 제2 메모리 (S1)에 저장된 값은 제2 가산기(620)에도 직접 제공된다. 제2 가산기(620) 역시 배타적 논리합 연산을 수행하므로, 리셋신호가 입력되었을 때는 그 결과값이 0이 된다. 제2 가산기(620)의 연산 결과값은 그대로 제3 메모리(S0)에 저장되므로, 제3 메모리(S0)는 0으로 초기화된다. 이와 동시에, 기존에 제3 메모리(S0)에 저장되어 있던 값은 제2 메모리(S1)로 쉬프트된다. 또한, 기존에 제3 메모리(S0)에 저장되어 있던 값은 Z0로서 출력된다. 결과적으로, 최초 리셋 신호가 입력되었을 때는 제1, 3 메모리(S2, S0)가 각각 제로로 세팅된다.
이러한 상태에서 다시 리셋 신호가 입력되면 제2 메모리(S1)에는 제3 메모리(S0)에 저장된 값, 즉, 0이 쉬프트된다. 이에 따라, 제2 메모리(S1)도 초기화된다. 이와 동시에, 제2 먹스(640)는 현재의 제2 메모리(S1)에 저장된 값(즉, 초기화 이전에 제3 메모리(S0)에 저장되어 있던 값)이 D0값으로 출력된다.
한편, 초기화 구간이 아닌 경우, 제1 및 제2 먹스(630, 640)로 출력된다. 이에 따라, X1, X0가 각각 선택되어 트렐리스 인코딩이 진행된다.
상술한 바와 같이 트렐리스 인코더 내에는 세 개의 메모리(S0, S1, S2)가 포 함되어 쉬프트 방식으로 연동되므로, 이들을 모두 리셋시키기 위해서는 제어 신호 2 심볼이 요구된다. 그리고, 전체 3개의 메모리(S0, S1, S2)를 이용해 만들 수 있는 D1, D0 조합은 8가지(000, 111, 001, 010, 100, 110, 101, 011)가 존재한다.
제1 타입의 트렐리스 인코더의 메모리 리셋 과정은 다음 표를 통해 구체적으로 설명할 수 있다.
Cont |
S2,S1,S0 at t=0 |
input at t=1 |
Z2,Z1,Z0 at t=1 |
S2,S1,S0 at t=1 |
input at t=2 |
Z2,Z1,Z0 at t=2 |
S2,S1,S0 at t=2 |
1 |
0,0,0 |
0,0 |
000 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1 |
0,0,1 |
0,0 |
001 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1 |
0,1,0 |
0,1 |
010 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1 |
0,1,1 |
0,1 |
011 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1 |
1,0,0 |
1,0 |
000 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1 |
1,0,1 |
1,0 |
001 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1 |
1,1,0 |
1,1 |
010 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1 |
1,1,1 |
1,1 |
011 |
0,1,0 |
0,1 |
010 |
0,0,0 |
표 1에서 input이란 제1 및 제2 먹스(630, 640)에서 각각 출력되어 제1 및 제2 가산기(610, 620)로 입력되는 값을 의미한다. 초기 상태(즉, t=0)에서는 외부제어신호 Cont=1이 입력되면 메모리 리셋이 개시된다. 이에 따라, 첫번째 Cont=1이 입력된 시점(t=1)에서는 제1 메모리(S2) 및 제3 메모리(S0)는 기존 저장값이 어떠한 값이든 간에 각각 0으로 세팅됨을 나타낸다. 또한, 두번째 Cont=1이 입력된 시점(t=2)에서는 제2 메모리(S1)까지 0으로 세팅됨을 나타낸다. 이와 같이, 표 1을 참고하면, 2 심볼의 외부제어신호에 의해 메모리 리셋이 이루어짐을 알 수 있다.
도 10은 제2 및 3 타입 트렐리스 인코더의 구성을 설명하기 위한 모식도이다. 도 10에 따르면, 제2 타입 트렐리스 인코더는 제1 메모리(S2), 제2 메모리(S1), 제3 메모리(S0), 제1 가산기(710), 제2 가산기(720), 제1 먹스(730), 제2 먹스(740), 제3 먹스(750)를 포함한다. 제1 내지 제3 메모리의 동작 및 기능은 도 9와 동일하므로 중복 설명은 생략한다.
제1 먹스(730)는 제1 외부 제어 신호에 따라 제1 메모리(S2)에 저장된 값 및 α값 중 하나를 선택적으로 출력한다. α값은 랜덤하게 정해지는 값을 이용하거나, 임의의 고정값을 이용할수도 있다. 예를 들어, α값은 0으로 고정될 수 있다.
제1 외부제어신호란 현재의 메모리 리셋 작업이 제1 리셋 구간인지 제2 리셋 구간인지 여부를 알려주기 위한 신호를 의미한다. 즉, 상술한 바와 같이 세 개의 메모리(S2, S1, S0)를 포함하는 경우, 전부 리셋시키기 위해서는 적어도 2 개의 제어 신호가 필요하다.
구체적으로는, 제1 먹스(730)는 제1 외부제어신호가 0이면 제1 리셋구간이라고 판단하여 고정값 α를 출력하고, 제1 외부제어신호가 1이면 제1 리셋구간에 후속되는 제2 리셋구간이라고 판단하여 제1 메모리(S2)의 저장값을 선택하여 출력할 수 있다.
제2 먹스(740)는 제2 외부제어신호가 0, 즉, 일반 동작 신호이면 X1을 선택하여 출력하고, 제2 외부제어신호가 1, 즉, 리셋신호이면 제1 먹스(730)에서 출력되는 출력값을 선택하여 출력한다. 제1 가산기(710)는 제2 먹스(740)에서 출력되는 값과 제1 메모리(S2)에 저장된 값을 배타적 논리합하여 Z2로서 출력하며, 동시에 제1 메모리(S2)에 저장한다.
α가 0인 상태에서 리셋신호가 입력된 경우라면, 제1 가산기(710)의 결과값은 제1 메모리(S2)의 저장값과 동일해진다. 따라서, 제1 리셋구간에서는 제1 메모리(S2)의 값은 그대로 유지된다. 한편, 제2 리셋구간에서는 제1 메모리(S2) 값이 그대로 제2 먹스(740)를 통해 제1 가산기(710)로 전달되므로, 제1 메모리(S2)가 0으로 세팅된다.
상술한 제1 타입 트렐리스 인코더의 경우, 제1 리셋 구간에서 제1 메모리(S2)가 0으로 세팅되는 바, 매퍼(500)에서 매핑하는 과정에서 -1, -3, -5, -7 값 중 하나로 매핑이 되게 된다. 트렐리스 인코더의 출력은 매퍼(500)를 통해 특정 DC 레벨을 가지게 되는데, 이와 같이 제1 리셋 구간부터 제1 메모리(S2)가 0으로 세팅되어 버리면, DC 레벨이 음의 값을 가질 수 있다. 하지만, 제2 타입 트렐리스 인코더의 경우, 제2 리셋 구간에서 제1 메모리(S2)가 0으로 세팅되므로, 제1 타입 트렐리스 인코더에 비해 DC 편차를 감소시킬 수 있게 된다.
제2 타입 트렐리스 인코더의 메모리 리셋 과정을 표로 정리하면 다음과 같다.
Cont |
S2,S1,S0 at t=0 |
input at t=1 |
Z2,Z1,Z0 at t=1 |
S2,S1,S0 at t=1 |
input at t=2 |
Z2,Z1,Z0 at t=2 |
S2,S1,S0 at t=2 |
1 |
0,0,0 |
0,0 |
000 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1 |
0,0,1 |
0,0 |
001 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1 |
0,1,0 |
0,1 |
010 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1 |
0,1,1 |
0,1 |
011 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1 |
1,0,0 |
0,0 |
100 |
1,0,0 |
1,0 |
000 |
0,0,0 |
1 |
1,0,1 |
0,0 |
101 |
1,1,0 |
1,1 |
010 |
0,0,0 |
1 |
1,1,0 |
0,1 |
110 |
1,0,0 |
1,0 |
000 |
0,0,0 |
1 |
1,1,1 |
0,1 |
111 |
1,1,0 |
1,1 |
010 |
0,0,0 |
표 2에 따르면 t=1인 시점에서 S2는 기 저장된 값을 그대로 유지하고 있다가, t=2인 시점에서야 0으로 세팅되는 것을 알 수 있다.
한편, 제2 및 제3 메모리(S1, S0)의 세팅 동작은 제1 타입 트렐리스 인코더와 동일하다. 즉, 도 10에서 제3 먹스(750) 및 제2 가산기(720)의 동작은 도 9에 도시된 제1 타입 트렐리스 인코더의 제2 먹스(640) 및 제2 가산기(620)의 동작과 동일하므로 중복 설명은 생략한다.
한편, 도 10에서 제1 먹스(730)에서 제1 메모리(S2)의 저장값을 수신하는 부분에 인버터를 추가 구성하는 형태로 변형하여 제3 타입 트렐리스 인코더를 구현할 수도 있다. 이 경우, 제2 리셋 구간에서는 제1 메모리(S2) 저장값의 인버팅값이 출력된다. 이에 따라, 제2 리셋 구간에 제2 먹스(740)를 통해 출력되는 값은 제1 메모리(S2)의 인버팅값이 된다. 결과적으로 제1 가산기(710)에서 배타적 논리합을 수행하게 되면 제1 메모리(S2)는 1로 세팅된다. 이를 표로 정리하면 다음과 같다.
Cont |
S2,S1,S0 at t=0 |
input at t=1 |
Z2,Z1,Z0 at t=1 |
S2,S1,S0 at t=1 |
input at t=2 |
Z2,Z1,Z0 at t=2 |
S2,S1,S0 at t=2 |
1 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1,0 |
100 |
1,0,0 |
1 |
0,0,1 |
0,0 |
001 |
0,1,0 |
1,1 |
110 |
1,0,0 |
1 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1,0 |
100 |
1,0,0 |
1 |
0,1,1 |
0,1 |
011 |
0,1,0 |
1,1 |
110 |
1,0,0 |
1 |
1,0,0 |
0,0 |
100 |
1,0,0 |
0,0 |
100 |
1,0,0 |
1 |
1,0,1 |
0,0 |
101 |
1,1,0 |
0,1 |
110 |
1,0,0 |
1 |
1,1,0 |
0,1 |
110 |
1,0,0 |
0,0 |
100 |
1,0,0 |
1 |
1,1,1 |
0,1 |
111 |
1,1,0 |
0,1 |
110 |
1,0,0 |
표 3에 따르면, t=1인 시점에서는 제1 메모리(S2)의 저장값이 동일하게 유지되다가, t=2인 시점에서 제1 메모리(S2)가 1의 값으로 세팅되는 것을 알 수 있다. 제3 타입 트렐리스 인코더의 구성은 제1 먹스(730)의 입력단자 부분을 제외하면 도 10과 동일하므로, 이에 대한 도시는 생략한다.
제3 타입 트렐리스 인코더는 최종적으로 제1 메모리(S2)에 세팅되는 값이 제2 타입 트렐리스 인코더와 차이가 있다. 따라서, 제2 타입 및 제3 타입 트렐리스 인코더를 적절히 조합하여 트렐리스 인코더 블럭(300)을 구현한다면, DC 편차를 상쇄 또는 감소시킬 수 있다.
도 11은 제4 및 제5 타입 트렐리스 인코더의 구성을 설명하기 위한 모식도이다. 도 11에 따르면, 제4 및 제5 타입 트렐리스 인코더는 제1 내지 제3 메모리(S2, S1, S0), 제1 가산기(810), 제2 가산기(820), 제1 먹스(830), 제2 먹스(840), 제3 먹스(850)를 포함한다.
제1 먹스(830)는 제1 외부 제어 신호에 따라 제1 메모리(S2)의 저장값 및 그 인버팅 값 중 하나를 선택적으로 출력한다.
구체적으로는 제4 타입 트렐리스 인코더의 경우, 제1 먹스(830)는 제1 외부 제어 신호가 제1 리셋구간임을 알리는 신호이면, 제1 메모리(S2) 저장값의 인버팅값을 출력한다. 반대로 제2 리셋구간임을 알리는 신호라면, 제1 메모리(S2) 저장값을 선택하여 출력한다. 제2 먹스(840)는 제2 외부제어신호가 리셋신호이면 제1 먹스(830)의 출력값을 선택하여 출력하고, 일반 동작 신호이면 X1을 선택하여 출력한다.
이에 따라, 제1 리셋 구간에서는, 제1 메모리(S2)에 저장된 값의 인버팅 값과 제1 메모리(S2)의 저장값이 제1 가산기(810)에 의해 배타적 논리합되므로, 그 결과값은 항상 1이 된다. 따라서, 제1 리셋 구간에서의 Z2와 S2의 값은 언제나 1이 된다. 반대로 제2 리셋 구간에서는 Z2, S2의 값은 언제나 0이 된다. 제4 타입 트렐리스 인코더의 메모리 리셋 작업을 표로 정리하면 다음과 같다.
Cont |
S2,S1,S0 at t=0 |
input at t=1 |
Z2,Z1,Z0 at t=1 |
S2,S1,S0 at t=1 |
input at t=2 |
Z2,Z1,Z0 at t=2 |
S2,S1,S0 at t=2 |
1 |
0,0,0 |
1,0 |
100 |
1,0,0 |
1,0 |
000 |
0,0,0 |
1 |
0,0,1 |
1,0 |
101 |
1,1,0 |
1,1 |
010 |
0,0,0 |
1 |
0,1,0 |
1,1 |
110 |
1,0,0 |
1,0 |
000 |
0,0,0 |
1 |
0,1,1 |
1,1 |
111 |
1,1,0 |
1,1 |
010 |
0,0,0 |
1 |
1,0,0 |
0,0 |
100 |
1,0,0 |
0,0 |
000 |
0,0,0 |
1 |
1,0,1 |
0,0 |
101 |
1,1,0 |
0,1 |
010 |
0,0,0 |
1 |
1,1,0 |
0,1 |
110 |
1,0,0 |
0,0 |
000 |
0,0,0 |
1 |
1,1,1 |
0,1 |
111 |
1,1,0 |
0,1 |
010 |
0,0,0 |
표 4에 따르면 t=1인 시점에서는 제1 메모리(S2)의 저장값이 1로 고정되고, t=2인 시점에서는 0으로 고정되는 것을 알 수 있다.
한편, 제5 타입 트렐리스 인코더의 경우, 제1 먹스(830)는 제1 외부 제어 신호가 제1 리셋구간임을 알리는 신호이면, 제1 메모리(S2) 저장값을 출력한다. 반대로 제2 리셋구간임을 알리는 신호라면, 제1 메모리(S2) 저장값의 인버팅 값을 선택하여 출력한다. 제2 먹스(840)는 제2 외부제어신호가 리셋신호이면 제1 먹스(830)의 출력값을 선택하여 출력하고, 일반 동작 신호이면 X1을 선택하여 출력한다.
이에 따라, 제1 리셋 구간에서는, 제1 메모리(S2)의 저장값과 제1 메모리(S2)의 저장값이 제1 가산기(810)에 의해 배타적 논리합되므로, 그 결과값은 항상 0이 된다. 따라서, 제1 리셋 구간에서의 Z2와 S2의 값은 초기 제1 메모리(S2) 저장값과 관계없이 항상 0이 된다. 반대로 제2 리셋 구간에서는 Z2, S2의 값은 항상 1이 된다. 제5 타입 트렐리스 인코더의 메모리 리셋 작업을 표로 정리하면 다음과 같다.
Cont |
S2,S1,S0 at t=0 |
input at t=1 |
Z2,Z1,Z0 at t=1 |
S2,S1,S0 at t=1 |
input at t=2 |
Z2,Z1,Z0 at t=2 |
S2,S1,S0 at t=2 |
1 |
0,0,0 |
0,0 |
000 |
0,0,0 |
1,0 |
000 |
1,0,0 |
1 |
0,0,1 |
0,0 |
001 |
0,1,0 |
1,1 |
010 |
1,0,0 |
1 |
0,1,0 |
0,1 |
010 |
0,0,0 |
1,0 |
000 |
1,0,0 |
1 |
0,1,1 |
0,1 |
011 |
0,1,0 |
1,1 |
010 |
1,0,0 |
1 |
1,0,0 |
1,0 |
000 |
0,0,0 |
0,0 |
000 |
1,0,0 |
1 |
1,0,1 |
1,0 |
001 |
0,1,0 |
0,1 |
010 |
1,0,0 |
1 |
1,1,0 |
1,1 |
010 |
0,0,0 |
0,0 |
000 |
1,0,0 |
1 |
1,1,1 |
1,1 |
011 |
0,1,0 |
0,1 |
010 |
1,0,0 |
제4 타입 및 제5 타입 트렐리스 인코더의 경우, 제1 외부제어신호에 따라 선택하는 값이 달라짐으로 인해 제1 메모리(S2)의 세팅값이 달라지게 된다. 따라서, 제2 및 3 타입과 마찬가지로 제4 및 5 타입 트렐리스 인코더도 적절한 개수로 조합한다면, DC 편차를 상쇄 또는 감소시킬 수 있다.
도 10 및 도 11에서 제3 먹스(750, 850)의 동작은 도 9에 도시된 제1 타입 트렐리스 인코더의 제2 먹스(640) 및 제2 가산기(620)의 동작과 동일하므로 중복 설명은 생략한다.
도 12는 도 8에 적용가능한 매퍼(500)의 매핑 과정을 설명하기 위한 모식도이다. 도 12에 따르면, 매퍼(500)는 Z2, Z1, Z0의 조합에 대응되는 R값을 출력한다. 예를 들어 Z2, Z1, Z0 가 각각 0, 1, 0으로 출력된다면 매퍼(500)는 -3의 값을 출력한다.
도 8의 트렐리스 인코더 블럭(300)은 상술한 제1 내지 제5 타입 트렐리스 인코더 중 하나의 타입에 해당하는 트렐리스 인코더 들을 포함함으로써, 매퍼(300) 출력값이 - 또는 + 값으로 편향되지 않도록 설계할 수 있다. 즉, 제1 내지 제5 타입 트렐리스 인코더를 전부 포함할 수도 있으며, 이 중 일부만을 포함하도록 구현할 수도 있다.
도 12의 매퍼(500)에 의해 매핑이 이루어진 상태를 예를 들면 각 타입 트렐리스 인코더의 DC 편차를 산정할 수 있다. 이러한 산정은 S2, S1, S0 값의 가능한 조합이 모두 1번씩 일어난 경우를 예로 든 것이다.
먼저, 제1 타입 트렐리스 인코더에서 제1 리셋 구간에서 출력되는 Z2, Z1, Z0의 값에 대응되는 매핑 값을 전부 가산하면 -32가 된다. 다음 제2 리셋 구간에서 출력되는 Z2, Z1, Z0의 값에 대응되는 매핑 값을 전부 가산하면 -40이 된다. 따라서, 총 -72의 DC 편차가 생긴다.
마찬가지 방식으로 제2 타입 트렐리스 인코더에 대하여 계산해보면, 제1 리셋 구간에서는 0이 되고, 제2 리셋 구간에서는 -40이 된다. 따라서 총 -40의 DC 편차가 생긴다. 제3 타입 트렐리스 인코더의 경우 +24의 DC 편차가 생기고, 제4 타입 트렐리스 인코더의 경우 -8의 DC 편차가 생기며, 제5 타입 트렐리스 인코더의 경우도 -8의 DC 편차가 생긴다. 이러한 계산 결과를 이용하여 각 타입 트렐리스 인코더의 개수를 결정할 수 있다. 예를 들어, 제3 타입 트렐리스 인코더 3개와, 제4 또는 5 타입 트렐리스 인코더 9개를 이용하여 트렐리스 인코더 블럭(300)을 구현한 경우, 산술적으로 24*3-8*9=0이 얻어지므로 DC 편차가 상쇄되었다고 볼 수 있다.
도 13은 부가기준신호가 삽입된 전송 스트림 구조의 일 예를 나타내는 모식도이다. 도 13에 따르면, 인터리빙에 의해 부가기준신호구간이 흩어져 있음을 알 수 있다. 또한, 각 부가기준신호 영역 이전에는 메모리 리셋을 위한 초기화 영역이 마련되고, 메모리 리셋에 따른 패리티 보상이 이루어질 경우 보상된 패리티를 기입할 영역도 마련되어 있음을 알 수 있다.