KR20030026761A - Digital vestigial sideband transmit system - Google Patents

Digital vestigial sideband transmit system Download PDF

Info

Publication number
KR20030026761A
KR20030026761A KR1020010060701A KR20010060701A KR20030026761A KR 20030026761 A KR20030026761 A KR 20030026761A KR 1020010060701 A KR1020010060701 A KR 1020010060701A KR 20010060701 A KR20010060701 A KR 20010060701A KR 20030026761 A KR20030026761 A KR 20030026761A
Authority
KR
South Korea
Prior art keywords
parity
byte
bytes
segment
output
Prior art date
Application number
KR1020010060701A
Other languages
Korean (ko)
Other versions
KR100762132B1 (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
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020010060701A priority Critical patent/KR100762132B1/en
Publication of KR20030026761A publication Critical patent/KR20030026761A/en
Application granted granted Critical
Publication of KR100762132B1 publication Critical patent/KR100762132B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Abstract

PURPOSE: A digital VSB transmission system is provided to perform unsystematic Reed-Solomon coding within a limited short period of time while minimizing the hardware size of an unsystematic Reed-Solomon encoder. CONSTITUTION: A digital VSB(Vestigial SideBand) transmission system includes a parity position holder insertion unit(107), a data interleaver(102), a parity replacement unit, and an unsystematic Reed-Solomon encoder(113). The parity position holder insertion unit obtains a plurality of parity position holders when multiplexed data is an overhead data segment, and then inserts null byte into the parity position holders. The data interleaver interleaves the output of the parity position holder insertion unit to output multiple information bytes first and then output multiple parity bytes having the inserted null bytes next for each segment. The parity replacement unit replaces the parity bytes with parity bytes obtained through unsystematic Reed-Solomon coding. The unsystematic Reed-Solomon encoder receives information bytes other than the parity bytes through the parity replacement unit and performs unsystematic Reed-Solomon coding of the input of the data interleaver to calculate parity bytes again and outputs the parity bytes to the parity replacement unit.

Description

디지털 VSB 전송 시스템{Digital vestigial sideband transmit system}Digital vestigial sideband transmit system

본 발명은 기존의 ATSC 8T-VSB 수신 시스템과 호환 가능하면서 별도의 부가 데이터를 전송할 수 있는 VSB 전송 시스템에 관한 것이다.The present invention relates to a VSB transmission system that is compatible with the existing ATSC 8T-VSB reception system and can transmit additional additional data.

최근 북미 및 국내에서 디지털 지상파 방송의 규격으로 채택된 ATSC(Advanced Television Systems Committee) 8T-VSB(8Trellis-Vestigial Sideband) 전송 방식은 MPEG 영상/음향 데이터의 전송을 위해 개발된 시스템이다. 그러나, 요즈음 디지털 신호처리 기술이 급속도로 발전하고, 인터넷이 널리 사용됨에 따라서 디지털 가전과 컴퓨터 및 인터넷 등이 하나의 큰 틀에 통합되어 가는 추세이다. 따라서, 사용자의 다양한 요구를 충족시키기 위해서는 디지털 방송 채널을 통하여 영상/음향 데이터에 더하여 각종 부가 데이터를 전송할 수 있는 시스템의 개발이 필요하다.Recently, the Advanced Television Systems Committee (ATSC) 8Trellis-Vestigial Sideband (ATSC) transmission method, which has been adopted as a standard for digital terrestrial broadcasting in North America and Korea, is a system developed for transmitting MPEG video / audio data. However, with the rapid development of digital signal processing technology and the widespread use of the Internet, digital home appliances, computers, and the Internet are being integrated into one big framework. Accordingly, in order to meet various needs of users, it is necessary to develop a system capable of transmitting various additional data in addition to video / audio data through a digital broadcasting channel.

그런데, 디지털 방송이 시작된 이후로 시장에는 이미 MPEG 영상/음향만 수신하는 ATSC VSB 디지털 방송 수신기가 널리 보급되어 있는 상황이다. 따라서, MPEG 영상/음향과 동일한 채널로 전송되는 부가 데이터가 기존에 시장에 보급된 기존 ATSC VSB 전용 수신기에 아무런 영향도 주지 않아야 한다. 이와 같은 상황을 ATSC VSB 호환으로 정의하며, 부가 데이터 방송 시스템은 ATSC VSB 시스템과 호환 가능한 시스템이어야 할 것이다.However, since the beginning of digital broadcasting, ATSC VSB digital broadcasting receivers that receive only MPEG video / audio have been widely used in the market. Therefore, the additional data transmitted on the same channel as the MPEG video / audio should not have any effect on the existing ATSC VSB dedicated receivers that have been prevalent in the market. This situation is defined as ATSC VSB compatible, and the additional data broadcast system should be compatible with the ATSC VSB system.

따라서, 이러한 기존의 ATSC 8T-VSB 수신 시스템과 호환 가능하면서 별도의 부가 데이터를 전송할 수 있는 VSB 전송 시스템이 많이 제안되고 있으며, 도 1은 그중 하나로서, 본 출원인에 의해 기 출원된 바 있다(출원번호 : P01-32611, 출원일 : 2001.6.11).Therefore, many VSB transmission systems that are compatible with the existing ATSC 8T-VSB reception system and can transmit additional additional data have been proposed, and FIG. 1 is one of them, which has been previously filed by the present applicant (application) No. P01-32611, filing date: June 1, 2001).

도 1에서, 부가 데이터는 리드 솔로몬 부호기(101), 데이터 인터리버(102), 널 시퀀스 삽입부(103), 및 MPEG 헤더 삽입부(104)를 순차적으로 거치면서 20바이트의 체계적 리드 솔로몬 패리티 바이트, 널 시퀀스, PID(Program ID)를 포함하는 MPEG 헤더가 삽입된 부가 데이터 패킷으로 변환된다.In FIG. 1, additional data includes 20 bytes of systematic Reed Solomon parity bytes while sequentially passing through a Reed Solomon encoder 101, a data interleaver 102, a null sequence inserter 103, and an MPEG header inserter 104. An MPEG header including a null sequence and a PID (Program ID) is converted into an inserted additional data packet.

그리고, 상기 먹스(Multiplex)(105)는 상기 부가 데이터 패킷과 MPEG 영상/음향 데이터 패킷을 다중화하여 데이터 랜덤마이저(106)로 출력한다.The multiplex 105 multiplexes the additional data packet and the MPEG video / audio data packet and outputs the multiplexed data packet to the data randomizer 106.

상기 데이터 랜덤마이저(106)는 상기 먹스(105)에서 MPEG 트랜스포트 세그먼트와 다중화된 부가 데이터 세그먼트를 입력받아 랜덤마이즈를 수행한 후 리드-솔로몬 부호기/패리티 위치 홀더(holder) 삽입부(107)로 출력한다.The data randomizer 106 receives the MPEG transport segment and the additional data segment multiplexed from the mux 105 and randomizes the data to the Reed-Solomon encoder / parity position holder inserter 107. Output

상기 리드-솔로몬 부호기/패리티 위치 홀더 삽입부(107)는 랜덤마이즈된 데이터에 대해 체계적 리드 솔로몬 부호화 또는, 패리티 위치 홀더 삽입을 수행한다.The Reed-Solomon encoder / parity position holder inserter 107 performs systematic Reed Solomon coding or parity position holder insertion on randomized data.

즉, 상기 리드-솔로몬 부호기/패리티 위치 홀더 삽입부(107)는 상기 데이터 랜덤마이저(106)에서 출력되는 세그먼트가 MPEG 트랜스포트 세그먼트인 경우에는 기존 ATSC 8T-VSB 시스템의 체계적 리드-솔로몬 부호화를 정상적으로 수행한다. 한편, 부가데이터 세그먼트인 경우에는 20개의 패리티 바이트가 뒷단의 데이터 인터리버(108) 출력단에서 187개의 정보 바이트보다 나중에 출력되도록 패리티 바이트의 위치를 정한 후 정해진 패리티 바이트 위치에는 널 바이트를 쓰고, 나머지 187개의 바이트 위치에는 입력받은 187개의 정보 바이트를 앞에서부터 차례로 쓴다. 이때, 상기 널 바이트는 나중에 비체계적 리드-솔로몬 부호기(113)에서 계산한 패리티 값으로 치환된다.That is, when the segment output from the data randomizer 106 is an MPEG transport segment, the Reed-Solomon encoder / parity position holder inserter 107 normally performs systematic Reed-Solomon encoding of the existing ATSC 8T-VSB system. To perform. On the other hand, in the case of the additional data segment, the parity byte is positioned so that 20 parity bytes are output later than 187 information bytes at the output terminal of the data interleaver 108 at the rear end, and then a null byte is written at the determined parity byte position. In the byte position, 187 information bytes received are written in order from the beginning. In this case, the null byte is later replaced with a parity value calculated by the unstructured Reed-Solomon encoder 113.

상기 리드-솔로몬 부호기/패리티 위치 홀더 삽입부(107)의 출력은 데이터 인터리버(108)에 의해서 순서가 바뀐 후에 패리티 치환부(109)로 입력된다. 즉, 데이터 인터리버(108)에서는 187개의 정보 바이트가 먼저 패리티 치환부(109)로 출력되고 나서, 널 바이트가 삽입된 20개의 패리티 바이트가 상기 패리티 치환부(109)로 출력된다. 상기 패리티 치환부(109)에서는 상기 부가 데이터 세그먼트에 삽입된 패리티 위치 홀더를 비체계적 리드-솔로몬 부호기(113)에서 계산한 패리티 바이트로 치환하여 바이트-심볼 변환부(110)로 출력하고, 그 이외의 바이트는 입력을 그대로 상기 바이트-심볼 변환부(110)로 출력한다. 이때, 상기 패리티 치환부(109)로 입력되는 바이트가 MPEG 트랜스포트 세그먼트의 바이트인 경우에는 상기 패리티 치환부(109)를 바이패스하여 바이트-심볼 변환부(110)로 출력된다.The output of the Reed-Solomon encoder / parity position holder inserter 107 is input to the parity replacer 109 after being reordered by the data interleaver 108. That is, in the data interleaver 108, 187 information bytes are first outputted to the parity replacement unit 109, and then 20 parity bytes having null bytes inserted are output to the parity replacement unit 109. The parity replacement unit 109 replaces the parity position holder inserted into the additional data segment with a parity byte calculated by the unstructured Reed-Solomon encoder 113 and outputs the result to the byte-symbol converter 110. The byte of outputs the input to the byte-symbol converter 110 as it is. In this case, when the byte input to the parity replacement unit 109 is a byte of the MPEG transport segment, the parity replacement unit 109 is bypassed and output to the byte-symbol converter 110.

상기 바이트-심볼 변환부(110)에서 심볼 형태로 변환된 데이터는 부가 데이터 심볼 처리부(111)를 통해 심볼-바이트 변환부(112)와 트렐리스 부호기(114)로 입력된다.Data converted into a symbol form by the byte-symbol converter 110 is input to the symbol-byte converter 112 and the trellis encoder 114 through the additional data symbol processor 111.

상기 심볼-바이트 변환부(112)는 입력되는 부가 데이터 심볼을 바이트 단위로 변환하여 비체계적 리드 솔로몬 부호기(113)로 출력한다. 상기 비체계적 리드-솔로몬 부호기(113)는 부가 데이터 세그먼트의 187개 정보 바이트를 모아서 20개의 패리티 바이트를 계산한 후 패리티 치환부(109)로 출력한다.The symbol-byte conversion unit 112 converts the input additional data symbol into a byte unit and outputs it to the unstructured Reed Solomon encoder 113. The unstructured Reed-Solomon encoder 113 collects 187 information bytes of the additional data segment, calculates 20 parity bytes, and outputs the parity bytes to the parity replacement unit 109.

상기 트렐리스 부호기(114)는 상위 비트로 입력되는 데이터를 프리코딩하고, 하위 비트로 입력되는 데이터는 트렐리스 부호화하여 먹스(115)로 출력한다. 상기 먹스(116)는 상기 트렐리스 부호기(114)의 출력 데이터와 필드 동기 신호 그리고,세그먼트 동기 신호를 다중화하여 파일럿 삽입기(116)로 출력하고, 상기 파일럿 삽입기(116)는 다중화된 신호에 파일럿을 삽입하여 VSB 변조기(117)로 출력한다. 상기 VSB 변조기(117)는 입력되는 데이터를 VSB 변조한 후 RF 변환기(118)로 출력하고, RF 변환된 데이터는 안테나를 통해 송출된다.The trellis encoder 114 precodes data input with the upper bits, and outputs the data input with the lower bits to the mux 115 by trellis encoding the data. The mux 116 multiplexes the output data of the trellis encoder 114, the field synchronizing signal, and the segment synchronizing signal to the pilot inserter 116, and the pilot inserter 116 multiplexes the signal. The pilot is inserted into the VSB modulator 117 and output. The VSB modulator 117 outputs the RF data to the RF converter 118 after VSB modulation of the input data, and the RF converted data is transmitted through an antenna.

여기서, 상기 비체계적 리드 솔로몬 부호기(113)를 사용하는 목적은 기존의 8T-VSB 수신기와의 호환성을 유지하기 위함이다. 다시 말해, 기존의 8T-VSB 수신기의 리드-솔로몬 복호기에서 부가 데이터 세그먼트를 오류로 판별하지 않도록 하기 위해서이다. 그리고, 비체계적이란 용어는 세그먼트 내에서 20개의 패리티 바이트가 187개의 정보 바이트 다음에 위치하는 것이 아니라, 중간 중간에 섞여있는 것을 의미한다.Here, the purpose of using the unstructured Reed Solomon encoder 113 is to maintain compatibility with the existing 8T-VSB receiver. In other words, the reed-solomon decoder of the existing 8T-VSB receiver does not discriminate additional data segments as errors. In addition, the term unsystematic means that 20 parity bytes are not interspersed with 187 information bytes in a segment but intermingled in the middle.

도 2는 일반적인 ATSC 8T-VSB 시스템의 데이터 인터리버를 나타낸 것으로서, 브랜치의 개수 B = 52이고, 단위 메모리의 바이트 수 M = 4인 길쌈(convolutional) 인터리버이다. ATSC 8T-VSB 시스템의 데이터 필드(field)는 1개의 필드 동기 세그먼트(field synchronization segment)와 312개의 데이터 세그먼트로 구성된다.FIG. 2 shows a data interleaver of a typical ATSC 8T-VSB system, which is a convolutional interleaver with the number of branches B = 52 and the number of bytes M = 4 of the unit memory. The data field of the ATSC 8T-VSB system consists of one field synchronization segment and 312 data segments.

상기된 도 2의 데이터 인터리버는 필드 동기 세그먼트에 동기를 맞추어 동작한다.The data interleaver of FIG. 2 described above operates in synchronization with the field sync segment.

도 3은 상기 데이터 인터리버의 데이터 입력과 출력 순서를 설명한 것이다. 데이터 입력은 세그먼트 단위로 위에서 아래로 입력되며, 세그먼트 내의 바이트는 왼쪽에서 오른쪽으로 시간적으로 먼저 입력된다. 도면 위의 숫자는 인터리버의 출력 순서를 나타낸 것이다. 필드 동기 세그먼트(신호) 다음에 입력되는 첫번째 세그먼트의 첫번째 바이트는 브랜치 1로 입력되어 바로 출력된다. 그것이 도 3의 숫자 0에 해당한다. 다음 입력 바이트는 브랜치 2로 입력되고 출력은 입력 바이트에 비해 52 x 4 = 208 바이트 이전의 바이트가 출력된다. 따라서 도 3에서 숫자 1에 해당하는 바이트가 출력된다. 그 다음 바이트가 입력되면 입력 바이트에 비해 52 x 8 =416 바이트 이전의 바이트가 출력된다. 따라서 숫자 2에 해당하는 바이트가 출력된다. 이런 방식으로 52개의 바이트가 도 3의 순서대로 출력되며, 53 번째 입력된 바이트는 브랜치 1로 입력되어 바로 출력된다.3 illustrates the data input and output order of the data interleaver. Data input is entered from top to bottom in segment units, and bytes within the segment are entered first temporally from left to right. The numbers on the figure show the output order of the interleaver. The first byte of the first segment, which is input after the field sync segment (signal), is input to branch 1 and immediately output. That corresponds to the number 0 in FIG. 3. The next input byte is entered into branch 2 and the output is the byte 52 x 4 = 208 bytes before the input byte. Therefore, the byte corresponding to the number 1 is output in FIG. 3. If the next byte is input, the bytes 52 x 8 = 416 bytes before the input byte are output. Therefore, the byte corresponding to the number 2 is output. In this manner, 52 bytes are output in the order of FIG. 3, and the 53th input byte is directly input to branch 1 and immediately output.

도 3을 보면 알 수 있듯이, 특정 세그먼트의 207 바이트가 인터리버에 의해서 출력되는 순서는 다음과 같은 수학식 1로 결정된다.As can be seen from Figure 3, the order in which 207 bytes of a particular segment is output by the interleaver is determined by the following equation (1).

f(k,s) = (52k + s) mod 207, 0≤s≤51, 0≤k≤206f (k, s) = (52k + s) mod 207, 0≤s≤51, 0≤k≤206

상기 수학식 1에서 mod는 나머지 연산을 의미하며, s는 필드 동기 신호 이후의 세그먼트 번호로서 0부터 51까지의 값을 가진다. 그리고 f(k,s)는 세그먼트 내의 바이트의 위치를 나타내는 것으로서, 0부터 206까지의 값을 가진다. 따라서 특정 세그먼트의 바이트들이 인터리버에서 출력되는 순서는 수학식 1에서 k = 0 부터 206까지 대입하여 얻어지는 f(k,s)가 된다. 그리고 패리티 위치 홀더는 인터리버(108)의 출력 중에서 마지막 20개의 바이트이므로 그 위치는 상기 수학식 1에서 k = 187에서 206까지 대입하여 얻어지는 f(k,s)의 값이다.In Equation 1, mod denotes a remainder operation, and s is a segment number after the field sync signal, and has a value from 0 to 51. F (k, s) indicates the position of the byte in the segment, and has a value from 0 to 206. Therefore, the order in which the bytes of a specific segment are output from the interleaver becomes f (k, s) obtained by substituting k = 0 to 206 in Equation 1. Since the parity position holder is the last 20 bytes of the output of the interleaver 108, the position is a value of f (k, s) obtained by substituting k = 187 to 206 in Equation 1 above.

상기 수학식 1에서 세그먼트 번호 s는 필드 동기 세그먼트 이후의 312개 세그먼트를 번호 붙인 것으로 0부터 51까지의 값을 갖는다. 이는 특정 세그먼트의 인터리버 출력 순서가 52세그먼트 주기로 반복되기 때문이다. 따라서 필드 동기 세그먼트 이후의 n 번째(0≤n≤311) 세그먼트의 세그먼트 번호 s는 n mod 52가 된다. 그리고 패리티 위치 홀더의 위치가 서로 다른 52가지의 세그먼트가 있음을 알 수 있다.In Equation 1, the segment number s is a number of 312 segments after the field sync segment, and has a value from 0 to 51. This is because the interleaver output order of a specific segment is repeated in 52 segment periods. Therefore, the segment number s of the nth (0 ≦ n ≦ 311) segment after the field sync segment is n mod 52. In addition, it can be seen that there are 52 segments having different positions of the parity position holder.

한편, 특정 세그먼트의 바이트들은 인터리버(108)에 의하여 52 또는 53 바이트의 간격으로 출력되므로, 특정 세그먼트의 187개의 정보 바이트가 출력된 후에 첫 패리티 위치 홀더 바이트가 출력되기까지는 최소 52바이트의 시간이 있다.On the other hand, since the bytes of a specific segment are output at intervals of 52 or 53 bytes by the interleaver 108, there is a minimum time of 52 bytes until the first parity position holder byte is output after 187 information bytes of the specific segment are output. .

따라서, 인터리버(108)에서 출력되는 패리티 위치 홀더 바이트를 치환할 패리티 바이트를 52 바이트 클록(clock) 내에 계산하여야 한다. 즉 바이트-심볼 변환 및 부가 데이터 심볼 처리, 심볼-바이트 변환, 비체계적 리드-솔로몬 부호기의 연산을 52바이트 클록 내에 구현하여야 한다. 이때 바이트-심볼 변환 및 심볼-바이트 변환부(110,112)의 처리 지연이 각각 12바이트 클록이고, 부가 데이터 심볼 처리부(111)의 처리지연(latency)은 없으므로, 비체계적 리드-솔로몬 부호기(113)는 28 바이트 클록 내에 구현되어야 한다.Therefore, the parity byte to replace the parity position holder byte output from the interleaver 108 must be calculated within a 52 byte clock. In other words, byte-symbol conversion, additional data symbol processing, symbol-byte conversion, and unstructured Reed-Solomon encoder operations must be implemented within a 52-byte clock. In this case, since the processing delays of the byte-symbol conversion and symbol-byte conversion units 110 and 112 are 12 byte clocks, and there is no processing latency of the additional data symbol processing unit 111, the unstructured Reed-Solomon encoder 113 Must be implemented within a 28 byte clock.

즉, 도 1에서 부가 데이터 심볼 처리부(111)의 출력은 심볼-바이트 변환부(112)에 의해 심볼에서 바이트로 변환된 후 비체계적 리드-솔로몬 부호기(113)에 입력되는데, 이러한 데이터는 데이터 인터리버(108) 출력의 데이터 순서와 동일하다. 그러나, 비체계적 리드-솔로몬 부호기(113)는 데이터 인터리버(108)의 입력에 해당하는 데이터 세그먼트를 부호화해야 한다. 이를 위해서는 심볼-바이트 변환부(111)의 출력을 디인터리빙(인터리버의 역과정)하여 비체계적 리드-솔로몬 부호화를 하여야 하는데 이것은 처리 지연이 매우 커서 28바이트 이내에 구현할 수 없다.That is, in FIG. 1, the output of the additional data symbol processing unit 111 is converted from a symbol to a byte by the symbol-byte conversion unit 112, and then input to the unstructured Reed-Solomon encoder 113, which is the data interleaver. (108) Same as the data order of the output. However, the unstructured Reed-Solomon encoder 113 must encode a data segment corresponding to the input of the data interleaver 108. To this end, de-interleaving (inverse process of the interleaver) of the output of the symbol-byte conversion unit 111 must be performed to perform unsystematic Reed-Solomon encoding, which can not be implemented within 28 bytes because of a large processing delay.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 부가 데이터 세그먼트에 대하여 비체계적 리드 솔로몬 부호화하는 비체계적 리드-솔로몬 부호기의 하드웨어 크기를 최대한 줄이면서 제한된 짧은 시간 내에 비체계적 리드 솔로몬 부호화를 수행하는 디지털 VSB 전송 시스템을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to reduce the hardware size of an unstructured Reed-Solomon encoder for unstructured Reed-Solomon coding for additional data segments as much as possible while reducing the unstructured Reed-Solomon in a limited time. The present invention provides a digital VSB transmission system that performs encoding.

도 1은 본 발명에 따른 디지털 VSB 전송 시스템의 구성 블록도1 is a block diagram of a digital VSB transmission system according to the present invention;

도 2는 도 1의 데이터 인터리버의 인터리빙 예를 보인 도면FIG. 2 is a diagram illustrating an interleaving example of the data interleaver of FIG. 1. FIG.

도 3은 도 1의 데이터 인터리버의 출력 순을 보인 도면3 is a view showing the output order of the data interleaver of FIG.

도 4는 일반적인 회귀적 신드롬 계산기의 구성도4 is a block diagram of a general regression syndrome calculator

도 5는 본 발명에 따른 비회귀적 신드롬 계산기의 구성도5 is a block diagram of a non-regressive syndrome calculator according to the present invention

도 6은 본 발명에 따른 회귀적 신드롬 계산기의 구성도6 is a block diagram of a regression syndrome calculator according to the present invention

도 7은 본 발명에 따른 오류값 다항식 계산기를 구성도7 is a block diagram of an error value polynomial calculator according to the present invention

도 8은 본 발명에 따른 패리티 계산기의 구성도8 is a block diagram of a parity calculator according to the present invention

도 9는 본 발명에 따른 erasure 리드-솔로몬 복호기의 구성 블록도9 is a block diagram of an erasure Reed-Solomon decoder according to the present invention

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

901 : 신드롬 계산기902 : 오류 값 다항식 계산기901: Syndrome Calculator902: Error Value Polynomial Calculator

903 : 패리티 계산기904 : 패리티 버퍼903 Parity Calculator904 Parity Buffer

905 : 제어부905 control unit

상기와 같은 목적을 달성하기 위한 본 발명에 따른 디지털 VSB 전송 시스템은, MPEG 트랜스포트 패킷의 포맷으로 변환된 부가 데이터와 MPEG 방송 데이터를 다중화하며, 상기 다중화된 데이터가 부가 데이터 세그먼트이면 다수개의 패리티 위치 홀더를 구한 후 상기 패리티 위치 홀더에 널 바이트를 삽입하는 패리티 위치 홀더 삽입부와, 상기 패리티 위치 홀더 삽입부의 출력에 대해 데이터 인터리빙을 수행하여 각 세그먼트에 대해 다수개의 정보 바이트를 먼저 출력한 다음 널 바이트가 삽입된 다수개의 패리티 바이트를 나중에 출력하는 데이터 인터리버와, 상기 데이터 인터리버에서 출력되는 패리티 바이트들을 비체계적 리드 솔로몬 부호화로 구한 패리티 바이트들로 치환하는 패리티 치환부와, 상기 널 바이트가 삽입된 패리티 바이트들을 오류 위치로 설정하고 상기 패리티 바이트들을 제외한 정보 바이트들을 패리티 치환부를 통해 입력받아, 상기 데이터 인터리버 입력에서의 비체계적 리드 솔로몬 부호화를 수행하여 패리티 바이트를 다시 계산한 후 상기 패리티 치환부로출력하는 비체계적 리드 솔로몬 부호기를 포함하여 구성되는 것을 특징으로 한다.The digital VSB transmission system according to the present invention for achieving the above object, multiplexes the additional data and MPEG broadcast data converted to the format of the MPEG transport packet, and if the multiplexed data is the additional data segment, a plurality of parity positions After obtaining a holder, a parity position holder inserter inserting a null byte into the parity position holder, and performing data interleaving on the output of the parity position holder inserter, outputting a plurality of information bytes for each segment first, and then a null byte. A data interleaver for later outputting a plurality of inserted parity bytes, a parity replacer for replacing parity bytes output from the data interleaver with parity bytes obtained by unstructured Reed Solomon coding, and a parity byte having the null byte inserted therein. Error location A non-systematic Reed Solomon encoder configured to receive information bytes excluding the parity bytes through a parity substituter, perform unstructured Reed Solomon coding on the data interleaver input, recalculate parity bytes, and output the parity bytes to the parity substituter. Characterized in that it comprises a.

바람직하게는 상기 비체계적 리드 솔로몬 부호화기는 상기 널 바이트가 삽입된 패리티 바이트를 오류 위치로 설정하고, 상기 널 바이트가 삽입된 패리티 바이트를 제외한 정보 바이트들에 대해 리드 솔로몬 복호를 수행하여 오류 정정된 다수개의 패리티 바이트를 출력하는 이레이저 리드 솔로몬 복호기인 것을 특징으로 한다.Preferably, the unstructured Reed Solomon encoder sets the parity byte into which the null byte is inserted as an error position, and performs error resolving by performing Reed Solomon decoding on information bytes except the parity byte into which the null byte is inserted. And an erasure reed solomon decoder that outputs two parity bytes.

상기 디지털 VSB 전송 시스템은 상기 패리티 치환부의 출력을 심볼 단위로 변환하는 바이트-심볼 변환부와, 상기 심볼 단위로 변환된 부가 데이터의 정보 비트에 대해 별도의 부가 데이터 처리를 수행하는 부가 데이터 심볼 처리부와, 상기 부가 데이터 심볼 처리부에서 출력되는 심볼을 바이트 단위로 변환하여 상기 비체계적 리드 솔로몬 부호화기로 출력하는 심볼-바이트 변환부가 더 구비되는 것을 특징으로 한다.The digital VSB transmission system includes a byte-symbol converter for converting an output of the parity replacement unit in symbol units, an additional data symbol processor for performing additional additional data processing on information bits of the additional data converted in symbol units; The apparatus may further include a symbol-byte converter configured to convert a symbol output from the additional data symbol processing unit into a byte unit and output the symbol to the unstructured Reed Solomon encoder.

바람직하게는 상기 비체계적 리드 솔로몬 부호화기는 상기 패리티 치환부에서 출력되는 데이터가 부가 데이터인 경우에만 특정 세그먼트의 N(N은 187개)개의 정보 바이트가 입력되는 동안 M(M은 20)개의 신드롬을 계산하여 출력하는 신드롬 계산기와, 상기 계산된 M개의 신드롬과 미리 계산된 오류 위치 다항식을 이용하여 M개의 오류 값 다항식의 계수를 계산하는 오류 값 다항식 계산기와, 상기 오류 값 다항식의 계수에 포니 알고리듬을 적용하여 M개의 패리티 위치 홀더의 위치에 대한 오류값을 각각 구하여 패리티 바이트로 출력하는 패리티 계산기와, 상기 패리티 계산기에서 계산된 M 바이트의 패리티를 저장하며, 해당 세그먼트 내 바이트(k1)가다음 조건(187 <= k1 <= 206)을 만족하는 경우에만 그에 해당하는 패리티 바이트를 상기 패리티 치환부로 출력하는 패리티 버퍼와, 상기 각 부에서 필요한 세그먼트 번호, 해당 세그먼트 내 바이트 번호, 부가 데이터임을 알려주는 신호를 생성하여 상기 각 부로 출력하는 제어부로 구성되는 것을 특징으로 한다.Preferably, the unstructured Reed-Solomon encoder performs M (M is 20) syndromes while N (N is 187) information bytes of a specific segment are inputted only when the data output from the parity replacement unit is additional data. A syndrome calculator that calculates and outputs an error value polynomial calculator that calculates coefficients of M error value polynomials using the calculated M syndromes and a previously calculated error position polynomial, and a pony algorithm on the coefficients of the error value polynomial. The parity calculator calculates and outputs error values for the positions of the M parity position holders and outputs them as parity bytes, and the parity of M bytes calculated by the parity calculator is stored. 187 <= k1 <= 206) only if the corresponding parity byte is output to the parity replacement unit It is characterized in that it is configured to generate a signal indicating that the parity buffer, the required number in each sub-segment, the segment within the byte number, and additional data to the controller for output to the angle.

바람직하게는 상기 신드롬 계산기와 패리티 버퍼는 바이트 클록으로 동작시키고, 상기 오류 값 다항식 계산기와 패리티 계산기는 심볼 클록으로 동작시키는 것을 특징으로 한다.Preferably, the syndrome calculator and the parity buffer are operated with a byte clock, and the error value polynomial calculator and the parity calculator are operated with a symbol clock.

바람직하게는 상기 신드롬 계산기는 207개의 상수를 저장하고 있는 롬과, 세그먼트의 번호 s와 세그먼트 내의 바이트 번호 k를 입력받아 상기 롬에서 상수를 읽을 주소 206-f(k,s)를 발생시키는 주소 발생기와, 특정 세그먼트의 정보 바이트가 하나씩 입력될 때마다 상기 롬에서 출력되는 상수를 곱하여 출력하는 곱셈기와, 상기 곱셈기의 출력과 저장된 값을 피드백받아 더하는 덧셈기와, 상기 덧셈기의 출력을 저장한 후 상기 덧셈기로 피드백하는 레지스터로 구성되며, 해당 세그먼트의 마지막 정보 바이트가 입력되면 상기 레지스터의 출력을 신드롬으로 하여 상기 오류 값 다항식 계산기로 출력하며, 상기된 신드롬 계산기는 발생시킬 신드롬의 수만큼 구성되는 것을 특징으로 한다.Preferably the syndrome calculator has 207 constants A rom that stores s, an address generator that receives segment number s and byte number k in the segment, and generates address 206-f (k, s) to read constants from the rom, and inputs one information byte of a specific segment. A multiplier for multiplying a constant output from the ROM each time, a multiplier for adding and receiving feedback of the multiplier's output and a stored value, and a register for storing the output of the adder and feeding it back to the adder. When the last byte of information is input, the output of the register as a syndrome is output to the error value polynomial calculator, wherein the syndrome calculator is configured as many as the number of syndromes to generate.

바람직하게는 상기 신드롬 계산기는 52개의 상수를 저장하고 있으며, 주소는 세그먼트의 번호 s를 사용하는 롬과, 선택 신호에 따라 제 1 상수, 제 2 상수또는 상기 롬에서 출력되는 제 3 상수중 어느 하나를 선택 출력하는 먹스와, 특정 세그먼트 내의 바이트 번호 k가 0 ≤k ≤185이면서 f(k,s) ≤154 이면을, 그렇지 않으면을 선택하고, 상기 k=186이면를 선택하도록 선택 신호를 발생시켜 상기 먹스로 출력하는 먹스 제어기와, 특정 세그먼트의 정보 바이트가 하나씩 입력될 때마다 저장된 값을 피드백받아 더하는 덧셈기와, 상기 덧셈기의 출력과 상기 먹스를 통해 출력되는 상수를 곱하여 상기 레지스터에 저장하는 곱셈기로 구성되며, 해당 세그먼트의 마지막 정보 바이트가 입력되면 상기 레지스터의 출력을 신드롬으로 하여 상기 오류 값 다항식 계산기로 출력하며, 상기된 신드롬 계산기는 발생시킬 신드롬의 수만큼 구성되는 것을 특징으로 한다.Preferably the syndrome calculator has 52 constants And the address is a ROM using the segment number s, and the first constant according to the selection signal. , The second constant Or a third constant output from the ROM Mux for selectively outputting any one of them, and if byte number k in a particular segment is 0 ≦ k ≦ 185 and f (k, s) ≦ 154 Otherwise If k = 186 A mux controller for generating a selection signal to select and outputting the mux controller to the mux, an adder that feeds back a stored value whenever an information byte of a specific segment is input, and a constant output through the mux output and the mux And a multiplier for multiplying and storing the register in the register. When the last information byte of the corresponding segment is input, the register of the register is outputted to the error value polynomial calculator as a syndrome, and the syndrome calculator is configured by the number of syndromes to be generated. It is characterized by.

바람직하게는 상기 오류 값 다항식 계산기는 상기 신드롬을 이용하여 계산한 신드롬 다항식과 오류 위치 다항식을 곱하여 M개의 계수를 갖는 오류 값 다항식을 계산하며, 상기 오류 위치 다항식은 M바이트의 패리티 위치 홀더를 오류 위치로 설정하여 미리 계산되는 것을 특징으로 한다.Preferably, the error value polynomial calculator calculates an error value polynomial having M coefficients by multiplying the syndrome polynomial calculated using the syndrome and the error location polynomial, and the error location polynomial converts the M-byte parity position holder into an error location. It is set to be characterized in that it is calculated in advance.

바람직하게는 상기 패리티 계산기는 상수를 저장하고, 주소는 세그먼트의 번호 s를 사용하며, 50개의 세그먼트마다 각각 20개의 값을 저장하는 제 1 롬과, 상수를 저장하고, 주소는 세그먼트의 번호 s를 사용하며, 50개의 세그먼트마다 각각 20개의 값을 저장하는 제 2 롬과, 상기 오류 값 다항식의 계수들은 가장 높은 차수부터 순차적으로 입력되며, 맨 마지막 오류 값 다항식의 계수가 입력될 때에만 제 1 롬에 저장된 상수를 선택 출력하고, 그 이외에는 제 2 롬에 저장된 상수를 선택 출력하는 먹스와, 오류 값 다항식의 계수가 순차적으로 입력될 때마다 저장된 값을 피드백받아 더하는 덧셈기와, 상기 덧셈기의 출력과 상기 먹스를 통해 출력되는 상수를 곱하여 상기 레지스터에 저장하며, 상기 마지막 오류 값 다항식의 계수가 입력되어 연산된 후 저장된 값이 최종적으로 패리티 바이트가 되어 출력되며, 상기 패리티 계산기는 상기 패리티 위치 홀더의 수만큼 필요한 것을 특징으로 한다.Preferably the parity calculator is a constant Is a constant, and the address uses a segment number s, the first ROM storing 20 values for each 50 segments, and a constant. The second ROM stores an address using the segment number s and stores 20 values for each of the 50 segments, and the coefficients of the error value polynomial are sequentially inputted from the highest order. The MUX selects and outputs the constant stored in the first ROM only when the coefficient of the polynomial is input. Otherwise, the MUX selects and outputs the constant stored in the second ROM, and feeds back the stored value whenever the coefficients of the error value polynomial are sequentially input. A multiplier that adds and adds the multiplier and multiplies a constant output through the mux, and stores the result in the register. The coefficient of the last error value polynomial is input and operated, and the stored value is finally output as a parity byte. The parity calculator is characterized by the number of parity position holders required.

바람직하게는 상기 패리티 위치 홀더 삽입부는 입력되는 데이터가 부가 데이터 세그먼트가 아닌 경우, 입력 데이터에 대해 체계적 리드 솔로몬 부호화를 수행하는 것을 특징으로 한다.Preferably, when the input data is not an additional data segment, the parity position holder inserter performs systematic Reed Solomon encoding on the input data.

바람직하게는 상기 패리티 위치 홀더 삽입부는 입력되는 데이터가 부가 데이터 세그먼트인 경우에 20개의 패리티 바이트가 상기 데이터 인터리버의 출력단에서 187개의 정보 바이트보다 나중에 출력되도록 패리티 바이트의 위치를 정한 후 정해진 패리티 바이트 위치에는 널 바이트를 쓰고, 나머지 187개의 정보 바이트 위치에는 입력받은 187개의 정보 바이트를 순차적으로 쓰는 것을 특징으로 한다.Preferably, the parity position holder inserter determines the parity byte position so that 20 parity bytes are output later than 187 information bytes at the output terminal of the data interleaver when the input data is an additional data segment. Null bytes are written, and 187 information bytes received are sequentially written to the remaining 187 information byte positions.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings illustrating the configuration and operation of the embodiment of the present invention, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, By the technical spirit of the present invention described above and its core configuration and operation is not limited.

본 발명은 비체계적 리드 솔로몬 부호기의 하드웨어 크기를 최대한 줄이면서 최소의 처리 지연을 가지도록 하기 위하여, 비체계적 리드-솔로몬 부호기는 인터리버의 출력에 해당하는 데이터를 입력받아 인터리버의 입력에서의 부호화를 수행하도록 한다. 다시 말해, 인터리버의 출력에 해당하는 187개의 정보 바이트를 입력받아, 인터리버 입력에서의 비체계적 리드-솔로몬 부호화를 수행하여 20개의 패리티 바이트를 계산한다.In order to reduce the hardware size of the unstructured Reed-Solomon encoder as much as possible and have a minimum processing delay, the unstructured Reed-Solomon encoder receives the data corresponding to the output of the interleaver and performs encoding at the input of the interleaver. Do it. In other words, 187 information bytes corresponding to the output of the interleaver are input, and 20 parity bytes are calculated by performing unsystematic Reed-Solomon coding on the interleaver input.

일반적으로 널리 사용하는 (N,K) 리드-솔로몬 부호기는 K개의 정보 바이트를 입력받아 그대로 출력하고 여기에 20개의 패리티 바이트를 더하는 체계적(systematic) 리드-솔로몬 부호기를 사용한다. 여기서 N은 부호의 전체 바이트 수이고, K는 그 중에서 정보 바이트의 수를 나타낸다. 그런데 리드-솔로몬 부호는 N개의 바이트 중에서 임의의 K개의 위치를 정보 바이트로 사용하여 동일한 부호를 생성할 수 있는 특징을 가지고 있다. 다시 말해서, 체계적 리드-솔로몬 부호기에 의해 생성되는 모든 부호어(codeword)의 집합(부호)과 임의의 K개 위치를 정보 바이트로 사용하는 비체계적 리드-솔로몬 부호기에 의해 생성되는 모든 부호어의 집합은 동일하다.A widely used (N, K) Reed-Solomon encoder uses a systematic Reed-Solomon encoder that receives K information bytes and outputs them as they are, plus 20 parity bytes. Where N is the total number of bytes in the sign, and K represents the number of information bytes therein. However, the Reed-Solomon code has the feature of generating the same code by using any K position among the N bytes as an information byte. In other words, the set of all codewords generated by the systematic Reed-Solomon coder and the set of all codewords generated by the unstructured Reed-Solomon coder using any K positions as information bytes. Is the same.

따라서, 부가 데이터 세그먼트에 대하여 비체계적 리드-솔로몬 부호기로 부호화한 부호어는 체계적 리드-솔로몬 부호의 유효한 부호어이기 때문에, 기존의 8T-VSB 수신기에 있는 리드-솔로몬 복호기에서 오류도 판단하지 않는다. 그리고 기존의 8T-VSB 수신기에서는 부가 데이터 세그먼트는 버리도록 PID를 전송하여 주기 때문에, 정보 바이트의 위치가 다른 것은 문제가 되지 않는다.Therefore, since the codeword encoded by the unstructured Reed-Solomon coder for the additional data segment is a valid codeword of the systematic Reed-Solomon code, the error is not judged in the Reed-Solomon decoder in the existing 8T-VSB receiver. In the conventional 8T-VSB receiver, since the PID is transmitted so that the additional data segment is discarded, it is not a problem that the position of the information byte is different.

이러한, 비체계적 리드-솔로몬 부호기를 본 발명에서는 erasure 리드-솔로몬 복호기를 사용하여 구현하는 것을 실시예로 한다. 즉, 207개의 바이트 중에서 정보 바이트가 아닌 나머지 20개의 패리티 바이트를 널 바이트로 쓰고 erasure로 설정하여 복호를 수행하면, 20개의 널 바이트가 오류 정정되어 유효한 부호어가 생성된다.In the present invention, the non-systematic Reed-Solomon encoder is implemented using an erasure Reed-Solomon decoder. That is, if the remaining 20 parity bytes other than the information bytes among the 207 bytes are written as null bytes and the decoding is performed by erasure, 20 null bytes are error corrected to generate a valid codeword.

따라서, 정정된 20개의 바이트는 비체계적 리드-솔로몬 부호기에서 생성하는 패리티 바이트와 같다.Thus, the 20 corrected bytes are equal to the parity bytes generated by the unstructured Reed-Solomon encoder.

한편, 일반적인 리드-솔로몬 복호기는 다음과 같이 동작한다. N개의 바이트가 입력되는 동안 N-K개의 신드롬(syndrome)을 계산하고, 이를 가지고 오류 위치 다항식(error locator polynomial)을 계산한다. Chien search에서는 오류 위치 다항식의 근을 구하여 실제 발생한 오류의 위치를 찾아낸다. 그리고 계산된 신드롬과 오류 위치 다항식을 사용하여 오류 값 다항식(error evaluator polynomial)을 계산하고, Forney 알고리듬을 사용하여 오류의 값을 계산한다.On the other hand, a typical Reed-Solomon decoder operates as follows. While N bytes are input, N-K syndromes are calculated and an error locator polynomial is calculated using them. In Chien search, we find the root of an error location polynomial by finding the root of the error. The error evaluator polynomial is calculated using the calculated syndrome and the error location polynomial, and the error value is calculated using the Forney algorithm.

그런데, 비체계적 리드-솔로몬 부호기로 사용하는 erasure 리드-솔로몬 복호기는 20개의 오류 위치를 미리 알고 있다. 따라서 상기 설명한 일반적인 리드-솔로몬 복호 과정에서 오류 위치 다항식을 계산할 필요가 없으며, 또한 Chien search 과정도 생략할 수 있다.However, the erasure Reed-Solomon decoder used as an unstructured Reed-Solomon coder knows 20 error positions in advance. Therefore, in the general Reed-Solomon decoding process described above, it is not necessary to calculate the error position polynomial, and the Chien search process may be omitted.

이하, 본 발명의 디지털 VSB 전송 시스템에서 사용할 비체계적 리드-솔로몬 부호기(113)인 erasure 리드-솔로몬 복호기는 다음과 같이 동작한다.Hereinafter, the erasure Reed-Solomon decoder, which is an unstructured Reed-Solomon encoder 113 to be used in the digital VSB transmission system of the present invention, operates as follows.

먼저 심볼-바이트 변환부(112)로부터 187개의 정보 바이트가 입력되는 동안상기 비체계적 리드-솔로몬 부호기(113)는 20개의 신드롬을 계산한다. 다음 이렇게 계산된 신드롬과 미리 계산된 오류 위치 다항식을 사용하여 오류 값 다항식을 계산한다. 마지막으로 Forney 알고리듬을 사용하여 20개의 패리티 바이트를 계산한다.First, while 187 information bytes are input from the symbol-byte converter 112, the unstructured Reed-Solomon encoder 113 calculates 20 syndromes. The error value polynomial is then calculated using this calculated syndrome and the precomputed error location polynomial. Finally, 20 parity bytes are calculated using the Forney algorithm.

신드롬의 계산Calculation of syndrome

상기 패리티 위치 홀더 삽입부(107) 출력 세그먼트의 207개의 바이트가 R0,R1,.. ,R206 이라고 하자. 이 중에는 패리티 위치 홀더인 20개의 널 바이트가 포함되어 있다. 그리고 이 세그먼트를 다항식으로 하기의 수학식 2와 같이 표현할 수 있다.Assume that 207 bytes of the parity position holder inserter 107 output segment are R0, R1, ..., R206. Among them, 20 null bytes, which are parity position holders, are included. The segment may be expressed as a polynomial as shown in Equation 2 below.

그러면, 상기 세그먼트에 대한 20개의 신드롬은 하기의 수학식 3에 의해 계산한다.Then, 20 syndromes for the segment are calculated by Equation 3 below.

상기 수학식 3에서는 GF(256)의 원시 요소(primitive element)이다. 일반적인 리드-솔로몬 복호기에 데이터가 R0,R1,..,R206의 순서로 입력되는 경우에는 일반적으로 도 4와 같이 간단하게 신드롬을 계산할 수가 있다. 이것은 상기 수학식 3에서 신드롬이 하기의 수학식 4와 같이 회귀적(recursive) 형태로 표현할 수 있기 때문이다.In Equation 3 Is a primitive element of GF 256. When data is input to a general Reed-Solomon decoder in the order of R0, R1, ..., R206, the syndrome can be simply calculated as shown in FIG. This is because the syndrome in Equation 3 may be expressed in a recursive form as shown in Equation 4 below.

도 4에서 곱셈기(405)와 덧셈기(401,403)는 모두 GF(256)상에서의 연산이고, 207개의 바이트가 모두 입력되면 최종적으로 저장된 레지스터(402,404)의 값이 신드롬이 된다.In FIG. 4, both the multiplier 405 and the adders 401 and 403 are operations on the GF 256, and when all 207 bytes are input, the values of the registers 402 and 404 finally stored become syndromes.

그러나, erasure 리드-솔로몬 복호기에 입력되는 데이터는 인터리버(108)에 의해 순서가 바뀌었기 때문에 도 4에 도시된 종래의 신드롬 계산기를 사용할 수 없다. 이때, 상기 수학식 1의 인터리버(108)의 출력 순을 고려하면 상기 수학식 3의신드롬의 계산은 다음의 수학식 5와 같이 표현할 수 있다.However, since the data input to the erasure Reed-Solomon decoder is reordered by the interleaver 108, the conventional syndrome calculator shown in FIG. 4 cannot be used. In this case, considering the output order of the interleaver 108 of Equation 1, the calculation of the syndrome of Equation 3 may be expressed as Equation 5 below.

그리고, 상기 수학식 3에서 패리티 위치 홀더 바이트는 널 바이트이므로 187개의 정보 바이트만을 가지고 신드롬을 계산할 수가 있다.Since the parity position holder byte is a null byte in Equation 3, the syndrome can be calculated using only 187 information bytes.

예를 들어, 필드 동기 세그먼트 다음의 첫번째 세그먼트가 부가 데이터 세그먼트인 경우를 생각해보자. 이 세그먼트가 인터리버(108)에 의해 순서가 바뀌어 erasure 리드-솔로몬 복호기(113)에 입력되는 순서는 상기 설명한 수학식 1에서 세그먼트 번호 s = 0인 경우에 해당한다. 따라서 erasure 리드-솔로몬 복호기(113)에 입력되는 187개의 정보 바이트의 순서는 R0 R52 R104 R156 R1 R53 R105 R157 ... R150 이다. 이 경우에 신드롬을 계산해보면 상기 수학식 5에 의해서 다음과 같은 수학식 6으로 표현된다.For example, consider the case where the first segment after the field sync segment is an additional data segment. The order in which the segments are changed by the interleaver 108 and input to the erasure Reed-Solomon decoder 113 corresponds to the case in which the segment number s = 0 in the above-described equation (1). Therefore, the order of 187 information bytes input to the erasure Reed-Solomon decoder 113 is R0 R52 R104 R156 R1 R53 R105 R157 ... R150. Syndrome in this case The equation is expressed by the following equation (6) by the equation (5).

상기 수학식 6을 구현하는 방법은 두 가지가 있다.There are two ways to implement Equation 6.

첫 번째 방법은 187개의 정보 바이트가 하나씩 입력될 때마다 그에 해당하는 상수(constant)를 곱하여 신드롬을 계산하는 것으로, 도 5는 이를 하드웨어로 구현한 구성 블록도이다.The first method calculates a syndrome by multiplying a corresponding constant each time 187 information bytes are input one by one. FIG. 5 is a block diagram of hardware implementation.

즉, 곱셈기(505)는 처음 R0가 입력되면를 곱하여 레지스터(507)에 저장하고, 다음 R52가 입력되면를 곱한 결과를 덧셈기(506)에서 레지스터(507)의 값과 더하여 다시 레지스터(507)에 저장한다. 이런 과정을 반복하다가 마지막으로 R150이 입력되면를 곱한 결과를 상기 덧셈기(506)에서 레지스터(507)의 값과 더한 후 다시 레지스터(507)에 저장한다. 이것이 신드롬가 된다. 그리고 이렇게 곱해질 상수는 ROM(Read Only Memory)(504)에 저장하여 사용할 수 있다.That is, the multiplier 505 is the first time R0 is input Multiply and store in register 507, then R52 is entered The result of multiplying is added to the register 507 by the adder 506 and stored in the register 507 again. Repeat this process until the last time R150 is entered The result of multiplying is added to the register 507 by the adder 506 and stored in the register 507 again. This is syndrome Becomes The constant to be multiplied in this way may be stored and used in a read only memory (ROM) 504.

도 5에서 ROM(504)은 207개의 상수를 저장하고 있으며, 주소 발생기(address generator)(503)는 세그먼트의 번호 s와 세그먼트 내의 바이트 번호 k를 입력받아 ROM(504)에서 상수를 읽을 주소 206-f(k,s)를 발생시킨다. 따라서, 각각의 신드롬를 계산하기 위해 필요한 ROM(504)의 크기는 207 바이트이다. 그리고 이러한 신드롬을 20개 계산하여야 하므로, 도 5와 같은 신드롬 계산기를 20개 구현하여야 한다.In Figure 5 ROM 504 has 207 constants The address generator 503 receives the segment number s and the byte number k in the segment to generate an address 206-f (k, s) for reading a constant from the ROM 504. Thus, each syndrome The size of ROM 504 needed to compute is 207 bytes. Since 20 such syndromes are to be calculated, 20 syndrome calculators as shown in FIG. 5 must be implemented.

그런데, 신드롬는 입력 데이터를 계속 더하기만 하면 되므로, 신드롬 계산기에서 필요한 곱셈기(505)는 19개, 그리고 덧셈기(501,506)는 20개, ROM(504)의 메모리 크기는 19 X 207(= 3933) 바이트이다.By the way, syndrome Since only the input data needs to be added, the number of multipliers 505 required by the syndrome calculator, 20 adders 501 and 506, and the memory size of the ROM 504 are 19 X 207 (= 3933) bytes.

한편, 신드롬을 계산하는 두번째 방법은 종래의 회귀적 신드롬 계산기를 변형시켜 회귀적 형태로 계산하는 것이다. 상기 수학식 6을 회귀적 형태로 다시 표현하면 하기의 수학식 7과 같으며, 도 6은 이를 하드웨어로 구현한 구성 블록도이다.On the other hand, the second method of calculating the syndrome is to modify the conventional regression syndrome calculator to calculate in a regression form. Representation of Equation 6 in a regressive form is shown in Equation 7 below, and FIG. 6 is a block diagram of the hardware.

즉, 첫번째 바이트 R0가 입력되면 덧셈기(608)와 곱셈기(606)를 통해 첫번째 바이트 R0에를 곱하여 레지스터(607)에 저장한다. 그리고, 두번째 바이트 R52가 입력되면 덧셈기(608)는 이것을 레지스터(607)에 저장된 값과 더하여 곱셈기(606)로 출력하고, 상기 곱셈기(606)는 덧셈 결과를와 곱하여 다시 레지스터(607)에 저장한다. 이런 과정을 반복하다가 마지막 187번째 바이트 R150이 입력되면 상기 덧셈기(608)는 이것을 상기 레지스터(607)에 저장된 값과 더하여 곱셈기(606)로 출력하고, 상기 곱셈기(606)는 상기 덧셈 결과를와 곱하여 상기 레지스터(607)에 저장한다. 이때 저장된 값이 신드롬가 된다.That is, when the first byte R0 is input, the first byte R0 is added to the first byte R0 through the adder 608 and the multiplier 606. Multiply by and store in register 607. When the second byte R52 is input, the adder 608 adds it to the value stored in the register 607 and outputs the result to the multiplier 606. The multiplier 606 outputs the addition result. Multiply by and store in register 607 again. Repeating this process, when the last 187th byte R150 is input, the adder 608 adds it to the value stored in the register 607 and outputs the result to the multiplier 606. The multiplier 606 outputs the addition result. Multiply by and store in the register 607. The stored value is syndrome Becomes

그런데, 상기 수학식 7과 같이 회귀적 형태로 신드롬을 계산하는 경우에, 정보 바이트가 입력될 때에 곱하는 상수는 아래의 수학식 8에 의해 결정된다.By the way, when calculating the syndrome in a regression form, as shown in equation (7), the information byte The constant to be multiplied when is input is determined by Equation 8 below.

즉, 상기 곱셈기(606)는 첫번째 정보 바이트부터 186번째 바이트까지는(0 ≤k ≤185), f(k,s)가 154 이하인 경우에는를 곱하고, 154보다 작은 경우에는를 곱한다. 그리고 제일 마지막 187번째 정보 바이트에서는(k = 186)를 곱한다. 제일 마지막에 곱할 상수는 세그먼트 번호 s에 따라서 다르므로 ROM(605)에 저장하여 사용할 수 있고, 이때 필요한 ROM(605)의 크기는 52 바이트이다.In other words, the multiplier 606 is the first information byte to the 186th byte (0 ≤ k ≤ 185), when f (k, s) is 154 or less Multiply by and Multiply by And in the last 187th information byte (k = 186) Multiply by Since the last constant to be multiplied depends on the segment number s, it can be stored and used in the ROM 605, and the size of the required ROM 605 is 52 bytes.

도 6에서 ROM(605)은 52개의 상수를 저장하고 있으며, 주소는 세그먼트의 번호 s를 사용한다. 먹스(604)는 상기 설명한 세 개의 상수 중에서 하나를 선택하고, 먹스 제어기(603)는 수학식 8에 의해서 먹스(604)를 제어한다.In FIG. 6, ROM 605 has 52 constants. Is stored, and the address uses the segment number s. The mux 604 selects one of the three constants described above, and the mux controller 603 controls the mux 604 by equation (8).

즉, 0 ≤k ≤185이면서 f(k,s) ≤154 이면 0을, 그렇지 않으면 1을 발생시킨다. 그리고, k=186이면 2를 발생시킨다. 상기 먹스(604)는 상기 먹스 제어부(603)에서 0이 출력되면를 선택하여 곱셈기(606)로 출력하고 1이 출력되면을 선택하여 곱셈기(606)로 출력한다. 그리고, 2가 출력되면 롬(605)을 통해 출력되는 상수를 선택하여 곱셈기(606)로 출력한다.That is, if 0? K? 185 and f (k, s)? 154, 0 is generated, otherwise 1 is generated. And if k = 186, 2 is generated. When the mux 604 outputs 0 from the mux control unit 603 Select and output to the multiplier 606, and 1 is output. Is selected and output to the multiplier 606. And, if 2 is outputted, the constant output through the ROM 605 Is selected and output to the multiplier 606.

한편, 이러한 신드롬을 20개 계산하여야 하므로, 도 6과 같은 신드롬 계산기를 20개 구현하여야 한다. 이때, 상기 신드롬 계산기에서 필요한 곱셈기(606)는 19개, 그리고 덧셈기(601,608)는 20개, ROM(605)의 메모리 크기는 19 X 52(= 988) 바이트이다.Meanwhile, since 20 such syndromes are to be calculated, 20 syndrome calculators as shown in FIG. 6 must be implemented. In this case, 19 multipliers 606 necessary for the syndrome calculator, 20 adders 601 and 608, and a memory size of the ROM 605 are 19 X 52 (= 988) bytes.

따라서 도 6의 회귀적 신드롬 계산기는 도 5의 비회귀적 신드롬 계산기에 비해서 필요한 ROM의 크기가 약이다.Therefore, the regression syndrome calculator of FIG. 6 has a smaller ROM size than the non-regression syndrome calculator of FIG. 5. to be.

한편, 특정 세그먼트의 데이터가 연속적으로 입력되지 않고, 52개 세그먼트의 데이터와 섞여서 입력되기 때문에, 신드롬 계산기는 52개의 세그먼트에 대하여 각각 20바이트의 신드롬 메모리를 가지고 있어야 한다. 이러한 신드롬 계산기는 입력 바이트와 그에 해당하는 세그먼트 번호, 세그먼트 내의 바이트 번호, 입력 바이트가 부가 데이터 세그먼트의 바이트임을 알려주는 신호를 함께 입력받으며 입력 바이트가 부가 데이터 세그먼트의 바이트일 경우에만 동작한다. 부가 데이터 세그먼트인 경우 입력 바이트의 세그먼트의 번호에 해당하는 20바이트의 신드롬 메모리를 읽어서 입력 데이터를 가지고 그 값을 갱신하여 저장하고 특정 세그먼트의 187개 정보 바이트가 모두 입력되어 신드롬이 계산되면 이를 오류 값 다항식 계산기에 전달한다.On the other hand, since the data of a specific segment is not input continuously but mixed with the data of 52 segments, the syndrome calculator must have 20 bytes of syndrome memory for each of the 52 segments. The syndrome calculator receives an input byte, a corresponding segment number, a byte number in a segment, and a signal indicating that the input byte is a byte of an additional data segment, and operates only when the input byte is a byte of an additional data segment. In case of additional data segment, 20 bytes of syndrome memory corresponding to segment number of input byte is read and the input data is updated and stored, and the value is calculated when all 187 information bytes of a specific segment are input and the syndrome is calculated. Pass in a polynomial calculator.

오류 값 다항식의 계산Calculate Error Value Polynomial

상기 오류 값 다항식은 신드롬 다항식과 오류 위치 다항식을 가지고 계산한다. 그런데, 전술한 바와 같이 20바이트의 패리티 위치 홀더가 오류 위치이므로 상기 오류 위치 다항식은 52개 세그먼트에 대하여 미리 계산된 값을 저장하여 사용할 수 있다.The error value polynomial is calculated with a syndrome polynomial and an error location polynomial. However, as described above, since the 20-byte parity position holder is an error position, the error position polynomial may store and use values calculated in advance for 52 segments.

즉, 오류 위치 다항식은 아래의 수학식 9와 같이 정의할 수 있다.That is, the error position polynomial may be defined as in Equation 9 below.

상기 수학식 9에서은 오류 위치를 나타내는 값으로서, 패리티 위치 홀더의 위치를 대입하여 하기의 수학식 10으로 표현된다.In Equation 9 Is a value indicating an error position and is represented by the following equation (10) by substituting the position of the parity position holder.

따라서, 상기 수학식 9는 상기 수학식 10을 대입하여 하기의 수학식 11과 같이 계산할 수 있다.Therefore, Equation 9 may be calculated as Equation 11 below by substituting Equation 10.

상기 수학식 11을 보면 알 수 있듯이, 세그먼트 번호에 따라서 오류 위치 다항식이 다르므로 52개 세그먼트에 대하여 각각 20개의 계수를 계산하여야 한다. 따라서 오류 위치 다항식의 계수를 저장하기 위해 필요한 ROM의 메모리 크기는 52 X 20(= 1040) 바이트이다.As can be seen from Equation 11, since the error position polynomial is different according to the segment number, 20 coefficients must be calculated for 52 segments. Thus, the memory size of the ROM required to store the coefficients of the error location polynomial is 52 X 20 (= 1040) bytes.

그리고, 앞에서 계산한 신드롬을 가지고 다음과 수학식 12와 같이 신드롬 다항식을 정의한다.The syndrome polynomial is defined as shown in Equation 12 using the syndrome calculated previously.

그러면, 상기 수학식 11, 12의 오류 위치 다항식과 신드롬 다항식을 이용하여 다음의 수학식 13과 같이 오류 값 다항식을 구할 수 있다.Then, an error value polynomial can be obtained as shown in Equation 13 using the error position polynomials and syndrome polynomials of Equations 11 and 12.

즉, 오류 위치 다항식과 신드롬 다항식을 곱하여 그 중에서 19차 항까지만 계산하면 된다. 상기 수학식 13에서 각 항의 계수는 다음의 수학식 14와 같이 계산된다.That is, the error position polynomial and the syndrome polynomial need to be multiplied to calculate only the 19th term. In Equation 13, the coefficient of each term is calculated as in Equation 14 below.

이때, 상기 수학식 14를 1 바이트 클록에 구현하기 위해서는 190개의 곱셈기와 190개의 덧셈기가 필요하다. 그러나, 하드웨어를 줄이기 위하여 상기된 수학식 14를 20 바이트 클록에 구현할 경우에는 19개의 곱셈기와 19개의 덧셈기로 구현할 수 있다. 또한, 상기 수학식 14를 심볼 클록으로 동작시키면, 상기된 수학식 14는 5 바이트 클록과 19개의 곱셈기, 19개의 덧셈기로 구현할 수 있다. 이는 4심볼 클록이 1바이트 클록에 해당하기 때문이다.In this case, in order to implement Equation 14 in a 1 byte clock, 190 multipliers and 190 adders are required. However, in order to reduce hardware, Equation 14 described above can be implemented with 19 multipliers and 19 adders. In addition, when Equation 14 is operated as a symbol clock, Equation 14 may be implemented as a 5-byte clock, 19 multipliers, and 19 adders. This is because the 4 symbol clock corresponds to the 1 byte clock.

도 7은 20 심볼 클록 동안에 오류 값 다항식을 계산하는 과정을 설명한 것이다. 먼저 20바이트의 신드롬이 계산되면 위의 19바이트의 레지스터(701)에 오류 위치 다항식의 계수()를 로드(load)하고, 아래의 20 바이트의 레지스터(702)의 값을 모두 0으로 한다. 다음 20개의 신드롬을 상기 20바이트의 레지스터(702)에 한 바이트씩 입력하면서 레지스터 값을 오른쪽으로 쉬프트(shift)한다. 도 7에서 상기 레지스터(702)의 왼쪽 첫번째 레지스터 출력과 19개의 곱셈기의 출력을 모두 더한 값이 오류 값 다항식의 계수()가 된다. 20개의 신드롬을부터까지 한 바이트씩 입력되는 동안 오류 값 다항식의 계수가부터까지 모두 계산된다.7 illustrates a process of calculating an error value polynomial during a 20 symbol clock. First, when a 20 byte syndrome is calculated, the coefficient of the error position polynomial ( ) And all the values of the registers 702 of the lower 20 bytes are set to zero. The next 20 syndromes are inputted one by one into the 20-byte register 702, and the register value is shifted to the right. In FIG. 7, the sum of the left first register output of the register 702 and the outputs of the 19 multipliers is the coefficient of the error value polynomial ( ) 20 syndromes from The coefficients of the error value polynomial from Until all are calculated.

패리티의 계산Calculation of parity

마지막으로 Forney 알고리듬을 사용하여 비체계적 리드-솔로몬 부호기(113)의 패리티를 계산한다. Forney 알고리듬에 의하면 각각의 오류 위치에 대한 오류 값은 다음과 같은 수학식 15로 주어진다. 수학식 15에서은 오류 위치에 해당하는 오류 값이다.Finally, the parity of the unstructured Reed-Solomon encoder 113 is calculated using the Forney algorithm. According to the Forney algorithm, the error value for each error location is given by the following equation (15). In equation (15) Is an error location Error value corresponding to.

상기 수학식 15에서는 오류 위치 다항식를 미분한 것이고,은 패리티 위치 홀더의 위치에 의해 결정된다.In Equation 15 Is the error location polynomial Is differentiating Is determined by the position of the parity position holder.

따라서, 상기 오류 값은 수학식 15에 패리티 위치 홀더의 위치를 대입하여 하기의 수학식 16과 같이 계산 할 수 있으며, 도 8은 이를 하드웨어로 구현한 구성 블록도이다.Thus, the error value May be calculated as shown in Equation 16 by substituting the position of the parity position holder in Equation 15, and FIG. 8 is a block diagram of hardware implementation.

상기 수학식 16에서 오류의 위치 및 오류 위치 다항식은 이미 알고 있으므로, 다음의 항은 ROM(801,802)에 저장하여 사용할 수가 있다. 여기서, ROM1(801)에는 상수가 저장되고, ROM2(802)에는 하기 수학식 17과 같은 상수가 저장된다. 상기 ROM(801,802)에 저장된 값은 세그먼트의 번호 s에 따라 다르다.Since the error location and the error location polynomial are already known in Equation 16, the following terms can be stored and used in the ROMs 801 and 802. Here, the ROM1 801 has a constant Is stored, and a constant as shown in Equation 17 is stored in the ROM2 802. The value stored in the ROM 801,802 depends on the number s of the segment.

이때, 52개의 세그먼트마다 각각 20개의 값을 저장하여야 하므로 필요한 ROM(801,802)의 크기는 각각 52 X 20(= 1040) 바이트이다.In this case, since 20 values are to be stored for each of the 52 segments, the size of the required ROMs 801 and 802 is 52 X 20 (= 1040) bytes, respectively.

따라서, 20개의 오류 위치의 역에서 오류 값 다항식만 대입하여 계산하면 상기 수학식 16을 계산할 수 있다.Therefore, the equation (16) can be calculated by substituting only the error value polynomial in the inverse of 20 error positions.

이때, 오류 위치 다항식의 차수가 19차이고 20개의 계수를 가지므로, 이것을 1 바이트 클록에 계산하기 위해서는 19 X 20(= 380)개의 곱셈기와 380개의 덧셈기가 필요하다. 그러나, 하드웨어를 줄이기 위해 이것을 20 심볼 클록에 걸쳐 계산한다면 20개의 곱셈기와 20개의 덧셈기만으로 구현할 수 있다. 이것은 오류 값 다항식의 값을 아래의 수학식 18과 같이 회귀적 형태로 계산하는 것이다.In this case, since the order of the error position polynomial is 19th order and has 20 coefficients, 19 X 20 (= 380) multipliers and 380 adders are needed to calculate the 1-byte clock. However, if we calculate this over 20 symbol clocks to reduce the hardware, we can only implement 20 multipliers and 20 adders. This is to calculate the value of the error value polynomial in a regression form as shown in Equation 18 below.

도 8에서 보면, 오류 값 다항식의 계수가 20 클록 동안부터까지 차례로 입력되는 동안 패리티의 계산이 수행된다. 이때, 먹스(803)는 입력되는 선택 신호가 0이면 ROM1(801)에 저장된 상수를 선택하여 곱셈기(804)로 출력하고, 1이면 ROM2(802)에 저장된 상수를 선택하여 상기 곱셈기(804)로 출력한다. 상기 먹스(803)로 입력되는 선택 신호는 맨 마지막 오류 값 다항식의 계수가 입력될 때에만 1이다.8, the coefficients of the error value polynomial are 20 clocks from Calculation of parity is performed while input up to. At this time, the mux 803 is a constant stored in the ROM1 (801) when the input selection signal is 0 Is selected and output to the multiplier 804, where 1 is a constant stored in ROM2 802. Is selected and output to the multiplier 804. The selection signal input to the mux 803 is the coefficient of the last error value polynomial. Is 1 only when is entered.

먼저, 첫번째 계수가 입력되면 곱셈기(804)는 먹스(803)를 통해 ROM1(801)에서 상수를 읽어 곱하여 레지스터(805)에 저장한다. 다음 두번째 계수가 입력되면 가산기(806)는 이를 상기 레지스터(805)의 값과 더하여 곱셈기(804)로 출력하고, 상기 곱셈기(804)는 상기 덧셈 결과를 ROM1(801)의 상수와 곱하여 상기 레지스터(805)에 저장한다. 이와 같은 방식으로까지 계산하고, 마지막 계수가 입력되면 상기 덧셈기(806)는 이를 레지스터(805)의 값과 더하여 곱셈기(804)로 출력하고, 상기 곱셈기(804)는 상기 덧셈 결과를ROM2(802)의 상수(상기 수학식 17의 값)와 곱하여 상기 레지스터(805)에 저장한다. 이때 저장된 값이 최종적으로 패리티 바이트가 된다.First, first coefficient Is input, the multiplier 804 receives a constant from ROM1 801 via mux 803. Read and multiply and store in the register 805. Second coefficient Is input, the adder 806 adds it to the multiplier 804 by adding it to the value of the register 805, and the multiplier 804 outputs the addition result to the constant of ROM1 801. Multiply by and store in the register 805. In this way Count up to the last coefficient Is added, the adder 806 adds it to the multiplier 804 by adding it to the value of the register 805, and the multiplier 804 outputs the addition result to the constant of ROM2 802 (the value of Equation 17). Multiply by and store in the register 805. The stored value finally becomes a parity byte.

한편, 20개의 패리티를 계산하여야 하므로, 도 8과 같은 패리티 계산기를 20개 구현하여야 한다. 따라서, 20개의 패리티를 계산하기 위해서는 곱셈기 20개와 덧셈기 20개, 2 X 52 X 20(= 2080) 바이트의 ROM이 필요하다.On the other hand, since 20 parity needs to be calculated, 20 parity calculators as shown in FIG. 8 should be implemented. Thus, 20 multipliers, 20 adders, and 2 X 52 X 20 (= 2080) bytes of ROM are required to calculate 20 parity.

이와 같이 20개의 패리티 바이트가 계산되면 이것을 패리티 버퍼에 옮겨서, 인터리버 출력의 패리티 위치 홀더를 치환할 수 있도록 한다.When 20 parity bytes are calculated in this way, they are transferred to a parity buffer so that the parity position holder of the interleaver output can be replaced.

도 9는 지금까지 설명한 erasure 리드-솔로몬 복호기를 하드웨어로 구현한 것으로서, 신드롬 계산기(901), 오류 값 다항식 계산기(902), 패리티 계산기(903), 패리티 버퍼(904), 및 제어부(905)로 구성된다.9 is a hardware implementation of the erasure Reed-Solomon decoder described above, which includes a syndrome calculator 901, an error value polynomial calculator 902, a parity calculator 903, a parity buffer 904, and a controller 905. It is composed.

우선, 상기 신드롬 계산기(901)는 심볼-바이트 변환부(112)로부터 입력 데이터와 함께 이에 해당하는 세그먼트 번호 s2, 세그먼트 내의 바이트 번호 k2, 입력 바이트가 부가 데이터 세그먼트의 바이트인지 아닌지를 알려주는 r2을 입력받는다. 상기 신드롬 계산기(901)는 입력 데이터가 부가 데이터인 경우에만 s2에 해당하는 세그먼트의 신드롬 메모리를 읽어 갱신한다.First, the syndrome calculator 901 obtains from the symbol-byte converter 112 the input data together with the corresponding segment number s2, the byte number k2 in the segment, and r2 indicating whether the input byte is the byte of the additional data segment. Receive input. The syndrome calculator 901 reads and updates the syndrome memory of the segment corresponding to s2 only when the input data is additional data.

그리고, 특정 세그먼트의 187개 정보 바이트가 모두 입력되어 최종적으로 신드롬 S(x)이 계산되면, 상기 신드롬 S(x)을 오류 값 다항식 계산기(902)로 전달하고, 이와 함께 이에 해당하는 세그먼트 번호 s3와 다음 블록의 동작을 시작하게 하는 start 신호를 전달한다. 상기 오류 값 다항식 계산기(902)는 입력받은 신드롬 S(x)을 가지고 오류 값 다항식의 계산이 모두 끝나면 그 결과를 패리티 계산기(903)에 전달하고, 이와 함께 이에 해당하는 세그먼트 번호 s3와 다음 블록의 동작을 시작하게 start 신호를 전달한다. 상기 패리티 계산기(903)는 20바이트의 패리티 계산을 마치면 그 결과 el를 패리티 버퍼(904)에 로드(load)한다. 마지막으로 상기 패리티 버퍼(904)는 제어부(905)로부터 세그먼트 번호 s1, 세그먼트 내의 바이트 번호 k1, 그리고 부가 데이터 세그먼트의 바이트임을 알려주는 r1를 입력받아 부가 데이터이고 187 <= k1 <= 206 인 경우에만 그에 해당하는 패리티 바이트를 출력한다.When all 187 information bytes of a specific segment are input and finally the syndrome S (x) is calculated, the syndrome S (x) is transmitted to the error value polynomial calculator 902, and the corresponding segment number s3 is obtained. And start signal to start the operation of the next block. The error value polynomial calculator 902 has the received syndrome S (x) and when the calculation of the error value polynomial is completed, the result Is transmitted to the parity calculator 903, along with the corresponding segment number s3 and the start signal to start the operation of the next block. The parity calculator 903 loads (load) the result e l After the calculation of the parity of 20 bytes to the parity buffer 904. Finally, the parity buffer 904 receives the segment number s1, the byte number k1 in the segment, and r1 indicating the byte of the additional data segment from the control unit 905, and is additional data only when 187 <= k1 <= 206. Outputs the corresponding parity byte.

도 9에서 제어부(905)는 erasure 리드-솔로몬 복호기에서 필요한 세그먼트 번호, 바이트 번호 및 부가 데이터임을 알려주는 신호를 발생시키기 위한 것이다. 상기 제어부(905)의 데이터 인터리버(905a)는 도 1의 데이터 인터리버(108)의 입력에 해당하는 세그먼트 번호 s와 세그먼트 내의 바이트 번호 k 그리고 부가 데이터 세그먼트임을 알려주는 r을 입력받는다. 여기서 s는 0에서 51까지의 값을 가지므로 5 비트로, k는 0에서 206까지의 값을 가지므로 8 비트로, 그리고 r은 1비트로 표현한다.In FIG. 9, the control unit 905 generates signals indicating that the segment number, the byte number, and the additional data are required by the erasure Reed-Solomon decoder. The data interleaver 905a of the controller 905 receives the segment number s corresponding to the input of the data interleaver 108 of FIG. 1, the byte number k in the segment, and r indicating that the additional data segment is included. Where s is a value from 0 to 51 and is represented by 5 bits, k is a value from 0 to 206, and is represented by 8 bits and r is represented by 1 bit.

따라서, 도 9의 제어부(905)에서 사용하는 데이터 인터리버(905a)의 입력은 총 15비트이며 이것은 상기된 도 1의 데이터 인터리버(108)와 동기를 맞추어 똑같이 동작한다.Accordingly, the input of the data interleaver 905a used in the control unit 905 of FIG. 9 is 15 bits in total, and it operates in the same manner as the data interleaver 108 of FIG. 1 described above.

한편, 상기 제어부(905)에서 지연기(905b)는 도 1에 있는 바이트-심볼 변환부(110), 부가 데이터 심볼 처리부(111), 심볼-바이트 변환부(112)의 처리 지연만큼 상기 제어부(905)의 데이터 인터리버(905a) 출력을 지연하는 역할을 한다. 상기 제어부(905)의 데이터 인터리버(905a) 출력 s1, k1, r1은 패리피 버퍼(904)에 입력되고, 지연기(905b)의 출력 S2, k2, r2는 신드롬 계산기(901)에 입력된다.On the other hand, in the control unit 905, the delay unit 905b controls the control unit as much as the processing delay of the byte-symbol conversion unit 110, the additional data symbol processing unit 111, and the symbol-byte conversion unit 112 shown in FIG. It serves to delay the output of the data interleaver 905a of 905. The data interleaver 905a outputs s1, k1, r1 of the control unit 905 are input to the parity buffer 904, and the outputs S2, k2, r2 of the delay unit 905b are input to the syndrome calculator 901.

이때, 상기 Erasure 리드-솔로몬 복호기(113)는 28 바이트 클록 내에 패리티를 계산하여야 한다. 상기 설명한 신드롬 계산기(901)는 187 정보 바이트가 모두 입력되면 바로 신드롬이 계산되어 저장되므로 처리 지연은 1 바이트 클록이다. 한편, 오류 값 다항식 계산기(902)와 패리티 계산기(903)에서는 각각 1 바이트 클록 내에 계산을 할 수가 있지만 이 경우에는 하드웨어의 크기가 커지기 때문에, 도 7, 도 8과 같이 20 심볼 클록에 동작시킨다. 즉, 한 개의 바이트 클록은 네 개의 심볼 클록과 같으므로 20 심볼 클록은 5 바이트 클록과 같다.At this time, the Erasure Reed-Solomon decoder 113 should calculate parity within a 28 byte clock. In the above-described syndrome calculator 901, when all 187 information bytes are input, the syndrome is calculated and stored, and thus the processing delay is 1 byte clock. On the other hand, the error value polynomial calculator 902 and the parity calculator 903 can each calculate within one byte clock. However, in this case, since the size of the hardware increases, the operation is performed at 20 symbol clocks as shown in Figs. That is, one byte clock equals four symbol clocks, so a 20 symbol clock equals five byte clocks.

따라서, 도 9의 erasure 리드-솔로몬 복호기(113)에서 신드롬 계산기(901)와 패리티 버퍼(904)는 바이트 클록을 사용하고, 오류 값 다항식 계산기(902)와 패리티 계산기(903)는 심볼 클록을 사용하여 구현하면, 총 11바이트 클록 내에 erasure 리드-솔로몬 복호기를 구현할 수 있으며 동시에 하드웨어의 크기를 줄일 수 있다.Accordingly, in the erasure Reed-Solomon decoder 113 of FIG. 9, the syndrome calculator 901 and the parity buffer 904 use the byte clock, and the error value polynomial calculator 902 and the parity calculator 903 use the symbol clock. If implemented, the erasure Reed-Solomon decoder can be implemented within a total of 11 bytes of clock, while at the same time reducing the size of the hardware.

하기의 표 1은 도 6의 회귀적 신드롬 계산기와 도 7의 오류 값 다항식 계산기, 그리고 도 8의 패리티 계산기를 사용하는 경우에 필요한 하드웨어의 크기와 처리 지연을 나타낸 것이다.Table 1 below shows the hardware size and processing delay required when using the regression syndrome calculator of FIG. 6, the error value polynomial calculator of FIG. 7, and the parity calculator of FIG. 8.

곱셈기Multiplier 덧셈기Adder ROMROM 처리 지연Processing delay 신드롬 계산기Syndrome calculator 19개19 20개20 988 바이트988 bytes 1 바이트 클록1 byte clock 오류 값 다항식 계산기Error value polynomial calculator 19개19 19개19 1040 바이트1040 bytes 5 바이트 클록5 byte clock 패리티 계산기Parity calculator 20개20 20개20 2080 바이트2080 bytes 5 바이트 클록5 byte clock 합계Sum 58개58 59개59 4108 바이트4108 bytes 11 바이트 클록11 byte clock

이상에서와 같이 본 발명에 따른 디지털 VSB 전송 시스템은, 다음과 같은 효과가 있다.As described above, the digital VSB transmission system according to the present invention has the following effects.

첫째는 기존의 ATSC 8T-VSB 시스템과의 호환성을 유지시켜준다. 즉 기존의 ATSC 8T-VSB 수신기의 리드-솔로몬 복호기에서 부가 데이터 세그먼트를 정상적으로 복호할 수 있다.First, it maintains compatibility with existing ATSC 8T-VSB systems. That is, the additional data segment can be normally decoded in the Reed-Solomon decoder of the conventional ATSC 8T-VSB receiver.

둘째는 디지털 VSB 전송 시스템에서 사용하는 비체계적 리드-솔로몬 부호기의 하드웨어 크기를 줄일 수 있다.Second, the hardware size of the unstructured Reed-Solomon encoder used in the digital VSB transmission system can be reduced.

셋째는 디지털 VSB 전송 시스템에서 사용하는 비체계적 리드-솔로몬 부호화를 제한된 시간 내(예, 28바이트 클록 내)에 수행할 수 있다.Third, the unstructured Reed-Solomon coding used in the digital VSB transmission system can be performed within a limited time (eg, within a 28-byte clock).

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (16)

MPEG 트랜스포트 패킷의 포맷으로 변환된 부가 데이터와 MPEG 방송 데이터를 다중화하여 전송하는 디지털 VSB 전송 시스템에서 있어서,In a digital VSB transmission system for multiplexing and transmitting additional data converted into a format of an MPEG transport packet and MPEG broadcast data, 상기 다중화된 데이터가 부가 데이터 세그먼트이면 다수개의 패리티 위치 홀더를 구한 후 상기 패리티 위치 홀더에 널 바이트를 삽입하는 패리티 위치 홀더 삽입부;A parity position holder inserter for obtaining a plurality of parity position holders and inserting null bytes into the parity position holders if the multiplexed data is an additional data segment; 상기 패리티 위치 홀더 삽입부의 출력에 대해 데이터 인터리빙을 수행하여 각 세그먼트에 대해 다수개의 정보 바이트를 먼저 출력한 다음 널 바이트가 삽입된 다수개의 패리티 바이트를 나중에 출력하는 데이터 인터리버;A data interleaver for performing data interleaving on the output of the parity position holder inserter to output a plurality of information bytes for each segment first, and then output a plurality of parity bytes inserted with null bytes later; 상기 데이터 인터리버에서 출력되는 패리티 바이트들을 비체계적 리드 솔로몬 부호화로 구한 패리티 바이트들로 치환하는 패리티 치환부; 그리고A parity replacer for replacing parity bytes output from the data interleaver with parity bytes obtained by unstructured Reed Solomon coding; And 상기 널 바이트가 삽입된 패리티 바이트들을 오류 위치로 설정하고 상기 패리티 바이트들을 제외한 정보 바이트들을 패리티 치환부를 통해 입력받아, 상기 데이터 인터리버 입력에서의 비체계적 리드 솔로몬 부호화를 수행하여 패리티 바이트를 다시 계산한 후 상기 패리티 치환부로 출력하는 비체계적 리드 솔로몬 부호기를 포함하여 구성되는 것을 특징으로 하는 디지털 VSB 전송 시스템.Set the parity bytes into which the null byte is inserted as an error position, receive information bytes except the parity bytes through a parity replacement unit, recalculate parity bytes by performing unstructured Reed-Solomon encoding at the data interleaver input. And a non-systematic Reed Solomon encoder output to the parity replacement unit. 제 1 항에 있어서, 상기 비체계적 리드 솔로몬 부호화기는The method of claim 1, wherein the unstructured Reed Solomon encoder 상기 널 바이트가 삽입된 패리티 바이트를 오류 위치로 설정하고, 상기 널바이트가 삽입된 패리티 바이트를 제외한 정보 바이트들에 대해 리드 솔로몬 복호를 수행하여 오류 정정된 다수개의 패리티 바이트를 출력하는 이레이저 리드 솔로몬 복호기인 것을 특징으로 하는 디지털 VSB 전송 시스템.Eraser Reed Solomon that sets the parity byte into which the null byte is inserted as an error position, and outputs a plurality of error-corrected parity bytes by performing Read Solomon decoding on information bytes except the parity byte into which the null byte is inserted. A digital VSB transmission system, which is a decoder. 제 1 항에 있어서,The method of claim 1, 상기 패리티 치환부의 출력을 심볼 단위로 변환하는 바이트-심볼 변환부와,A byte-symbol converter for converting the output of the parity replacement unit into symbols; 상기 심볼 단위로 변환된 부가 데이터의 정보 비트에 대해 별도의 부가 데이터 처리를 수행하는 부가 데이터 심볼 처리부와,An additional data symbol processing unit for performing additional additional data processing on the information bits of the additional data converted in the symbol unit; 상기 부가 데이터 심볼 처리부에서 출력되는 심볼을 바이트 단위로 변환하여 상기 비체계적 리드 솔로몬 부호화기로 출력하는 심볼-바이트 변환부가 더 구비되는 것을 특징으로 하는 디지털 TV 전송 시스템.And a symbol-byte converter configured to convert the symbols output from the additional data symbol processing unit into byte units and output the converted symbols to the unstructured Reed Solomon encoder. 제 1 항에 있어서, 상기 비체계적 리드 솔로몬 부호화기는The method of claim 1, wherein the unstructured Reed Solomon encoder 상기 패리티 치환부에서 출력되는 데이터가 부가 데이터인 경우에만 특정 세그먼트의 N(N은 187개)개의 정보 바이트가 입력되는 동안 M(M은 20)개의 신드롬을 계산하여 출력하는 신드롬 계산기와,A syndrome calculator for calculating and outputting M (M is 20) syndromes while N (N is 187) information bytes of a specific segment are inputted only when the data output from the parity substitution unit is additional data; 상기 계산된 M개의 신드롬과 미리 계산된 오류 위치 다항식을 이용하여 M개의 오류 값 다항식의 계수를 계산하는 오류 값 다항식 계산기와,An error value polynomial calculator that calculates coefficients of M error value polynomials using the calculated M syndromes and a previously calculated error position polynomial; 상기 오류 값 다항식의 계수에 포니 알고리듬을 적용하여 M개의 패리티 위치 홀더의 위치에 대한 오류값을 각각 구하여 패리티 바이트로 출력하는 패리티 계산기와,A parity calculator for applying the pony algorithm to the coefficients of the error value polynomial to obtain error values for the positions of the M parity position holders and outputting them as parity bytes; 상기 패리티 계산기에서 계산된 M 바이트의 패리티를 저장하며, 해당 세그먼트 내 바이트(k1)가 다음 조건(187 <= k1 <= 206)을 만족하는 경우에만 그에 해당하는 패리티 바이트를 상기 패리티 치환부로 출력하는 패리티 버퍼와,Storing the parity of M bytes calculated by the parity calculator, and outputting corresponding parity bytes to the parity replacement unit only when the byte k1 in the segment satisfies the following condition (187 <= k1 <= 206). Parity buffers, 상기 각 부에서 필요한 세그먼트 번호, 해당 세그먼트 내 바이트 번호, 부가 데이터임을 알려주는 신호를 생성하여 상기 각 부로 출력하는 제어부로 구성되는 것을 특징으로 하는 디지털 VSB 전송 시스템.And a controller for generating a signal indicating that the segment number, the byte number in the segment, and the additional data are required in each unit, and outputting the signal to the respective units. 제 3 항에 있어서,The method of claim 3, wherein 상기 신드롬 계산기와 패리티 버퍼는 바이트 클록으로 동작시키고, 상기 오류 값 다항식 계산기와 패리티 계산기는 심볼 클록으로 동작시키는 것을 특징으로 하는 디지털 VSB 전송 시스템.The syndrome calculator and the parity buffer operate on a byte clock, and the error value polynomial calculator and the parity calculator operate on a symbol clock. 제 3 항에 있어서, 상기 신드롬 계산기는The method of claim 3, wherein the syndrome calculator 하기의 수학식을 적용하여 M개의 신드롬을 계산하는 것을 특징으로 하는 디지털 VSB 전송 시스템.Digital VSB transmission system characterized in that to calculate the M syndromes by applying the following equation. 상기 mod는 나머지 연산, s는 세그먼트 번호, k는 해당 세그먼트 내의 바이트 번호, f(k,s)는 세그먼트 내의 바이트의 위치를 나타냄.Where mod is the remainder operation, s is the segment number, k is the byte number in the segment, and f (k, s) is the position of the byte in the segment. 제 3 항에 있어서, 상기 신드롬 계산기는The method of claim 3, wherein the syndrome calculator 207개의 상수를 저장하고 있는 롬과,207 constants Rom that stores the, 세그먼트의 번호 s와 세그먼트 내의 바이트 번호 k를 입력받아 상기 롬에서 상수를 읽을 주소 206-f(k,s)를 발생시키는 주소 발생기와,An address generator which receives the number s of the segment and the byte number k in the segment and generates an address 206-f (k, s) for reading constants in the ROM; 특정 세그먼트의 정보 바이트가 하나씩 입력될 때마다 상기 롬에서 출력되는 상수를 곱하여 출력하는 곱셈기와,A multiplier for multiplying a constant output from the ROM each time one information byte of a specific segment is input; 상기 곱셈기의 출력과 저장된 값을 피드백받아 더하는 덧셈기와,An adder for adding feedback from the output of the multiplier and a stored value; 상기 덧셈기의 출력을 저장한 후 상기 덧셈기로 피드백하는 레지스터로 구성되며,And a register for storing the output of the adder and feeding it back to the adder. 해당 세그먼트의 마지막 정보 바이트가 입력되면 상기 레지스터의 출력을 신드롬으로 하여 상기 오류 값 다항식 계산기로 출력하며, 상기된 신드롬 계산기는 발생시킬 신드롬의 수만큼 구성되는 것을 특징으로 하는 디지털 VSB 전송 시스템.And when the last information byte of the corresponding segment is input, output the register as a syndrome to the error value polynomial calculator, wherein the syndrome calculator is configured as many as the number of syndromes to generate. 제 3 항에 있어서, 상기 신드롬 계산기는The method of claim 3, wherein the syndrome calculator 52개의 상수를 저장하고 있으며, 주소는 세그먼트의 번호 s를 사용하는 롬과,52 constants And the address is a rom using the segment number s, 선택 신호에 따라 제 1 상수, 제 2 상수또는 상기 롬에서 출력되는 제 3 상수중 어느 하나를 선택 출력하는 먹스와,First constant according to the selection signal , The second constant Or a third constant output from the ROM Select any one of the mux, 특정 세그먼트 내의 바이트 번호 k가 0 ≤k ≤ 185이면서 f(k,s) ≤154 이면을, 그렇지 않으면을 선택하고, 상기 k=186이면를 선택하도록 선택 신호를 발생시켜 상기 먹스로 출력하는 먹스 제어기와,If byte number k in a particular segment is 0 ≤ k ≤ 185 and f (k, s) ≤ 154 Otherwise If k = 186 A mux controller for generating a selection signal to select a mux and outputting the mux to the mux; 특정 세그먼트의 정보 바이트가 하나씩 입력될 때마다 저장된 값을 피드백받아 더하는 덧셈기와,An adder that feeds back a stored value whenever an information byte of a specific segment is input, 상기 덧셈기의 출력과 상기 먹스를 통해 출력되는 상수를 곱하여 상기 레지스터에 저장하는 곱셈기로 구성되며,A multiplier configured to multiply the output of the adder by a constant output through the mux and store the multiplier in the register, 해당 세그먼트의 마지막 정보 바이트가 입력되면 상기 레지스터의 출력을 신드롬으로 하여 상기 오류 값 다항식 계산기로 출력하며, 상기된 신드롬 계산기는 발생시킬 신드롬의 수만큼 구성되는 것을 특징으로 하는 디지털 VSB 전송 시스템.And when the last information byte of the corresponding segment is input, output the register as a syndrome to the error value polynomial calculator, wherein the syndrome calculator is configured as many as the number of syndromes to generate. 제 3 항에 있어서, 상기 오류 값 다항식 계산기는The method of claim 3, wherein the error value polynomial calculator 상기 신드롬을 이용하여 계산한 신드롬 다항식 S(x)과 오류 위치 다항식을 곱하여 M개의 계수를 갖는 오류 값 다항식을 계산하며, 상기 오류 위치 다항식은 M바이트의 패리티 위치 홀더를 오류 위치로 설정하여 미리 계산되는 것을 특징으로 하는 디지털 VSB 전송 시스템.Syndrome polynomial S (x) and error position polynomial calculated using the syndrome Multiplying to calculate an error value polynomial having M coefficients, wherein the error location polynomial is calculated in advance by setting the M-byte parity position holder to the error location. 제 9 항에 있어서, 상기 오류 위치 다항식은10. The method of claim 9, wherein the error location polynomial is 하기의 식을 적용하여 미리 계산하는 것을 특징으로 하는 디지털 VSB 전송 시스템.Digital VSB transmission system characterized in that the calculation in advance by applying the following equation. 여기서,은 오류 위치를 나타내는 값으로서, 패리티 위치 홀더의 위치를 대입하여 구함 here, Is the value indicating the error position, and is obtained by substituting the position of the parity position holder. 제 9 항에 있어서, 상기 오류 위치 다항식은10. The method of claim 9, wherein the error location polynomial is 세그먼트 번호에 따라서 다르므로 52개 세그먼트에 대하여 각각 M개의 오류 위치 다항식의 계수를 계산하여 저장하는 것을 특징으로 하는 디지털 VSB 전송 시스템.A digital VSB transmission system characterized by calculating and storing coefficients of M error position polynomials for 52 segments because they differ according to the segment number. 제 3 항에 있어서, 상기 오류 값 다항식 계산기는The method of claim 3, wherein the error value polynomial calculator 하기의 식을 적용하여 M개의 오류 값 다항식의 계수를 계산하는 것을 특징으로 하는 디지털 VSB 전송 시스템.A digital VSB transmission system comprising calculating coefficients of M error polynomials by applying the following equation. 상기 각 항의 계수는 다음과 같이 계산됨.The coefficient of each term is calculated as follows. 제 3 항에 있어서, 상기 패리티 계산기는4. The parity calculator of claim 3, wherein the parity calculator 하기의 식을 적용하여 각각의 오류 위치에 대한 오류 값을 구하여 패리티로 출력하는 것을 특징으로 하는 디지털 VSB 전송 시스템.Each error location by applying the following formula Error value for Digital VSB transmission system, characterized in that to obtain a parity to obtain. 여기서,는 오류 위치 다항식를 미분한 것이고,은 패리티 위치 홀더의 위치에 의해 결정됨.here, Is the error location polynomial Is differentiating Is determined by the position of the parity position holder. 제 3 항에 있어서, 상기 패리티 계산기는4. The parity calculator of claim 3, wherein the parity calculator 상수를 저장하고, 주소는 세그먼트의 번호 s를 사용하며, 50개의 세그먼트마다 각각 20개의 값을 저장하는 제 1 롬과,a constant A first ROM for storing 20 values for every 50 segments, 상수를 저장하고, 주소는 세그먼트의 번호 s를 사용하며, 52개의 세그먼트마다 각각 20개의 값을 저장하는 제 2 롬과,a constant A second ROM for storing 20 values for each of the 52 segments, 상기 오류 값 다항식의 계수들은 가장 높은 차수부터 순차적으로 입력되며(), 맨 마지막 오류 값 다항식의 계수가 입력될 때에만 제 1 롬에 저장된 상수를 선택 출력하고, 그 이외에는 제 2 롬에 저장된 상수를 선택 출력하는 먹스와,The coefficients of the error value polynomial are input sequentially from the highest order ( ), Coefficient of last error value polynomial Mux for selectively outputting the constant stored in the first ROM only when is input, and otherwise outputting the constant stored in the second ROM, 오류 값 다항식의 계수가부터까지 순차적으로 입력될 때마다 저장된 값을 피드백받아 더하는 덧셈기와,The coefficient of the error value polynomial from An adder that adds feedback to the stored values every time it is sequentially inputted, 상기 덧셈기의 출력과 상기 먹스를 통해 출력되는 상수를 곱하여 상기 레지스터에 저장하며,Multiplying the output of the adder by a constant output through the mux and storing the multiplier in the register; 상기 마지막 오류 값 다항식의 계수가 입력되어 연산된 후 저장된 값이 최종적으로 패리티 바이트가 되어 출력되며, 상기 패리티 계산기는 상기 패리티 위치 홀더의 수만큼 필요한 것을 특징으로 하는 디지털 VSB 전송 시스템.Coefficient of last error value polynomial Is inputted and calculated, and the stored value is finally outputted as a parity byte, and the parity calculator is required as many as the number of parity position holders. 제 1 항에 있어서, 상기 패리티 위치 홀더 삽입부는The method of claim 1, wherein the parity position holder insert 입력되는 데이터가 부가 데이터 세그먼트가 아닌 경우, 입력 데이터에 대해 체계적 리드 솔로몬 부호화를 수행하는 것을 특징으로 하는 디지털 VSB 전송 시스템.And if the input data is not an additional data segment, systematic Reed Solomon encoding is performed on the input data. 제 1 항에 있어서, 상기 패리티 위치 홀더 삽입부는The method of claim 1, wherein the parity position holder insert 입력되는 데이터가 부가 데이터 세그먼트인 경우에 20개의 패리티 바이트가 상기 데이터 인터리버의 출력단에서 187개의 정보 바이트보다 나중에 출력되도록 패리티 바이트의 위치를 정한 후 정해진 패리티 바이트 위치에는 널 바이트를 쓰고, 나머지 187개의 정보 바이트 위치에는 입력받은 187개의 정보 바이트를 순차적으로 쓰는 것을 특징으로 하는 디지털 VSB 전송 시스템.When the input data is an additional data segment, the parity byte is positioned so that 20 parity bytes are output later than 187 information bytes at the output terminal of the data interleaver, and then a null byte is written at the determined parity byte position, and the remaining 187 information is stored. Digital VSB transmission system, characterized in that write the 187 information bytes received sequentially in the byte position.
KR1020010060701A 2001-09-28 2001-09-28 Digital transmit system KR100762132B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010060701A KR100762132B1 (en) 2001-09-28 2001-09-28 Digital transmit system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010060701A KR100762132B1 (en) 2001-09-28 2001-09-28 Digital transmit system

Publications (2)

Publication Number Publication Date
KR20030026761A true KR20030026761A (en) 2003-04-03
KR100762132B1 KR100762132B1 (en) 2007-10-02

Family

ID=29562943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010060701A KR100762132B1 (en) 2001-09-28 2001-09-28 Digital transmit system

Country Status (1)

Country Link
KR (1) KR100762132B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361097A (en) * 1993-04-02 1994-11-01 Rca Thomson Licensing Corporation Priority processing of encoded video signal including insertion of datastream null words during priority analysis intervals
US6788710B1 (en) * 1998-03-19 2004-09-07 Thomson Licensing S.A. Auxiliary data insertion in a transport datastream
KR20010011331A (en) * 1999-07-27 2001-02-15 구자홍 Bit error rate measuring apparatus
KR100360622B1 (en) * 2000-06-12 2002-11-13 주식회사 문화방송 MPEG Data frame structure and transmitting and receiving system using the same

Also Published As

Publication number Publication date
KR100762132B1 (en) 2007-10-02

Similar Documents

Publication Publication Date Title
KR100850932B1 (en) Digital transmit system and method
KR100793766B1 (en) Digital transmit system and method
USRE47611E1 (en) DTV television transmitter/receiver and method of processing data in DTV transmitter/receiver
KR101191182B1 (en) Digital broadcasting system and processing method
US8176403B2 (en) Distributed block coding (DBC)
KR100734351B1 (en) Digital broadcasting transmit system
US8174625B2 (en) DTV transmitter and method of coding data in DTV transmitter
KR101319868B1 (en) Digital broadcasting system and processing method
JP2011528867A (en) Apparatus and method for decoding signals
EP2420015B1 (en) Method and apparatus for encoding a signal
KR100762132B1 (en) Digital transmit system
WO2021044765A1 (en) Communication system and communication method
KR100265948B1 (en) METHOD FOR DECODING REED-SOLOMON DECODER HAVING Nú½Ñ‡ NUMBER OF FIFO AND REED-SOLOMON DECODER
KR100212825B1 (en) Syndrome calculating apparatus of reed solomon decoder
KR100265949B1 (en) METHOD FOR DESIGNING Nú½Ñ‡ NUMBER OF FIFO OF REED-SOLOMON DECODER
KR100925446B1 (en) Broadcasting transmitter/receiver and method of processing broadcasting signal
KR101147761B1 (en) Digital broadcasting system and method
KR19990076386A (en) Decoded data rearrangement device

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee