KR100495185B1 - Trellis encoded video input processing system and signal processing method in the system - Google Patents

Trellis encoded video input processing system and signal processing method in the system Download PDF

Info

Publication number
KR100495185B1
KR100495185B1 KR1019970012980A KR19970012980A KR100495185B1 KR 100495185 B1 KR100495185 B1 KR 100495185B1 KR 1019970012980 A KR1019970012980 A KR 1019970012980A KR 19970012980 A KR19970012980 A KR 19970012980A KR 100495185 B1 KR100495185 B1 KR 100495185B1
Authority
KR
South Korea
Prior art keywords
data
trellis
unit
response
decision
Prior art date
Application number
KR1019970012980A
Other languages
Korean (ko)
Other versions
KR970073148A (en
Inventor
케렌 후
윌리엄 웨이-리언 린
마우리스 데이비드 캘드웰
Original Assignee
톰슨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/629,672 external-priority patent/US5841819A/en
Application filed by 톰슨 filed Critical 톰슨
Publication of KR970073148A publication Critical patent/KR970073148A/en
Application granted granted Critical
Publication of KR100495185B1 publication Critical patent/KR100495185B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Dc Digital Transmission (AREA)

Abstract

적응성 트렐리스 디코더(adaptive trellis decoder: 24)는 다중 입력 신호 포맷들 사이에서 심리스 스위칭한다(seamlessly switch). 트렐리스 디코더는, 입력된 인터리브된 패킷 데이터 신호(input interleaved packet data signal)에서 코드들을 검출하는 비터비(Viterbi) 디코딩 시스템의 환경에서 설명되는 코드 시퀀스 검출 시스템(code sequence detection system: 30,40)을 사용한다. 코드 시퀀스 검출 시스템은 또한 인코딩된 데이터의 입력과 디코딩된 데이터의 출력사이에서 지연(대기시간)을 감소시킨다. 코드 시퀀스 검출 시스템은 다수의 신호 포맷들 중 하나, 예컨대 부분 응답 포맷과 정상 포맷들 중 하나를 나타내는 입력된 인터리브된 패킷 데이터 신호에 응답하여 분기 미터값들(branch metric values)을 제공한다. 비터비 디코더(40)는 패킷 데이터 신호를 디코딩하여 포맷들 중 하나와 관련되는 실질적으로 복제된 값을 포함하는 분기 미터값들에 응답하여 디코딩된 출력을 산출한다. 비터비 디코더는 트렐리스 인코딩된 데이터 패킷(trellis encoded data packet)에 관련된 분기 미터값에 응답하여 결정 데이터를 제공하는 비교 회로(43)를 포함한다. 결정 데이터는 트레리스 상태 및 데이터 괘킷에 의해 구성되며, 트렐리스 상태 천이들(trellis state transitions)과 관련된다. 역추적 네트워크(traceback network: 47)는 형성된 결정 데이터에 응답하여 디코딩된 데이터를 제공한다.An adaptive trellis decoder 24 seamlessly switches between multiple input signal formats. The trellis decoder is a code sequence detection system described in the context of a Viterbi decoding system that detects codes in an input interleaved packet data signal. ). The code sequence detection system also reduces the delay (latency) between the input of encoded data and the output of decoded data. The code sequence detection system provides branch metric values in response to an input interleaved packet data signal representing one of a number of signal formats, such as a partial response format and one of normal formats. Viterbi decoder 40 decodes the packet data signal to produce a decoded output in response to branch meter values that include a substantially duplicated value associated with one of the formats. The Viterbi decoder includes a comparison circuit 43 for providing decision data in response to branch meter values associated with trellis encoded data packets. The decision data is organized by trellis state and data rulekit and is associated with trellis state transitions. Traceback network 47 provides decoded data in response to the decision data formed.

Description

트렐리스 인코딩된 비디오 입력 신호 처리 시스템 및 그 시스템에서의 신호 처리 방법Trellis-encoded video input signal processing system and signal processing method in the system

본 발명은 디지탈 신호 처리 분야에 관한 것으로서, 보다 구체적으로는 예컨대 다중 모드 트렐리스 인코딩된 고선명 텔레비젼(HDTV)용 신호들을 디코딩하는데 적합한 비터비 디코더에 관한 것이다.The present invention relates to the field of digital signal processing, and more particularly to a Viterbi decoder suitable for decoding signals for multi-mode trellis encoded high-definition television (HDTV).

방송 및 통신 응용들에서, 신호 잡음 면역성을 개선시키기 위해 트렐리스 코딩이 사용된다. 트렐리스 코딩은 특정 잡음원들을 방지하기 위해 다른 기술과 함께 사용된다. 이들 기술들 중의 하나로는, 송신 중에 발생할 수도 있는 간섭 버스트들(bursts)을 방지하기 위해 사용되는 데이터 인터리브(interleave) 기술이 있다. 이 기술에서는, 데이터가 송신 전에 소정 시퀀스로 배열(인터리브)되고, 원래의 시퀀스는 수신시에 복원(디인터리브)된다. 이 동작은 송신중의 데이터 손실이 인접 데이터의 손실을 초래하지 않도록 소정 시퀀스로 데이터를 시간적으로 확산 또는 분산시킨다. 대신에 임의의 데이터 손실은 분산되므로 보다 쉽게 숨겨거나 보정된다. 간섭 면역성을 제공하는데 사용된 또 다른 기술은, 데이터 의존적인 누화(crosstalk)와 상호 채널 간섭으로부터 신호를 보호하기 위해 사용될 수 있는 간섭배제 필터링 기술이 있다.In broadcast and communication applications, trellis coding is used to improve signal noise immunity. Trellis coding is used in conjunction with other techniques to prevent certain noise sources. One of these techniques is a data interleave technique that is used to prevent interference bursts that may occur during transmission. In this technique, data is arranged (interleaved) in a predetermined sequence before transmission, and the original sequence is restored (deinterleaved) upon reception. This operation spreads or distributes data in time in a predetermined sequence so that data loss during transmission does not result in loss of adjacent data. Instead, any data loss is distributed, making it easier to hide or correct. Another technique used to provide interference immunity is an interference suppression filtering technique that can be used to protect signals from data dependent crosstalk and cross channel interference.

미국의 고선명 텔레비젼에 대한 트렐리스 코딩 요구조건들은 미국의 진보된 텔레비젼 시스템 위원회(Advanced Television Systems Committee: ATSC)에 의해 마련된, 1995년 4월 12일의 HDTV 송신용 디지탈 텔레비젼 표준(Digital Television Standard for HDTV Transmission)(이하 HDTV 표준이라 칭함)의 섹션들 4.2.4-4.2.6(부록 D), 10.2.3.9, 10.2.3.10 및 다른 섹션들에 제공되어 있다. HDTV 표준은 송신기에 12개의 병렬 트렐리스 인코더들을 포함하고 수신기에 12개의 병렬 트렐리스 디코더들을 포함하여 12개의 인터리브된 데이터 스트림들을 처리하는 인터리브 기능을 사용하는 트렐리스 코딩 시스템을 제공한다. HDTV 표준 트렐리스 코딩 시스템은 또한 수신기 디코더에 간섭 배제 필터를 수용하여 NTSC 주파수들과 관련된 누화 및 상호 채널 간섭을 감소시킨다. HDTV 표준에 의해 지정된 간섭 배제 필터는 임의적이며, 디코딩되는 특정 데이터에 동적으로 의존하도록 응용될 수도 있다.Trellis coding requirements for high-definition television in the United States were established by the Advanced Television Systems Committee (ATSC) in the United States on April 12, 1995, the Digital Television Standard for HDTV Transmission. HDTV Transmissions (hereinafter referred to as the HDTV standard) are provided in sections 4.2.4-4.2.6 (Appendix D), 10.2.3.9, 10.2.3.10 and other sections. The HDTV standard provides a trellis coding system that uses an interleaving function to process 12 interleaved data streams, including 12 parallel trellis encoders at the transmitter and 12 parallel trellis decoders at the receiver. The HDTV standard trellis coding system also incorporates an interference rejection filter at the receiver decoder to reduce crosstalk and cross channel interference associated with NTSC frequencies. The interference rejection filter specified by the HDTV standard is arbitrary and may be applied to dynamically rely on the specific data to be decoded.

트렐리스 디코딩과 함께 인터리브된 코드 또는 동적으로 선택가능한 필터 기능들의 사용은 부가적인 트렐리스 디코더 설계 제한들 및 동작 모드들을 유발한다. 이 부가적인 설계 제한들 및 동작 모드들은 예컨대 HDTV 수상기 응용들에 대한 트렐리스 디코딩 기능의 설계 및 실현을 상당히 복잡하게 만든다. 특히, 예컨대 NTSC 필터링된 입력 데이터와 필터링되지 않은 입력 데이터 사이에서 스위칭할 경우 또는 HDTV 채널들간에 스위칭할 경우 발생할 수 있는, 다중 모드들 사이에서의 심리스 스위칭을 제공하기 위해 트렐리스 디코더가 요구되는 경우에 복잡해진다. 또한, 소비자용 HDTV 수신기들과 관련된 비용 및 하드웨어 제한들은 효과적인 비용 효율적 트렐리스 디코더 설계를 필요로 한다. 그런 비용 효율적 설계의 해결책은 인터리브된 데이터 스트립 및 다중 동작 모드들을 수용할 수 있는 효과적 트렐리스 디코더 아키텍쳐를 사용할 것이다.The use of interleaved code or dynamically selectable filter functions in conjunction with trellis decoding introduces additional trellis decoder design limitations and modes of operation. These additional design limitations and modes of operation significantly complicate the design and realization of the trellis decoding function, for example for HDTV receiver applications. In particular, trellis decoders are required to provide seamless switching between multiple modes, which may occur, for example, when switching between NTSC filtered and unfiltered input data or when switching between HDTV channels. It gets complicated. In addition, the cost and hardware limitations associated with consumer HDTV receivers require an effective cost-effective trellis decoder design. The solution of such a cost effective design would use an effective trellis decoder architecture that can accommodate interleaved data strips and multiple modes of operation.

본 발명의 원리에 따라, 트렐리스 디코더 시스템은 다른 신호 포맷들 사이에서 심리스 스위칭하는 적응성 트렐리스 디코더를 포함한다. 개시된 시스템은 소정수의 상태들을 갖는 단일 디코딩 트렐리스를 사용한다. 트렐리스 디코더는, 예컨대 비터비(Viterbi) 디코딩 시스템의 환경에서 설명되는, 입력된 인터리브된 패킷 데이터에서 코드들을 검출하는 코드 시퀀스 검출 시스템을 사용한다. 코드 시퀀스 검출 시스템은 또한 입력된 인코딩된 데이터와 출력된 인코딩된 데이터 사이의 지연(대기시간)을 감소시킨다.In accordance with the principles of the present invention, the trellis decoder system comprises an adaptive trellis decoder that seamlessly switches between different signal formats. The disclosed system uses a single decoding trellis with a predetermined number of states. The trellis decoder uses a code sequence detection system that detects codes in the input interleaved packet data, as described, for example, in the context of a Viterbi decoding system. The code sequence detection system also reduces the delay (latency) between the input encoded data and the output encoded data.

다수의 신호 포맷들 중 하나, 예컨대 부분 응답 포맷과 정상 포맷들 중 하나를 나타내는 트렐리스 인코딩된 비디오 입력 신호를 처리하는 시스템은 트렐리스 인코딩된 비디오 입력 신호에 응답하여 분기 미터값들을 제공한다. 비터비 디코더는 포맷들 중 하나와 관련되는 실질적으로 복제된 값을 포함하는 분기 미터값들에 응답하여 디코딩된 출력을 산출하기 위해 비디오 입력 신호를 디코딩한다.A system for processing a trellis encoded video input signal representing one of a number of signal formats, such as a partial response format and one of normal formats, provides branch meter values in response to the trellis encoded video input signal. . The Viterbi decoder decodes the video input signal to produce a decoded output in response to branch meter values that include a substantially duplicated value associated with one of the formats.

본 발명의 특징에 따라, 인코딩된 비디오 입력 신호는 인터리브된 트렐리스 인코딩된 패킷들의 군들을 포함한다. 비교 네트워크는 트렐리스 인코딩된 데이터 패킷들과 관련된 분기 미터값들에 응답하여 결정 데이터를 제공한다. 결정 데이터는 트렐리스 상태 및 데이터 패킷에 의해 구성되고 트렐리스 상태 천이들과 관련된다. 역추적 네트워크는 형성된 결정 데이터에 응답하여 디코딩된 데이터를 제공한다.According to a feature of the invention, the encoded video input signal comprises a group of interleaved trellis encoded packets. The comparison network provides decision data in response to branch meter values associated with trellis encoded data packets. Decision data is organized by trellis state and data packet and is associated with trellis state transitions. The backtracking network provides decoded data in response to the decision data formed.

도 1은 예컨대 HDTV 표준에 따라 인코딩된 데이터와 같은 다중 인터리브된 데이터 스트림들을 디코딩하는, 본 발명에 따른 비디오 수신기 트렐리스 디코더 시스템(24)을 도시한다. 이 시스템은, 다수의 포맷(예컨대, 정상적인 8레벨 포맷 및 부분 응답인 15레벨 포맷)으로 사전처리되고 다수의 모드(필터링된 모드 또는 필터링되지 않은 모드)중 한 모드로도 사전처리되는 데이터 스트림들을 적응적으로 디코딩한다. 상기 시스템은 또한 필터링된 데이터 모드와 필터링되지 않은 데이터 모드 사이에서 스위칭하는 심리스 비터비 디코더를 제공한다. 또한, 도 1의 디코더(24)는 HDTV 표준에 기술된 바와 같이 다수의 병렬 트렐리스 디코더보다는 단일 적응성 트렐리스 디코더 기능을 사용한다.1 shows a video receiver trellis decoder system 24 according to the present invention for decoding multiple interleaved data streams, such as data encoded according to the HDTV standard, for example. The system is capable of preprocessing data streams that are preprocessed in multiple formats (e.g., normal 8-level format and 15-level format that is a partial response) and preprocessed in one of multiple modes (filtered or unfiltered mode). Adaptive decoding The system also provides a seamless Viterbi decoder that switches between filtered and unfiltered data modes. Decoder 24 of FIG. 1 also uses a single adaptive trellis decoder function rather than multiple parallel trellis decoders as described in the HDTV standard.

개시된 시스템은 HDTV 수신기 시스템의 환경에서 설명되지만, 이것은 단지 예시적인 것이다. 개시된 시스템은 다른 유형의 통신 시스템들에 사용될 수도 있다. 상기 시스템은 또한 다른 신호 잡음 면역성 강화 방식들뿐만 아니라 다른 유형의 사전 처리 모드들 및 기능들, 다른 유형의 필터 기능들 및 다양한 인터리브 방법들을 수반하는 다른 유형의 동작 모드들에 사용될 수도 있다.The disclosed system is described in the context of an HDTV receiver system, but this is merely exemplary. The disclosed system may be used for other types of communication systems. The system may also be used for other types of modes of operation involving different types of preprocessing modes and functions, other types of filter functions and various interleaving methods as well as other signal noise immunity enhancement schemes.

개략적으로, 도 1에서, 복조기(도시안됨)로부터의 트렐리스 인코딩된 입력 데이터인 데이터1(DATA1)은 동기화 제어 유닛(10)에 입력된다. 데이터1은 각 심벌이 할당된 디지탈 값에 의해 표현되는 공지된 데이터 심벌들의 이진 데이터 시퀀스의 형태이다. 심벌의 집합들은 공지된 것처럼 신호 콘스텔레이션(constellation)으로 칭하는 점들의 집합으로, 복소 평면에서 표현된다. 유닛(10)은 데이터1 내에서 필드 및 세그먼트 동기화 신호를 검출한다. 데이터 필드는 다수의 세그먼트들을 포함하며, 각 세그먼트는 다수의 데이터 패킷들을 포함한다. 이 동기화 신호들은 HDTV 표준에 의해 섹션 10.2.3.9-10.2.3.13 및 섹션 4.2.6-4.2.7(부록 D)에서 규정된다. 유닛(10)은, 이들 검출된 신호들을 사용하여 데이터1을 재배열하고, 재배열된 출력 데이터를 분기 미터 계산기(BMC)(30) 및 지연 유닛(70)에 제공한다. 동기화 제어 유닛(10)은 또한 레지스터 리세트 및 레지스터 인에이블 신호들 R/E을 발생시키는데, 이것은 예컨대 동기 이탈 상태의 발생시에, 또는 범용 시스템 리세트와 같은 다른 입력에 응답하여, 파워온(power-on) 되었을 때, 도 1의 디코더(24)를 리세트하여 동기화시키는데 사용된다. 유닛(10)은 또한 후술되는 동기화 모니터(80)로부터의 동기 이탈 신호에 응답하여 R/E 신호를 발생시킨다. 또한, 입력 신호 CONF는 필터링되거나 필터링되지 않은 데이터를 디코딩하도록 도 1의 시스템 요소들을 형성하는데 사용된다. CONF 신호는 데이터1이 NTSC 상호 채널 간섭 배제 필터에 의해 사전필터링 되었는지 여부를 나타낸다. CONF 신호는 예컨대 도 1의 요소와 통신하여 전반적인 시스템 기능들을 제어하는 제어 처리기(도면을 단순화시키기 위해 도시안됨)에 의해 제공될 수도 있으며, 필터의 존재를 나타내는 소스로부터 이산 신호로 제공될 수도 있다. 배제 필터의 사용은 도 12를 참조하여 보다 구체적으로 설명될 것이다.In FIG. 1, data 1 DATA1, which is trellis-encoded input data from a demodulator (not shown), is input to the synchronization control unit 10. Data 1 is in the form of a binary data sequence of known data symbols in which each symbol is represented by an assigned digital value. A set of symbols is represented in the complex plane as a set of points called signal constellations as is known. Unit 10 detects field and segment synchronization signals in data1. The data field includes a plurality of segments, each segment containing a plurality of data packets. These synchronization signals are specified in sections 10.2.3.9-10.2.3.13 and sections 4.2.6-4.2.7 (Appendix D) by the HDTV standard. Unit 10 uses these detected signals to rearrange data 1 and provides the rearranged output data to branch meter calculator (BMC) 30 and delay unit 70. Synchronization control unit 10 also generates register reset and register enable signals R / E, which may be powered on, for example, in the event of an out-of-sync condition or in response to other inputs such as general-purpose system reset. -on), it is used to reset and synchronize the decoder 24 of FIG. The unit 10 also generates an R / E signal in response to the desynchronization signal from the synchronization monitor 80 described later. In addition, the input signal CONF is used to form the system elements of FIG. 1 to decode filtered or unfiltered data. The CONF signal indicates whether Data 1 has been prefiltered by the NTSC cross channel interference rejection filter. The CONF signal may be provided, for example, by a control processor (not shown to simplify the figure) in communication with the elements of FIG. 1, or as a discrete signal from a source indicating the presence of a filter. The use of an exclusion filter will be described in more detail with reference to FIG. 12.

분기 미터 계산기(30)는 각각의 수신된 데이터 심볼에 대해 한 세트의 값(미터값)을 계산한다. 이 미터값들은 심벌 콘스텔레이션을 포함하는 세트의 다른 점들에 대한 수신된 심벌의 근접성을 나타낸다. 계산된 미터값들은 공지된 비터비 디코딩 알고리즘을 사용하는 코드 시퀀스 검출 시스템(40)에 출력된다. 코드 시퀀스 검출 시스템은, 가산-비교-선택(ACS) 유닛(43)과 역추적 제어 유닛(47)을 사용하여 구현된 예시적 비터비 디코딩 시스템의 환경에서 설명된다. ACS 유닛(43)은 유닛(30)으로부터의 미터값들을 사용하여 일련의 반복적인 가산-비교-선택 동작들을 수행하여 역추적 제어 유닛(47) 및 유닛(30)에 결정 비트들의 시퀀스를 제공한다. ACS 유닛(43)에 의해 출력된 결정 비트들은 유닛(30)으로부터의 미터값들에 대한 가산-비교-선택 동작의 결과를 나타낸다. 역추적 유닛(47)은 유닛(43)으로부터의 결정 비트들을 사용하여 수신된 데이터 심볼들에 대해, 인코더에 의해 인코딩되는 가장 잘 대응할 것 같은 비트들의 시퀀스를 결정한다. 또한, 유닛(43)으로부터의 입력 결정 비트는 필터링된 모드에서 사용되어 유닛(30)의 구조내에서 분기 미터 계산 신호 경로들 중 한 경로를 선택한다. 동기화 모니터(80)는 ACS 유닛(43)내의 가산-비교-선택 계산 유닛들 중 하나로부터의 미터값들을 평가함으로써 유닛(10)으로부터의 재배열된 데이터 출력이 정확하게 동기화되었는지 여부를 결정한다. 모니터(80)는 미터값들 평가에 근거하여 유닛(10) 및 다른 수신기 요소들에 의해 사용되는 동기 이탈 신호를 발생시킨다.The branch meter calculator 30 calculates a set of values (meter values) for each received data symbol. These meter values indicate the proximity of the received symbol to other points in the set containing symbol constellation. The calculated meter values are output to code sequence detection system 40 using a known Viterbi decoding algorithm. The code sequence detection system is described in the context of an example Viterbi decoding system implemented using an add-compare-selection (ACS) unit 43 and a backtracking control unit 47. ACS unit 43 performs a series of iterative add-compare-select operations using the meter values from unit 30 to provide a sequence of decision bits to backtrack control unit 47 and unit 30. . The decision bits output by the ACS unit 43 represent the result of the add-compare-select operation on the meter values from the unit 30. Backtracking unit 47 uses the decision bits from unit 43 to determine, for the received data symbols, the sequence of bits that are most likely to be encoded by the encoder. In addition, the input decision bits from unit 43 are used in the filtered mode to select one of the branch meter calculation signal paths within the structure of unit 30. Synchronization monitor 80 determines whether the rearranged data output from unit 10 is correctly synchronized by evaluating the meter values from one of the add-compare-select calculation units in ACS unit 43. The monitor 80 generates a desynchronization signal used by the unit 10 and other receiver elements based on the meter values evaluation.

역추적 유닛(47)은 트렐리스 디매퍼(demapper)(60) 및 재인코더(re-encoder)(50)에 트렐리스 디코딩된 결정 비트들의 시퀀스를 출력한다. 유닛(50)은 유닛(47)으로부터의 비트들의 시퀀스를 재인코딩하여 디매퍼(60)에 재인코딩된 비트 시퀀스를 제공한다. 또한, 유닛(10)으로부터의 재배열된 데이터는 유닛(70)에 의해 지연되어 트렐리스 디매퍼(60)에 제공된다. 트렐리스 디매퍼(60)는 유닛(47,50,70)으로부터의 입력 데이터를 사용하여, 송신된 데이터 심벌을 식별하고, 대응하는 원래의 인코딩된 데이터를 복원한다. 디매퍼(60)로부터 얻는, 복원된 원래의 데이터는 어셈블러(90)에 의해 데이터 바이트들로 어셈블링되어 필요에 따라 다른 수신기 요소들에 출력된다.The backtracking unit 47 outputs the trellis decoded sequence of decision bits to the trellis demapper 60 and the re-encoder 50. Unit 50 re-encodes the sequence of bits from unit 47 to provide the re-encoded bit sequence to demapper 60. In addition, the rearranged data from the unit 10 is delayed by the unit 70 and provided to the trellis demapper 60. Trellis demapper 60 uses the input data from units 47, 50, 70 to identify the transmitted data symbols and to restore the corresponding original encoded data. The recovered original data, obtained from the demapper 60, is assembled into data bytes by the assembler 90 and output to other receiver elements as needed.

이제 도 1의 트렐리스 디코더(24)의 상세한 동작이 설명될 것이다. 여기서, 비터비 디코딩, 분기 미터 계산 및 트렐리스 코딩은 공지되어 있으며, 예컨대 참고 자료인 Lee와 Messerschmidt의 Digital Communication(Kluwer Academic Press, Boston, MA, 미국, 1988)에 개괄적으로 설명되어 있다.The detailed operation of the trellis decoder 24 of FIG. 1 will now be described. Here, Viterbi decoding, branch meter calculations and trellis coding are known and are outlined, for example, in Digital Communication (Kluwer Academic Press, Boston, MA, USA, 1988) by Lee and Messerschmidt.

트렐리스 디코더(24)에 대한 데이터1 입력 신호는 도 2에 도시된 인코딩 기능을 사용하여 HDTV 표준(부록의 섹션 4.2.5 및 다른 섹션)에 따라 인코딩된다. 도 2는 두 개의 입력 데이터 비트 X1 및 X2가 3개의 비트 Z2, Z1, Z0로 인코딩되는 것을 도시한다. 각각의 3비트 워드는 R의 8심벌들 중 하나에 대응한다. 이를 위해, 공지된 것처럼, X2는, 필터 성분 가산기(100) 및 레지스터(105)를 포함하는 프리코더(pre-coder)(102)에 의해 처리되어 인코딩된 비트 Z2를 제공한다. X1은 공지된 것처럼, 가산기(115) 및 레지스터들(110 및 120)을 포함하는 트렐리스 인코더(103)에 의해 2비트 Z1 및 Z0로 인코딩된다. 도 2의 인코더 기능으로부터의 출력 데이터 워드는 도 2의 매퍼(mapper)(125)에 의해 표시된 십진값의 데이터 워드의 시퀀스 또는 심벌 R에 매핑된다. 도 2의 인코더 동작은 도 3의 첨부된 상태 천이표에 의해 도시된다.The Data1 input signal to the trellis decoder 24 is encoded according to the HDTV standard (section 4.2.5 and other sections of the appendix) using the encoding function shown in FIG. 2 shows that two input data bits X1 and X2 are encoded into three bits Z2, Z1, Z0. Each 3-bit word corresponds to one of eight symbols of R. To this end, as is known, X2 is processed by a pre-coder 102 comprising a filter component adder 100 and a register 105 to provide encoded bit Z2. X1 is encoded into two bits Z1 and Z0 by trellis encoder 103 which includes adder 115 and registers 110 and 120, as is known. The output data word from the encoder function of FIG. 2 is mapped to a sequence or symbol R of the decimal data word indicated by the mapper 125 of FIG. The encoder operation of FIG. 2 is illustrated by the attached state transition table of FIG.

도 2의 인코더로부터의 데이터 출력 R은 4개의 코세트(coset)의 8점들 또는 레벨들을 포함하는 심벌 콘스텔레이션을 나타낸다. 코세트 값들은, 코세트 A=(A-,A+) =(-7,+1), 코세트 B=(B-,B+)=(-5,+3), 코세트 C=(C-,C+)=(-3,+5), 코세트 D=(D-,D+) =(-1,+7)이다. 이 매핑은 임의적이다. HDTV 표준의 섹션 5.1에서 케이블 동작용으로 언급된 16레벨 매핑과 같은 다른 매핑들이 사용될 수도 있다. 이런 형태로 인코딩된 데이터는 반송파상에 변조되어 HDTV 수신기로 송신된다.The data output R from the encoder of FIG. 2 represents a symbol constellation comprising eight points or levels of four corsets. The corset values are: corset A = (A-, A +) = (-7, + 1), corset B = (B-, B +) = (-5, + 3), corset C = (C- , C +) = (-3, + 5), coset D = (D-, D +) = (-1, + 7). This mapping is arbitrary. Other mappings may be used, such as the 16 level mapping mentioned for cable operation in section 5.1 of the HDTV standard. Data encoded in this form is modulated onto the carrier and transmitted to the HDTV receiver.

도 12에 도시된 HDTV 수신기 환경에서, 잔류 측파대(VSB) 변조된 인코딩된 데이터는 후술될 입력 처리기 및 복조기 유닛(750)에 인가된다. 복조된 데이터는, 트렐리스 디코딩되기 전에, NTSC 상호 채널 간섭 거부 필터(22) 및 다중화기(MUX)(28)를 포함하는 사전 처리기(27)에 의해 사전 처리된다. 도 12의 사전 처리기(27)에서는, CONF 신호에 응답하여 유닛(750)으로부터 복조된 데이터 또는 유닛(750)으로부터 복조된 후 NTSC 배제 필터(22)에 의해 필터링된 데이터가 다중화기(28)에 의해 선택된다. 다중화기(28)로부터 선택된 데이터는 트렐리스 디코더(24)에 의해 디코딩된다. 공지된 것처럼, 트렐리스 디코딩전에 유닛(22)에 의해 사전 필터링되지 않은 데이터는 통신 과정에서 발생되는 임의의 잡음 또는 간섭에 의해 더 변형된 8개의 인코딩된 레벨들을 포함하는 데이터 포맷을 갖는다. 그러나, 트렐리스 디코딩전에 유닛(22)에 의해 사전 필터링되는 데이터는 역시 공지된 것처럼 통신 과정에서 발생되는 임의의 잡음 또는 간섭에 의해 변형된 15개의 인코딩된 레벨들을 포함하는 데이터 포맷을 갖는다.In the HDTV receiver environment shown in FIG. 12, residual sideband (VSB) modulated encoded data is applied to an input processor and demodulator unit 750, which will be described later. The demodulated data is preprocessed by a preprocessor 27 including an NTSC cross channel interference rejection filter 22 and a multiplexer (MUX) 28 before being trellis decoded. In the preprocessor 27 of FIG. 12, data demodulated from the unit 750 or data filtered by the NTSC exclusion filter 22 after being demodulated from the unit 750 in response to the CONF signal is sent to the multiplexer 28. Is selected by The data selected from the multiplexer 28 is decoded by the trellis decoder 24. As is known, data that has not been pre-filtered by unit 22 prior to trellis decoding has a data format comprising eight encoded levels further modified by any noise or interference generated during the communication process. However, the data pre-filtered by the unit 22 prior to trellis decoding has a data format comprising 15 encoded levels modified by any noise or interference generated during the communication process, as is also known.

공지된 것처럼, 배제 필터(22)가 사용될 경우의 필터링된 모드에서는 8상태 트렐리스 디코더가 필요하며, 필터(22)가 사용되지 않을 경우의 필터링되지 않은 모드에서는 4상태 트렐리스 디코더가 필요하다. 양호하게는, 트렐리스 디코더 시스템(24)(도 1)은 단일 8상태 트렐리스 구조를 포함하며, 모드 사이에서 심리스 스위칭한다. 디코더(24)는, 선택적인 필터 모드들에 대해, 그리고 예컨대 프로그램 변화 및 다른 유형의 천이들로부터 초래되는 데이터 중단들에 대해 심리스 스위칭을 제공한다. 디코더(24)에 의한 트렐리스 디코딩되고 세그먼트내 심벌 디인터리브된 데이터 출력은 유닛(760)에 제공된다. 다음에, 디코더로부터의 심벌 디인터리브된 데이터는, 후술되는 것처럼, 처리 및 표시를 위한 다른 HDTV 수상기 요소들을 통과하기 전에 출력 처리기(760)에 의해 더 처리된다.As is known, an 8 state trellis decoder is required in the filtered mode when the exclusion filter 22 is used, and a 4 state trellis decoder is required in the unfiltered mode when the filter 22 is not used. Do. Preferably, trellis decoder system 24 (FIG. 1) comprises a single eight-state trellis structure and seamlessly switches between modes. Decoder 24 provides seamless switching for optional filter modes and for data interruptions resulting from, for example, program changes and other types of transitions. Trellis decoded and intrasegment symbol deinterleaved data output by decoder 24 is provided to unit 760. The symbol deinterleaved data from the decoder is then further processed by the output processor 760 before passing through other HDTV receiver elements for processing and display, as described below.

트렐리스 디코더(24)의 심리스 스위칭 능력은, 디코더 구조 및 개별적인 디코더 요소들의 설계로부터 발생된다. 디코더(24) 구조의 주요 특징은 필터링된 데이터 입력 모드와 필터링되지 않은 데이터 입력 모드에 대해 단일 8상태 ACS 유닛 (유닛 43)을 포함한다는 것이다. 이것은 비터비 디코더(40)가 CONF 구성 신호의 상태에 상관없이 필터링된 또는 필터링되지 않은 데이터를 명백하게 디코딩하도록 허용한다. 본 발명자들은 8상태 ACS 유닛이 필터링되지 않은 모드에서 필요한 4상태 ACS 구조를 모방해 내는데 사용될 수 있다는 인식에 근거한다. 이것은 BMC 유닛(30)이 병렬 등가 계산들을 수행하여 필터링되지 않은 모드에서 ACS 유닛(43)에 복제된 분기 미터값들을 제공하기 때문이다. 개시된 ACS 구조는 복제된 입력값들이 제공될 때 원하는 4상태 ACS 구조를 모방해 낼뿐만 아니라 ACS 유닛(43)이 필터링된 모드와 필터링되지 않은 모드에서 동일 방식으로 동작할 수 있도록 한다. 디코더(24)의 또다른 특징은 입력 구성 신호 CONF에 반응하는 적응적 구조를 포함한다는 것이다. CONF 신호는 디코더(24) 입력 데이터가 NTSC 배제 필터에 의해 필터링되는지의 여부를 나타낸다. 이런 특징들은 디코더(24)가 NTSC 필터의 선택적 사용에 관련된 필터링된 모드와 필터링되지 않은 모드 사이에서 심리스 동작할 수 있도록 허용한다.The seamless switching capability of the trellis decoder 24 arises from the decoder structure and the design of the individual decoder elements. The main feature of the decoder 24 structure is that it includes a single eight-state ACS unit (unit 43) for filtered and unfiltered data input modes. This allows the Viterbi decoder 40 to explicitly decode the filtered or unfiltered data regardless of the state of the CONF configuration signal. We are based on the recognition that an 8 state ACS unit can be used to mimic the required 4 state ACS structure in an unfiltered mode. This is because BMC unit 30 performs parallel equivalence calculations to provide replicated branch meter values to ACS unit 43 in an unfiltered mode. The disclosed ACS architecture not only mimics the desired four-state ACS structure when duplicated input values are provided, but also allows the ACS unit 43 to operate in the same way in filtered and unfiltered modes. Another feature of the decoder 24 is that it includes an adaptive structure responsive to the input configuration signal CONF. The CONF signal indicates whether the decoder 24 input data is filtered by the NTSC exclusion filter. These features allow decoder 24 to seamlessly operate between the filtered and unfiltered modes related to the selective use of NTSC filters.

제어 유닛(10)은 입력 데이터1에서 HDTV 표준 호환성 필드 및 세그먼트 동기화 신호들을 검출한다. 필드 및 세그먼트 동기화 신호들은 트렐리스 인코딩 또는 프리코딩되지 않는다. 따라서, 동기 신호들은 HDTV 표준의 섹션 10.2,3,9 및 10.3.2-10.3.3.3에 설명된 공지된 기술을 사용하여 검출될 수 있다. 이들 동기 신호들은 유닛(10)내에서 사용되어 데이터1에 포함된 데이터를 버퍼링하고 재배열하여 BMC 유닛(30) 및 지연 유닛(70)에 동기 정보가 없는 재배열된 출력 데이터 세그먼트들을 제공한다. 데이터는 버퍼 레지스터들 또는 등가 메모리에 데이터를 순차 저장하고, 다음에 비데이터 동기 패킷들이 생략되어 레지스터들로부터 데이터를 출력함으로써 재배열된다. 비데이터 패킷들은 저장전에 또는 저장 후에 제거될 수 있다. 유닛(10)으로부터의 인코딩된, 재배열된 데이터는 연속 세그먼트들의 형태이다. 각 세그먼트는 12개의 인터리브된 데이터 스트림들(SP1-SP12)의 연속적인 순차 패킷들을 포함한다. 각 패킷은 HDTV 표준에서 규정된 하나의 인코딩된 데이터 심벌을 포함한다. 연속 세그먼트들과 연속 패킷 모두 중간 동기화 간격들을 포함하지 않는다. 대안적인 데이터 재배열 방법들이 사용될 수도 있다. 예컨대, 동기 간격들을 검출하여 제거하는 대신, 디코더(24)는 동기 간격들을 검출하고, 동기 간격들의 지속기간 동안 리세트 및 레지스터 인에이블 신호들을 사용하여 공지된 상태로 디코더(24)의 기능들을 억제하거나 유지할 수도 있다.The control unit 10 detects HDTV standard compatibility field and segment synchronization signals in the input data 1. Field and segment synchronization signals are not trellis encoded or precoded. Thus, synchronization signals can be detected using known techniques described in sections 10.2, 3, 9 and 10.3.2-10.3.3.3 of the HDTV standard. These sync signals are used in unit 10 to buffer and rearrange the data contained in data 1 to provide rearranged output data segments without sync information to BMC unit 30 and delay unit 70. The data is rearranged by sequentially storing the data in buffer registers or equivalent memory, and then outputting data from the registers by omitting non-data sync packets. Non-data packets can be dropped before or after storage. The encoded, rearranged data from unit 10 is in the form of consecutive segments. Each segment contains consecutive sequential packets of twelve interleaved data streams SP1-SP12. Each packet contains one encoded data symbol defined in the HDTV standard. Both contiguous segments and contiguous packets do not include intermediate synchronization intervals. Alternative data rearrangement methods may be used. For example, instead of detecting and removing sync intervals, decoder 24 detects sync intervals and suppresses the functions of decoder 24 in a known state using reset and register enable signals for the duration of the sync intervals. Or keep it.

제어 유닛(10)은 또한 디코더(24)를 리세트하고 동기화하는데 사용되는 리세트/인에이블 신호들(R/E)을 발생시킨다. R/E 신호들은 전력 공급시에, 그리고 동기 이탈 데이터 상태를 나타내는 동기화 모니터(80)로부터의 신호에 응답하여 발생된다. R/E 신호들은 또한 예컨대 범용'시스템 리세트 또는 프로그램 변경 표시 신호와 같은 외부 입력 신호에 응답하여 발생될 수도 있다. 디코더(24)의 구조는 R/E 신호들에 응답하여 트렐리스 디코딩 동작의 재동기화를 허용한다. 이 재동기화 능력은 디코더(24)의 신호 트렐리스 디코딩 기능이 선택적 필터 모드에 대해, 그리고 데이터 중단에 대해 심리스 스위칭 즉, 시청자가 불쾌해 하지 않는 스위칭을 제공할 수 있도록 한다.The control unit 10 also generates reset / enable signals R / E which are used to reset and synchronize the decoder 24. R / E signals are generated at power up and in response to a signal from the synchronization monitor 80 indicating the out of sync data state. R / E signals may also be generated in response to external input signals such as, for example, general-purpose system reset or program change indication signals. The structure of the decoder 24 allows resynchronization of the trellis decoding operation in response to the R / E signals. This resynchronization capability allows the signal trellis decoding function of the decoder 24 to provide seamless switching for selective filter mode and for data interruption, i.e. switching that the viewer is not offended.

제어 유닛(10)은 또한 CONF 신호를 사용하여 필터링된 데이터 모드를 검출하고, 이 모드에서 NTSC 배제 필터에 의해 유발된 데이터 손상을 보정하는 또다른 기능을 포함한다. 데이터 손상은 세그먼트 동기후에 12 심벌 간격들이 발생하는 4 심벌 패킷들에서 발생한다. 필터링된 데이터 모드에서, 상호 채널 배제 필터는 현제 데이터 세그먼트의 함께 배열된(collocated)(즉, 동일 관계 심벌 패킷) 인코딩된 데이터 심벌로부터 선행 데이터 세그먼트의 인코딩된 데이터 심벌을 감산한다. 이 동작은 부분 응답 입력 데이터(HDTV 표준의 섹션 10.2.3.8 및 10.2.3.9)를 산출한다. 그러나, 동기 간격(지속기간에서 4심벌들)이 12 심벌 간격들만큼 4심벌 패킷들보다 앞설 때, 감산은 손상된다. 이것은 동기값 및 함께 배열되지 않은 심벌 값들이 4 심벌 패킷들로부터 감산되기 때문이다. 따라서, 필터링된 데이터 모드에서 유닛(10)은 세그먼트 동기 간격 이후에, 4심벌 패킷들이 발생하는 12심벌들을 식별한다. 또한, 유닛(10)은 배제 필터에서 감산된 저장된 동기값들을 다시 가산하고, 저장된 정확한 심벌 패킷 데이터(세그먼트 동기보다 앞서는 4개의 함께 배열된 심벌 패킷들)를 감산한다. 이런식으로, 유닛(10)은 필터링된 데이터 모드에서 유닛(30 및 70)에 보정된 부분 응답 재배열 데이터를 제공한다. 부분 응답 데이터를 보정하는 유사한 방법은 HDTV 표준의 섹션 10.2.3.9 및 도 10.12에 제안되어 있다.The control unit 10 also includes another function for detecting the filtered data mode using the CONF signal and in this mode correcting for data corruption caused by the NTSC exclusion filter. Data corruption occurs in 4 symbol packets where 12 symbol intervals occur after segment synchronization. In the filtered data mode, the cross channel exclusion filter subtracts the encoded data symbols of the preceding data segment from the collocated (i.e., equality symbol packet) encoded data symbols of the current data segment. This operation yields partial response input data (sections 10.2.3.8 and 10.2.3.9 of the HDTV standard). However, when the synchronization interval (four symbols in duration) precedes four symbol packets by twelve symbol intervals, the subtraction is corrupted. This is because the synchronization value and symbol values not arranged together are subtracted from the four symbol packets. Thus, in the filtered data mode, the unit 10 identifies 12 symbols from which 4 symbol packets occur after the segment synchronization interval. In addition, unit 10 adds back the stored sync values subtracted from the exclusion filter and subtracts the stored correct symbol packet data (four co-arranged symbol packets ahead of the segment sync). In this way, unit 10 provides corrected partial response rearrangement data to units 30 and 70 in filtered data mode. Similar methods of correcting partial response data are proposed in sections 10.2.3.9 and FIG. 10.12 of the HDTV standard.

분기 미터 계산기(30)는 유닛(10)으로부터 수신된 각각의 인코딩되고 인터리브된 재배열된 심벌에 대한 값들(미터값들)을 계산한다. 계산된 미터값들은 가산-비교-선택(ACS) 유닛(43) 및 역추적 제어 유닛(47)을 포함하는 유닛(40)에 의해 비터비 디코딩된다. 도 6은 도 1의 분기 미터 계산기(BMC) 유닛(30)의 구조를 도시한다. 도 7은 도 6의 개별 BMC 유닛의 구조를 도시하며, BMU1-BMU8 유닛들(유닛들 600-635) 각각을 나타낸다. 도 6의 유닛 BMU1-BMU8의 S 입력들에 제공된 입력 데이터는 유닛(10)으로 부터의 인터리브된 심벌 데이터와 ACS 유닛(43)(도 1)으로부터의 입력들을 포함한다. 심벌 데이터 및 ACS 입력들(ACSI)은 도 7에서 유닛(700 및 730) 각각에 대한 입력들로 개별적으로 식별된다.The branch meter calculator 30 calculates the values (meter values) for each encoded interleaved rearranged symbol received from the unit 10. The calculated meter values are Viterbi decoded by a unit 40 comprising an add-compare-select (ACS) unit 43 and a backtrack control unit 47. FIG. 6 shows the structure of the branch meter calculator (BMC) unit 30 of FIG. 1. FIG. 7 shows the structure of the individual BMC unit of FIG. 6 and shows each of the BMU1-BMU8 units (units 600-635). The input data provided to the S inputs of units BMU1-BMU8 in FIG. 6 include interleaved symbol data from unit 10 and inputs from ACS unit 43 (FIG. 1). Symbol data and ACS inputs (ACSI) are individually identified as inputs to units 700 and 730, respectively, in FIG.

도 7의 BMC 유닛은 유닛(10)으로부터의 인코딩된 인터리브된 심벌 시퀀스를 순차적으로 처리한다. CONF 신호에 의해 선택된 필터링되지 않은 데이터 모드에서, 유닛(10)으로부터의 데이터의 제 1 인터리브된 심벌의 입력 심벌 데이터는 가산기(700)에 의해 변경되지 않은채 통과된다. 이 모드에서 다중화기(MUX:705)는 가산기(700)에 0의 값을 출력한다. 제 1 및 제 2 거리 계산기(710 및 715)는 제 1 및 제 2 코세트 각각으로부터 인코딩된 입력 심벌의 유클리드 기하학적 거리를 계산하고 2개의 대응하는 미터값들 출력들인, 분기 미터 데이터1 및 분기 미터 데이터2를 제공한다. 표 1은 예컨대 코세트 A 및 C 각각에 대한 BMU1 근사가 계산되는 동안 각 BMU 유닛 거리 계산기에 의해 수행된 코세트 계산을 규정한다. 또한, 제 1 및 제 2 거리 계산기들(710 및 715)은 레지스터들(740 및 735)을 통해 출력 비트들(C 및 D)을 각각 제공한다. 비트들 C 및 D은 제 1 및 제 2 코세트 각각내의 2개의 값들 중 어떤 값에 입력 심벌이 가장 근접하는지를 나타낸다. 레지스터(740 및 735)는 각각 개별적인 1비트 레지스터들에 직렬 접속되며, 이 1비트 레지스터를 통해 비트 C 및 D는 각각 순환적으로 시프트된다. 이런식으로, 유닛(10)(도 1)으로부터의 12개의 인터리브된 심벌 각각에 대한 출력 비트 C 및 D가 레지스터(740 및 735)로부터 순차적으로 출력된다. 거리 계산기는 통상 룩업 테이블들(look-up tables)을 사용하여 구현되지만, 예컨대 감산, 절대값 및 비교 동작에 의해 거리를 계산하는 것과 같이 다른 방법으로 구현될 수도 있다.The BMC unit of FIG. 7 sequentially processes the encoded interleaved symbol sequence from unit 10. In the unfiltered data mode selected by the CONF signal, the input symbol data of the first interleaved symbol of the data from the unit 10 is passed unchanged by the adder 700. In this mode, the multiplexer (MUX) 705 outputs a value of zero to the adder 700. The first and second distance calculators 710 and 715 calculate the Euclidean geometric distance of the encoded input symbol from the first and second corsets respectively and are two corresponding meter values outputs, the branch meter data 1 and the branch meter. Provide data 2. Table 1 defines, for example, the corset calculations performed by each BMU unit distance calculator while the BMU1 approximation for each of the corsets A and C is calculated. In addition, the first and second distance calculators 710 and 715 provide output bits C and D, respectively, through registers 740 and 735. Bits C and D indicate which of the two values in each of the first and second corsets is closest to the input symbol. Registers 740 and 735 are each serially connected to individual one-bit registers, through which bits C and D are cyclically shifted, respectively. In this way, output bits C and D for each of the 12 interleaved symbols from unit 10 (FIG. 1) are sequentially output from registers 740 and 735. The distance calculator is typically implemented using look-up tables, but may be implemented in other ways, such as calculating the distance by subtraction, absolute values, and comparison operations.

[표 1]TABLE 1

Figure pat00001
Figure pat00001

필터링된 데이터 동작 모드에서, 데이터 유닛(10)으로부터의 데이터의 제 1 인터리브된 심벌의 입력 심벌 데이터는 가산기(700)에 의해, 유닛(720)으로부터 다중화기들(725 및 705)을 통해 전달된 코세트값 W+ 또는 코세트값 W-와 합산된다. 합산된 데이터는 전술된 것처럼 거리 계산기들(710 및 715)에 의해 처리된다. 코세트값들 W+ 및 W-는 전술된 4개의 코세트들 A-D중 하나에 속한다. 개별 BMU 유닛에 사용되는 특정 W+ 및 W- 코세트값은 표 1에 규정된 특정 BMU 유닛에 대한 4개의 규정된 코세트 A-D로부터 선택된다. W+ 및 W- 코세트는 유닛(10)으로부터의 변형된 입력 심벌 데이터를 거리 계산기들(710 및 715)에 의해 처리될 수 있는 심벌 데이터로 복원하도록 선택된다. 이 동작은 필터링된 모드에서 필요한데, 왜냐하면 필터링된 모드에서는 인터리브와 상호 채널 배제 필터링의 결합이 전술된 부분 응답 입력 데이터를 산출하며, 필터링되지 않은 모드에서 산출된 정상 심벌 데이터는 산출하지 않기 때문이다(HDTV 표준의 섹션 10.2.3.8 및 10.2.3.9). 다중화기(730)는 다중화기(725)를 통해, W+ 또는 W-가 가산기(700)에서 ACS 유닛(43)으로부터의 ACSI 입력 결정 비트의 상태 및 비트 입력 신호 A 및 B의 상태에 근거하여 변형된 입력 데이터와 합산되는지를 결정한다. 유닛(43)으로부터의 ACSI 입력 결정 비트는 입력 A 또는 입력 B가 가산기(700)에 의해 합산되는 W+값과 W-값 중에서 어떤값을 선택하는지를 결정한다. 예컨대, ACSI=1이면 입력 B가 다중화기(730)에 의해 선택되고, B=1이면 다중화기(730)를 통해 가산기(700)에서 가산되도록 W+가 다중화기(725)에 의해 선택된다. A 및 B 입력 상호접속은 도 6에 도시되고, 예컨대 유닛 BMU4에 대한 A 및 B는 BMU5 및 BMU6에 의해 각각 제공된다(도 6). 필터링된 모드에서 도 7의 BMU 유닛의 나머지 동작은 필터링되지 않은 모드에 대해 설명된 것과 동일하다.In the filtered data mode of operation, input symbol data of the first interleaved symbol of data from data unit 10 is passed by adder 700 from unit 720 through multiplexers 725 and 705. It is added with the corset value W + or the corset value W-. The summed data is processed by the distance calculators 710 and 715 as described above. The corset values W + and W- belong to one of the four corsets A-D described above. The specific W + and W- corset values used for the individual BMU units are selected from the four defined corsets A-D for the particular BMU unit specified in Table 1. The W + and W− corsets are selected to recover the modified input symbol data from unit 10 into symbol data that can be processed by distance calculators 710 and 715. This operation is necessary in the filtered mode, because in the filtered mode the combination of interleave and cross-channel exclusion filtering yields the partial response input data described above, and does not yield normal symbol data calculated in the unfiltered mode ( Sections 10.2.3.8 and 10.2.3.9 of the HDTV standard). Multiplexer 730 modifies via multiplexer 725 based on the state of the ACSI input decision bits from ACS unit 43 and the state of bit input signals A and B in W + or W- adder 700. Determines whether to sum with the input data. The ACSI input decision bit from unit 43 determines which input A or input B selects between the W + and W-values that are summed by adder 700. For example, input AC is selected by the multiplexer 730 if ACSI = 1, and W + is selected by the multiplexer 725 to be added at the adder 700 via the multiplexer 730. The A and B input interconnects are shown in FIG. 6, for example A and B for unit BMU4 are provided by BMU5 and BMU6 respectively (FIG. 6). The remaining operation of the BMU unit of FIG. 7 in the filtered mode is the same as described for the unfiltered mode.

도 1의 BMC 유닛(30)은 마찬가지로 유닛(10)으로부터의 재배열된 데이터 세그먼트의 나머지 인터리브된 심벌을 순차적으로 처리한다. 재배열된 데이터 세그먼트를 완전히 처리한 후, BMC 유닛(30)은 유닛(10)으로부터의 그다음 재배열된 데이터 세그먼트의 제 1 인터리브된 데이터 심벌 패킷으로 시작하는 전술된 과정을 반복한다.The BMC unit 30 of FIG. 1 likewise processes the remaining interleaved symbols of the rearranged data segments from the unit 10. After fully processing the rearranged data segments, BMC unit 30 repeats the above-described process beginning with the first interleaved data symbol packet of the next rearranged data segment from unit 10.

동일한 개별 BMU 유닛(BMU1-BMU8)의 상호접속은 도 6의 전반적인 BMC 구조에 도시되어 있다. 유닛(10)으로부터의 인터리브된 심벌 데이터는 유닛 BMU1 -BMU8의 S 입력에 입력되어 도 7의 예시적 유닛에 대해 설명된 것처럼 이들 상호접속된 유닛 각각에 의해 처리된다. 유닛 BMU1-BMU8의 단자 V0 및 V1상의 결과적인 분기 미터 데이터1 및 분기 미터 데이터2 출력은 ACS 유닛(43)(도 1)에 제공된다. 도 1의 ACS 유닛(43)은 유닛(30)의 BMU 유닛 각각으로부터의 분기 미터 데이터1 및 분기 미터 데이터2를 사용하여 일련의 반복적인 가산-비교-선택 동작을 수행한다.The interconnection of the same individual BMU units BMU1-BMU8 is shown in the overall BMC structure of FIG. Interleaved symbol data from unit 10 is input to the S input of units BMU1-BMU8 and processed by each of these interconnected units as described for the exemplary unit of FIG. 7. The resulting branch meter data 1 and branch meter data 2 outputs on terminals V0 and V1 of the units BMU1-BMU8 are provided to the ACS unit 43 (FIG. 1). The ACS unit 43 of FIG. 1 performs a series of iterative add-compare-select operations using branch meter data 1 and branch meter data 2 from each of the BMU units of the unit 30.

도 9는 도 1의 유닛(43)의 전반적인 ACS 구조를 포함하는 개별적인 ACS 유닛사이의 상호접속을 도시한다. 도 9에서는 단일 8상태 ACS 구조가 필터링된 데이터 입력 모드 및 필터링되지 않은 입력 모드 양자에 대해 사용된다. 도 9의 ACS 구조는 도 5의 필터링된 모드의 8상태 천이도를 실현한다. 각 ACS 유닛(유닛 900-935)은 트렐리스 상태(000...111)에 관련된다. 도 4의 4상태 천이도는 필터링되지 않은 모드에 대한 등가의 트렐리스 상태 천이들을 도시한다. 도 5의 상태 천이도에 도시된 상태의 재배열은 도 9에 도시된 상호접속을 보다 명백히 한다.9 illustrates the interconnection between individual ACS units, including the overall ACS structure of unit 43 of FIG. 1. In FIG. 9, a single eight-state ACS structure is used for both filtered and unfiltered input modes. The ACS structure of FIG. 9 realizes the eight state transition diagram of the filtered mode of FIG. Each ACS unit (units 900-935) is associated with a trellis state (000 ... 111). The four state transition diagram of FIG. 4 shows equivalent trellis state transitions for the unfiltered mode. Rearrangement of the states shown in the state transition diagram of FIG. 5 makes the interconnection shown in FIG. 9 more apparent.

도 8은 도 9의 ACS 유닛(유닛 900-935) 각각을 나타내는 개별적인 ACS 유닛의 구조를 도시한다. 도 9의 ACS 구조는 유닛(30)(도 1)으로부터의 개별적인 인터리브된 데이터 심벌에 대한 분기 미터 데이터를 순차적으로 처리한다. 도 8의 가산기(805 및 810)는, 다른 ACS 유닛으로부터 획득된 분기 미터 데이터1 및 분기 미터 데이터2와, BMU 유닛(30)(도 1)으로부터의 인터리브된-데이터 심벌에 대한 분기미터 데이터1 및 분기 미터 데이터2를 합산한다. 유닛(805 및 810)으로부터의 결과적인 2개의 합은 유닛(815)에 의해 비교된다. 두 개의 합중 어떤것이 더 작은지를 나타내는 단일 결정 비트 출력이 유닛(815)에 의해 레지스터(800) 및 다중화기(820)에 출력된다. 다중화기(820)는 유닛(805 및 810)의 출력으로부터 더 작은 합을 선택한다. 이 선택된 합은 레지스터(825)의 출력에 출력 경로 미터 데이터로 나타난다.FIG. 8 shows the structure of an individual ACS unit representing each of the ACS units (units 900-935) of FIG. 9. The ACS structure of FIG. 9 sequentially processes branch meter data for individual interleaved data symbols from unit 30 (FIG. 1). Adders 805 and 810 of FIG. 8 show branch meter data 1 and branch meter data 2 obtained from other ACS units, and branch meter data 1 for interleaved-data symbols from BMU unit 30 (FIG. 1). And the branch meter data 2 are added up. The resulting two sums from units 805 and 810 are compared by unit 815. A single decision bit output indicating which of the two sums is smaller is output by the unit 815 to the register 800 and the multiplexer 820. Multiplexer 820 selects a smaller sum from the output of units 805 and 810. This selected sum appears as output path meter data at the output of register 825.

레지스터(800)는 12개의 직렬 접속된 개별적인 1비트 레지스터들을 포함하며, 이들 1비트 레지스터들을해 유닛(815)으로부터의 결정 비트 출력이 순환적으로 시프트된다. 출력(30)(도 1)에 ACSI 출력으로 제공된 결정 비트 출력에는 레지스터(800)에 의한 12 순환 지연이 선행된다. 역추적 제어 유닛(47)(도 1)에 제공된 결정 비트 출력에는 레지스터(800)에 의한 단일 순환 지연이 선행된다. 이런식으로 12개의 인터리브된 심벌 각각에 관련된 각각의 단일 결정 비트 출력은 레지스터(800)로부터 순차적으로 출력된다. 마찬가지로, 레지스터(825)는 직렬 접속된 개별적인 레지스터를 포함하며, 이 개별적인 레지스터를 통해, 유닛(820)으로부터의 출력 경로 미터 데이터가 순환적으로 시프트된다. 유닛(825)내의 직렬 접속된 레지스터의 비트폭은 ACS 유닛 처리 해상도 필요조건에 따라 선택된다.Register 800 includes twelve serially connected individual 1-bit registers through which the decision bit output from unit 815 is cyclically shifted. The decision bit output provided to the output 30 (FIG. 1) as an ACSI output is preceded by a 12 circular delay by the register 800. The decision bit output provided to the backtracking control unit 47 (FIG. 1) is preceded by a single cyclic delay by the register 800. In this way, each single decision bit output associated with each of the twelve interleaved symbols is sequentially output from register 800. Similarly, register 825 includes individual registers connected in series, through which the output path meter data from unit 820 is cyclically shifted. The bit width of the serially connected register in unit 825 is selected according to the ACS unit processing resolution requirement.

레지스터(825)로부터의 출력 경로 미터 데이터는 도 9의 상호접속도에 따라 /2개의 다른 ACS 유닛에 제공된가. 예컨대, 도 9의 ACS 유닛(900)으로부터의 출력 경로 미터 데이터는 ACS 유닛(910 및 915)의 입력 경로 미터 데이터1, 즉, V2 입력에 제공된다. 마찬가지로, 도 8의 가산기(805 및 810)에 제공된 입력 경로 미터 데이터1 및 입력 경로 미터 데이터2는 도 9의 상호접속도에 따라 2개의 다른 ACS 유닛에 의해 제공된다. 예컨대, ACS 유닛(900)의 입력 경로 미터 데이터1, 즉, V2 입력은 ACS 유닛(905)에 의해 제공되고, ACS 유닛(900)의 입력 경로 미터 데이터2, 즉, V3 입력은 ACS 유닛(925)에 의해 제공된다. 유닛(30)(도 1)으로부터의 가산-비교-선택 동작 시퀀스의 결과를 비터값으로 나타내는 결정 비트의 시퀀스는 도 8의 레지스터(800)로부터, 단일 순환 지연이 선행되는 역추적 제어 유닛(47) 및 12 순환 지연이 선행되는 유닛(30)(도 1)에 출력된다. 유닛(43)의 8개의 ACS 유닛 각각은 유닛(47 및 30)에 결정 비트의 시퀀스를 제공한다. 8개의 결정 비트는, 유닛(10)에 의해 제공된 인터리브된 심벌 패킷 각각에 대해 유닛(43)으로부터 유닛(47 및 30)에 병렬로 순환적으로 출력된다. BMC 유닛(30) 및 ACS 유닛(43)(도 1)은 표 2에 제시된 것처럼 상호접속된다. 유닛(30 및 43)은 도 6과 도 9에 각각 도시되어 있다.Is output path meter data from register 825 provided to / 2 other ACS units according to the interconnect diagram of FIG. For example, output path meter data from ACS unit 900 of FIG. 9 is provided to input path meter data 1, ie, V2 input, of ACS units 910 and 915. Similarly, input path meter data 1 and input path meter data 2 provided to adders 805 and 810 of FIG. 8 are provided by two different ACS units in accordance with the interconnect diagram of FIG. 9. For example, the input path meter data 1 of the ACS unit 900, that is, the V2 input is provided by the ACS unit 905, and the input path meter data 2 of the ACS unit 900, that is, the V3 input, is the ACS unit 925. Is provided by The sequence of decision bits representing the result of the add-compare-select operation sequence from the unit 30 (FIG. 1) as a beater value is obtained from the register 800 of FIG. 8, followed by a single cyclic delay. And 12 cycle delays are output to the unit 30 (FIG. 1). Each of the eight ACS units of unit 43 provides a sequence of decision bits to units 47 and 30. The eight decision bits are cyclically output from unit 43 to units 47 and 30 in parallel for each of the interleaved symbol packets provided by unit 10. The BMC unit 30 and the ACS unit 43 (FIG. 1) are interconnected as shown in Table 2. Units 30 and 43 are shown in FIGS. 6 and 9, respectively.

[표 2]TABLE 2

Figure pat00002
Figure pat00002

필터링되지 않은 모드에서, 소정의 수신된 필터링되지 않은 심벌에 대해 4개의 별개의 분기 미터값들의 최대값이 존재한다. 또한, 이 모드에서 BMC 유닛(30)은 16개의 병렬 계산을 수행하여 ACS 유닛(43)에 16개의 분기 미터값을 제공하고, 단일 계산이 4번 복제된다. 따라서, 유닛(43)에 제공된 16개의 값은 4개의 별개의 분기 미터값의 복제를 포함한다. 유닛(43)에 입력되는 분기 미터값의 복제는 ACS 유닛(43)(도 9)의 구조가 도 4의 원하는 4상태 ACS 트렐리스를 에뮬레이트(emulate)할 수 있도록 허용한다. 실제로, 분기 미터값은 시스템 잡음 때문에 완전하게는 아니더라도 거의 BMC 유닛(30)에 의해 복제된다.In the unfiltered mode, there is a maximum of four distinct branch meter values for any received unfiltered symbol. In this mode, the BMC unit 30 also performs 16 parallel calculations to provide 16 branch meter values to the ACS unit 43, and a single calculation is replicated four times. Thus, the sixteen values provided to unit 43 include a replica of four distinct branch meter values. The duplication of the branch meter value input to unit 43 allows the structure of ACS unit 43 (FIG. 9) to emulate the desired four-state ACS trellis of FIG. 4. In practice, branch meter values are duplicated by the BMC unit 30, if not completely, because of system noise.

필터링된 모드에서, BMC 유닛(30)(도 1)은 각 입력 심벌에 대해 15개의 별개의 분기 미터값들의 최대값을 발생시키고, 도 5의 8상태 ACS 트렐리스에 따라 동작한다. 필터링된 모드와 필터링되지 않은 모드 양쪽에서 도 9에 도시된 단일 8상태 ACS 구조를 사용함으로써 모드 사이에서 디코더(24)의 심리스하고 명백한 천이가 용이해진다.In the filtered mode, BMC unit 30 (FIG. 1) generates a maximum of 15 distinct branch meter values for each input symbol and operates according to the 8 state ACS trellis of FIG. By using the single eight-state ACS structure shown in FIG. 9 in both filtered and unfiltered modes, seamless and clear transitions of decoder 24 between modes are facilitated.

또한, ACS 유닛(도 9의 유닛 900-935)중 하나의 레지스터(825)(도 8)로부터의 출력 경로 미터 데이터의 최상위 비트(MSB)는 동기화 모니터(80)(도 1)에 제공된다. 동기화 모니터(80)는 프로그램된 시간 간격으로 발생하는 레지스터(825)로부터의 MSB에서 반전의 수를 카운트하고, 그 카운트를 프로그램된 임계값과 비교한다. 프로그램된 값은 제어 처리기(도시안됨)에 의해 제공될 수도 있고 유닛(80)에 저장될 수도 있다. 카운트가 임계값을 초과하면, 동기 이탈 표시 신호가 발생되어 동기화 제어 유닛(10)(도 1)에 제공된다. 유닛(80)으로부터 동기 이탈 신호를 수신하면, 유닛(10)은 유닛(80)에 리세트 신호를 제공하여 동기화 모니터를 리세트함으로써 또다른 동기 이탈 상태의 검출을 허용한다. 모니터(80)는 대안적으로 다른 파라미터에 응답하도록 조절될 수도 있다.In addition, the most significant bit MSB of the output path meter data from the register 825 (FIG. 8) of one of the ACS units (units 900-935 of FIG. 9) is provided to the synchronization monitor 80 (FIG. 1). Synchronization monitor 80 counts the number of inversions in the MSB from register 825 that occur at programmed time intervals and compares the count with the programmed threshold. The programmed value may be provided by the control processor (not shown) and stored in the unit 80. If the count exceeds the threshold, a deviation signal is generated and provided to the synchronization control unit 10 (Fig. 1). Upon receiving the out of sync signal from unit 80, unit 10 provides a reset signal to unit 80 to reset the sync monitor to allow detection of another out of sync condition. The monitor 80 may alternatively be adjusted to respond to other parameters.

ACS 유닛(43)의 구조는, 인터리브된 데이터 심벌 및 ACS 유닛 트렐리스 상태에 의해 형성된 결정 비트 데이터를 역추적 유닛(47)(도 1)에 제공한다. 역추적 유닛(47)은, 유닛(10)에 의해 제공된 인코딩되고 인터리브된 심벌 각각에 대해 유닛(43)의 대응하는 8개의 ACS 유닛으로부터의 8개의 병렬 결정 비트(B1-B8, 하나의 8비트 워드)를 순환적으로 수신한다. 인터리브된 심벌당 하나의 8비트 워드가 순환적으로 수신된다. 수신된 결정 워드는 유닛(43)의 대응하는 8개의 ACS 유닛으로부터의 8개의 결정 비트 시퀀스를 나타낸다. 유닛(47)은 개별적인 인터리브된 데이터 심벌과 관련된 유닛(43)으로부터의 각 결정 워드를 순차적으로 처리한다. 결정 워드는 유닛(47)에 의해, 송신기에서 디리 인코딩된 인터리브된 심벌 시퀀스를 나타내는 Z1 비트의 가장 있음직한 시퀀스를 산출하는데 사용된다. 각 결정 비트는 2개의 가능한 상태 천이 경로중 어떤 것이 ACS 유닛 상태로 안내하는지를 식별한다.The structure of the ACS unit 43 provides the backtracking unit 47 (FIG. 1) with decision bit data formed by the interleaved data symbols and the ACS unit trellis state. The backtracking unit 47 has eight parallel decision bits (B1-B8, one 8 bit from the corresponding eight ACS units of the unit 43 for each encoded and interleaved symbol provided by the unit 10). Word) recursively. One 8-bit word is received cyclically per interleaved symbol. The received decision word represents eight decision bit sequences from the corresponding eight ACS units of unit 43. Unit 47 sequentially processes each decision word from unit 43 associated with the respective interleaved data symbol. The decision word is used by unit 47 to produce the most likely sequence of Z1 bits representing the interleaved symbol sequence that is de-encoded at the transmitter. Each decision bit identifies which of the two possible state transition paths leads to an ACS unit state.

도 10은 역추적 제어 유닛(47)(도 1)의 구조를 도시한다. 역추적 유닛(47)의 동작은, ACS 유닛(43)에 의해 출력된, 인코딩되고 인터리브된 심벌의 시퀀스와 관련된 결정 워드를 기준으로 설명될 것이다. 도 10의 역추적 유닛의 구조는 도 15에 도시된 트렐리스 디코딩 처리를 실현한다. 도 15에서 시작 단계(440) 다음의 스텝(443)에서, 결정 워드는 ACS 유닛(43)(도 1)으로부터의 8개의 결정 비트 시퀀스의 형태로 순환적으로 입력된다. 입력 결정 워드는 순방향 추적 유닛(도 10)에 제공되고, 단계(445)에서 또한 버퍼 메모리(140)(도 10)에 저장되고 지연된다. 단계(450)에서, 도 10의 역추적 선택 유닛(145)은 유닛(140)에 저장된 결정 비트 시퀀스로부터 8개의 트렐리스 디코딩된 비트 시퀀스를 얻는다. 이 트렐리스 디코딩된 비트 시퀀스는, 인코딩되고 인터리브된 데이터 심벌에 대응하는 가장 있음직한 인코딩된 Z1 비트 시퀀스에 대한 후보이다.FIG. 10 shows the structure of the backtracking control unit 47 (FIG. 1). The operation of the backtracking unit 47 will be described with reference to the decision word associated with the sequence of encoded and interleaved symbols output by the ACS unit 43. The structure of the traceback unit of FIG. 10 realizes the trellis decoding process shown in FIG. In step 443 following the start step 440 in FIG. 15, decision words are recursively input in the form of eight decision bit sequences from the ACS unit 43 (FIG. 1). The input decision word is provided to the forward tracking unit (FIG. 10), and is stored and delayed in the buffer memory 140 (FIG. 10) at step 445 as well. In step 450, the backtrace selection unit 145 of FIG. 10 obtains eight trellis decoded bit sequences from the decision bit sequence stored in unit 140. This trellis decoded bit sequence is a candidate for the most likely encoded Z1 bit sequence corresponding to the encoded and interleaved data symbols.

도 15의 단계(450)에서, 유닛(145)(도 10)은 역추적 과정에서 상태 천이 트렐리스 경로를 결정함으로써 후보 디코딩된 Z1 비트 시퀀스를 얻는다. 이 과정에서, 초기 선행 트렐리스 상태가 8개의 결정 비트 입력 시퀀스중 하나에 대해 식별된다. 이 초기 상태는, 입력 시퀀스의 ACS 유닛(43)(도 1)으로부터의 결정 비트를 선행 천이 경로의 표시자로 사용함으로써 식별된다. 이 초기 선행 상태로부터, 이 선행 상태의 시퀀스가 식별될 때 까지, ACS 유닛(43)으로부터의 결정 비트를 사용하여 트렐리스 상태 천이도를 역방향으로 왕복함으로써 다른 선행 상태가 식별된다. 이 선행 상태의 시퀀스로부터, 트렐리스 디코딩된 비트에 대응하는 시퀀스가 결정된다. 이 단계들은 버퍼(140)(도 10)에 저장된 결정 비트의 나머지 시퀀스 각각에 대해 반복된다. 상기 역추적 처리에 관한 이론은 공지되어 있으며, 다른 역추적 방법과 함께, I.E.E.E. Transaction on Communication에서 출판된 G. Feygin 등에 의한 "Architecture Tradeoffs for Survivor Sequence Memory Management in Viterbi Decoders"(1993년 3월, 제 41권, No.3)에 설명되어 있다.In step 450 of FIG. 15, unit 145 (FIG. 10) obtains the candidate decoded Z1 bit sequence by determining the state transition trellis path in the backtracking process. In this process, an initial preceding trellis state is identified for one of eight decision bit input sequences. This initial state is identified by using the decision bit from the ACS unit 43 (FIG. 1) of the input sequence as an indicator of the preceding transition path. From this initial predecessor state, another preceding state is identified by using a decision bit from ACS unit 43 to reverse the trellis state transition diagram until the sequence of this predecessor state is identified. From the sequence of this preceding state, a sequence corresponding to the trellis decoded bit is determined. These steps are repeated for each of the remaining sequences of decision bits stored in buffer 140 (FIG. 10). Theories regarding such backtracking processes are known and, together with other backtracking methods, are described in I.E.E.E. G. Feygin et al., "Architecture Tradeoffs for Survivor Sequence Memory Management in Viterbi Decoders" (March 1993, Vol. 41, No. 3) published in Transaction on Communication.

설명된 역추적 과정은 소정의 깊이(T), 즉, 역추적 깊이로 수행되어 소정수의 선행 상태들 식별한다. 공지된 이론에 따라, 역추적 간격(T)은 실제로 합쳐진 즉, 수렴된 상태들을 식별하기에 충분한 역추적 간격으로 채택된다(Lee 와 Messerschmidt, 섹션 7.4.3). 수렴된 상태는 임의의 초기 선행 트렐리스 상태로부터 그다음 역추적에 도달되기 쉬운 상태이다. 수렴된 상태는 참된 인코딩된 Z1 데이터가 될 가능성이 가장 큰 데이터 시퀀스를 식별한다. 따라서, 수렴된 상태(merged state)는 후보 시퀀스로부터 출력되어야 할 트렐리스 디코딩된 데이터 시퀀스를 나타낸다. 예시적 실시예에서, 역추적 과정은, 역추적 간격들동안 에포치들(Epochs)로 칭해지는 T/2인 두단계로 수행된다. 그런 에포치들 또는 서브 역추적 간격들의 선택은 임의적이며, 시스템 설계자에 의해 선택될 수 있다.The described backtracking process is performed at a predetermined depth T, i.e., backtracking depth, to identify a predetermined number of preceding states. According to the known theory, the backtracking interval T is actually adopted with a backtracking interval sufficient to identify the merged, ie converged states (Lee and Messerschmidt, section 7.4.3). The converged state is a state that is likely to reach the next traceback from any initial preceding trellis state. The converged state identifies the data sequence that is most likely to be true encoded Z1 data. Thus, the merged state represents a trellis decoded data sequence to be output from the candidate sequence. In an exemplary embodiment, the backtracking process is performed in two steps, T / 2, called epochs during backtracking intervals. The selection of such epochs or subtraceback intervals is arbitrary and may be selected by the system designer.

후보 디코딩된 트렐리스 시퀀스를 식별하기 위해, 역추적은 연속적인, 재배열된 데이터 세그먼트의 나란한 인터리브된 심벌 패킷에 대해 수행된다. 12개의 인터리브된 심벌 패킷중 하나, 예컨대 패킷 7(SP7)에 대한 역추적은, 대응하는 선행 인터리브된 심벌 패킷(여기서는 7번째 패킷(SP7))의 심벌 데이터에 대한 선행 상태를 식별하기 위해 수행된다,To identify the candidate decoded trellis sequence, backtracking is performed on side by side interleaved symbol packets of consecutive, rearranged data segments. Backtracking for one of the 12 interleaved symbol packets, eg, packet 7 (SP7), is performed to identify the preceding state for the symbol data of the corresponding preceding interleaved symbol packet (here, the seventh packet SP7). ,

단일 트렐리스 경로에 대한 역추적은 공지되어 있지만, 개시된 시스템은, 인터리브된 데이터에 대한, 그리고 다수의 후보 결정 비트 시퀀스에 대한 역추적을 포함하도록 역추적 과정을 확장시키는 이점이 있다. 이 확장된 역추적 과정은 도 10의 유닛(145)에 의해 실현되는 도 13의 방법을 사용하여 에포치 단위로 수행된다. 도 13의 시작 단계(640)에 이어지는 단계(645)에서, 역추적 선택 유닛(145)내의 내부 저장 레지스터는 제어 유닛(165)(도 10)으로부터의 제어 신호에 응답하여 에포치 데이터 경계에서 초기화된다. 인터리브된 심벌 패킷, 예컨대 SP1에 대한 결정 워드는 단계(650)에서 버퍼(140)(도 10)로부터 순환적으로 입력된다. 선행 상태는 단계(655)에서, 단계(650)의 결정 워드 입력의 결정 비트, 예컨대 B1을 사용하여 전술된 역추적 과정을 적용함으로써 현재 상태로부터 식별된다. 역추적 과정의 주요 특징은, 연속 데이터 세그먼트의 나란한 인터리브된 패킷의 심벌 데이터에 대해 선행 상태가 식별된다는 것이다. 예컨대, 데이터 세그먼트의 7번째 인터리브된 심벌 패킷(SP7)에 대해, 대응하는 7번째 인터리브된 심벌 패킷 결정 비트가 사용되어 선행 상태를 식별한다. 단계(655)에서, 인터리브된 심벌의 식별된 선행 상태에 대응하는 트렐리스 디코딩된 비트가 유닛(145)(도 10)에 의해 메모리(150)에 저장된다.Although backtracking for a single trellis path is known, the disclosed system has the advantage of extending the backtracking process to include backtracking for interleaved data and for multiple candidate decision bit sequences. This extended backtracking process is performed in units of epochs using the method of FIG. 13 realized by unit 145 of FIG. In a step 645 following the start step 640 of FIG. 13, the internal storage register in the backtracking selection unit 145 is initialized at the epoch data boundary in response to a control signal from the control unit 165 (FIG. 10). do. Decision words for interleaved symbol packets, such as SP1, are cyclically input from buffer 140 (FIG. 10) at step 650. The preceding state is identified at step 655 by applying the aforementioned backtracking process using the decision bit of the decision word input of step 650, eg, B1. The main feature of the backtracking process is that the preceding state is identified for symbol data of side by side interleaved packets of consecutive data segments. For example, for the seventh interleaved symbol packet SP7 of the data segment, the corresponding seventh interleaved symbol packet decision bit is used to identify the preceding state. In step 655, trellis decoded bits corresponding to the identified preceding states of the interleaved symbols are stored in memory 150 by unit 145 (FIG. 10).

단계(660)는 인터리브된 심벌에 대한 8개의 트렐리스 디코딩된 비트가 메모리(150)(도 10)에 저장될 때까지 입력 결정 워드의 나머지 결정 비트(예컨대 B2-B8) 각각에 대해 단계(655)를 반복한다. 단계(665)에서는, 재배열된 데이터 세그먼트의 나머지 12개의 인터리브된 심벌(예컨대 SP2-SP12) 각각에 대해 단계(650-660)가 반복된다. 마찬가지로, 단계(670)에서는 에포치 간격을 포함하는 다수의 재배열된 데이터 세그먼트에 대해 단계(650-665)가 반복된다. 단계(675)에서는 인터리브된 입력 심벌에 대한 최종적인 8개의 후보 트렐리스 디코딩된 비트 시퀀스가 유닛(145)에 의해 메모리(150)로 제공된다. 하나의 에포치 간격에 대한 이런 역추적 처리의 반복은 도 13의 단계(680)에서 끝나고 도 15에 포함된 처리인 단계(450)를 완성한다.Step 660 is performed for each of the remaining decision bits (e.g., B2-B8) of the input decision word until eight trellis decoded bits for the interleaved symbols are stored in memory 150 (FIG. 10). Repeat step 655). In step 665, steps 650-660 are repeated for each of the remaining 12 interleaved symbols (e.g. SP2-SP12) of the rearranged data segments. Likewise, in step 670, steps 650-665 are repeated for a number of rearranged data segments that include epoch intervals. In step 675, the final eight candidate trellis decoded bit sequences for the interleaved input symbols are provided by the unit 145 to the memory 150. The repetition of this traceback process for one epoch interval ends at step 680 of FIG. 13 and completes step 450, which is the process included in FIG.

도 15의 단계(460 및 465)에서, 순방향 추적 유닛(160)(도 10)은 8개의 후보 시퀀스 중에서 인코딩되고 수신기로 송신된 시퀀스에 가장 잘 대응할 것 같은 트렐리스 디코딩된 비트 시퀀스를 식별한다. 단계(470)에서, 지연에 이어지는 최종 식별된 트렐리스 디코딩된 시퀀스가 추적 유닛(160)으로부터의 선택 신호에 응답하여 메모리(150)에 의해 다중화기(155)를 통해 트렐리스 디매퍼(demapper)(60) 및 재인코더(50)(도 1)에 제공된다.In steps 460 and 465 of FIG. 15, forward tracking unit 160 (FIG. 10) identifies a trellis decoded bit sequence that is most likely to correspond to the sequence encoded among the eight candidate sequences and transmitted to the receiver. . In step 470, the last identified trellis decoded sequence following the delay is passed through the multiplexer 155 by the memory 150 in response to the selection signal from the tracking unit 160 through the trellis demapper ( demapper 60 and re-encoder 50 (FIG. 1).

도 15의 단계(460 및 465)에서, 추적 유닛(160)은 송신된 인터리브된 심벌 패킷 시퀀스에 가장 잘 대응할 것 같은 트렐리스 디코딩된 비트 시퀀스와 수렴 상태를 식별한다, 추적 유닛(160)은 도 14에 도시된 역추적 처리를 사용하여 에포치 단위로 에포치에서의 트렐리스 디코딩된 비트 시퀀스를 식별한다. 순방향 추적 기술은 데이터 디코딩 지연(대기시간)을 감소시키는 비용 효율적인 방법이다.In steps 460 and 465 of FIG. 15, the tracking unit 160 identifies the trellis decoded bit sequence and convergence state that is most likely to correspond to the transmitted interleaved symbol packet sequence. The traceback process shown in FIG. 14 is used to identify the trellis decoded bit sequence in the epoch on a per-epoch basis. Forward tracking techniques are a cost effective way to reduce data decoding delay (latency).

도 15의 스텝(460)에서는, 8개의 데이터 시퀀스 각각에 대해, 입력 데이터의 에포치 간격동안 도 14의 순방향 추적 처리가 수행되어 2개의 포인터, 즉, 포인터1 및 포인터2를 갱신한다. 이들 포인터는 트렐리스 디코딩된 비트 시퀀스를 식별하는데 사용된다.In step 460 of Fig. 15, for each of the eight data sequences, the forward tracking process of Fig. 14 is performed during the epoch interval of the input data to update two pointers, namely pointer 1 and pointer 2. These pointers are used to identify trellis decoded bit sequences.

도 14에서 시작 단계(840)에 이어지는 단계(843)에서는, 8개의 포인터2 표시자가 대응하는 포인터1 표시자값으로 갱신된다. 이들 포인터는 유닛(160)내에 저장된다. 스텝(845)에서, 유닛(160)내의 내부 저장 레지스터가 제어 유닛(165)(도 10)으로부터의 제어 신호에 응답하여 에포치 데이터 경계에서 초기화된다. 제어 유닛(165)은 유닛(10)(도 1)으로부터의 R/E 입력 신호에 응답하여 제어 신호를 제공함으로써 에포치 경계에서 추적을 시작하도록 추적 유닛(145 및 160)을 동기화한다. 인터리브된 심벌 패킷, 예컨대 SP1에 대한 지연되지 않은 결정 워드는 단계(850)에서 ACS유닛(43)(도 1)으로부터 순환적으로 입력된다.In step 843 following the starting step 840 in FIG. 14, eight pointer2 indicators are updated with corresponding pointer1 indicator values. These pointers are stored in unit 160. In step 845, an internal storage register in unit 160 is initialized at the epoch data boundary in response to a control signal from control unit 165 (FIG. 10). Control unit 165 synchronizes tracking units 145 and 160 to begin tracking at the epoch boundary by providing a control signal in response to the R / E input signal from unit 10 (FIG. 1). Non-delayed decision words for interleaved symbol packets, such as SP1, are cyclically input from ACS unit 43 (FIG. 1) at step 850.

단계(855)에서는 입력 결정 워드의 8개의 데이터 시퀀스와 관련된 8개의 별개의 포인터1 표시자중 하나를 갱신하는데에 3단계의 과정이 이용된다. 지연되지 않은 입력의 결정 비트, 예컨대 B1이 사용되어 전술된 역추적 과정을 적용함으로써 현재의 상태로부터 선행 상태를 식별한다. 선행 상태는 유닛(145)의 역추적 과정에 대해 설명된 선행 데이터 세그먼트의 나란한 인터리브된 심벌 패킷(에컨대 SP1)의 심벌 패킷 데이터에 대해 식별된다. 식별된 선행 상태는 입력 결정 워드의 8개의 데이터 시퀀스와 관련된 8개의 별개의 포인터1 표시자중 하나를 선택하는데 사용된다. 인터리브된 심벌(예컨대 SP1)의 선택된 포인터1에 의해 지시된 상태는 임의의 선행 포인터1의 내용에 중첩되는 결정 비트 시퀀스(예컨대 B1에 대한 시퀀스)와 관련된 포인터1 표시자에 저장된다.In step 855, a three step process is used to update one of the eight distinct Pointer1 indicators associated with the eight data sequences of the input decision word. Decision bits of the undelayed input, for example B1, are used to identify the preceding state from the current state by applying the aforementioned backtracking process. The preceding state is identified for symbol packet data of side by side interleaved symbol packets (eg SP1) of the preceding data segment described for the backtracking process of unit 145. The identified preceding state is used to select one of eight distinct Pointer1 indicators associated with the eight data sequences of the input decision word. The state indicated by the selected pointer 1 of the interleaved symbol (eg SP1) is stored in the pointer 1 indicator associated with the sequence of decision bits (eg, the sequence for B1) that overlaps the contents of any preceding pointer 1.

스텝(860)은 인터리브된 심벌(SP1)에 대해 8개의 데이터 시퀀스 각각이 유닛(160)에 저장될 때까지 입력 결정 워드의 나머지 결정 비트(본 예에서 비트 B2-B8) 각각에 대해 단계(855)를 반복한다. 단계(865)에서는, 12개의 심벌 재배열된 데이터 세그먼트의 나머지 인터리브된 심벌(본 예에서 심벌 SP2-SP12)에 대해 스텝(850-860)이 반복된다. 마찬가지로, 단계(870)는 에포치 간격(T/2)을 포함하는 다수의 재배열 데이터 세그먼트가 처리될 때까지 단계(850-865)를 반복한다. 이런 순방향 추적 과정의 반복은 도 14의 단계(880)에서 끝나고, 도 15에 포함된 처리인 단계(460)를 완성한다.Step 860 is followed by step 855 for each of the remaining decision bits (bits B2-B8 in this example) of the input decision word until each of the eight data sequences for the interleaved symbol SP1 is stored in unit 160. Repeat). In step 865, steps 850-860 are repeated for the remaining interleaved symbols (symbols SP2-SP12 in this example) of the twelve symbol rearranged data segments. Likewise, step 870 repeats steps 850-865 until a number of rearranged data segments including epoch intervals T / 2 have been processed. This iteration of the forward tracking process ends at step 880 of FIG. 14 and completes step 460, which is the process included in FIG.

도 15의 단계(465)에서, 갱신된 포인터, 즉 포인터1 및 포인터2는 수렴된 상태를 식별하는데 사용된다. 정상 동작에서 역추적 간격 T에 이어지는 특정 데이터 시퀀스에 대한 포인터1 및 포인터2는 한 에포치전에 발생하는 선행 상태를 나타낸다. 포인터1은 현재의 에포치 포인터이고 포인터2는 직전의 에포치 포인터이다. 포인터1 및 포인터2는 함께 수렴된 선행 상태에 대한 하나의 역추적 간격 T를 나타낸다. 에러가 없을 경우, 8개의 데이터 시퀀스 모두에 대한 포인터1 및 포인터2는 동일한 수렴상태를 나타내고, 따라서 메모리(150)로부터 방출되는 동일한 데이터 시퀀스를 식별한다. 8개의 데이터 시퀀스에 대한 포인터1 표시자중 하나가 선택되어 8개의 포인터2 표시자중 하나를 식별하는데 사용된다. 다음에, 이 식별된 포인터2 표시자는 수렴 상태를 식별하는데 사용된다. 따라서, 8개의 포인터1 표시자중 하나는, 8개의 포인터2 표시자중 하나와 함께 식별에 사용된다. 그러나, 포인터들은 평균화되거나 다수의 다른 기준으로 선택되어 수렴된 상태 선택에 있어서 신뢰성을 개선시킬 수도 있다.In step 465 of Fig. 15, the updated pointers, pointer1 and pointer2, are used to identify the converged state. In normal operation, pointers 1 and 2 for a particular data sequence following the backtracking interval T represent a preceding state that occurs before one epoch. Pointer 1 is the current epoch pointer and pointer 2 is the previous epoch pointer. Pointers 1 and 2 represent one traceback interval T for the preceding state converged together. In the absence of an error, pointers 1 and 2 for all eight data sequences represent the same convergence state, thus identifying the same data sequence emitted from memory 150. One of the pointer1 indicators for the eight data sequences is selected and used to identify one of the eight pointer2 indicators. This identified pointer 2 indicator is then used to identify the convergence state. Thus, one of the eight pointer 1 indicators is used for identification together with one of the eight pointer 2 indicators. However, pointers may be averaged or selected on a number of different criteria to improve reliability in converged state selection.

단계(465)에서 결정된 수렴된 상태는 단계(470)에서 8개의 후보 트렐리스 디코딩된 비트 시퀀스중 어떤 시퀀스가 메모리(150)로부터 다중화기(155)(도 10)를 통해 방출되어야 하는지를 나타내는데 사용된다. 선택된 디코딩된 데이터 시퀀스는 송신된 인코딩되고 인터리브된 심벌 시퀀스와 가장 잘 대응할 것 같은 데이터이다.The converged state determined in step 465 is used to indicate which of the eight candidate trellis decoded bit sequences in step 470 should be emitted from the memory 150 through the multiplexer 155 (FIG. 10). do. The selected decoded data sequence is the data that is most likely to correspond to the transmitted encoded interleaved symbol sequence.

지연에 이어지는 최종 식별된 트렐리스 디코딩된 시퀀스는 추적 유닛(160)으로부터의 선택 신호에 응답하여 메모리(150)에 의해 다중화기(155)(도 10)를 통해 트렐리스 디매퍼(60) 및 재인코더(50)로 방출된다. 다중화기(155)로부터 트렐리스 디매퍼(60) 및 재인코더(50)(도 1)로 출력된 방출된 트렐리스 디코딩된 시퀀스는 도 2의 인코더에 의해 인코딩된 인터리브된 심벌의 X1 비트의 원래의 시퀀스를 재생한다. X1 비트 시퀀스는 도 2에 도시된 Z1 비트 시퀀스와 동일하다. 도 15의 과정의 단계들은 입력 결정 데이터를 사용할 수 있는 한 반복된다. 입력 결정 데이터를 사용할 수 없을 경우 과정은 단계(480)에서 종료된다.The final identified trellis decoded sequence following the delay is trellis demapper 60 via the multiplexer 155 (FIG. 10) by the memory 150 in response to the selection signal from the tracking unit 160. And to the re-encoder 50. The emitted trellis decoded sequence output from multiplexer 155 to trellis demapper 60 and re-encoder 50 (FIG. 1) is the X1 bit of the interleaved symbol encoded by the encoder of FIG. Play the original sequence. The X1 bit sequence is the same as the Z1 bit sequence shown in FIG. The steps of the process of Figure 15 are repeated as long as the input decision data is available. If no input decision data is available, the process ends at step 480.

유닛(50)(도 1)은 유닛(47)(및 도 10의 다중화기(155))으로부터의 비트의 인터리브된 Z1 시퀀스를 순차적으로 재인코딩하여 디매퍼(60)에 재인코딩된 Z0 비트 시퀀스를 제공한다. Z1으로부터 Z0를 산출하는데 사용된 재인코딩 기능은 도 2에 도시된 송신전에 인코더에서 수행된 등가의 기능을 모방한다. 또한, 유닛(10)으로부터의 재배열되고 인터리브된 심벌 데이터는, 유닛(70)에 의해 지연되고 유닛(47)의 출력에 동기화되어, 트렐리스 디매퍼(60)에 제공된다.Unit 50 (FIG. 1) sequentially encodes the interleaved Zl sequence of bits from unit 47 (and multiplexer 155 of FIG. 10) and re-encodes Z0 bit sequence to demapper 60. To provide. The re-encoding function used to calculate Z0 from Z1 mimics the equivalent function performed at the encoder prior to transmission shown in FIG. In addition, the rearranged interleaved symbol data from unit 10 is delayed by unit 70 and synchronized to the output of unit 47 and provided to trellis demapper 60.

도 11은 트렐리스 디매퍼(60)(도 1)의 구조를 도시한다. 트렐리스 디매퍼(60)는 유닛(47,50,70)(도 1)으로부터의 동기화되고 인터리브된 데이터 시퀀스를 순차적으로 처리한다. CONF 신호에 의해 선택된 필터링되지 않은 데이터 모드에서, 유닛(70)으로부터의 제 1 인터리브된 심벌의 지연된 입력 심벌 데이터는 변경되지 않은채 도 11의 디매퍼의 가산기(950)를 통과한다. 이 모드에서 다중화기(955)는 0의 값을 출력한다.11 shows the structure of the trellis demapper 60 (FIG. 1). The trellis demapper 60 sequentially processes the synchronized and interleaved data sequences from units 47, 50, 70 (FIG. 1). In the unfiltered data mode selected by the CONF signal, delayed input symbol data of the first interleaved symbol from unit 70 passes through the adder 950 of the demapper of FIG. 11 unchanged. In this mode, the multiplexer 955 outputs a value of zero.

제 1 인터리브된 심벌에 대한 유닛(50 및 70)으로부터의 재인코딩된 입력 데이터(Z1 및 Z0)는 도 2의 심벌 매퍼 테이블(125)에 표시된 것처럼, 전술된 4개의 코세트중 하나만을 규정한다. 예컨대, Z1=1, Z0=0은 코세트점 C(-3,+5)을 규정한다. 도 11의 룩업 테이블 기능(960)은 가산기(950)로부터 출력된 입력 심벌을 입력 Z1 및 Z0에 의해 규정된 코세트의 2개의 콘스텔레이션 점 각각과 비교한다. 수신된 지연된 심벌점에 가장 근접한 콘스틸레이션점이 결정되고, 이 콘스텔레이션점의 Z2값이 제 1 인터리브된 심벌에 대한 디코딩된 Z2 값으로 포스트 코더(post-coder)(977)에 제공된다. 포스트 코더(977)는 가산기(980)와 레지스터(975)를 사용하여 도 2의 프리코더(102)의 역기능을 제공하고, Z2값을 디코딩하여 제 1 인터리브된 심벌에 대한 X2 비트를 제공한다. 디매퍼(60)는 유닛(47 및 50)으로부터의 동기화된 관련 심벌 데이터를 사용하여 유닛(70)으로부터 수신된 각각의 인터리브된 심벌 패킷에 대해 이러한 과정을 반복한다. 이런 식으로, 디코더(24)로 입력된 인터리브된 심벌에 대응하는 유닛(70)(도 1)으로부터의 인터리브된 심벌에 대한 X2 비트의 시퀀스가 가산기(980)로부터 순차적으로 출력된다,Re-encoded input data Z1 and Z0 from units 50 and 70 for the first interleaved symbol define only one of the four corsets described above, as indicated in symbol mapper table 125 of FIG. . For example, Z1 = 1, Z0 = 0 defines the coset point C (-3, +5). The lookup table function 960 of FIG. 11 compares the input symbols output from the adder 950 with each of the two constellation points of the corset defined by inputs Z1 and Z0. The constellation point closest to the received delayed symbol point is determined, and the Z2 value of this constellation point is provided to post-coder 997 as the decoded Z2 value for the first interleaved symbol. Post coder 997 provides an inverse function of precoder 102 of FIG. 2 using adder 980 and register 975, and decodes the Z2 value to provide the X2 bits for the first interleaved symbol. Demapper 60 repeats this process for each interleaved symbol packet received from unit 70 using the synchronized relevant symbol data from units 47 and 50. In this way, a sequence of X2 bits for the interleaved symbols from unit 70 (FIG. 1) corresponding to the interleaved symbols input to decoder 24 are sequentially output from adder 980.

필터링된 데이터 모드에서, 유닛(70)(도 1)으로부터의 첫 번째 인터리브된 심벌에 대한 변형되고 지연된 심벌 패킷 데이터는, 도 11의 가산기(950)에서, 유닛(985)으로부터 다중화기(955 및 970)를 통해 제공된 8개의 콘스텔레이션값중 하나와 합산된다. 유닛(985)으로부터 선택된 콘스텔레이션값은, 가산기(950)에 입력된 심벌 데이터를 유닛(960)에 의해 처리될 수 있는 심벌 데이터로 복원하기 위해 선택된다. 이 동작은 전술된 것처럼, 필터링된 모드에서, 인터리빙 기능과 거부 필터링 기능의 조합이 부분 응답 입력 데이터를 생성하기 때문에 필요하다(HDTV 표준의 섹션 10.2.3.9). 다중화기(970)는 다중화기(955)를 통해, 레지스터(965)에 의해 지연된 Z0 및 Z1 데이터의 상태 및 레지스터(965)에 의해 지연된 기능(960)으로부터 출력된 Z2의 상태에 근거하여 콘스텔레이션점(A-...D+)을 선택한다. 디매퍼(60)의 나머지 필터링된 모드 동작은 필터링되지 않은 모드에 대해 설명한 것과 동일하다.In the filtered data mode, the modified and delayed symbol packet data for the first interleaved symbol from unit 70 (FIG. 1), in adder 950 of FIG. 11, from multiplexer 955 and unit 995 from unit 985. And one of the eight constellation values provided through 970). The constellation value selected from the unit 985 is selected to recover the symbol data input to the adder 950 into symbol data that can be processed by the unit 960. This operation is necessary because, as described above, in the filtered mode, the combination of interleaving and rejection filtering produces partial response input data (section 10.2.3.9 of the HDTV standard). Multiplexer 970, via multiplexer 955, is based on the state of Z0 and Z1 data delayed by register 965 and Z2 output from function 960 delayed by register 965. Select the migration point (A -... D +). The remaining filtered mode operation of the demapper 60 is the same as described for the unfiltered mode.

디매퍼(60)(도 1)는 동기화된 X1 데이터와 함께 복원된 X2 데이터를 어셈블러(90)에 제공한다. 디코더(24)에 입력되는 각각의 인터리브된 데이터 심벌에 대응하는 X1 비트 및 X2 비트는 유닛(60)에 의해 어셈블러(90)로 순차적으로 제공된다. 각각의 X1, X2 비트쌍은 심벌 패킷에 대한 트랠리스 디코딩된 데이터이다. 어셈블러(90)는 연속 데이터 세그먼트의 나란한 인터리브된 패캣에 대한 4개의 X1, X2 비트쌍을 하나의 8비트 바이트로 어셈블링한다. 유닛(90)은 이런식으로 12개의 인터리브된 데이터 패킷 각각에 대해 데이터 바이트를 어셈블링한다. 유닛은 그 바이트들을 12개의 인터리브된 심벌 패킷 스트링 각각에 대해 바이트 단위로 출력한다. 이런식으로, 유닛(90)은 나머지 수신기 요소에 의해 사용되는 세그먼트내 심벌 디인터리브된 출력 데이터를 제공한다.Demapper 60 (FIG. 1) provides assembler 90 with recovered X2 data along with the synchronized X1 data. The X1 and X2 bits corresponding to each interleaved data symbol input to decoder 24 are sequentially provided to assembler 90 by unit 60. Each X1 and X2 bit pair is trellis decoded data for a symbol packet. Assembler 90 assembles four X1, X2 bit pairs for side by side interleaved packets of consecutive data segments into one 8-bit byte. Unit 90 thus assembles a data byte for each of the 12 interleaved data packets. The unit outputs the bytes in bytes for each of the 12 interleaved symbol packet strings. In this way, unit 90 provides the intrasegment symbol deinterleaved output data for use by the remaining receiver elements.

도 12에 부분적으로 도시된 예시적인 HDTV 수신기 시스템에서, 인코딩된 데이터는 처리기 및 복조기(750)에 의해 처리되고 복조된다. 유닛(750)은 입력 채널 튜너, RF 증폭기, IF(중간 주파수) 증폭기 및 믹서단을 포함하여, 변조된 신호를 또다른 처리에 적합한 더 낮은 주파수 대역으로 하향 변조한다. 입력 처리기(750)는 또한 자동 이득 제어 네트워크, 아나로그-디지탈 변환기 및, 타이밍 및 반송파 복원 네트워크를 포함한다. 수신된 신호는 유닛(750)내의 반송파 복원 네트워크에 의해 기저대로 복조된다. 반송파 복원 네트워크는 공지된 것처럼, 등화기, 로테이터, 슬라이서, 위상 에러 검출 네트워크 뿐만 아니라, 등화기와 로테이터 동작을 제어하는 위상 제어기를 포함할 수도 있다.In the example HDTV receiver system partially shown in FIG. 12, the encoded data is processed and demodulated by processor and demodulator 750. Unit 750 includes an input channel tuner, an RF amplifier, an IF (intermediate frequency) amplifier, and a mixer stage to down modulate the modulated signal to a lower frequency band suitable for further processing. Input processor 750 also includes an automatic gain control network, an analog-to-digital converter, and a timing and carrier recovery network. The received signal is demodulated as basis by a carrier recovery network in unit 750. The carrier recovery network may include, as is known, an equalizer, rotator, slicer, phase error detection network, as well as a phase controller that controls the equalizer and rotator operation.

본 발명에 따라, 복조된 데이터와 NTSC 배제 필터(22)에 의해 처리된 복조된 데이터중 하나가 CONF 신호에 응답하여 다중화기에 의해 선택되고, 디코더(24)에 의해 디코딩된다. 디코더(24)에 의해 출력된 트렐리스 디코딩되고 세그먼트내 심벌 디인터리브된 데이터는 유닛(760)에 제공된다. 디코더(24)로부터의 심벌 디인터리브된 데이터는 다른 처리 및 표시를 위한 다른 HDTV 수신기 요소에 통과되기 전에 출력 처리기(760)에 의해 컨벌루션식으로 세그먼트내 디인터리브되고 리드-솔로몬 디코딩된다. 트렐리스 코딩과 관련된 세그먼트내 디인터리브 처리는 세그먼트간 디인터리브 처리와 구별되는 다른 처리이다(HDTV 표준의 섹션 10.2.3.9 및 10 2.3.10). 예컨대 특히 전술된 Lee 와 Messerschmidt의 자료에는 유닛(750 및 760)과 연관되어 논의된 기능들이 설명되어 있다.According to the invention, one of the demodulated data and the demodulated data processed by the NTSC exclusion filter 22 is selected by the multiplexer in response to the CONF signal and decoded by the decoder 24. The trellis decoded and intrasegment symbol deinterleaved data output by decoder 24 is provided to unit 760. The symbol deinterleaved data from decoder 24 is convolutionally deinterleaved and Reed-Solomon decoded by output processor 760 before being passed to another HDTV receiver element for other processing and display. Intrasegment deinterleave processing associated with trellis coding is another process that is distinct from intersegment deinterleaving processing (sections 10.2.3.9 and 10 2.3.10 of the HDTV standard). For example, the above mentioned Lee and Messerschmidt materials describe the functions discussed in connection with units 750 and 760.

도 1 내지 도 15를 참조로 설명된 구조는 배타적인 것이 아니다. 본 발명의 원리에 따라 동일 목적을 달성하는 다른 구조가 유도될 수도 있다. 예컨대, 단일 트렐리스 디코더가 사용되어 입력 데이터의 N 패킷을 디코딩할 수도 있으며, 시스템에 따라서는 하나이상의 트렐리스 디코더(예컨대 N개 미만)가 사용될 수도 있다. 또한, 다른 수의 트렐리스 천이 상태를 갖는 구조가 창출될 수도 있다. 본 발명의 원리는 전술된 8상태 구조에 한정되지 않는다. 또한, 마이크로프로세서의 프로그래밍된 명령의 전부 또는 일부에 의해 다양한 구조의 요소의 기능이 구현될 수 있다.The structure described with reference to FIGS. 1 to 15 is not exclusive. Other structures may be derived which achieve the same object according to the principles of the invention. For example, a single trellis decoder may be used to decode N packets of input data, and one or more trellis decoders (eg, less than N) may be used, depending on the system. Also, structures with other numbers of trellis transition states may be created. The principle of the present invention is not limited to the eight-state structure described above. In addition, the functionality of elements of various structures may be implemented by some or all of the programmed instructions of the microprocessor.

본 발명은 디지탈 신호 처리 분야에 관한 것으로서, 보다 구체적으로는 예컨대 다중 모드 트렐리스 인코딩된 고선명 텔레비젼(HDTV)용 신호들을 디코딩하는데 적합한 비터비 디코더를 제공한다.FIELD OF THE INVENTION The present invention relates to the field of digital signal processing, and more particularly to providing a Viterbi decoder suitable for decoding signals for multi-mode trellis encoded high definition television (HDTV).

도 1은 인터리브된 다중 데이터 스트림들을 디코딩하며 다중 동작 모드들 사이에서 심리스 스위칭(seamless switching)을 제공하기 위한 본 발명에 따른 트렐리스(trellis) 디코더 시스템의 도면,1 is a diagram of a trellis decoder system in accordance with the present invention for decoding interleaved multiple data streams and providing seamless switching between multiple modes of operation;

도 2는 HDTV 표준으로 기술된, 트렐리스 인코더, 프리코더(pre-coder) 및 심벌 매퍼(symbol mapper)의 도면.FIG. 2 is a diagram of a trellis encoder, pre-coder and symbol mapper, described in the HDTV standard. FIG.

도 3은 도 2의 인코더 시스템을 위해 유도된 인코더 상태표.3 is an encoder status table derived for the encoder system of FIG.

도 4는 NTSC 상호 채널 배제 필터(co-channel rejection filter)에 의해 사전 필터링되지 않은 트렐리스 디코딩 데이터를 위해 유도된 4상태 트렐리스의 도면.4 is a diagram of four-state trellis derived for trellis decoded data that has not been pre-filtered by an NTSC co-channel rejection filter.

도 5는 NTSC 배제 필터에 의해 사전 필터링되지 않은 트렐리스 디코딩 데이터를 위해 유도된 8상태 트렐리스의 도면.5 is a diagram of an eight-state trellis derived for trellis decoded data that is not pre-filtered by an NTSC exclusion filter.

도 6은 도 1의 트렐리스 디코더용으로 적합한 분기 미터 계산기(branch metric computer) 구조를 도시하는 블록도.FIG. 6 is a block diagram illustrating a branch metric computer structure suitable for the trellis decoder of FIG.

도 7은 도 6의 분기 미터 계산기 아키텍쳐용으로 적합한 분기 미터 계산 유닛 아키텍쳐를 도시하는 도면.FIG. 7 illustrates a quarter meter calculation unit architecture suitable for the branch meter calculator architecture of FIG.

도 8은 도 9의 ACS 기능 구조용으로 적합한, 본 발명에 따른 개별 가산-비교-선택(Add-Compare-Select: ACS) 유닛의 구조를 도시하는 도면.8 shows the structure of an individual Add-Compare-Select (ACS) unit according to the invention, suitable for the ACS function structure of FIG.

도 9는 도 1의 트렐리스 디코더용으로 적합한, 본 발명에 따른 ACS 기능 아키텍쳐를 도시하는 도면.9 illustrates an ACS functional architecture, in accordance with the present invention, suitable for the trellis decoder of FIG.

도 10은 도 1의 트렐리스 디코더용으로 적합한, 본 발명에 따른 역추적 제어 유닛(traceback control unit) 아키텍쳐를 도시하는 도면.10 shows a traceback control unit architecture according to the invention, suitable for the trellis decoder of FIG.

도 11은 도 1의 트렐리스 디코더용으로 적합한 트렐리스 디매퍼(demapper) 아키텍쳐를 도시하는 도면.FIG. 11 illustrates a trellis demapper architecture suitable for the trellis decoder of FIG.

도 12는 HDTV 수상기 시스템의 환경에서, 필터링된 또는 필터링되지 않은 데이터의 인터리브된 다중 데이터 스트림을 적응적으로 디코딩하는 심리스 스위칭가능 트렐리스 디코더의 도면.12 is a diagram of a seamless switchable trellis decoder that adaptively decodes an interleaved multiple data stream of filtered or unfiltered data in the context of an HDTV receiver system.

도 13은 본 발명에 따라, 인터리브된 데이터의 트렐리스 디코딩에 사용된 트렐리스 역추적 기능을 수행하는 처리의 흐름도.13 is a flowchart of a process for performing a trellis backtracking function used for trellis decoding of interleaved data, in accordance with the present invention;

도 14는 본 발명에 따라, 인터리브된 데이터의 트렐리스 디코딩에 사용된 순방향 추적 처리의 흐름도.14 is a flowchart of a forward tracking process used for trellis decoding of interleaved data, in accordance with the present invention.

도 15는 본 발명에 따라, 도 10의 역추적 제어 기능을 구현하는, 도 13 및 도 14의 처리를 통합하는 트렐리스 디코딩 처리의 도면.FIG. 15 is a diagram of a trellis decoding process incorporating the process of FIGS. 13 and 14 implementing the traceback control function of FIG. 10, in accordance with the present invention;

※ 도면 주요 부분에 대한 부호의 설명 ※      ※ Explanation of code about main part of drawing ※

24 : 트렐리스 디코더 27 : 사전 처리기24: Trellis Decoder 27: Preprocessor

30 : 분기 미터 계산기 40 : 비터비 디코더30: Quarter Meter Calculator 40: Viterbi Decoder

43 : 가산-비교-선택 유닛43: addition-compare-selection unit

Claims (12)

다수의 신호 포맷들 중 하나를 나타내는 트렐리스 인코딩된 비디오 입력 신호(trellis encoded video input signal)를 처리하는 시스템에 있어서,A system for processing trellis encoded video input signals representing one of a number of signal formats, 상기 트렐리스 인코딩된 비디오 신호에 응답하여 분기 미터값들(branch metric values)을 제공하기 위한 수단(30)으로서, 상기 분기 미터값들은 상기 포맷들 중 하나와 관련되는 실질적으로 복제된 값을 포함하는, 상기 분기 미터값을 제공하는 수단(30)과;Means 30 for providing branch metric values in response to the trellis encoded video signal, the branch meter values comprising a substantially duplicated value associated with one of the formats. Means (30) for providing the branch meter value; 상기 복제된 값을 포함하는 상기 분기 미터값에 응답하여 디코딩된 출력을 생성하기 위해 상기 비디오 입력 신호를 디코딩하기 위한 하나의 비터비 더코더(40) 및;One Viterbi decoder (40) for decoding the video input signal to produce a decoded output in response to the branch meter value including the duplicated value; 상기 디코딩된 출력에 응답하는 심벌 처리기(symbol processor: 60)를 특징으로 하는, 시스템.And a symbol processor (60) responsive to the decoded output. 제 1 항에 있어서, 상기 분기 미터값들은 상이한 포맷들에 대해 상이한 개수의 실질적으로 복제된 분기 미터값들을 포함하는 것을 특징으로 하는, 시스템.2. The system of claim 1, wherein the branch meter values comprise different numbers of substantially replicated branch meter values for different formats. 제 1 항에 있어서, 상기 제공 수단은 분기 미터 계산기인 것을 특징으로 하는, 시스템.The system according to claim 1, wherein said providing means is a quarter meter calculator. 제 1 항에 있어서, 상기 트렐리스 인코딩된 비디오 신호는 인터리브된 트렐리스 인코딩된 데이터 패킷들의 군들을 포함하고,2. The apparatus of claim 1, wherein the trellis encoded video signal comprises groups of interleaved trellis encoded data packets, 상기 제공 수단은 대응하는 순차 분기 미터값들을 제공하기 위해 상기 데이터 패킷들을 순차적으로 처리하는 것을 특징으로 하는, 시스템.And said providing means sequentially processes said data packets to provide corresponding sequential branch meter values. 제 4 항에 있어서, 상기 디코딩된 출력을 디인터리브(deinterleave)하기 위한 심벌 패킷 디인터리버를 더 특징으로 하는, 시스템.5. The system of claim 4, further comprising a symbol packet deinterleaver for deinterleaving the decoded output. 제 1 항에 있어서, 상기 디코더는 결정 표시 출력(decision representative output)을 제공하기 위해 상기 분기 미터값들을 비교하기 위한 비교 네트워크를 포함하는 것을 특징으로 하는, 시스템.2. The system of claim 1, wherein the decoder comprises a comparison network for comparing the branch meter values to provide a decision representative output. 제 6 항에 있어서, 상기 디코더는 상기 디코딩된 출력을 제공하기 위해 상기 결정 표시 출력에 응답하는 역추적 네트워크를 더 포함하는 것을 특징으로 하는, 시스템.7. The system of claim 6, wherein the decoder further comprises a backtracking network responsive to the decision indication output to provide the decoded output. 제 1 항에 있어서, 상기 트렐리스 인코딩된 비디오 신호는 트렐리스 인코딩된 데이터 패킷들의 군들을 포함하고;2. The apparatus of claim 1, wherein the trellis encoded video signal comprises groups of trellis encoded data packets; 상기 심벌 처리기는 상기 데이터 패킷들과 관련된 심벌 코드들을 식별하는 것을 특징으로 하는, 시스템.And the symbol processor identifies symbol codes associated with the data packets. 제 1 항에 있어서, 상기 분기 미터값들에 응답하여 트렐리스 상태 천이들과 관련된 결정 데이터를 제공하기 위한 비교 네트워크로서, 상기 결정 데이터는 트렐리스 상태 및 데이터 패킷에 의해 구성되는, 상기 비교 네트워크를 더 포함하고;2. The comparison network of claim 1, wherein the comparison data for providing decision data associated with trellis state transitions in response to the branch meter values, wherein the decision data is organized by trellis state and a data packet. Further comprising a network; 상기 비터비 디코더는 상기 구성된 결정 데이터에 응답하여 상기 디코딩된 출력을 생성하는 것을 특징으로 하는, 시스템.And the Viterbi decoder generates the decoded output in response to the constructed decision data. 제 9 항에 있어서, 상기 결정 데이터는 상기 데이터 패킷에 의해 직렬로 구성되는 것을 특징으로 하는, 시스템.10. The system of claim 9, wherein said decision data is organized in series by said data packet. 제 10 항에 있어서, 상기 결정 데이터는 상기 트렐리스 상태에 의해 병렬로 구성되는 것을 특징으로 하는, 시스템.11. The system of claim 10, wherein said decision data is organized in parallel by said trellis state. 다수의 신호 포맷들 중 하나를 나타내는 트렐리스 인코딩된 비디오 입력 신호를 처리하기 위한 시스템에서 사용하기 위한 방법에 있어서,A method for use in a system for processing trellis encoded video input signals representing one of a plurality of signal formats, the method comprising: 상기 트렐리스 인코딩된 비디오 신호에 응답하여 분기 미터값들을 형성하는 단계(30)로서, 상기 포맷들 중 하나와 관련된 상기 분기 미터값들은 실질적으로 복제된 값을 포함하는, 상기 분기 미터값들 형성 단계(30) 및,Forming branch meter values in response to the trellis encoded video signal, wherein the branch meter values associated with one of the formats comprise a substantially duplicated value. Step 30, and 상기 복제된 값을 포함하는 상기 분기 미터값들에 응답하여 상기 비디오 입력 신호를 비터비 디코딩하는 단계(40)를 특징으로 하는, 방법.And (40) Viterbi decoding the video input signal in response to the branch meter values comprising the duplicated value.
KR1019970012980A 1996-04-09 1997-04-09 Trellis encoded video input processing system and signal processing method in the system KR100495185B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/629,672 US5841819A (en) 1996-04-09 1996-04-09 Viterbi decoder for digital packet signals
US629,672 1996-04-09

Publications (2)

Publication Number Publication Date
KR970073148A KR970073148A (en) 1997-11-07
KR100495185B1 true KR100495185B1 (en) 2005-11-16

Family

ID=24524005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012980A KR100495185B1 (en) 1996-04-09 1997-04-09 Trellis encoded video input processing system and signal processing method in the system

Country Status (4)

Country Link
KR (1) KR100495185B1 (en)
DE (1) DE69722304T2 (en)
HK (1) HK1005397A1 (en)
MY (1) MY112861A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950030653A (en) * 1994-04-12 1995-11-24 이헌조 HDTV's Partial Response Trellis Decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950030653A (en) * 1994-04-12 1995-11-24 이헌조 HDTV's Partial Response Trellis Decoder

Also Published As

Publication number Publication date
HK1005397A1 (en) 1999-01-08
MY112861A (en) 2001-09-29
KR970073148A (en) 1997-11-07
DE69722304T2 (en) 2004-04-29
MX9702556A (en) 1998-03-31
DE69722304D1 (en) 2003-07-03

Similar Documents

Publication Publication Date Title
JP4059950B2 (en) System and method for processing trellis encoded video data
US20100271555A1 (en) Enhanced vsb viterbi decoder
US20040028076A1 (en) Robust data extension for 8vsb signaling
CN100527803C (en) Enhanced VSB viterbi decoder
US7289569B2 (en) HDTV trellis decoder architecture
KR19980075608A (en) A deinterleaving and output processing device in a trellis decoder
KR100495185B1 (en) Trellis encoded video input processing system and signal processing method in the system
KR100461208B1 (en) Video data processing system and signal processing method in the system
KR100498516B1 (en) Trellis encoded video input signal processing system and method
KR100666284B1 (en) Trellis encoded video input signal processing system and method
EP1091579B1 (en) Trellis demapper for Trellis decoder
US7263141B1 (en) Code mapping in a trellis decoder
KR0124596B1 (en) Optical trellis decoder of hdtv
MXPA97002557A (en) Decoder of interactive digital data in paqu
MXPA97002556A (en) Viterbi decoder for digital package signals
Jekal An advanced architecture of a TCM decoder for the ATV standard
MXPA97002559A (en) Detection of sequence of codes in an entrelaz decoder
KR20070004472A (en) Transmitting/receiving system and method of data processing in the transmitting/receiving system

Legal Events

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

Payment date: 20130520

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee