KR100273092B1 - 복호 데이터 재배열 장치 - Google Patents

복호 데이터 재배열 장치 Download PDF

Info

Publication number
KR100273092B1
KR100273092B1 KR1019980011313A KR19980011313A KR100273092B1 KR 100273092 B1 KR100273092 B1 KR 100273092B1 KR 1019980011313 A KR1019980011313 A KR 1019980011313A KR 19980011313 A KR19980011313 A KR 19980011313A KR 100273092 B1 KR100273092 B1 KR 100273092B1
Authority
KR
South Korea
Prior art keywords
control signal
data
delay
lattice
byte
Prior art date
Application number
KR1019980011313A
Other languages
English (en)
Other versions
KR19990076386A (ko
Inventor
이원진
오대일
Original Assignee
김영환
현대전자산업주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김영환, 현대전자산업주식회사 filed Critical 김영환
Priority to KR1019980011313A priority Critical patent/KR100273092B1/ko
Publication of KR19990076386A publication Critical patent/KR19990076386A/ko
Application granted granted Critical
Publication of KR100273092B1 publication Critical patent/KR100273092B1/ko

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

본 발명은 비터비(Viterbi) 복호 알고리즘을 이용한 그랜드 얼라이언스(Grand Alliance: : 이하, "GA"라고 약칭함) 8VSB(Vesigital Side band ;잔류측대역)용 격자복호기(Trellis Decoder)에서 출력되는 복호 데이터를 효율적으로 재배열하도록 한 격자복호기에서 출력되는 복호 데이터 재배열 장치에 관한 것으로서, 이러한 본 발명은 제어신호 발생부에서 송신측의 격자 부호기에 의해 부호화된 데이터를 복호화하는 격자 부호 디인터리버내 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키기 위한 지연 제어신호와 그 지연된 복호 데이터를 재배열하기 위한 다수개의 모드 제어신호를 선택적으로 발생하고, 데이터 지연부에서 발생된 지연 제어신호에 따라 각각의 격자 복호기에서 출력되는 복호 데이터를 시간 지연시키게 된다. 또한 데이터 재배열부에서 선택적으로 발생된 모드 제어신호에 따라 데이터 지연부에서 출력되는 다수개의 복호 데이터를 재배열함으로써, SRAM을 사용하지 않고도 간단한 지연소자로만 복호 데이터를 효율적으로 재배열할 수 있게 된다.

Description

복호 데이터 재배열 장치
본 발명은 HDTV(High Definition TV) 방식 등의 디지털 전송 규격을 수신하는 시스템에 관한 것으로, 특히 비터비(Viterbi) 복호 알고리즘을 이용한 그랜드 얼라이언스(Grand Alliance: : 이하, "GA"라고 약칭함) 8VSB(Vesigital Side band ;잔류측대역)용 격자복호기(Trellis Decoder)에서 출력되는 복호 데이터를 효율적으로 재배열하도록 한 격자복호기에서 출력되는 복호 데이터 재배열 장치에 관한 것이다.
일반적으로 디지털 통신 시스템에서는 잡음, 페이딩 현상 등의 채널장애를 극복하기 위해 오류정정(error control and correction)기술을 이용한다.
이러한 오류정정 기술에는 전송측에서의 채널 부호화 기술과 수신측에서의 채널 복호화 기술이 있으며, 상기 부호화 기술에는 부호화율(Code Rate) R=1/2, 구속장(Constraint Length) K=3, 생성다항식(Generating Polynomial)이 G1=1+X+X2, G2=1+X2인 길쌈부호기(Convolution Encoder)를, 복호화 기술에는 비터비 복호기(Viteri Decoder)를 사용한다.
상기 부호화 기술로 주로 사용되는 길쌈부호기는 첨부된 도면 도1에 도시된 바와 같이, 2비트 쉬프트 레지스터(11)와 모듈로(modulo)-2 덧셈을 실행하는 2개의 덧셈기(12,12')로 구성되어, 2비트 쉬프트 레지스터(11)의 내용인 상태(State)와 입력(13)에 의해 복호기의 출력 G1, G2가 결정되며, 시간에 따른 출력상태는 도2의 격자도(Trellis Diagram)와 같다.
상기 도2의 격자도에서의 각 점은 쉬프트 레지스터(11)가 가질수 있는 각 상태를 나타내며, 실선의 가지(Branch)는 입력이 '0'일 때의 천이(Transition)를, 점선의 가지는 입력이 '1'일 때의 천이를 나타내고, 각 가지에 표시된 숫자는 그 가지의 천이가 일어났을 때 출력되는 G1, G2의 값을 나타낸다.
이때, 각 상태에 2개의 경로(Path)가 합쳐지게 됨에 따라, 수신측의 비터비 복호기에서는 최우복호법(Maximum Likelihood Decoding)이란 비터비 복호 알고리즘에 의해 상기 2개의 경로중 가능성이 있는 경로만 선택하고 가능성이 없는 경로는 버리게 된다. 상기 선택되어진 경로는 생존자 경로(Survivor Path)라 하여 각 상태에서 정해진 결정깊이( Decision Depth 또는 Truncation Depth)만큼의 생존자 경로(예를들면, 도2의 굵은 실선은 시간 단위 10에서의 상태1(01)의 생존자 경로임)에 대한 정보를 유지하게 된다.
따라서, 비터비 알고리즘에 의한 복호는 각 상태가 유지하고 있는 생존자 경로중 가장 가능성이 있는 생존자 경로를 선택하여 역추적(Traceback)함으로써 이루어진다.
상기 비터비 알고리즘에 근거한 격자복호기는 도3에 도시된 바와 같이, 수신된 입력부호(21)와 격자도의 각 가지의 참고값(Reference Value)의 유사성(Branch Metric)을 계산하는 가지 매트릭(Branch Mertic)연산장치(22)와, 각 상태에서의 생존자 경로를 선택하고 생존자 경로의 상태값(State Metric)을 연산하는 ACS(Add-Compare-Select) 연산장치(23)와, ACS연산 결과로부터 최대 유사값을 감산하는 정규화 연산장치(24)와, 상태값을 저장하는 상태값 저장장치(State Metric Memory)(25)와, 각 상태의 생존자 경로중 가장 가능성 있는 생존자 경로를 검출하는 최대 유사값 검출장치(Maximum Likelihood Value Detection)(26)와, 각 상태의 생존자 경로에 대한 정보를 저장하는 경로 저장장치(Path Memory)(27) 및 상기 최대 유사값 검출장치(26)에서 각각 출력되는 값으로 역추적을 실행하는 역추적장치(Trace back Unit)(28)로 구성된다.
그리고, 상기 역추적장치(28)는 도면에는 도시하지 않았지만, 결정깊이 만큼의 생존자 경로를 저장하는 기억장치인 경로 저장장치, 다중화기 및 레지스터로 구성되며, 상기 레지스터의 크기는 K(구속장)-1과 일치하고 경로 저장장치의 크기는 M(=2K-1)*L(결정깊이)이며, M:1 다중화기가 필요하다.
이와 같은 구성으로 이루어진 격자복호기의 역추적장치에 의한 역추적은 기저장된 각 시간 단위에서의 생존자 경로 정보를 이용하여 실행하게 된다.
즉, 시간 단위 j에서의 상태 mj=ajbj의 생존자 정보가 smj일 때, 생존자 경로상에 존재하는 전상태인 시간 단위 j-1에서의 상태 mj-1=aj-1bj-1는 mj-1=bjsmj된다. 이때, 길쌈 부호기의 구조로부터 bj=aj-1,smj=bj-1임을 알 수 있으므로 복호는 매 시간 단위에서 최소값을 갖는 상태를 검출하여, 이 최소 상태값을 갖는 상태로부터 경로 저장장치에 저장되어 있는 생존자 경로 정보를 이용하여 전상태를 결정하도록 하고, 이러한 과정을 결정깊이(Decision Depth;이하, 'L'이라 약칭함)만큼 반복하여 실행하게 된다.
한편, ATSC 8VSB 모드에서는 NTSC 동일 채널 간섭(Co-Channel Interference)에 대비하여 송신기측에서 12 심볼 세그먼트내 인터리빙(12-symbol intra-segment interleaving)을 채용하고 있다.
첨부한 도면 도4는 상기 ATSC 8VSB 모드에서 사용하는 격자 부호 인터리버(Trellis Code Interleaver)의 구조이며, 하기한 <표1>은 격자 부호 인터리버의 출력을 보여준다.
<표1>
segment Block 0 Block 1 ... Block 68
012 D0 D1 D2 ...D11D4 D5 D6 ... D3D8 D9 D10 ... D7 D0 D1 D2 ... D11D4 D5 D6 ... D3D8 D9 D10 ... D7 ......... D0 D1 D2 ... D11D4 D5 D6 ... D3D8 D9 D10 ... D7
도4의 격자 부호 인터리버는, 인터리버 데이터를 입력받는 입력단(31)과, 격자 부호화된 데이터 및 전치 코딩된 데이터를 알맞게 배열하여 출력하기 위한 출력단(33)과, 상기 입력단(31)과 출력단(33) 사이에 구비되며 동일한 구조를 갖는 12개의 격자 부호화기 및 전치 코더로 이루어진 격자 부호기(32)로 구성된다.
상기에서, 12개의 격자 부호기 및 전치 코더는 각각 제1 내지 제12 격자 부호기 및 전치 코더를 위에서부터 아래 순서대로 32a - 32l이라는 부호로 표기한다.
상기와 같이 구성되는 격자 부호 인터리버는, 길쌈 인터리버(Convolution Interleaver)로부터 출력되는 바이트 단위의 데이터는 12개의 길쌈 부호화기 각각에 의해 바이트 단위로 처리된다. 각 바이트 단위 데이터는 하나의 부호화기를 통하여 4심볼의 부호화된 데이터를 생성한다. 길쌈 부호화기에 입력되는 심볼 데이터는 최상위비트(MSB)로부터 2비트씩 입력된다. 각 바이트 단위의 데이터는 하나의 길쌈 부호화기를 통하여 부호화되므로 12개의 길쌈부호화기를 통하여 부호화되기 위해서는 12배수의 바이트 단위 데이터가 필요하다.
하나의 세그먼트는 828 심볼, 즉 207 바이트의 데이터로 구성되는데, 이는 12의 배수가 아니므로 바이트 데이터를 심볼 데이터로 변환하기 위해서는 4세그먼트(828 = 12*69바이트) 단위의 변환이 이루어진다. 필드내에서의 첫 번째 바이트 데이터의 첫 번째 심볼(7,6)은 제1 격자 부호화기 및 전치 코더(32a)를 통하여 부호화되며, 두 번째 바이트의 첫 번째 심볼(7,6)은 제2 격자 부호화기 및 전치 코더(32b)를 통해 부호화되고, 12번째 바이트의 첫 번째 심볼(7,6)은 제12 격자 부호화기 및 전치 코더(32l)를 통해 부호화된다. 세그먼트내 첫 번째 바이트의 두 번째 심볼(5,4)은 제1 격자 부호화기 및 전치 코더(32a)를 통하여 부호화되고 두 번째 바이트의 두 번째 심볼(5,4)은 제1 격자 부호화기 및 전치 코더(32b)로 입력되는 방식으로 각 바이트 데이터는 심볼 단위로 부호화된다.
세그먼트 동기 신호 구간에는 동기 신호 구간에 해당되는 4개의 부호화기는 심볼 데이터가 입력되지 않아 부호화된 심볼 데이터를 출력하지 않는다. 상기 4개의 심볼 데이터는 12주기동안 지연된 후 각 부호화기에 입력되어 부호화된다. 그러므로 상기 <표1>에 도시된 바와 같이 각 필드의 첫 번째 세그먼트에서는 제1 격자 부호화기 및 전치 코더(32a)로부터 제12 격자 부호화기 및 전치 코더(32l) 까지의 정상적인 순서로 부호화된 심볼 데이터가 출력되나, 두 번째 세그먼트에서는 제4 격자 부호화기 및 전치 코더(32d)로부터 제12 격자 부호화기 및 전치 코더(32l)까지의 심볼 데이터가 먼저 출력된 후, 제1 격자 부호화기 및 전치 코더(32a)로부터 제3 격자 부호화기 및 전치 코더(32c)까지의 부호화된 심볼 데이터가 출력된다. 세 번째 세그먼트에서는 제9 격자 부호화기 및 전치 코더(32i)로부터 제12 격자 부호화기 및 전치 코더(32l)까지, 그리고 나서 제1 격자 부호화기 및 전치 코더(32a)로부터 제8 격자 부호화기 및 전치 코더(32h)까지의 부호화된 심볼 데이터가 출력된다. 이러한 3 세그먼트 패턴이 필드내에 반복되어 데이터 세그먼트 동기 신호가 삽입된 후의 데이터 심볼은 12 심볼의 거리가 떨어지게 된다.
하기한 <표2>는 바이트-심볼 변환 및 격자부호기의 다중화 순서를 나타낸다.
Symbol Segment 0 Segment 1 Segment 2 Segment 3 Segment 4
Trellis Byte Bits Trellis Byte Bits Trellis Byte Bits Trellis Byte Bits Trellis Byte Bits
0 0 0 7,6 4 208 5,4 8 412 3,2 0 616 1,0 4 828 7,6
1 1 1 7,6 5 209 5,4 9 413 3,2 1 617 1,0 5 829 7,6
2 2 2 7,6 6 210 5,4 10 414 3,2 2 618 1,0 6 830 7,6
3 3 3 7,6 7 211 5,4 11 415 3,2 3 619 1,0 ... ... ...
4 4 4 7,6 8 212 5,4 0 416 3,2 4 620 1,0 ... ... ...
5 5 5 7,6 9 213 5,4 1 417 3,2 5 621 1,0 ... ... ...
6 6 6 7,6 10 214 5,4 2 418 3,2 6 622 1,0 ... ... ...
7 7 7 7,6 11 215 5,4 3 419 3,2 7 623 1,0 ... ... ...
8 8 8 7,6 0 204 5,4 4 408 3,2 8 612 1,0 ... ... ...
9 9 9 7,6 1 205 5,4 5 409 3,2 9 613 1,0 ... ... ...
10 10 10 7,6 2 206 5,4 6 410 3,2 10 614 1,0 ... ... ...
11 11 11 7,6 3 207 5,4 7 411 3,2 11 615 1,0 ... ... ...
12 0 0 5,4 4 208 3,2 8 412 1,0 0 624 7,6 ... ... ...
13 1 1 5,4 5 209 3,2 9 413 1,0 1 625 7,6 ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
19 7 7 5,4 11 215 3,2 3 419 1,0 7 631 7,6 ... ... ...
20 8 8 5,4 0 204 3,2 4 408 1,0 8 632 7,6 ... ... ...
21 9 9 5,4 1 205 3,2 5 409 1,0 9 633 7,6 ... ... ...
22 10 10 5,4 2 206 3,2 6 410 1,0 10 634 7,6 ... ... ...
23 11 11 5,4 3 207 3,2 7 411 1,0 11 635 7,6 ... ... ...
24 0 0 3,2 4 208 1,0 8 420 7,6 0 624 5,4 ... ... ...
25 1 1 3,2 5 209 1,0 9 421 7,6 1 625 5,4 ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
31 7 7 3,2 11 215 1,0 3 427 7,6 ... ... ... ... ... ...
32 8 8 3,2 0 204 1,0 4 428 7,6 ... ... ... ... ... ...
33 9 9 3,2 1 205 1,0 5 429 7,6 ... ... ... ... ... ...
34 10 10 3,2 2 206 1,0 6 430 7,6 ... ... ... ... ... ...
35 11 11 3,2 3 207 1,0 7 431 7,6 ... ... ... ... ... ...
36 0 0 1,0 4 216 7,6 8 420 5,4 ... ... ... ... ... ...
37 1 1 1,0 5 217 7,6 9 421 5,4 ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
47 11 11 1,0 3 227 7,6 ... ... ... ... ... ... ... ... ...
48 0 12 7,6 4 216 5,4 ... ... ... ... ... ... ... ... ...
49 1 13 7,6 5 217 5,4 ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Symbol Segment 0 Segment 1 Segment 2 Segment 3 Segment 4
Trellis Byte Bits Trellis Byte Bits Trellis Byte Bits Trellis Byte Bits Trellis Byte Bits
95 11 23 ... ... ... ... ... ... ... ... ... ... ... ... ...
96 0 24 ... ... ... ... ... ... ... ... ... ... ... ... ...
97 1 25 ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
767 11 191 ... ... ... ... ... ... ... ... ... ... ... ... ...
768 0 192 ... ... ... ... ... ... ... ... ... ... ... ... ...
769 1 193 ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
815 11 203 1,0 3 419 7,6 7 623 5,4 11 827 3,2 ... ... ...
816 0 204 7,6 4 408 5,4 8 612 3,2 0 816 1,0 ... ... ...
817 1 205 7,6 5 409 5,4 9 613 3,2 1 817 1,0 ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
827 11 215 7,6 3 419 5,4 7 623 3,2 11 827 1,0 ... ... ...
도5는 격자 부호 디인터리버로서, 양자화되고 위상 정정된 부호화된 데이터를 입력받기 위한 데이터 입력단(41)과, 격자 복호화된 데이터를 출력하기 위한 데이터 출력단(43)과, 상기 데이터 입력단(41)과 상기 데이터 출력단(43) 사이에 구비되며 동일한 구조를 갖는 12개의 격자 복호기(42)로 구성된다.
상기에서, 12개의 격자 복호기(42)는 각각 제1 내지 제12 격자 복호기를 위에서부터 아래 순서대로 42a - 42l이라는 부호로 표기한다
여기서, 각각의 격자 복호기는 도3과 동일한 구조로 이루어지며, 그 기능 및 작용도 동일하다.
또한, 각각의 격자 복호기는 심볼 클록으로 동작하며, 결정 깊이(Decision Depth) L 만큼의 심볼 데이터를 수신한 후 매 4 심볼 클록마다 1바이트의 복호 데이터를 출력한다.
상기와 같은 구성으로 이루어지는 격자 부호 디인터리버의 동작은 다음과 같다.
수신된 필드내의 첫 번째 세그먼트의 심볼 데이터는 제1 격자 복호기(42a)로, 두 번째 심볼 데이터는 제2 격자 복호기(42b)로, 12번째 심볼 데이터는 제12 격자 복호기(42l)로 입력되는 방식으로 입력되어 복호 된다.
즉, (1,13,25,...),(2,14,26,...),...,(12,24,36,...)의 12 그룹으로 나뉘어 처리된다. 세그먼트 동기 신호 구간에서 입력 순서에 해당하는 4개의 격자 복호기에는 데이터가 입력되지 않으므로 격자 복호기의 출력은 정상적인 복호와 관계없는 부적당한 데이터(invalid data)가 출력된다. 여기서 세그먼트 동기 신호 구간에 해당하는 4개의 격자 복호기에는 각각 12 클록뒤의 심볼 데이터가 입력되어 복호된다.
상기한 <표2>에서 0번 세그먼트의 마지막 심볼 데이터는 제12 격자복호기에 입력되어 복호되나, 1번 세그먼트의 첫 번째 심볼 데이터는 제1 격자 복호기가 아닌 제5 격자복호기에 입력되어 복호된다. 즉, 1번 세그먼트내에서 격자복호기 기준으로 복호 순서는 (#4,#5,...,#11,#0,...,#3)이 된다. 이것은 0번 세그먼트의 마지막 심볼 데이터와 1번 세그먼트의 첫 번째 심볼 데이터 사이에는 4심볼 클록 분량의 세그먼트 동기 신호가 삽입되었기 때문이다. 동일한 개념으로 2번 세그먼트에서는 격자복호기 기준으로 (#8,#9,...,#0,...,#7)의 순서로, 3번 세그먼트에서는 다시 (#0,#1,...,#11)의 순서로 복호를 실행한다.
매 세그먼트마다 사용되는 복호기의 순서가 전 세그먼트에 비해 4단위씩 변화하므로 도5와 같은 격자 부호 디인터리버의 출력 바이트 데이터의 순서와 송신기측의 격자 부호 인터리버로 입력되는 바이트 데이터의 순서는 일치하지 않게 된다.
그러므로 격자 부호 디인터리버로부터 출력되는 복호 데이터의 재배열이 필요하다. 이를 해결하기 위해서 종래에는 <표2>에 도시된 바와 같이 바이트-심볼 변환 및 격자 부호기의 다중화는 4 세그먼트 분량의 데이터, 즉 828 바이트 단위로 이루어지므로 2개의 828 바이트 용량의 단일 포트 램(single-port RAM)을 사용하여 복호 데이터를 메모리에 저장하고, 메모리로부터 저장된 데이터를 읽어 낼 때 읽기 주소 생성을 제어하여 복호 데이터의 재배열을 실행하였다.
따라서 종래에는 격자 복호기에서 출력되는 복호된 데이터의 재배열을 위해 828 바이트 용량의 단일 포트 램 2개와, 상기 2개의 단일 포트 램을 제어하기 위한 읽기 주소 생성을 위한 별도의 복잡한 읽기 주소 생성 회로가 필수적으로 부가되어야 하므로 장치의 구성이 복잡함은 물론 칩 크기도 상대적으로 커지는 단점이 있었다.
이에 본 발명은 상기와 같은 종래 기술의 제반 문제점을 해결하기 위해서 제안된 것으로,
본 발명은 비터비(Viterbi) 복호 알고리즘을 이용한 그랜드 얼라이언스(Grand Alliance: : 이하, "GA"라고 약칭함) 8VSB(Vesigital Side band ;잔류측대역)용 격자복호기(Trellis Decoder)에서 출력되는 복호 데이터를 효율적으로 재배열하도록 한 격자복호기에서 출력되는 복호 데이터 재배열 장치를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 의한 기술적인 수단은,
송신측의 격자 부호기에 의해 부호화된 데이터를 복호화하는 격자 부호 디인터리버내 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키는 지연 제어신호와 그 지연된 복호 데이터를 재배열하기 위한 다수개의 모드 제어신호를 선택적으로 발생하는 제어신호 발생수단과;
상기 제어신호 발생수단에서 발생된 지연 제어신호에 따라 상기 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키는 데이터 지연수단과;
상기 제어신호 발생수단에서 선택적으로 발생된 모드 제어신호에 따라 상기 데이터 지연수단에서 출력되는 다수개의 복호 데이터를 재배열하는 데이터 재배열수단으로 이루어짐을 특징으로 한다.
상기에서, 제어신호 발생수단은 바이트 클록 단위로 증가하는 계수기를 이용하여 상기 지연 제어신호와 모드 제어신호를 발생하는 것을 특징으로 한다.
또한, 상기 제어신호 발생수단은 12 바이트 클록마다 한번씩 활성화되도록 하는 지연 제어신호를 발생하는 것을 특징으로 한다.
또한, 상기 제어신호 발생수단은 12 바이트 데이터를 4바이트 단위로 구분하여 각각 0,1,2로 설정하고, 그 설정한 4바이트 데이터의 배열 순서를 서로 다르게 하여 제1 내지 제3 모드 제어신호를 발생하는 것을 특징으로 한다.
또한, 상기 제1 모드 제어신호는 상기 4바이트 데이터의 배열 순서가 0,1,2가 되도록 발생하는 제어 신호임을 특징으로 한다.
또한, 상기 제2 모드 제어신호는 상기 4바이트 데이터의 배열 순서가 1,2,0가 되도록 발생하는 제어 신호임을 특징으로 한다.
또한, 상기 제3 모드 제어신호는 상기 4바이트 데이터의 배열 순서가 2,0,1이 되도록 발생하는 제어 신호임을 특징으로 한다.
또한, 상기 데이터 지연수단은 상기 제어신호 발생수단에서 출력되는 지연 제어신호에 따라 상기 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키는 제1 내지 제12 지연기가 병렬로 구성된 것을 특징으로 한다.
또한, 상기 데이터 재배열수단은 상기 제어신호 발생수단에서 선택적으로 출력되는 제1 내지 제3 모드 제어신호에 따라 상기 데이터 지연수단내의 각각의 지연기에서 각각 출력되는 복호 데이터를 4바이트 단위로 재배열하여 출력하는 데이터 다중화기로 구성된 것을 특징으로 한다.
도1은 일반적인 길쌈부호기의 블록 구성도,
도2는 도1의 길쌈부호기에 따른 격자도,
도3은 일반적인 비터비 복호 알고리즘을 이용한 격자복호기의 블록 구성도,
도4는 종래 다수개의 격자 부호기를 갖는 격자 부호 인터리버의 개략 구성도,
도5는 종래 다수개의 격자 복호기를 갖는 격자 부호 디인터리버의 개략 구성도,
도6은 본 발명에 의한 격자복호기에서 출력되는 복호 데이터 재배열 장치 블록 구성도,
도7은 본 발명에서 복호 데이터 재배열을 위한 계수기와 제어신호와의 관계도.
<도면의 주요 부분에 대한 부호의 설명>
100:제어신호 발생부
200:데이터 지연부
201 - 212:제1 내지 제12 지연기
300:데이터 재배열부
310:데이터 다중화기
이하, 상기와 같은 기술적인 사상에 따른 본 발명의 바람직한 실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
첨부한 도면 도6은 본 발명에 의한 복호 데이터 재배열장치 블록 구성도이다.
이에 도시된 바와 같이, 송신측의 격자 부호기에 의해 부호화된 데이터를 복호화하는 격자 부호 디인터리버내 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키기 위한 지연 제어신호와 그 지연된 복호 데이터를 재배열하기 위한 다수개의 모드 제어신호를 선택적으로 발생하는 제어신호 발생부(100)와; 상기 제어신호 발생부(100)에서 발생된 지연 제어신호에 따라 상기 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키는 데이터 지연부(200)와; 상기 제어신호 발생부(100)에서 선택적으로 발생된 모드 제어신호에 따라 상기 데이터 지연부(200)에서 출력되는 다수개의 복호 데이터를 재배열하는 데이터 재배열부(300)로 구성 된다.
상기에서, 제어신호 발생부(100)는 바이트 클록 단위로 증가하는 계수기를 이용하여 상기 지연 제어신호와 모드 제어신호를 발생하는 것을 특징으로 한다.
또한, 상기 제어신호 발생부(100)는 12 바이트 클록마다 한번씩 활성화되도록 하는 지연 제어신호를 발생하는 것을 특징으로 한다.
또한, 상기 제어신호 발생부(100)는 12 바이트 데이터를 4바이트 단위로 구분하여 각각 0,1,2로 설정하고, 그 설정한 4바이트 데이터의 배열 순서를 서로 다르게 하여 제1 내지 제3 모드 제어신호를 발생하는 것을 특징으로 한다.
또한, 상기 제1 모드 제어신호는 상기 4바이트 데이터의 배열 순서가 0,1,2가 되도록 발생하는 제어 신호임을 특징으로 한다.
또한, 상기 제2 모드 제어신호는 상기 4바이트 데이터의 배열 순서가 1,2,0가 되도록 발생하는 제어 신호임을 특징으로 한다.
또한, 상기 제3 모드 제어신호는 상기 4바이트 데이터의 배열 순서가 2,0,1이 되도록 발생하는 제어 신호임을 특징으로 한다.
또한, 상기 데이터 지연부(200)는 상기 제어신호 발생부(100)에서 출력되는 지연 제어신호에 따라 상기 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키는 제1 내지 제12 지연기(201 - 212)가 병렬로 구성된 것을 특징으로 한다.
또한, 상기 데이터 재배열부(300)는 상기 제어신호 발생부(100)에서 선택적으로 출력되는 제1 내지 제3 모드 제어신호에 따라 상기 데이터 지연부(200)내의 각각의 지연기(201 - 212)에서 각각 출력되는 복호 데이터를 4바이트 단위로 재배열하여 출력하는 데이터 다중화기(310)로 구성된 것을 특징으로 한다.
이와 같이 구성된 본 발명에 의한 복호 데이터 재배열장치는, 제어신호 발생부(100)에서 바이트 클록 단위로 증가하는 계수기(도면에는 도시하지 않았음)를 이용하여 지연 제어신호와 모드 제어신호를 발생한다. 데이터 지연부(200)내의 제1 내지 제12 지연기(201 - 212)는 상기 지연 제어신호에 따라 격자 부호 디인터리버내의 각각의 격자 복호기에서 각각 출력되는 복호 데이터를 지연시키게 된다. 또한, 상기 데이터 재배열부(300)는 상기 제어신호 발생부(100)에서 출력되는 모드 제어신호에 따라 상기 데이터 지연부(200)에서 출력되는 바이트 단위의 다수개의 복호 데이터를 4바이트 단위로 재배열하여 복호 데이터를 출력시키게 된다.
이하에서는 상기 본 발명에 의한 복호 데이터 재배열장치의 작용을 좀 더 구체적으로 살펴본다.
먼저, 도5와 같이 격자 부호 디인터리버를 구성하는 각 격자 복호기에서 역추적 사양을 결정하는 결정 깊이(decision depth)가 L=22일 때, 복호 데이터의 포맷은 하기한 <표3>과 같다.
<표3>
세그먼트 구간_1 구간_2
세그먼트#0 4 16 28 40 52 64 76 88 100 112 124 136 148 160 172 184 196 0
세그먼트#1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205
세그먼트#2 10 22 34 46 58 70 82 94 106 118 130 142 154 166 178 190 202
세그먼트#3 7 19 31 43 55 67 79 91 103 115 127 139 151 163 175 187 199
세그먼트#4 4 16 28 40 52 64 76 88 100 112 124 136 148 160 172 184 196 0
세그먼트#5 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205
일반적으로 1세그먼트 832 심볼은 208 바이트이며, 이는 데이터 세그먼트 동기 신호 1바이트와 데이터 207 바이트로 구성된다. 따라서 송신측에서의 길쌈부호화가 4 세그먼트 데이터 828 바이트 단위로 이루어지므로 복호 데이터 포맷 또한 상기 <표3>에 보여진 대로 4 세그먼트 단위로 반복된다.
상기 <표3>에서 숫자는 세그먼트내의 바이트 단위 위치를 표시하며, 그 위치에서부터 바이트 클록 단위로 12 클록 동안 도5의 12개의 격자 복호기로부터 12 바이트의 복호 데이터가 출력된다. 즉, 0번 세그먼트에서의 복호 데이터는 바이트 위치로 (4,5,6,...,15), (16,17,18,...,27), ..., (196,197,198,...,207)에서 각각 12 바이트의 복호 데이터를 바이트 클록으로 출력한다. 상기 <표3>에서 구간_1은 각 세그먼트에서 복호 데이터 출력 타이밍이 3*L 보다 작은 구간으로 복호 데이터의 재배열을 필요로 하는 구간을 나타낸다. 이것은 앞에서 언급한대로 송신측에서의 세그먼트내 인터리빙에 의한 결과로서, 12 바이트 데이터를 4바이트 단위로 구분하여 각각 0,1,2로 명명할 때 구간_1에서는 (0,1,2), (0,1,2),...의 순서가 아니라 (1,2,0),(1,2,0),...의 순서로 복호되어 송신측의 데이터 순서와 어긋난다. 또한, 구간_2는 각 세그먼트에서 복호 데이터 출력 타이밍이 3*L보다 큰 구간으로 송신측의 데이터 순서와 일치한다.
송신측에서의 격자 부호 인터리빙이 828 단위로 이루어졌으므로, 수신측에서의 격자 복호 디인터리빙 또한 828 바이트 단위로 이루어진다.
한편, 매 세그먼트마다 사용되는 복호기의 순서가 전 세그먼트에 비해 4단위씩 변화하므로 도5와 같은 격자 부호 디인터리버의 출력 바이트 데이터의 순서와 송신기측의 격자 부호 인터리버로 입력되는 바이트 데이터의 순서는 일치하지 않게되므로, 격자 부호 디인터리버로부터 출력되는 복호 데이터의 재배열이 필요하며, 이를 위해서 본 발명에서는 도6과 같이 12개의 지연소자를 이용하여 복호 데이터의 재배열을 실행한다.
즉, 제어신호 발생부(100)에서는 12바이트 클록마다 한번씩 활성화되도록 하는 지연 제어신호를 발생하여 데이터 지연부(200)에 전달해주게 된다. 즉, 도7에 도시된 바와 같이, 내부의 바이트 계수기(도면에는 도시하지 않았음)를 이용하여 (a)처럼 바이트 단위로 계수를 하고, 그 계수치가 12바이트가 되면 (b)처럼 상기 지연 제어신호를 하이신호(High)로 활성화시킨다.
상기 데이터 지연부(200)는 상기 제어신호 발생부(100)에서 발생되는 활성화된 지연 제어신호에 따라 격자 부호 디인터리버내의 각각의 격자복호기(#0 - #11)에서 각각 출력되는 복호 데이터를 동기를 위해 입력되는 바이트 클록에 동기시켜 제1 내지 제12 지연기(201 - 212)로 각각 지연시켜 출력시키게 된다.
여기서 상기 격자 부호 디인터리버내의 제1격자복호기(#0)는 상기 제1지연기(201)와 입출력이 연결되고, 제2격자복호기(#1)는 상기 제2지연기(202)와 입출력이 연결되며, 마찬가지로 제12격자복호기(#11)는 제12지연기(212)와 입출력이 연결되는 방식으로 격자복호기와 지연기가 상호 연결된다.
한편, 상기 제어신호 발생부(100)는 도면에는 도시하지 않았지만 내부의 바이트 계수기(CB)를 이용하여 상기 제1 내지 제12 지연기(201 - 212)에서 각각 출력되는 바이트 단위의 복호 데이터를 재배열토록 하는 모드 제어신호를 발생한다. 즉, 복호 데이터의 포맷은 상기한 <표3>에 도시된 바와 같이, 4세그먼트 단위로 반복되며, 이를 12바이트 단위로 구분하면 18,17,17,17[69(18+17+17+17)*12 = 828)의 세그먼트 모드(S_MODE)의 형태가 된다.
이때, 상기 모드 제어신호는 다음과 같다.
Dec_sel = (CB+ 4*MODE)%12
상기에서 MODE = if(S_MODE'event)then(MODE+1)%3 else MODE
따라서 12바이트 데이터를 4바이트 단위로 구분하여 각각 0,1,2라고 명명할 때, 상기 모드 제어신호는 복호 데이터를 0,1,2의 순서로 배열토록 하는 제1 모드 제어신호(MODE0)와, 복호 데이터를 1,2,0의 순서로 배열토록 하는 제2 모드 제어신호(MODE1)와, 복호 데이터를 2,0,1의 순서로 배열토록 하는 제3 모드 제어신호(MODE2)가 발생된다.
이러한 제1 내지 제3 모드 제어신호(MODE0 - MODE2)는 상기 제어신호 발생부(100)에서 송신측의 격자 부호기에서 부호화된 후 수신측으로 전송할때의 데이터 배열 순서에 의거 선택적으로 세 개의 모드 제어신호중 하나만 선택되어 상기 데이터 재배열부(300)에 전달된다.
상기 데이터 재배열부(300)는 상기 제어신호 발생부(100)에서 선택적으로 발생되는 제1 내지 제3 모드 제어신호(MODE0 - MODE2)에 따라 상기 데이터 지연부(200)내의 제1 내지 제12 지연기(201 - 212)에서 각각 출력되는 바이트 단위의 복호 데이터를 재배열하여 출력하게 된다.
즉, 상기 제1 내지 제12 지연기(201 - 212)에서 각각 출력되는 12바이트 복호 데이터를 격자 복호기 순서대로 4바이트 씩 묶어 하나의 단위 데이터로 설정한다. 예를 들어 격자복호기#0 - 격자복호기#3의 각 출력을 한 단위로 묶어 하나의 단위 데이터로 하고, 이를 상기에서 설명한대로 0이라고 명명한다. 마찬가지로 격자복호기#4 - 격자복호기#7의 각 출력을 한 단위로 묶어 하나의 단위데이터로 하고, 이를 1이라고 명명한다. 또한, 격자복호기#8 - 격자복호기#11의 각 출력을 한 단위로 묶어 하나의 단위 데이터로 하고, 이를 2라고 명명한다.
이렇게 하여 12바이트 데이터를 4바이트 단위의 0,1,2의 데이터로 만들고, 상기 제어신호 발생부(100)에서 발생되는 모드 제어신호에 따라 상기 4바이트 단위의 0,1,2 데이터의 순서를 재배열하여 후단에 전달해주게 되는 것이다.
이상에서 상술한 바와같이 본 발명은, ATSC 8VSB 수신 시스템의 순방향오류정정기(Forward Error Correction Decoder)에서 격자복호기에 의해 복호된 데이터를 단일 포트 램(SRAM)을 사용하지 않고도 간단히 재배열할 수 있어 순방향오류정정기의 칩 크기를 축소시킬 수 있으며, 더불어 순방향오류정정기의 테스트도 용이토록해주는 효과가 있다.
또한, 기존에 SRAM을 사용할 때에는 읽고 쓰기를 위한 어드레스 생성신호를 만들기 위해서 별도로 복잡한 제어신호 생성회로가 반드시 필요하였으나, 본 발명에서는 상기 SRAM을 사용하지 않고 간단한 지연 소자만 사용하여 복호 데이터의 재배열이 가능하므로 상기 어드레스 생성회로를 제거할 수 있어 하드웨어 구현시 칩 면적을 감소시킬 수 있으며, 격자복호기의 오류정정 능력도 최대한으로 향상시킬 수 있는 효과가 있다.

Claims (9)

  1. 격자 복호화된 복호 데이터를 재배열하는 장치에 있어서,
    송신측의 격자 부호기에 의해 부호화된 데이터를 복호화하는 격자 부호 디인터리버내 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키기 위한 지연 제어신호와 그 지연된 복호 데이터를 재배열하기 위한 다수개의 모드 제어신호를 선택적으로 발생하는 제어신호 발생수단과;
    상기 제어신호 발생수단에서 발생된 지연 제어신호에 따라 상기 각각의 격자 복호기에서 출력되는 복호 데이터를 시간 지연시키는 데이터 지연수단과;
    상기 제어신호 발생수단에서 선택적으로 발생된 모드 제어신호에 따라 상기 데이터 지연수단에서 출력되는 다수개의 복호 데이터를 재배열하는 데이터 재배열수단을 포함하여 구성된 것을 특징으로 하는 복호 데이터 재배열 장치.
  2. 제1항에 있어서,
    상기 제어신호 발생수단은 바이트 클록 단위로 증가하는 계수기를 이용하여 상기 지연 제어신호와 모드 제어신호를 발생하는 것을 특징으로 하는 복호 데이터 재배열 장치.
  3. 제1항에 있어서,
    상기 제어신호 발생수단은 12 바이트 클록마다 한번씩 활성화되도록 하는 지연 제어신호 및 모드 제어신호를 발생하는 것을 특징으로 하는 복호 데이터 재배열 장치.
  4. 제1항에 있어서,
    상기 제어신호 발생수단은 12 바이트 데이터를 4바이트 단위로 구분하여 각각 0,1,2로 설정하고, 그 설정한 4바이트 데이터의 배열 순서가 송신측의 데이터 배열순서와 동일하도록 제1 내지 제3 모드 제어신호를 선택적으로 발생하는 것을 특징으로 하는 복호 데이터 재배열 장치.
  5. 제4항에 있어서,
    상기 제1 모드 제어신호는 상기 4바이트 단위 데이터의 배열 순서가 0,1,2가 되도록 발생하는 제어 신호임을 특징으로 하는 복호 데이터 재배열 장치.
  6. 제4항에 있어서,
    상기 제2 모드 제어신호는 상기 4바이트 단위 데이터의 배열 순서가 1,2,0가 되도록 발생하는 제어 신호임을 특징으로 하는 복호 데이터 재배열 장치.
  7. 제4항에 있어서,
    상기 제3 모드 제어신호는 상기 4바이트 단위 데이터의 배열 순서가 2,0,1이 되도록 발생하는 제어 신호임을 특징으로 하는 복호 데이터 재배열 장치.
  8. 제1항에 있어서,
    상기 데이터 지연수단은 상기 제어신호 발생수단에서 출력되는 지연 제어신호에 따라 상기 각각의 격자 복호기에서 출력되는 복호 데이터를 지연시키는 제1 내지 제12 지연기가 병렬로 구성된 것을 특징으로 하는 복호 데이터 재배열 장치.
  9. 제1항에 있어서,
    상기 데이터 재배열수단은 상기 제어신호 발생수단에서 선택적으로 출력되는 제1 내지 제3 모드 제어신호에 따라 상기 데이터 지연수단내의 각각의 지연기에서 각각 출력되는 복호 데이터를 4바이트 단위로 재배열하여 출력하는 데이터 다중화기로 구성된 것을 특징으로 하는 복호 데이터 재배열 장치.
KR1019980011313A 1998-03-31 1998-03-31 복호 데이터 재배열 장치 KR100273092B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980011313A KR100273092B1 (ko) 1998-03-31 1998-03-31 복호 데이터 재배열 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980011313A KR100273092B1 (ko) 1998-03-31 1998-03-31 복호 데이터 재배열 장치

Publications (2)

Publication Number Publication Date
KR19990076386A KR19990076386A (ko) 1999-10-15
KR100273092B1 true KR100273092B1 (ko) 2000-12-01

Family

ID=19535656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980011313A KR100273092B1 (ko) 1998-03-31 1998-03-31 복호 데이터 재배열 장치

Country Status (1)

Country Link
KR (1) KR100273092B1 (ko)

Also Published As

Publication number Publication date
KR19990076386A (ko) 1999-10-15

Similar Documents

Publication Publication Date Title
KR100773448B1 (ko) 로버스트 디지털 통신 시스템
US6088404A (en) Method and apparatus for decoding trellis code data
US6924753B2 (en) Robust system for transmitting and receiving map data
US5898710A (en) Implied interleaving, a family of systematic interleavers and deinterleavers
US5519734A (en) Synchronization arrangement for decoder-de-interleaver
JP2002515210A (ja) 格子符号化インタリーブデータストリーム用デコーダと、このデコーダを含むhdtv受像機
KR100768770B1 (ko) 인핸스드 슬라이스 예측 피드백
KR20020094427A (ko) 디지털 vsb 전송 시스템
KR20040057873A (ko) 패리티 비트를 재순환시키는 연속 코드 디코더 및 그 방법
US7289569B2 (en) HDTV trellis decoder architecture
US6035428A (en) Apparatus for deinterleaving and output-processing decoded data in a trellis decoder
CA2212098C (en) Trellis decoder of a dtv
KR100249046B1 (ko) 격자복호기의 역추적장치
KR100273092B1 (ko) 복호 데이터 재배열 장치
KR100268406B1 (ko) 고화질 tv용 격자복호기의 복호 데이타 재배열 방법
JPH0832632A (ja) 伝送方式及びその装置
KR100258234B1 (ko) 트렐리스 코드 데이터의 생존 경로 저장 장치
KR100210405B1 (ko) 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치
KR100218680B1 (ko) 길쌈부호화 방법
KR19980075613A (ko) 트렐리스 디코더의 경로 메트릭 네트워크 장치
KR19980072599A (ko) 트렐리스 디코더의 세그먼트 동기 신호 제거 필터
KR20000067332A (ko) 격자복호기의 역추적장치

Legal Events

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

Payment date: 20050822

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee