KR100188142B1 - Memory access method for the fast synchronization of convolutional deinterleaver - Google Patents

Memory access method for the fast synchronization of convolutional deinterleaver Download PDF

Info

Publication number
KR100188142B1
KR100188142B1 KR1019950011726A KR19950011726A KR100188142B1 KR 100188142 B1 KR100188142 B1 KR 100188142B1 KR 1019950011726 A KR1019950011726 A KR 1019950011726A KR 19950011726 A KR19950011726 A KR 19950011726A KR 100188142 B1 KR100188142 B1 KR 100188142B1
Authority
KR
South Korea
Prior art keywords
ram
address generator
convolutional deinterleaver
memory
buffer
Prior art date
Application number
KR1019950011726A
Other languages
Korean (ko)
Other versions
KR960043900A (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 KR1019950011726A priority Critical patent/KR100188142B1/en
Publication of KR960043900A publication Critical patent/KR960043900A/en
Application granted granted Critical
Publication of KR100188142B1 publication Critical patent/KR100188142B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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 using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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/33Synchronisation based on error coding or decoding
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

이 발명은 디지탈 텔레비전 내의 신호수신부의 하나인 포워드 에러보정 시스템(FEC system:forward error correction system)에 적용되는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 엑세스 방법에 관한 것으로서 , 특정 영역에 다수의 원형버퍼가 할당되고 각각의 원형버퍼에는 일이상의 피포버퍼가 할당되어 데이타를 저장하는 램(73)과, 상기 램(73)상의 라이트하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 라이트주소 발생기(71)와, 동시신호(SYNC)를 입력으로 하여 상기 램(73)상의 리드하기 위한 공간을 결정하는 열방향및 행방향 주소를 생성하는 리드주소 발생기(72)로 이루어지는 콘벌루션 디인터리버를 위한 메모리 회로로 구성되어 , 상기 리드주소 발생기(72)로 입력되는 동기신호(SYNC)가 활성화되면, 리드주소 발생기(72)에서 램 (73)으로 입력되는 열방향및 행방향 주소를 변화시켜 램(73)의 기억공간에 할당된 원형버퍼와 피포버퍼간의 매핑관계를 변화시키고, 상기 램(73)내의 리드동작이 수행되는 피포버퍼의 순서가 변화되도록 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법에 관한 것이다.The present invention relates to a memory access method for fast synchronization of a convolutional deinterleaver applied to a forward error correction system (FEC system), which is one of the signal receivers in a digital television. Each circular buffer is assigned one or more pibuffer buffers, and includes a RAM 73 for storing data and a write address generator for generating column- and row-oriented addresses for determining space for writing on the RAM 73. For a convolutional deinterleaver comprising a 71 and a read address generator 72 for generating column and row addresses for determining a space for reading on the RAM 73 by inputting a simultaneous signal SYNC. When the synchronization signal SYNC inputted to the read address generator 72 is activated, the memory circuit is configured to transfer the read address generator 72 to the RAM 73. The mapping relation between the circular buffer allocated to the storage space of the RAM 73 and the target buffer is changed by changing the output column direction and row direction addresses, and the order of the target buffer to which the read operation is performed in the RAM 73 is changed. The present invention relates to a memory access method for fast synchronization of a convolutional deinterleaver.

Description

콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법Memory Access Method for Fast Synchronization of Convolutional Deinterleaver

제1도는 디지탈 텔레비전의 일반적인 신호수신부의구성 블럭도이고,1 is a block diagram of a general signal receiver of a digital television;

제2도는 블럭 인터리버의 메모리 구조를 도시한 것이고,2 shows a memory structure of a block interleaver,

제3도는 콘벌루션 인터리빙-디인터리빙 동작과정을 도시한 것이고,3 illustrates a convolutional interleaving-deinterleaving operation process,

제4도는 지아이 디지사이퍼 수신부의 구성 블럭도이고,4 is a block diagram of a GI Digisigner receiver;

제5도는 콘벌루션 디인터리버를 위한 일반적인 메모리 회로의 구성 블럭도이고,5 is a block diagram illustrating a general memory circuit for a convolutional deinterleaver.

제6도는 이 발명의 실시예에 따른 콘벌루션 디인터리버를 위한 메모리 회로의 구성 블럭도이다.6 is a block diagram illustrating a configuration of a memory circuit for a convolutional deinterleaver according to an embodiment of the present invention.

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

71 : 라이트주소 발생기 72 : 리드주소 발생기71: write address generator 72: lead address generator

73 : 램73: ram

이 발명은 콘벌루션 디인터리버(convolutional deinterleaver)에 관한 것으로서 더욱 상세하게 말하자면 디지탈 텔레비전 내의 신호수신부의 하나인 포워드 에러보정 시스템(FEC sysyem : forward error correction system)에 적용되는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법에 관한 것이다.The present invention relates to a convolutional deinterleaver, and more specifically, to fast synchronization of a convolutional deinterleaver applied to a forward error correction system (FEC sysyem), one of the signal receivers in digital television. The present invention relates to a memory access method.

최근의 디지탈 영상신호 압축기술의 발달은 좁은 대역에서 다량의 영상신호를 전송하는 것을 가능하게 하였다. 압축된 영상신호가 잡음이 있는 전송로를 통과하여 전송될 때에는 잡음으로 인한 오류가 발생하게 되며 수신시에 오류가 크지 않더라도 압축 복원을 할 경우 무시할 수 없는 오류로 발전할 수 있기 때문에 압축된 데이타의 전송시에는 매우 낮은 오류 확률을 요구하게 된다.Recent developments in digital video signal compression technology have made it possible to transmit large amounts of video signals in narrow bands. When a compressed video signal is transmitted through a noisy transmission line, an error due to noise occurs, and even if the error is not large at the time of reception, it may develop into a non-negligible error when decompression is performed. Transmission requires very low error probability.

디지탈 텔레비전과 같은 방송 시스템에서는 오류가 발생한다 하더라도 재전송이 불가능하며, 따라서 어느 정도의 오류가 있을 경우에도 올바른 오류 정정을 가능하게 하는 포워드 에러보정(FEC)기술이 많이 쓰이고 있다.In a broadcasting system such as digital television, even if an error occurs, retransmission is impossible, and thus, a lot of forward error correction (FEC) technology is used to enable correct error correction even when there is a certain amount of error.

이하, 첨부된 도면을 참조하여 종래의 기술에 대해 설명한다.Hereinafter, with reference to the accompanying drawings will be described in the prior art.

제1도는 디지탈 텔레비전의 일반적인 신호수신부의 구성 블럭도이고, 제2도는 블럭 인터리버의 메모리 구조를 도시한 것이고, 제3도는 콘벌루션 인터리빙-디인터리빙 동작과정을 도시한 것이고, 제4도는 지아이 디지사이퍼 수신부의 구성 블럭도이고, 제5도는 콘벌루션 디인터리버를 위한 일반적인 메모리 회로의 구성 블럭도이다.FIG. 1 is a block diagram of a general signal receiver of a digital television, FIG. 2 shows a memory structure of a block interleaver, and FIG. 3 shows a convolutional interleaving-deinterleaving operation process. Fig. 5 is a block diagram of a general memory circuit for a convolutional deinterleaver.

제1도를 참조하면, 디지탈방식 텔레비전의 일반적인 신호수신부는 방송파를 수신하는 안테나(11), 튜너(12), 복조기(13), 포워드 에러보정 디코더(14), 디멀티플렉서(15)가 차례로 연결되고, 상기 디멀티플렉서(15)에는 비디오 신호를 위한 비디오 디코더(16)와 엔티에스씨(NTSC : National Television System Committee)인코더(17)가 차례로 연결되는 한편, 오디오 신호를 위한 오디오 디코더(18) 및 오디오 디지탈/아날로그 변환기(19)가 연결되는 구조를 가진다.Referring to FIG. 1, a general signal receiver of a digital television is connected to an antenna 11, a tuner 12, a demodulator 13, a forward error correction decoder 14, and a demultiplexer 15 which receive broadcast waves in sequence. The demultiplexer 15 is connected to a video decoder 16 for a video signal and an NTSC (NTSC) encoder 17 in turn, while an audio decoder 18 and an audio for an audio signal are connected. The digital to analog converter 19 is connected.

상기한 구성에서 복조기(13)와 포워드 에러보정 디코더(14)는 전송매체에 따라, 즉 위송방송(DBS:Direct Broadcasting Satellite)인가, 케이블 방송인가, 지상방송인가에 따라 그 구조가 다르며, 국가마다 요구되는 사양이 다르며, 위성방송이나 케이블 방송의 경우에는 한국가내에서도 방송회사마다 다른 사양을 사용하고 있다.In the above configuration, the demodulator 13 and the forward error correction decoder 14 have different structures depending on the transmission medium, i.e., whether it is a direct broadcast satellite (DBS), a cable broadcast or a terrestrial broadcast. The specifications required are different, and in the case of satellite broadcasting or cable broadcasting, different specifications are used by broadcasting companies in Korea.

통상, 다지탈 방식 텔레비전의 수신기에 사용되는 포워드 에러보정 시스템은 비터비 디코더(Viterbi decorder)(또는 트렐리스 디코더 Trellis decorder)와, 리드-솔로몬 디코더(Reed-Solomon decorder)와 디인터리버(Deinterleaver)로 구성된다.Typically, forward error correction systems used in receivers of digital televisions include Viterbi decorders (or Trellis decorders), Reed-Solomon decorders and Deinterleavers. It consists of.

다음으로, 디인터리버로 사용되는 블럭 디인터리버와 콘벌루션 디인터리버에 대해 설명한다.Next, a block deinterleaver and a convolutional deinterleaver used as the deinterleaver will be described.

제2도를 참조하면, 가장 간단한 형태의 인터리버인 블럭 인터리버의 메모리 구조가 도시되어 있다.Referring to FIG. 2, there is shown a memory structure of a block interleaver, which is the simplest type of interleaver.

상기 블럭 인터리버는 깊이 I=5이고 스팬N=15이다.The block interleaver has a depth I = 5 and spanN = 15.

제3도에 도시되어 있듯이, 블럭 인터리버는 어레이(array)형태의 램(Random Accerr Memory)으로 되어 있으며 I행과 N열을 가져 I×N의 메모리 공간을 필요로 한다.As shown in FIG. 3, the block interleaver is an array-type RAM (Random Accerr Memory), which has I rows and N columns, and requires I × N memory space.

포워드 에러보정 코딩 기법에 의해 코딩된 심벌은 열방향으로 라이트(write)되며, 리드(read)동작시에는 행방향으로 수행되어 심벌의 순서가 뒤섞인 효과를 가져온다.The symbols coded by the forward error correction coding technique are written in the column direction, and in the read operation, the symbols are performed in the row direction, resulting in a mixed order of the symbols.

즉, 라이트 동작시에는 열방향으로 데이타(X1, X2, X3, …X75)가 램에 라이트되며, 리드 동작시에는 행방향으로 데이타(X1, X16, X31, X46, X61, X2,…X75)가 램으로부터 리드 된다.That is, data (X1, X2, X3, ... X75) is written to the RAM in the column direction during the write operation, and data (X1, X16, X31, X46, X61, X2, ... X75) in the row direction during the read operation. Is read from the RAM.

블럭 인티리버에 의해 순서가 뒤바뀐 심벌들은 통신채널을 통해 전송된 뒤, 블럭 디인터리버에 의해 올바른 순서를 찾게 된다. 블럭 디인터리버는 행방향으로 라이트하고, 열방향으로 데이타를 리드하는 것을 제외하고는 블럭 인터리버와 동일한 구조를 가진다.The symbols out of order by the block interleaver are transmitted through the communication channel, and then the correct order is found by the block deinterleaver. The block deinterleaver has the same structure as the block interleaver except that it writes in the row direction and reads data in the column direction.

메모리가 있는 채널을 메모리가 없는 채널로 변환하기 위해서는 깊이 I가 채널 메모리 길이 (memory length)보다 커야 하며, 블럭 인터리버의 스팬 N은 포워드 에러보정 코딩의 코드 메모리 길이(code memory length), 즉 한번의 코딩에 사용되는 심벌의 수보다 커야 한다.To convert a channel with memory to a channel without memory, the depth I must be greater than the channel memory length, and the span N of the block interleaver is the code memory length of the forward error correction coding, i.e. Must be greater than the number of symbols used for coding.

제3도를 참조하면, 또 하나 널리 쓰이는 인터리빙-디인터리빙 방법으로서 콘벌루션 인터리빙-디인터리버의 동작과정이 도시되어 있다. 상기 콘벌루션 인터리버는 블럭 인터리버에 비해 4분의 1정도의 메모리만을 쓴다는 장점이 있다.Referring to FIG. 3, there is shown an operation process of a convolution interleaving-deinterleaver as another widely used interleaving-deinterleaving method. The convolutional interleaver has an advantage of using only one quarter of the memory as compared to the block interleaver.

제3도에는 깊이 I=5이고 스팬N=15인 콘벌루션 인터리버-디인터리버에 대한 동작과정이 도시되어 있다.3 shows the operation of the convolutional interleaver-deinterleaver with depth I = 5 and span N = 15.

상기 콘벌루션 인터리버에서, 코딩된 심벌은 5개의 피포(FIFO: First In First Out)버퍼(또는 쉬프트 레지스터)에 번갈아 가며 입력되고, 출력 역시 5개의 피포버퍼에서 번갈아 가며 심벌이 나온다. 첫번째 피포버퍼는 스토리지(storage)를 가지지 않고 직접 출력을 내보내며, 다음의 피포버퍼는 3심벌만큼 더 스토리지를 가진다.In the convolutional interleaver, the coded symbols are alternately input to five First In First Out (FIFO) buffers (or shift registers), and the outputs are alternately alternated from the five fifo buffers. The first picobuffer sends the output directly without storage, and the next picobuffer has 3 more symbols.

이와 같은 방법으로, 근접한 두심벌은 콘벌루션 인터리버를 거치면서 멀리 떨어질 수 있다. 수신단 측의 콘벌루션 디인터리버역시 같은 방법으로 동작하며, 콘벌루션 인터리버와 다른 점은 심벌의 수가 감소하는 방향으로 입출력이 수행된다는 것이다.In this way, the adjacent two symbols can fall far through the convolutional interleaver. The convolutional deinterleaver on the receiver side also operates in the same way, and differs from the convolutional interleaver in that input and output are performed in a direction in which the number of symbols decreases.

깊이는 채널 메모리보다 커야 하며, 인터리버의 스팬N=I ×J는 코드 메모리 보다 커야한다. 위에서 J는 한번에 입출력되는 심벌의 비트수이다.The depth must be larger than the channel memory, and the span N = I × J of the interleaver must be larger than the code memory. In the above, J is the number of bits of symbols input and output at one time.

제4도에는 미국의 케이블 텔레비전 회사들이 전송방식으로 채택할 것으로 예상되는 지아이(GI : General Insturment)사의 디지사이퍼(Digicipher)시스템의 수신부 구성 블럭도가 도시되어 있다.Figure 4 shows a block diagram of the receiver of a Digital Insturment (GI) Digicipher system that is expected to be adopted by US cable television companies as the transmission method.

상기한 지아이 디지사이퍼 시스템의 수신부는 방송파를 수신하기 위한 안테나(21)와, 복조기(22), 콘벌루션 디인터리버(23), 비터비 디코더(24), 블록 디인터리버(25), 리드-솔로몬(Reed-Solomon)디코더(26), 디랜더마이저(Derandomizer)(27)가 순차적으로 연결되는 구조를 가진다.The receiver of the GI digitizer system is an antenna 21 for receiving broadcast waves, a demodulator 22, a convolutional deinterleaver 23, a Viterbi decoder 24, a block deinterleaver 25, and a lead- The Solomon decoder 26 and the derandomizer 27 are sequentially connected.

상기와 같이 구성되는 지아이 디지사이퍼 시스템의 수신부에서 콘벌루션 디인터리버(23)는 비터비 디코더(24)의 앞단에 위치하며, 깊이 (depth)와 스팬(span)이 모두 31이고 한 심벌(symbol)의 크기는 2비트이다.The convolutional deinterleaver 23 is located at the front end of the Viterbi decoder 24 in the receiver of the GI Digicipher system configured as described above, and both the depth and span are 31 and one symbol. The size of is 2 bits.

상기 비터비 디코더(24)의 앞단에 오는 콘벌루션 디인터리버(23)는 비터비 디코더(24)의 코드메모리(code memory)가 매우 작으므로 (7비트), 비교적 작은 크기를 가지며 (최소 메모리 요구량은 1Kbits 이하임), 이 경우에서 문제점은 비용이 아니라 동기화 시간이다.The convolutional deinterleaver 23 that comes in front of the Viterbi decoder 24 has a relatively small size (7 bits) because the code memory of the Viterbi decoder 24 is very small (minimum memory requirement). Is less than 1 Kbits), in this case the problem is synchronization time, not cost.

수신단의 콘벌루션 디인터리버(23)는 심벌이 어떤 피포버퍼에 입력되는가에 따라 다른 결과가 나오므로 적합한 동기화가 필요하다.The convolutional deinterleaver 23 of the receiver has different results depending on which PB buffer the symbol is input to, and therefore requires proper synchronization.

지니쓰(Zenith)의 브이에스비(VSB: Vestigial Side Band)시스템이나 유럽형 디지탈 텔레비전 방식인 디브이브(DVB : Digital Video Broadcasting) 시스템과 같이 콘벌루션 디인터리버가 리드-솔로문 디코더의 앞단에 위치할 경우에는 데이타 시퀀스(data sepuence)에서 미리 정해진 동기화 워드(synchronization word, sync word 또는 frame marker 또는 header라고도 함)을 찾아내서 이를 정해진 피포버퍼에 라이트(write)시킴으로써 동기를 쉽게 맞출 수 있다.When a convolutional deinterleaver is in front of a lead-solo-moon decoder, such as Zenith's Vestigial Side Band (VSB) system or the European Digital Television Broadcasting (DVB) system. Synchronization can be easily achieved by finding a predetermined synchronization word (also known as a synchronization word, sync word, or frame marker or header) in a data sequence and writing it to a predetermined buffer.

그러나 콘벌루션 디인터리버(23)가 비터비 디코더(24)의 앞단에 위치할 경우에는 리드-솔로몬 디코더와는 달리 동기화 워드가 코딩에 의해 보존되지 않기 때문에 동기화 워드를 찾는 방법으로는 해결할 수 없다.However, when the convolutional deinterleaver 23 is located in front of the Viterbi decoder 24, unlike the Reed-Solomon decoder, since the sync word is not preserved by the coding, the method of finding the sync word cannot be solved.

상기와 같이 비터비 디코더(24)의 앞단에 콘벌루션 디인터리버(23)가 쓰일 경우에는 어떤 비트가 어떤 피포버퍼로 입력되어야 하는가 하는 모호함(ambiguity)이 있다.As described above, when the convolutional deinterleaver 23 is used in front of the Viterbi decoder 24, there is an ambiguity of which bit to be input to which pibuffer.

여러가지 가능한 모호함들의 조합에 의해 비터비 디코더의 앞단에서 입력의 매우 다앙한 상태의 수가 있을 수 있으며, 이중 오직 하나만이 올바른 상태이다. 이러한 모호함을 푸는 방법은 특정한 입력의 상태를 가정하고 비터비 디코더에 입력을 가하여 데이터가 유효(valid)한지 결정하여 그렇지 않을 경우에는 입력의 상태를 바꾸어 다시 시도해야 한다. 같은 과정을 입력데이터가 유효하다고 생각될 때까지 반복한다.The combination of various possible ambiguities can lead to a very diverse number of states of input at the front of the Viterbi decoder, of which only one is correct. The method of solving this ambiguity assumes the state of a particular input and applies the input to the Viterbi decoder to determine if the data is valid. Otherwise, the state of the input must be changed and try again. The same process is repeated until the input data is considered valid.

데이터가 유효한지는 재규격화율(renormalization rate), 패스 메트릭 증가율(path metric increasting rate), 비트에러율(bit error rate)등을 통해 알 수 있다.Whether the data is valid can be determined from the renormalization rate, the path metric increasing rate, the bit error rate, and the like.

따라서 , 종래의 콘벌루션 디인터리버에서는 상태를 바꿨을 경우 바뀐 상태의 출력이 나오려면 콘벌루션 디인터리버의 통상적인 딜레이(delay)로서 IN의시간이 지연된다. 이에 관한 제5도를 참조하여 설명한다.Therefore, in the conventional convolutional deinterleaver, the time of IN is delayed as a normal delay of the convolutional deinterleaver so that the output of the changed state comes out when the state is changed. This will be described with reference to FIG. 5.

제5도에는 콘벌루션 디인터리버를 위한 일반적인 메모리 회로의 구성블럭도가 도시되어 있다.5 shows a block diagram of a general memory circuit for a convolutional deinterleaver.

제5도를 참조하면, 콘벌루션 디인터리버를 위한 일반적인 메모리 회로는 데이타를 입출하는 램(63)과, 동기신호(SYNC)를 입력으로 하여 상기램(63)상의 라이트하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 라이트주소 발생기(61)와, 동기신호(SYNC)를 입력으로 하여 상기 램(63)상의 리드하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 리드주소 발생기(62)로 구성된다.Referring to FIG. 5, a general memory circuit for a convolutional deinterleaver includes a RAM 63 for inputting data and a column for determining a space for writing on the RAM 63 by inputting a synchronization signal SYNC. A write address generator 61 for generating a direction and a row direction address, and a read address generator for generating column and row direction addresses for determining a space for reading on the RAM 63 by inputting a synchronization signal SYNC. It consists of 62.

상기한 구성에서 램(63)은 N× M의 듀얼포트 램(dual-port RAM)이 사용된다. 상기 램(63)의 기억공간에는 다수의 피포버퍼가 할당되어 있다.In the above configuration, the RAM 63 uses N × M dual-port RAM. A plurality of buffered buffers are allocated to the storage space of the RAM 63.

동작을 살펴보면 , 램(63)의 한쪽으로는 입력데이타(INPUT)가 들어오고 다른 쪽에서는 출력데이타(OUTPUT)가 나오며, 라이트주소 발생기(61)와 리드주소 발생기(62)에서 생성된 라이트주소 (write address)와 리드주소(read address)에 의해 램(63)의 기억공간이 지정된다.Looking at the operation, the input data (INPUT) comes in one side of the RAM (63), the output data (OUTPUT) comes out the other side, the write address generated by the write address generator 61 and the read address generator 62 ( The storage space of the RAM 63 is designated by a write address and a read address.

상기 라이트주소 또는 리드주소는 열방향 및 행방향 주소로 구성되며, 상기 열방향 주소에 의해 램(63)상에 할당될 피포버퍼중의 하나가 선택되고 상기 행방향주소에 의해 상기 선택된 피포버퍼의 특정 기억공간이 선택된다.The write address or read address comprises a column direction and a row direction address, wherein one of the pipe buffers to be allocated on the RAM 63 is selected by the column direction address, and the row address of the selected pipe buffer is selected by the row direction address. The specific storage space is selected.

제5도에서 입력데이타(INPUT)와 출력데이타(OUTPUT)는 동기신호(SYNC)에 대응하여 함께 상태를 바꿔나간다.In FIG. 5, the input data INPUT and the output data OUTPUT change states together in response to the synchronization signal SYNC.

만일, 동기신호(SYNC)가 활성화(active)되어 콘벌루션 디인터리버의 상태를 바꾸어야 되면 라이트주소 발생기(61)와 리드주소 발생기(62)의 열방향주소가 모두 바뀌어 램(63)상의 다른 피포버퍼을 선택하는 것과 동일한 효과를 낸다. 이렇게 되면, 이미 램(63)내에 기억되어 있는 데이타들은 더이상 유효하지 않게 된다.If the synchronization signal SYNC is activated to change the state of the convolutional deinterleaver, the column addresses of the write address generator 61 and the read address generator 62 are changed so that the other PIP buffer on the RAM 63 is changed. It has the same effect as choosing. In this case, the data already stored in the RAM 63 are no longer valid.

그러나 상기한 종래의 콘벌루션 디인터리버을 위한 일반적인 메모리 회로는 동기신호(SYNC)에 의해 바뀐 상태의 출력이 나오려면 콘벌루션 디인터리버의 지연(delay)시간인 IN의 시간동안 기다려야 함으로써 동기화 시간이 오래 걸리는 단점이 있다. 그러므로 상술한 종래의 문제점을 해결하기 위한 이발명의 목적은 동기신호에 의해 콘벌루션 디인터리버의 상태가 바뀌었을 때 그에 해당하는 출력이 즉시 나오도록 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법을 제공하는데 있다.However, the conventional memory circuit for the conventional convolutional deinterleaver has a long synchronization time because it has to wait for the time of IN, which is the delay time of the convolutional deinterleaver, in order for the output of the state changed by the synchronization signal SYNC to come out. There are disadvantages. Therefore, an object of the present invention for solving the above-described problems is to provide a memory access method for fast synchronization of a convolutional deinterleaver so that an output thereof is immediately output when the state of the convolutional deinterleaver is changed by a synchronization signal. To provide.

상기한 목적을 달성하기 위한 이 발명의 메모리 억세스 방법은, 특정 영역에 다수의 원형버퍼가 할당되고 각각의 원형버퍼에는 일이상의 피포버퍼가 할당되어 데이타를 저정하는 메모리 장치와, 상기메모리 장치상의 라이트하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 라이트주소 발생기와, 동기신호(SYNC)를 입력으로 하여 상기 메모리 장치 상의 리드하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 리드주소 발생기로 이루어지는 콘벌루션 디인터리버를 위한 메모리 회로로 구성되어, 상기 리드주소 발생기로 입력되는 동기신호(SYNC)가 활성화되면, 리드주소 발생기에서 메모리장치로 입력되는 열방향 및 행방향 주소를 변화시켜 메모리 장치의 기억공간에 할당된 원형버퍼와 피포버퍼간의 매핑관계를 변화시키고 상기 메모리 장치내의 리드동작이 수행되는 피포버퍼의 순서가 변화되도록 하는 것을 특징으로 한다.A memory access method of the present invention for achieving the above object is a memory device for storing data by assigning a plurality of circular buffers to a specific area and one or more PIP buffers to each circular buffer, and writing on the memory device. A write address generator for generating column and row direction addresses for determining a space to be used; and a read for generating column and row direction addresses for determining a space for reading on the memory device by inputting a synchronization signal SYNC. It is composed of a memory circuit for a convolutional deinterleaver composed of an address generator. When the synchronization signal SYNC input to the lead address generator is activated, the column and row addresses inputted from the read address generator to the memory device are changed. Change the mapping relationship between the circular buffer and the buffer buffer allocated to the memory space of the memory device. The order of the encapsulated buffer to be read operation in a memory device carried is characterized in that to change.

이하, 첨부된 도면을 참조하여 이 발명의 바람직한 실시예를 설명한다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the present invention.

제6도는 이발명의 실시예에 따른 콘벌루션 디인터리버를 위한 메모리 회로의 구성 블럭도이다.6 is a block diagram illustrating a memory circuit for a convolutional deinterleaver according to an embodiment of the present invention.

제6도에 도시되어 있듯이, 이 발명의 실시예에 따른 콘벌루션 디인터리버를 위한 메모리 회로는, 한쪽으로 입력데이타(INPUT)를 받아들이고 다른 한쪽으로 출력데이타(OUTPUT)를 내보내는 램(73)과, 상기 램(73)에 출력단이 연결된 라이트주소 발생기(71)와, 동기신호(SYNC)를 입력으로 하고, 상기램(73)에 출력단이 연결된 리드주소 발생기(72)로 구성된다.As shown in FIG. 6, a memory circuit for a convolutional deinterleaver according to an embodiment of the present invention includes a RAM 73 that receives input data INPUT on one side and outputs output data OUTPUT on the other side; A write address generator 71 having an output terminal connected to the RAM 73 and a synchronization signal SYNC are input, and a read address generator 72 having an output terminal connected to the RAM 73.

상기한 구성에서 램(73)은 N ×M의 듀얼포트 램(dual-port RAM)이 사용되었으나 이 발명의 기술적 범위는 여기에 한정되지 않는다. 상기 램(63)의 기억공간에는 다수의 원형버퍼가 할당되고, 각각의 원형버퍼에는 일이상의 피포버퍼가 할당되어 있다. 위구성에서, 각 원형버퍼는 크기가 동일하다.In the above configuration, the RAM 73 uses N-M dual-port RAM, but the technical scope of the present invention is not limited thereto. A plurality of circular buffers are allocated to the storage space of the RAM 63, and one or more buffered buffers are assigned to each circular buffer. In the above configuration, each circular buffer is the same size.

동작을 살펴보면, 램(73)의 한쪽으로는 입력데이타(INPUT)가 들어오고 다른 쪽에서는 출력데이타(OUTPUT)가 나오며, 라이트주소 발생기(71)와 리드주소 발생기(72)에서 생성된 라이트주소(write address)와 리드주소(read address)에 의해 램(63)의 기억공간이 지정된다.Looking at the operation, the input data (INPUT) comes in on one side of the RAM (73), the output data (OUTPUT) comes out on the other side, the write address generated by the write address generator 71 and the read address generator (72) The storage space of the RAM 63 is designated by a write address and a read address.

상기 라이트주소 또는 리드주소는 열방향 및 행방향 주소로 구성되며, 상기 열방향 주소에 의해 램(73)상에 할당된 원형버퍼 중의 하나가 선택되고, 상기 행방향주소에 의해 상기 선택된 원형버퍼내의 특정 기억공간이 선택된다.The write address or read address is composed of a column direction and a row address, and one of the circular buffers allocated on the RAM 73 is selected by the column direction address, and the row address in the selected circular buffer is set by the row direction address. The specific storage space is selected.

제5도에서 입력데이타(INPUT)와 출력데이타(OUTPUT)는 동기신호(SYNC)에 대응하여 함께 상태를 바꾸어 나간다.In FIG. 5, the input data INPUT and the output data OUTPUT change states together in response to the synchronization signal SYNC.

만일, 콘벌루션 디인터리버의 상태를 바꾸기 위해 리드주소 발생기(72)에 입력되는 동기신호(SYNC)가 활성화(active)되면 리드주소 발생기(72)에서 생성되는 열방향주소가 바뀌게 되어 램(73)상의 다른 피포버퍼가 선택된다.If the synchronization signal SYNC input to the read address generator 72 is activated in order to change the state of the convolutional deinterleaver, the column address generated by the read address generator 72 is changed to the RAM 73. Another picobuffer on the screen is selected.

즉, 리드주소 발생기(72)의 변화된 열방향주소에 의해 램(73)에 저장된 데이타로부터 디인터리버의 상태가 바뀐 출력이 얻어지며, 램에 저장된 데이타는 상태가 바뀌었음에도 불구하고 계속 유효하게 된다. 램 (73)에서 디인터리버의 상태가 바뀐 출력이 얻어지는 것은 입력되는 열방향주소에 의해 램(73)내부의 원형버퍼와 피포버퍼간의 매핑(mapping)의 변환되기 때문이다.That is, the output of the state of the deinterleaver is obtained from the data stored in the RAM 73 by the changed column address of the read address generator 72, and the data stored in the RAM remains valid even though the state is changed. . The output of which the state of the deinterleaver is changed in the RAM 73 is obtained because the mapping between the circular buffer and the buffer buffer inside the RAM 73 is converted by the input column direction address.

결과적으로, 이 발명에 따른 실시예에서는 동기신호(SYNC)가 활성화되면, 라이트주소 발생기(71)와는 무관하게 리드주소 발생기(72)의 리드 주소만 변화시키고, 이에 따라 램(73)내의 원형버퍼와 피포버퍼간의 매핑관계를 변화시킴으로써 램(73)내의 피포버퍼간의 순서가 바뀌도록 하고 있다.As a result, in the embodiment according to the present invention, when the synchronization signal SYNC is activated, only the read address of the read address generator 72 is changed regardless of the write address generator 71, and accordingly, the circular buffer in the RAM 73 is changed. The order of the target buffers in the RAM 73 is changed by changing the mapping relation between the target buffers and the target buffer.

다음으로 이 발명 실시예에 따른 메모리억세스 문제를 C언어와 유사한 프로그램 코드로 표현하면 다음과 같다.Next, the memory access problem according to the embodiment of the present invention is expressed as program code similar to the C language as follows.

상기 프로그램 코드에서 상수에 대해 설명하면 ,In the program code, constants are explained.

이며 , 변수에 대해 설명하면 ,If you describe the variable,

Offset[f]: 제f피포버퍼가 들어있는 원형버퍼의 시작주소,Offset [f]: Starting address of circular buffer containing f-fi buffer

i[f]: 제f피포버퍼가 들어있는 원형버퍼 상에서 라이트주소,i [f]: Light address on the circular buffer containing the f pipo buffer,

j[f]: 제f피포버퍼가 들어있는 원형버퍼 상에서 리드 주소로 표현되며 f,g,h는 임의 변수이다.j [f]: Represented as the read address on the circular buffer containing the f-fipo buffer, f, g, and h are arbitrary variables.

다음으로 프로그램 코드에 대해 보다 상세하게 설명하면, 처음 6줄은 초기상태를 지정하는 것이다. for(;;)는 무한 루프를 나타내며, 다음 4줄은 읽고 쓰는 주소를 합성하여 램(73)에 읽고 쓰는 것을 나타낸다.Next, the program code is described in more detail. The first six lines specify the initial state. for (;;) represents an infinite loop, and the next four lines represent read and write to RAM 73 by synthesizing the read and write addresses.

주소는 원형버퍼의 시작주소를 나타내는 Offset과 원형버퍼 내에서의 위치(i또는 j)의 합으로 이루어진다. f=(f+1)%I;는 f가 순차적으로 변하면서 다른 피포버퍼에 리드 및 라이트 하는 것을 나타낸다. 여기서 동기신호(SYNC)가 활성화되더라도 f에는 영향을 주지 않으므로 라이트 순서에는 변화를 일으키지 않는다.The address consists of the sum of the offset indicating the starting address of the circular buffer and the position (i or j) in the circular buffer. f = (f + 1)% I; indicates that f changes sequentially and reads and writes to another pipe buffer. In this case, even if the sync signal SYNC is activated, f does not affect the write order.

따라서, f는 어떤 피포버퍼에 리드 및 라이트 하는가를 정하는 것이 아니라 어떤 원형버퍼에 대해 라이트 및 리드 동작을 수행할지를 나타낸다.Therefore, f does not determine to which buffer to read and to write, but to which circular buffer to perform the write and read operation.

if (f==0)부터의 2줄은 i가 한주기에 하나씩 증가하는 것을 나타낸다. if (SYNC)부터 4줄은 동기신호(SYNC)가 활성화 되었을 때 f가 변하는 대신 h와 j가 변하는 것을 나타낸다. h는 동기신호가 바뀌는 상태를 기억하는 것이고, j는 데이타를 읽을때의 주소를 만들기 위해 필요한 것이므로 쓰는 것과는 상관이 없다.Two lines from if (f == 0) indicate that i increments by one period. Line 4 from if (SYNC) indicates that h and j change instead of f when the SYNC signal is activated. h is for remembering the state that the synchronization signal is changing, j is not necessary for writing because it is necessary to make the address when reading data.

이렇게 동기신호(SYNC)가 활성화 되었을 때 ,f는 변하지 않고 j와 다른 내부 레지스터의 값이 바뀌어 라이트 되는 순서를 바꾸지 않으면서도 변경된 상태의 올바른 데이타를 리드하게 된다.When the sync signal SYNC is activated, f does not change and the value of j and other internal registers is changed to read the correct data in the changed state without changing the writing order.

그 다음의 else부터의 4줄은 동기신호(SYNC)가 활성화되지 않았을 때 j가 바뀌는 것을 나타낸다. g는 어떤 피포버퍼인가를 정한다. 즉, f는 어떤 원형버퍼인가를 정하기 때문에 동기신호(SYNC)가 활성화되더라도 변하지 않을 수 있으며, g는 어떤 피포버퍼인가를 정하기 때문에 동기신호(SYNC)가 활성화되면 한순간 진행을 멈춤으로써 그 순서를 바꾼다.The next four lines from else indicate that j changes when the sync signal SYNC is not activated. g determines what type of buffer is used. That is, since f is a circular buffer, it may not change even when the synchronous signal SYNC is activated, and g determines which PIB buffer is activated, and when the synchronous signal SYNC is activated, the order is changed by stopping the process for a moment. .

이렇게 하여 원형버퍼의 순서는 바꾸지 않으면서 피포버퍼의 순서만을 바꾸어 다시 말해서 라이트 순서는 바꾸지 않으면서 리드 순서만 바뀌게 함으로써 동기상태가 바뀌는 즉시 올바른 데이타를 출력하게 하여 동기화 시간을 절약한다.In this way, the order of the buffers is changed without changing the order of the circular buffers, that is, only the read order is changed without changing the write order, thereby saving the synchronization time by outputting correct data as soon as the synchronization status is changed.

이상에서와 같이 이 발명의 실시예에서, 리드 순서는 바꾸지 않고 라이트 순서만 바꿈으로써 동기신호에 의해 콘벌루션 디인터리버의 상태가 바뀌었을 때 그에 해당하는 출력이 즉시 나오도록 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법을 제공할 수 있다.As described above, in the embodiment of the present invention, when the state of the convolutional deinterleaver is changed by the synchronization signal by changing the write order without changing the read order, a corresponding output of the convolutional deinterleaver is immediately released. A memory access method for synchronization can be provided.

Claims (4)

특정 영역에 다수의 원형버퍼가 할당되고 각각의 원형버퍼에는 일이상의 피포버퍼가 할당되어 데이타를 저장하는 메모리 장치와, 상기 메모리 장치 상의 라이트하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 라이트주소 발생기와, 동기신호(SYNC)를 입력으로 하여 상기 메모리 장치상의 리드하기 위한 공간을 결정하는 열방향 및 행방향 주소를 생성하는 리드주소 발생기로 이루어지는 콘벌루션 디인터리버를 위한 메모리회로로 구성되어 , 상기 리드주소 발생기로 입력되는 동기신호(SYNC)가 활성화되면 리드주소 발생기에서 메모리 장치로 입력되는 열방향 주소를 변화시켜 메모리 장치의 기억공간에 할당된 원형버퍼와 피포버퍼간의 매핑관계를 변화시키고 , 상기 메모리 장치내의 리드동작이 수행되는 피포버퍼의 순서가 변화되도록 하는 것을 특징으로 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법.A plurality of circular buffers are allocated to a specific area, and each circular buffer is assigned one or more buffered buffers to generate a memory device for storing data, and to generate column and row addresses for determining space for writing on the memory device. And a memory circuit for a convolutional deinterleaver comprising a write address generator and a read address generator for generating a column and row direction address for determining a space for reading on the memory device by inputting a synchronization signal SYNC. When the synchronization signal SYNC input to the read address generator is activated, the column address inputted from the read address generator to the memory device is changed to change the mapping relationship between the circular buffer and the buffer buffer allocated to the memory space of the memory device. The order of the buffered buffers in which the read operation is performed in the memory device is changed. Memory access method for fast synchronization of the convolutional deinterleaver, characterized in that. 제1항에 있어서, 상기한 다수의 원형버퍼는 그 크기가 모두 동일한 것을 특징으로 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법.The method of claim 1, wherein the plurality of circular buffers are the same size. 제1항에 있어서, 상기한 메모리 장치는 리드 및 라이트가 가능한 램인 것을 특징으로 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법.The memory access method of claim 1, wherein the memory device is a RAM capable of reading and writing. 제1항에 있어서 , 상기한 동기신호(SYNC)가 라이트주소 발생기에는 입력되지 않고 리드주소 발생기에만 입력되는 것을 특징으로 하는 콘벌루션 디인터리버의 빠른 동기화를 위한 메모리 억세스 방법.The memory access method of claim 1, wherein the synchronization signal SYNC is input only to the read address generator and not to the write address generator.
KR1019950011726A 1995-05-12 1995-05-12 Memory access method for the fast synchronization of convolutional deinterleaver KR100188142B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950011726A KR100188142B1 (en) 1995-05-12 1995-05-12 Memory access method for the fast synchronization of convolutional deinterleaver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950011726A KR100188142B1 (en) 1995-05-12 1995-05-12 Memory access method for the fast synchronization of convolutional deinterleaver

Publications (2)

Publication Number Publication Date
KR960043900A KR960043900A (en) 1996-12-23
KR100188142B1 true KR100188142B1 (en) 1999-06-01

Family

ID=19414309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950011726A KR100188142B1 (en) 1995-05-12 1995-05-12 Memory access method for the fast synchronization of convolutional deinterleaver

Country Status (1)

Country Link
KR (1) KR100188142B1 (en)

Also Published As

Publication number Publication date
KR960043900A (en) 1996-12-23

Similar Documents

Publication Publication Date Title
US5850572A (en) Error-tolerant video display subsystem
US7958431B2 (en) Method for interleaving data in a communication device
US6681362B1 (en) Forward error correction for video signals
US5771239A (en) Method and apparatus for modifying a transport packet stream to provide concatenated synchronization bytes at interleaver output
US5420640A (en) Memory efficient method and apparatus for sync detection
EP0963073A1 (en) Transmitter and receiver
KR101319868B1 (en) Digital broadcasting system and processing method
US6178530B1 (en) Addressing scheme for convolutional interleaver/de-interleaver
JP4548676B2 (en) Data deinterleaver
US7966544B2 (en) Loading the input memory of an LDPC decoder with data for decoding
US20070022262A1 (en) Interleaving method and system
CA2145900C (en) Media error code generation as for a video inverse transport processor
US20080022345A1 (en) Demodulator and demodulation method
EP2242265A1 (en) A wireless communication receiver, a wireless communication receiving method and a television receiver
US7725810B2 (en) Decoding of multiple data streams encoded using a block coding algorithm
KR100188142B1 (en) Memory access method for the fast synchronization of convolutional deinterleaver
EP0162612B1 (en) Receiver for a character broadcasting system
US8219872B2 (en) Extended deinterleaver for an iterative decoder
US4701914A (en) Apparatus for correcting cyclic code data stored in memory and method therefor
KR19990077228A (en) Receiver, de-interleaving means and method of de-interleaving memory for reduced time
KR0158638B1 (en) Convolutional deinterleaver for minimizing the memory demand
US7526712B2 (en) Deinterleaving apparatus and method using inner memory and outer memory
US20020083248A1 (en) Interleave circuit, de-interleave circuit and xDSL modem
US5568494A (en) Encoding or decoding device comprising a paged memory
JPH0546131B2 (en)

Legal Events

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

Payment date: 20080102

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee