[go: up one dir, main page]

KR100733767B1 - Time deinterleaving apparatus and method - Google Patents

Time deinterleaving apparatus and method Download PDF

Info

Publication number
KR100733767B1
KR100733767B1 KR1020050117422A KR20050117422A KR100733767B1 KR 100733767 B1 KR100733767 B1 KR 100733767B1 KR 1020050117422 A KR1020050117422 A KR 1020050117422A KR 20050117422 A KR20050117422 A KR 20050117422A KR 100733767 B1 KR100733767 B1 KR 100733767B1
Authority
KR
South Korea
Prior art keywords
deinterleaving
memory
data
input
buffer
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020050117422A
Other languages
Korean (ko)
Other versions
KR20070058758A (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 KR1020050117422A priority Critical patent/KR100733767B1/en
Publication of KR20070058758A publication Critical patent/KR20070058758A/en
Application granted granted Critical
Publication of KR100733767B1 publication Critical patent/KR100733767B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/0803Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division using frequency interleaving, e.g. with precision offset

Landscapes

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

Abstract

본 발명은 지상파 이동 멀티미디어 방송(DMB)에 사용되는 시간 디인터리버 장치의 설계 방법에 관한 것이다. DMB채널 상에서 시간 디인터리버의 주요 동작은 수신된 데이터를 주어진 알고리즘에 따라 입력 순서를 바꾸어 출력시킴으로써 후단에 위치한 비터비 디코더가 효과적으로 에러를 정정할 수 있도록 에러를 분산한다. 이를 위해 수신한 데이터를 저장하기 위한 대용량의 메모리가 필요하게 되는데, 일반적으로 4M비트 정도 크기의 메모리를 칩 외부에 두어 사용하게 된다. 또한 메모리 읽기/쓰기 수행 시에 랜덤한 형태의 어드레싱 동작이 발생하므로 일반적으로 SRAM을 사용하여 구현한다.The present invention relates to a method of designing a time deinterleaver device for use in terrestrial mobile multimedia broadcasting (DMB). The main operation of the temporal deinterleaver on the DMB channel is to distribute the error so that the Viterbi decoder located at the rear end effectively corrects the error by outputting the received data in an input order according to a given algorithm. To do this, a large amount of memory is required to store the received data. Generally, a memory having a size of about 4M bits is used outside the chip. In addition, since random addressing operation occurs when performing memory read / write, SRAM is generally implemented.

상기 목적을 달성하기 위한 본 발명의 사상을 적용한 디인터리빙 장치는, 심볼 단위로 기록이 가능한 입력 버퍼; 입력되는 디맵핑 매트릭 데이터의 각 심볼들을 재정렬한 소정의 기록용 데이터 전송 블록을 작성하여 상기 입력 버퍼에 기록하기 위한 입력 버퍼 어드레서; 심볼 단위로 판독이 가능한 출력 버퍼; 상기 출력 버퍼에 저장된 소정의 판독용 데이터 전송 블록을 이루는 각 심볼들을 재정렬하여 디펑춰 스트림으로 출력하기 위한 출력 버퍼 어드레서; 상기 기록용 데이터 전송 블록을 외부 메모리로 전달하고, 상기 외부 메모리로부터 상기 판독용 데이터 전송 블록을 전달받기 위한 메모리 제어부를 포함하는 것을 특징으로 한다.In order to achieve the above object, a deinterleaving apparatus to which the idea of the present invention is applied comprises: an input buffer capable of recording in symbol units; An input buffer addresser for creating a predetermined recording data transfer block in which the respective symbols of the input demapping metric data are rearranged and written in the input buffer; An output buffer that can be read symbolically; An output buffer addresser for rearranging each symbol constituting the predetermined read data transfer block stored in the output buffer and outputting the de-puncture stream; And a memory controller for transferring the write data transfer block to an external memory and receiving the read data transfer block from the external memory.

본 발명의 디인터리빙 장치는 디인터리빙에 필요한 메모리 크기를 줄일 수 있는 효과 및/또는 저렴하고 입출력 속도가 빠른 버스트 입출력 방식의 디램의 대 역폭을 효율적으로 사용할 수 있는 효과가 있다.The deinterleaving apparatus of the present invention has the effect of reducing the memory size required for deinterleaving and / or the effective bandwidth of the DRAM of the burst input / output system having a low cost and high input / output speed.

Deinterleaver, DMB, 디인터리버, CIF, 이동멀티미디어방송 Deinterleaver, DMB, Deinterleaver, CIF, Mobile Multimedia Broadcasting

Description

시간 디인터리빙 장치 및 방법{Time De-Interleaving Device and Method}Time De-Interleaving Device and Method

도 1은 DMB용 채널을 위한 시간 디인터리빙의 동작을 설명하기 위한 개념도.1 is a conceptual diagram illustrating the operation of time deinterleaving for a DMB channel.

도 2는 종래 기술에 따른 시간 디인터리빙 장치를 도시한 회로도.2 is a circuit diagram illustrating a time deinterleaving apparatus according to the prior art.

도 3은 개선된 종래 기술에 따른 시간 디인터리빙 장치를 도시한 회로도.3 is a circuit diagram illustrating an improved prior art deinterleaving apparatus.

도 4는 도 3의 시간 디인터링빙 장치의 메모리 어드레싱 구조를 설명하기 위한 개념도.4 is a conceptual diagram illustrating a memory addressing structure of the time deinterleaving device of FIG. 3.

도 5는 본 발명 일실시예에 따른 시간 디인터리빙 장치를 도시한 회로도.5 is a circuit diagram illustrating a time deinterleaving apparatus according to an embodiment of the present invention.

도 6은 버스트 길이가 4이고 워드 길이가 32비트일 경우, 입력 버퍼의 동작을 설명하기 위한 개념도.6 is a conceptual diagram illustrating the operation of an input buffer when the burst length is 4 and the word length is 32 bits.

도 7은 버스트 길이가 4이고 워드 길이가 32비트일 경우, 16개의 CIF가 각각의 블록 별로 메모리가 저장되거나 읽히는 방법을 설명하기 위한 개념도.FIG. 7 is a conceptual diagram illustrating a method in which 16 CIFs store or read memory for each block when the burst length is 4 and the word length is 32 bits. FIG.

도 8은 버스트 길이가 4이고 워드 길이가 32비트일 경우, 메모리로부터 데이터를 읽어서 출력하는 방법을 설명하기 위한 개념도.8 is a conceptual diagram illustrating a method of reading data from a memory and outputting the data when the burst length is 4 and the word length is 32 bits.

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

20 : 디인터리빙 장치 21 : 디맵퍼20: deinterleaving apparatus 21: demapper

22 : 입력 버퍼 23 : 버퍼링 컨트롤러22: input buffer 23: buffering controller

24 : 메모리 인터페이스 25 : 디인터리빙 메모리24: memory interface 25: deinterleaving memory

26 : 출력 버퍼 27 : 디펑춰26: output buffer 27: depuncture

28 : 입력 버퍼 어드레서 29 : 출력 버퍼 어드레서28: input buffer addresser 29: output buffer addresser

본 발명은 디지털 멀티미디어 방송 수신기에서 사용하는 시간 디인터리버(time deinterleaver)에 관한 것이다. 시간 디인터리버의 기본 동작은 수신된 데이터 신호를 시간적으로 서로 섞어주는 것으로 채널상에서 발생한 연집 오류를 랜덤 오류로 변환 시켜줌으로써, 후단의 비터비 디코더가 에러를 정정할 시에 더욱 효과적으로 수행하도록 도와준다.The present invention relates to a time deinterleaver for use in a digital multimedia broadcasting receiver. The basic operation of the temporal deinterleaver is to mix the received data signals with each other in time, thereby converting the clustering error generated on the channel into a random error, which helps the later Viterbi decoder perform more effectively when correcting the error.

디지털 멀티미디어 방송(이른바, DMB) 수신기에 사용하는 시간 디인터리버는 ETSI EN 300 401표준안을 따르며, CIF(common interleaved frame)단위로 동작을 수행한다. 도 1은 상기 표준안에 따른 CIF 블록 구조를 도시한 것으로, 도시한 바와 같이 첫번째 출력이 나오기 위해서는 16개의 CIF 데이터가 모두 필요하다. 여기서 1 CIF의 길이는 55,296비트의 길이를 갖는다.The time deinterleaver used in digital multimedia broadcasting (also called DMB) receivers follows the ETSI EN 300 401 standard and performs operations in units of common interleaved frames (CIFs). 1 illustrates a CIF block structure according to the above standard, and as shown, all 16 CIF data are required for the first output. Here, the length of 1 CIF is 55,296 bits.

일반적으로 DMB 수신기에서는 DQPSK 복조시 1비트를 출력하는 하드 디시젼(hard-decision) 방법보다 좀더 수신 성능을 높이기 위한 소프트 디시젼(hard-decision) 방법을 채택하여 사용한다. 이때, 1비트당 4개의 비트를 할당하며, 이를 매트릭(metric)이라고 한다. 따라서 디인터리빙하기 위해 필요한 메모리량을 계산해 보면 수학식 1과 같다.In general, a DMB receiver adopts a soft decision method to improve reception performance more than a hard decision method of outputting 1 bit when performing DQPSK demodulation. At this time, four bits are allocated to one bit, which is called a metric. Therefore, the amount of memory required for deinterleaving is calculated as in Equation 1.

(16 CIFs)ㆍ(55,296 metrics)ㆍ(4 bits) = 3,538,944 bits(16 CIFs) (55,296 metrics) (4 bits) = 3,538,944 bits

상기 도 1을 참조하여 기본적인 시간 디인터리빙의 동작 개념을 설명하겠다. 1개의 CIF 프레임은 55,296개의 매트릭으로 이루어지며, 여기서 1 매트릭은 4비트로 구성된다. 또한 r은 시간적인 순서를 나타낸다. r부터 r+15까지 총 16개의 CIF 시퀀스가 입력되어야만 비로소 출력이 가능하다. 또한 각각의 CIF 시퀀스 내에서 입력 순에 따라 정해지는 지연 길이가 서로 틀리다. 입력 및 출력 벡터의 시퀀스가 다음과 같다. 도 1에서 회색으로 칠한 부분과 같은 순서로 데이터가 출력된다. 이에 따라 입출력 시퀀스를 나타내면 다음 수학식 2와 같다.Referring to FIG. 1, the operation concept of basic time deinterleaving will be described. One CIF frame consists of 55,296 metrics, where one metric consists of four bits. R represents a temporal order. Only 16 total CIF sequences from r to r + 15 have to be input for output. In addition, the delay length determined according to the input order in each CIF sequence is different. The sequence of input and output vectors is In FIG. 1, data is output in the same order as the shaded portions. Accordingly, the input / output sequence is represented by Equation 2 below.

Input sequence = {br,0, br,1, br,2, br,3, br,4, br,5, br,6, br,7, … , br,55296}Input sequence = (b r, 0 , b r, 1 , b r, 2 , b r, 3 , b r, 4 , b r, 5 , b r, 6 , b r, 7 ,... , b r, 55296 }

Output sequence = {br,0, br+8,1, br+4,2, br+12,3, br+2,4, br+10,5, … , br+15,55296}Output sequence = (b r, 0 , b r + 8,1 , b r + 4,2 , b r + 12,3 , b r + 2,4 , b r + 10,5 ,... , b r + 15,55296 }

도 1에 나타난 개념을 토대로 회로를 구성하면, 도 2와 같이 구성된다. 디매퍼(de-mapper) 블록으로부터 4비트로 소프트 디시젼된 데이터를 입력 받는다. 이 데이터들은 각각의 CIF별로 SRAM으로 저장되며, 이때 사용되는 SRAM의 크기는 수학식 1에 의해 4M비트정도의 크기를 갖는 SRAM이 필요하다. 저장된 16개의 CIF중에 도 1과 같은 방식으로 각각의 데이터를 읽어와서 이를 디펑추어(de-puncture) 블록 으로 전달한다. 상기와 같은 종래기술에 의한 디인터리빙 장치는 상당한 크기의 메모리가 소요되는 문제점이 있었다.When the circuit is constructed based on the concept shown in FIG. 1, the circuit is configured as shown in FIG. 2. Receives the soft decision data in 4 bits from the de-mapper block. These data are stored in SRAM for each CIF, and the size of the SRAM used here requires an SRAM having a size of about 4M bits according to Equation (1). Among the 16 stored CIFs, each data is read in the same manner as in FIG. 1 and transferred to the de-puncture block. The deinterleaving apparatus according to the prior art as described above has a problem that a considerable size of memory is required.

상기 문제점을 해결하기 위한 종래기술로 대한민국 특허공개 10-2005-70337호 발명이 제안되었다. 도 3은 상기 제안 기술에 따른 디지털 방송 수신기에 대한 디인터리빙 장치에 대한 개략적인 블록도이다. 도시한 디인터리빙 장치는, 메모리(310), 주소생성부(320), 읽기부(330), 쓰기부(340), 버퍼(350), 및 제어부(360)을 포함한다. 메모리(310)는 송신측의 컨벌루셔널 인터리버 구조에 대응하는 컨벌루셔널 디인터리버(Convolutional interleaver)가 복수개 사용되는 구조를 갖는다. 즉, 컨벌루셔널 디인터리빙을 수행하기 위해서는 16 모듈 단위의 컨벌루셔널 디인터리버를 3456(1CIF/16 = 55296/16)개 사용한다. 하나의 컨벌루셔널 디인터리버의 레지스터는 136개 이므로, 이에 대응하여 136개의 데이터를 저장할 수 있는 메모리 공간을 갖는다. 따라서, 수신되는 16개의 CIF를 이용하여 컨벌루셔널 디인터리빙을 수행하기 위한 메모리 크기는 136×3456×4bit의 소프트디시젼 레벨인 경우, 대략 2Mbit(>1,880,064 bit)의 사이즈를 갖는다.Korean Patent Publication No. 10-2005-70337 has been proposed as a prior art for solving the above problems. 3 is a schematic block diagram of a deinterleaving apparatus for a digital broadcast receiver according to the proposed technique. The illustrated deinterleaving apparatus includes a memory 310, an address generator 320, a read unit 330, a write unit 340, a buffer 350, and a controller 360. The memory 310 has a structure in which a plurality of convolutional interleavers corresponding to the convolutional interleaver structure of the transmitting side are used. That is, in order to perform convolutional deinterleaving, 3456 (1CIF / 16 = 55296/16) convolutional deinterleavers using 16 modules are used. Since one convolutional deinterleaver has 136 registers, it has a memory space capable of storing 136 data correspondingly. Accordingly, the memory size for performing convolutional deinterleaving using the 16 received CIFs has a size of approximately 2 Mbits (> 1,880,064 bits) when the soft decision level is 136 × 3456 × 4 bits.

한편, 디램과 같은 대용량의 메모리를 수신 칩에서 사용하는 경우에, 메모리를 다른 블록과 공유해서 사용한다면 보다 효율적일 것이다. 그런데, 최근에 저렴한 비용으로 널리 사용되는 에스디램(SDRAM) 같은 버스트 데이터 입출력 방식을 채용한 메모리가 수신 칩의 대용량 메모리로 사용되고 있다. 따라서, 디인터리빙의 경우에 있어서도 최대한 대역폭을 적게 사용할 수 있게끔 하기 위해 가능한 한 버스트 형태로 데이터를 전송하는 것이 유리하며, 메모리의 사용량을 최소화 하는 것 이 필요하다. On the other hand, when a large memory such as DRAM is used in the receiving chip, it will be more efficient if the memory is shared with other blocks. However, recently, a memory employing a burst data input / output method such as SDRAM, which is widely used at low cost, has been used as a large memory of a receiving chip. Therefore, even in the case of deinterleaving, it is advantageous to transmit data in the form of burst as much as possible in order to use the bandwidth as much as possible, and it is necessary to minimize the memory usage.

도 4은 상기 제안 기술의 컨벌루셔널 디인터리버 구조에 기초한 디인터리버 메모리(310)의 구조를 도시한것이다. 도 4에 도시된 바와 같이, 16개의 가지(Branch)와, 최대 깊이 16개의 레지스터를 가지는 하나의 컨벌루셔널 디인터리버에 의해 디인터리빙되는 것을 디인터리빙 단위(Deinterleaving Unit:DU)로 한다. 이에, 입력데이터가 (I,Q)쌍으로 입력되는 점을 감안할 때, 하나의 디인터리빙 단위(DU)를 처리하기 위한 메모리 크기는 8bit×(16/16)×136 이다. 여기서, 하나의 디인터리빙 단위(DU)는 16개의 18bit 데이터로 구성되는 소정의 데이터그룹 16개에 대하여 디인터리빙을 수행한 것이다.4 shows the structure of the deinterleaver memory 310 based on the convolutional deinterleaver structure of the proposed technique. As shown in FIG. 4, a deinterleaving unit (DU) is deinterleaved by one convolutional deinterleaver having 16 branches and a maximum depth of 16 registers. Thus, considering that input data is input in (I, Q) pairs, a memory size for processing one deinterleaving unit (DU) is 8 bits x (16/16) x 136. Here, one deinterleaving unit DU performs deinterleaving on 16 predetermined data groups including 16 18-bit data.

상기 제안 기술에 따라서 55296개의 데이터(4bit)를 갖는 데이터그룹 CIF에 대해, 16개의 CIF에 대하여 디인터리빙을 수행하기위한 메모리의 크기는 4bit×(55296/16)×136, 대략 2Mbit가 필요한다. 여기에, 입력데이터가 (I,Q)쌍인 점을 적용하면, 디인터리버 메모리의 폭은 8bit, 전체 메모리 주소는 1728×136, 2Mbit이다.According to the proposed technique, for a data group CIF having 55296 data (4 bits), the size of a memory for performing deinterleaving on 16 CIFs requires 4 bits x (55296/16) x 136, approximately 2 Mbits. Applying the point where the input data are (I, Q) pairs, the deinterleaver memory has a width of 8 bits and a total memory address of 1728 x 136, 2 Mbit.

하나의 인터리빙 단위를 이루는 각 8비트 단위 데이터는 속하는 브랜치(branch)별로 리드/라이트 타이밍이 달라지므로, 8비트 단위로만 입출력이 가능할 뿐, 현재 메모리의 실제적으로 표준화된 데이터 폭인 32비트 채널을 사용하거나, SDRAM에서와 같은 버스트 입출력을 사용할 수 없음을 알 수 있다.Since each 8-bit unit data of one interleaving unit has different read / write timing for each branch to which it belongs, only I / O can be input / output in 8-bit unit, and 32-bit channel, which is the actual standardized data width of the current memory, or We can see that the same burst input and output cannot be used as in SDRAM.

상기 문제점들을 해결하기 위하여 안출된 본 발명의 목적은, 디인터리빙에 필요한 메모리 크기를 줄일 수 있는 디인터링빙 장치를 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention devised to solve the above problems is to provide a deinterleaving apparatus capable of reducing the memory size required for deinterleaving.

또한, 본 발명의 다른 목적은, 저렴하고 입출력 속도가 빠른 버스트 입출력 방식의 디램을 사용하는 디인터리빙 장치를 제공함에 있다.In addition, another object of the present invention is to provide a deinterleaving apparatus using a DRAM of a burst input / output method which is inexpensive and has a high input / output speed.

상기 목적을 달성하기 위한 본 발명의 사상을 적용한 디인터리빙 장치는, 심볼 단위로 기록이 가능한 입력 버퍼; 입력되는 디맵핑 매트릭 데이터의 각 심볼들을 재정렬한 소정의 기록용 데이터 전송 블록을 작성하여 상기 입력 버퍼에 기록하기 위한 입력 버퍼 어드레서; 심볼 단위로 판독이 가능한 출력 버퍼; 상기 출력 버퍼에 저장된 소정의 판독용 데이터 전송 블록을 이루는 각 심볼들을 재정렬하여 디펑춰 스트림으로 출력하기 위한 출력 버퍼 어드레서; 상기 기록용 데이터 전송 블록을 외부 메모리로 전달하고, 상기 외부 메모리로부터 상기 판독용 데이터 전송 블록을 전달받기 위한 메모리 제어부를 포함하는 것을 특징으로 한다. 여기서, 상기 메모리 제어부는, 할당받은 소정의 엑세스 권한에 따라 시스템 메모리를 액세스 하는 메모리 인터페이스; 및 상기 메모리 인터페이스에 상기 입력 버퍼 또는 출력 버퍼를 선택적으로 연결시키기 위한 버퍼링 컨트롤러를 포함할 수 있다.In order to achieve the above object, a deinterleaving apparatus to which the idea of the present invention is applied comprises: an input buffer capable of recording in symbol units; An input buffer addresser for creating a predetermined recording data transfer block in which the respective symbols of the input demapping metric data are rearranged and written in the input buffer; An output buffer that can be read symbolically; An output buffer addresser for rearranging each symbol constituting the predetermined read data transfer block stored in the output buffer and outputting the de-puncture stream; And a memory controller for transferring the write data transfer block to an external memory and receiving the read data transfer block from the external memory. The memory controller may include a memory interface for accessing a system memory according to an assigned predetermined access right; And a buffering controller for selectively connecting the input buffer or the output buffer to the memory interface.

상기 목적을 달성하기 위한 본 발명의 사상을 적용한 디인터리빙 방법은, 입력받은 메트릭 데이터 스트림을 구성하는 각 심볼들을, 소정의 디인터리빙 알고리즘에 따라 부여되는 지연값에 따라 분류하는 제1 디인터리빙 그룹핑 단계; 동일 한 지연값을 가지는 심볼들이 소정의 전송 단위만큼 입력되면, 이를 단위 전송 데이터로 수집하는 버스트 그룹핑 단계; 상기 단위 전송 데이터를 디인터리빙 메모리에 저장하는 단계; 상기 디인터리빙 메모리에 저장된 각 단위 전송 데이터들 중 부여된 지연값 동안 버퍼링된 것들을 수집하는 제2 디인터리빙 그룹핑 단계; 상기 수집된 단위 전송 데이터들에 포함된 각 심볼들을 부여된 지연값 및 패킷 내 심볼들의 순서에 따라 하나씩 추출하여 출력 메트릭 데이터 스트림을 생성하는 디그룹핑 단계를 포함하는 것을 특징으로 한다.In the deinterleaving method applying the spirit of the present invention to achieve the above object, a first deinterleaving grouping step of classifying each symbol constituting the input metric data stream according to a delay value given according to a predetermined deinterleaving algorithm ; A burst grouping step of collecting symbols as unit transmission data when symbols having the same delay value are input by a predetermined transmission unit; Storing the unit transmission data in a deinterleaving memory; A second deinterleaving grouping step of collecting the buffered ones of the respective unit transmission data stored in the deinterleaving memory during a given delay value; And extracting each symbol included in the collected unit transmission data one by one according to a given delay value and a sequence of symbols in a packet to generate an output metric data stream.

이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 실시예는 당업계의 평균적인 지식을 갖는 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the embodiments of the present invention illustrated in the following may be modified in many different forms, and the embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art. .

예컨대, 하기 실시예에서는 버스트 입출력을 지원하는 SDRAM을 디인터리빙 메모리로 사용하는 구현으로 구체화하여 설명하며, 각 구성요소에 대한 용어 명명도 상기 구체화한 구현에 적합하도록 채택하였지만, 이는 설명의 일관성 및 이해의 편의를 위한 것에 불과한 것으로서, 본 발명의 권리범위에는 무관하다.For example, the following embodiment is specifically described as an implementation using SDRAM supporting burst input / output as a deinterleaving memory, and the term naming of each component is also adopted to be suitable for the above embodiment, but this is consistent and understood in the description. As merely for convenience of, it is irrelevant to the scope of the invention.

또한, 첨부한 도면에서는 디인터리빙 장치의 입력 및 출력쪽에 디맵퍼 블록 및 디펑춰 블록이 연결되는 구현으로 구체화하여 설명하며, 입/출력단 구성요소에 대한 용어 명명도 상기 구체화한 구현에 적합하도록 채택하였지만, 이 또한 설명의 일관성 및 이해의 편의를 위한 것에 불과한 것으로서, 본 발명의 권리범위에는 무관하다.In addition, in the accompanying drawings, a demapper block and a defunct block are connected to an input and an output side of the deinterleaving device. The terminology for input / output terminal components is also adopted to be suitable for the above embodiment. And, this is also merely for convenience of explanation and understanding of the description, it is irrelevant to the scope of the present invention.

(실시예)(Example)

도 5는 본 실시예에 따른 디인터리빙 장치(20), 디맵퍼 블록(21), 디펑춰 블록(27) 및 디인터리빙 메모리(25)의 데이터 입출력 구조를 도시하고 있다. 도시한 구성요소들은 도 1 및 수학식 1에 표시한 바와 같은 크기의 4비트 심볼 매트릭으로 이루어진 CIF 블록을 처리하기 위한 것이다. 도시한 디인터리빙 메모리(25)는 버스트 방식으로 데이터를 입출력하는 버스트 램(예: SDRAM, DDR-RAM)으로서, 디인터리빙 장치(20)와 일체로 구현되거나 별도로 구현되는 디인터리빙 전용 메모리일 수도 있고, 수신기 시스템의 메인 메모리일 수도 있다. 도시한 디맵퍼 블록(21)은 DQPSK 복조기로부터 입력된 데이터가 디맵퍼 블록(11)을 통과하면서 4비트로 이루어진 매트릭 데이터를 출력한다. 도시한 디펑춰 블록(27)은 디인터리빙된 4비트 심볼 매트릭을 비터비 디코더(미도시)로 출력한다.5 illustrates a data input / output structure of the deinterleaving apparatus 20, the demapper block 21, the depuncture block 27, and the deinterleaving memory 25 according to the present embodiment. The illustrated components are for processing a CIF block consisting of a 4-bit symbol metric of the size as shown in Figs. The illustrated deinterleaving memory 25 is a burst RAM (eg, SDRAM, DDR-RAM) for inputting / outputting data in a burst manner. The deinterleaving memory 25 may be a deinterleaving dedicated memory that is implemented integrally with or separately from the deinterleaving device 20. May be the main memory of the receiver system. The illustrated demapper block 21 outputs metric data consisting of 4 bits while data input from the DQPSK demodulator passes through the demapper block 11. The illustrated depuncture block 27 outputs the deinterleaved four-bit symbol metric to a Viterbi decoder (not shown).

도시한 디인터리빙 장치(20)는, 디인터리빙을 수행하기 위한 저장공간을 제공하는 버스트 방식 램을 리드 또는 라이트하기 위한 버스트 램 인터페이스(24); 디맵핑된 매트릭 데이터를 입력받아 소정의 기록용 데이터 블록을 작성하기 위한 입력 버퍼(22); 소정의 판독용 데이터 블록을 입력받아 디인터리빙 매트릭 데이터로 출력하기 위한 출력 버퍼(26); 상기 디맵핑 매트릭 데이터의 각 심볼들을 재정렬한 소정의 기록용 데이터 전송 블록을 작성하여 상기 입력 버퍼(22)에 기록하기 위한 입력 버퍼 어드레서(28); 상기 출력 버퍼(26)에 저장된 소정의 판독용 데이터 전송 블록을 이루는 각 심볼들을 재정렬하여 디펑춰 스트림으로 출력하기 위한 출력 버퍼 어드레서(29); 및 상기 판독용 데이터 블록을 이루는 각 전송 단위 데이터를 디인터리빙 알고리즘에 따라 기록되기에 적합한 위치로 상기 버스트 램(25)의 어드레스를 지정하고, 상기 기록용 데이터 블록을 구성하는데 필요한 각 전송 단위 데이터들이 기록된 상기 버스트 램(25)상의 어드레스를 지정하기 위한 버스트 버퍼링 컨트롤러(23)를 포함한다. 여기서, 상기 입력 버퍼(22)는 심볼 단위로 기록이 가능하며, 상기 출력 버퍼(26)는 심볼 단위로 판독이 가능한 SRAM으로 구현하는 것이 바람직하다.The illustrated deinterleaving apparatus 20 includes: a burst RAM interface 24 for reading or writing a burst RAM, which provides a storage space for performing deinterleaving; An input buffer 22 for receiving the demapped metric data and creating a predetermined block of data for writing; An output buffer 26 for receiving a predetermined read data block and outputting the deinterleaving metric data; An input buffer addresser (28) for creating a predetermined write data transfer block in which the respective symbols of the demapping metric data are rearranged and written in the input buffer (22); An output buffer addresser (29) for rearranging each symbol constituting the predetermined read data transfer block stored in the output buffer (26) and outputting it as a depuncture stream; And addressing the burst RAM 25 to a position suitable for recording each transmission unit data constituting the reading data block according to a deinterleaving algorithm, and each transmission unit data necessary for constructing the recording data block A burst buffering controller 23 for designating the address on the burst RAM 25 that has been recorded. Here, the input buffer 22 may be written in symbol units, and the output buffer 26 may be implemented in an SRAM that can be read in symbol units.

상기 디맵퍼 블록(11)에서 공급되는 매트릭 데이터는 입력 버퍼(22)에 임시로 저장된다. 상기 입력 버퍼(22)는 2개의 SRAM 뱅크로 구성될 수 있으며, 각각의 메모리 크기는 상기 버스트 램(25)의 버스트 길이와 워드 길이에 따라 결정된다.(도 5에서 BL은 버스트 길이를 나타내며, WL은 워드 길이를 나타낸다.) 상기 입력 버퍼(22)가 2개의 SRAM 뱅크로 구성되는 이유는 연속적으로 입력되는 데이터를 놓치지 않도록 해야 하기 때문이며, 구현에 따라서는 2개 이상의 뱅크를 가진 순환 버퍼 형태를 가질 수도 있다. 상기 각 SRAM 뱅크에는 16개의 단위 전송 데이터로 이루어진 기록용 데이터 블록이 저장되는데, 상기 단위 전송 데이터는 도 6에 도시한 바와 같이 버스트 길이 4와 워드 길이 32bit를 가지는 것이 한 단위가 되며, 이 경우 단위 버스트 전송 데이터라고도 칭한다.The metric data supplied from the demapper block 11 is temporarily stored in the input buffer 22. The input buffer 22 may be composed of two SRAM banks, each of which is determined according to the burst length and the word length of the burst RAM 25. In FIG. 5, BL represents a burst length. WL represents the word length.) The reason why the input buffer 22 is composed of two SRAM banks is that it is necessary to ensure that data that is continuously input is not missed. May have Each of the SRAM banks stores a write data block consisting of 16 unit transfer data. The unit transfer data has a burst length of 4 and a word length of 32 bits, as shown in FIG. Also called burst transmission data.

상기 입력 버퍼 어드레서(28)는, 디맵퍼 블록(21)으로부터 입력되는 심볼 매트릭 데이터에 포함된 각 심볼들을 본 발명에 따른 디인터리빙 순서에 따라 재정렬(즉, 서로간의 순서를 바꾼다)하여 기록용 데이터 전송 블록을 작성하여, 입력 버 퍼(22)를 이루는 2개의 뱅크 중 연결되어 있는 하나의 SRAM 뱅크에 저장한다.The input buffer addresser 28 reorders (ie, changes the order of each other) each symbol included in the symbol metric data input from the demapper block 21 according to the deinterleaving order according to the present invention. A data transfer block is created and stored in one SRAM bank connected between two banks forming the input buffer 22.

여기서, 본 발명의 사상에 따라 하나의 CIF 블록은 1728개의 단위 전송 데이터로 변환되며, 각 단위 전송 데이터들은 디인터리빙 알로리즘에 따라 부여된 지연값에 따라 16개의 그룹들(그룹 0 ~ 그룹 15)로 분류되는데, 각 그룹들은 108개의 단위전송 데이터들을 포함한다.Here, according to the spirit of the present invention, one CIF block is converted into 1728 unit transmission data, and each unit transmission data is divided into 16 groups (groups 0 to 15) according to a delay value given by the deinterleaving algorithm. Each group includes 108 unit transmission data.

상기 디맵핑 심볼 메트릭은 상기 지연값이 서로 다른 16개의 심볼 단위로 입력된다고 볼 수 있으며, 상기 16개의 심볼 단위를 도 6의 같은 버스트 전송에 필요한 수량만큼 입력받아야 도 6에 도시한 바와 같은 심볼 재정렬이 가능하므로, 하나의 SRAM 뱅크는 16개의 단위 전송 데이터를 저장할 수 있는 크기를 가지면 충분하다.The demapping symbol metric may be regarded that the delay values are input in units of 16 symbols different from each other, and the symbol reordering as shown in FIG. 6 requires receiving the 16 symbol units in an amount necessary for the same burst transmission of FIG. 6. Since this is possible, one SRAM bank should be large enough to store 16 unit transfer data.

이에 따라, 상기 연결된 하나의 SARM 뱅크에 저장되어 있는 매트릭 데이터로 16개의 단위 버스트 전송 데이터들이 구성된다. 상기 각 단위 전송 데이터들은 상기 디인터리빙 메모리(25)에 저장되는데, 도 7에 도시한 바와 같은 규칙대로 기록될 수 있도록 상기 버스트 버퍼링 컨트롤러(23)가, 각 버스트 전송 단위 데이터에 대하여 디인터리빙 메모리(25)상에 적합한 저장 위치 어드레스를 지정한다. Accordingly, 16 unit burst transmission data are composed of metric data stored in the connected SARM bank. The unit transmission data are stored in the deinterleaving memory 25. The burst buffering controller 23 stores the deinterleaving memory for each burst transmission unit data so that the unit transmission data can be recorded according to the rules as shown in FIG. Specify the appropriate storage location address on (25).

상기 버스트 램 인터페이스(24)는 상기 디인터리빙 컨트롤러(23)가 규정한 순서대로 상기 심볼들을 버스트 길이 4와 워드 길이 32bit의 버스트 전송 채널을 통해, 상기 단위 버스트 블록들을 상기 디인터리빙 메모리(25)로 전송한다. 일반적인 버스트 램 인터페이스 회로로 구현할 수 있다.The burst RAM interface 24 transmits the symbol burst blocks to the deinterleaving memory 25 through a burst transmission channel having a burst length of 4 and a word length of 32 bits in the order defined by the deinterleaving controller 23. send. It can be implemented with a general burst ram interface circuit.

또한, 상기 디인터리빙 메모리(25)에 대한 독출시 상기 버스트 버퍼링 컨트 롤러(23)는 상기 도 7에 도시한 바와 같은 순서대로 데이터를 리드하여 출력 버퍼(26)에 판독용 전송 데이터 블록의 형태로 저장하도록 어드레스를 지정한다. 이후 상기 출력 버퍼 어드레서(29)에서 상기 출력 버퍼(26)에 저장된 판독용 전송 데이터 블록을 도 8에 도시한 바와 같은 형태의 디펑춰 스트림으로 출력한다. 이에 따라 디인터리빙된 데이터는 서로 다른 시간에 입력된 CIF의 심볼들이 도 1에 도시한 바와 같은 규칙으로 재정렬된 매트릭 데이터가 된다.Further, upon reading out of the deinterleaving memory 25, the burst buffering controller 23 reads data in the order as shown in FIG. 7 in the form of a read transfer data block to the output buffer 26. Specify the address to save. Thereafter, the output buffer address 29 outputs a read transmission data block stored in the output buffer 26 as a depuncture stream as shown in FIG. Accordingly, the deinterleaved data becomes metric data in which symbols of the CIF input at different times are rearranged by the rules as shown in FIG. 1.

이하, 본 발명의 사상에 따른 디인터리빙 방법에 대하여 기술하겠다. 본 실시예의 디인터리빙 방법은, 입력받은 메트릭 데이터 스트림을 구성하는 각 심볼들을, 소정의 디인터리빙 알고리즘에 따라 부여되는 지연값에 따라 분류하는 제1 디인터리빙 그룹핑 단계; 동일한 지연값을 가지는 심볼들이 소정의 전송 단위만큼 입력되면, 이를 단위 전송 데이터로 수집하는 버스트 그룹핑 단계; 상기 단위 전송 데이터를 디인터리빙 메모리에 저장하는 단계; 상기 디인터리빙 메모리에 저장된 각 단위 전송 데이터들 중 부여된 지연값 동안 버퍼링된 것들을 수집하는 제2 디인터리빙 그룹핑 단계; 및 상기 수집된 단위 전송 데이터들에 포함된 각 심볼들을 부여된 지연값 및 패킷 내 심볼들의 순서에 따라 하나씩 추출하여 출력 메트릭 데이터 스트림을 생성하는 디그룹핑 단계로 이루어진다.Hereinafter, a deinterleaving method according to the spirit of the present invention will be described. The deinterleaving method of the present embodiment includes: a first deinterleaving grouping step of classifying each symbol constituting the input metric data stream according to a delay value given according to a predetermined deinterleaving algorithm; A burst grouping step of collecting symbols as unit transmission data when symbols having the same delay value are input by a predetermined transmission unit; Storing the unit transmission data in a deinterleaving memory; A second deinterleaving grouping step of collecting the buffered ones of the respective unit transmission data stored in the deinterleaving memory during a given delay value; And a degrouping step of extracting each symbol included in the collected unit transmission data one by one according to a given delay value and a sequence of symbols in a packet to generate an output metric data stream.

도 6은 입력 버퍼(22)를 사용하여 수행되는 상기 제1 디인터리빙 그룹핑 단계에 대한 자세한 동작을 설명한다. CIF 데이터는 4비트 심볼 매트릭으로 이루어지고, 버스트 길이 BL=4이고, 워드 길이 WL=32비트라고 가정한다. 입력되는 CIF 데이 터는 각각의 인덱스에 따라 16개 그룹으로 나뉘어져 입력 버퍼에 저장된다. 이에 대한 수식은 수학식 3과 같다.6 illustrates a detailed operation of the first deinterleaving grouping step performed using the input buffer 22. Assume that the CIF data consists of a 4-bit symbol metric, burst length BL = 4, and word length WL = 32 bits. The input CIF data is divided into 16 groups according to each index and stored in the input buffer. The equation for this is shown in Equation 3.

Group(i mod 16) = br,i (0≤i≤55295)Group (i mod 16) = br, i (0 ≦ i ≦ 55295)

여기서, 워드 크기가 32비트이고 각각의 매트릭 심볼은 4비트이므로, 각각의 워드안에는 8개의 매트릭 심볼들이 저장된다. 각각의 그룹은 3456개의 매트릭으로 구성되며, 432개의 워드로 구성된다. 앞 단으로부터 입력되는 매트릭 데이터는 0번째부터 55295번째까지 순차적으로 입력되기 때문에 입력 버퍼의 크기는 (16ㆍBL)ㆍWL이 된다.Since the word size is 32 bits and each metric symbol is 4 bits, eight metric symbols are stored in each word. Each group consists of 3456 metrics and 432 words. Since the metric data inputted from the preceding stage is sequentially inputted from the 0th to 55295th, the size of the input buffer is (16BL) WL.

도 7은 버스트 입출력을 지원하는 SDRAM에 각각의 워드를 저장하는 방식으로 상기 버스트 그룹핑 단계를 수행하는 것을 설명하고 있다. 각각의 그룹별로 지연 길이가 다르기 때문에 그룹 0의 경우에는 432 워드 크기(즉, 108심볼 크기)를 가지고 있으며, 그룹 1의 경우에는 432*9의 크기를 가지고 있다. 다른 그룹도 마찬가지로 각각의 지연 길이만큼 그 크기를 가지고 있다. 7 illustrates performing the burst grouping step by storing each word in an SDRAM supporting burst input / output. Since each group has a different delay length, group 0 has a size of 432 words (that is, 108 symbol sizes), and group 1 has a size of 432 * 9. The other groups likewise have their size by the length of each delay.

상기 디인터리빙 메모리 저장 단계에서도 입력 버퍼(22)로부터 디인터리빙 메모리(25)에 저장하는 순서는 도 7에서와 같은 순서로 저장하며, 상기 제2 디인터리빙 그룹핑 단계에서 상기 디인터리빙 메모리를 판독하는 순서도 마찬가지로도 7에 나타낸 바와 같다. 이와 같이 디인터리빙 메모리(25)에 저장하거나 읽는 위치는 각각의 CIF에 따라 순환되는 형태를 갖는데, 이렇게 하는 이유는 한번 저장된 후에는 각각의 부여된 지연값만큼 데이터를 유지해야 하기 때문이다. 도 7에서 디인터 리빙 메모리(25)에 데이터를 쓰고 읽는 순서를 명시해 놓았는데, 각각의 그룹은 하나의 CIF를 처리한 후에는 읽고 쓰는 메모리의 주소값이 각각의 그룹내에서 순환되게 된다. 예를 들면 그룹 0부터 그룹 15까지 4개의 워드가 버스트 형태로 메모리에 저장되면, 다시 그룹 0부터 그룹 15까지 그 다음 입력된 데이터가 버스트 형태로 계속 저장된다. 이러한 동작은 1개의 CIF 데이터가 모두 저장될 때까지 반복되며, 데이터가 모두 저장된 후에 다음 CIF 데이터가 입력되면, 각각의 그룹 별로 메모리의 주소값이 순환되게 된다. 그룹 0은 1 블록으로 이루어져 있으므로 변하지 않으며, 그룹 1은 9개의 블록으로 이루어져 있으므로 2번째 블록으로 이동하게 된다. 메모리로부터 읽어오는 순서도 마찬가지로 각각의 그룹내에서 블록간에 순환하는 구조를 갖는다. 그룹 0인 경우에는 메모리에 저장할 때와 마찬가지로 순환하지 않으며, 그룹 1의 경우에는 블록 8에서 읽어온후에, 다음 CIF에서 읽을 때는 블록 0에서 읽어오는 방식을 취한다.In the deinterleaving memory storing step, the order of storing from the input buffer 22 to the deinterleaving memory 25 is stored in the same order as in FIG. 7, and the flowchart of reading the deinterleaving memory in the second deinterleaving grouping step. Similarly, it is as shown in FIG. In this way, the position stored or read in the deinterleaving memory 25 has a form that is circulated according to each CIF because the data must be maintained by each given delay value once stored. In FIG. 7, the order of writing and reading data is specified in the deinterleaving memory 25. After each group processes one CIF, the address value of the reading and writing memory is circulated in each group. For example, if four words from group 0 to group 15 are stored in memory in burst form, then the next input data from group 0 to group 15 are stored in burst form. This operation is repeated until all of one CIF data is stored. If the next CIF data is input after all data is stored, the address value of the memory is circulated for each group. Since group 0 is composed of 1 block, it does not change. Group 1 is composed of 9 blocks, and therefore, moves to the second block. The order of reading from the memory is similarly circulated among blocks in each group. In the case of group 0, it does not cycle as if it is stored in memory. In the case of group 1, after reading in block 8, the next CIF reads in block 0.

도 8은 출력 버퍼(26)를 사용하여 수행되는 상기 디그룹핑 단계의 세부 동작을 설명한다. 입력 버퍼(22)의 경우와 마찬가지로 버스트 길이(BL)는 4로 가정하고, 워드 길이(WL)는 32비트로 가정한다. 64×32 크기를 갖는 SRAM 뱅크를 2개를 두어 연속적으로 데이터를 읽어와서 끊김 없이 데이터를 출력하도록 구성된다. 뱅크 0에 해당하는 첫 번째 메모리에 4개의 워드로 이루어진 단위 버스트 전송 데이터를 16개 읽어와서 메모리를 모두 채우고 나서, 두 번째 메모리에 다시 버스트 형태로 저장시킴과 동시에 뱅크 0에 저장되어 있는 데이터를 출력하게 되는데 그 형 태는 도 6의 오른쪽에 묘사된 것처럼 {Br,0, Br-8, 432, … , Br-15,6480} 열로부터 {br,0, br-8,1, br-4,2 … br-15,127}과 같은 순서로 데이터를 읽어서 출력하게 된다.8 illustrates the detailed operation of the degrouping step performed using output buffer 26. As in the case of the input buffer 22, the burst length BL is assumed to be 4 and the word length WL is assumed to be 32 bits. Two SRAM banks of size 64 × 32 are arranged to read data continuously and output data without interruption. Reads 16 units of burst data consisting of 4 words into the first memory corresponding to bank 0, fills all the memory, stores the data in burst form again in the second memory, and simultaneously outputs the data stored in bank 0. The form is defined as {B r, 0 , B r-8, 432 ,... As depicted on the right side of FIG. 6. , B r-15,6480 } from columns {b r, 0 , b r-8,1 , b r-4,2 ... b r-15,127 } will read and print the data in the same order.

이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형이 가능하다.The present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications can be made by those skilled in the art within the scope of the technical idea of the present invention. Do.

상기 구조의 본 발명에 따른 디인터리빙 장치 또는 디인터리빙 방법을 실시함에 따라, 디인터리빙에 필요한 메모리 크기를 줄일 수 있는 효과가 있다.According to the deinterleaving apparatus or the deinterleaving method according to the present invention having the above structure, it is possible to reduce the memory size required for deinterleaving.

또한, 본 발명의 디인터립이 장치 또는 디인터링빙 방법은 저렴하고 입출력 속도가 빠른 버스트 입출력 방식의 디램의 대역폭을 효율적으로 사용할 수 있는 효과도 있다.In addition, the deinterleaving apparatus or the deinterleaving method of the present invention has an effect that the bandwidth of the DRAM of the burst input / output system can be efficiently used, which is inexpensive and the input / output speed is high.

또한, 본 발명의 디인터립이 장치 또는 디인터링빙 방법은 저렴한 시스템 메모리를 공유하여 사용하도록 구현할 수 있는 효과가 도다.In addition, the device or the deinterleaving method of the present invention can be implemented to share and use inexpensive system memory.

또한, 메모리의 사용을 2-M비트 정도로 최적화하여 시간 디인터리빙의 메모리 활용도를 극대화 할 수 있는 효과도 있다.In addition, by optimizing the use of memory to 2-M bits, it is possible to maximize the memory utilization of time deinterleaving.

Claims (14)

심볼 단위로 기록이 가능한 입력 버퍼;An input buffer capable of recording in symbol units; 입력되는 디맵핑 매트릭 데이터의 각 심볼들을 재정렬한 소정의 기록용 데이터 전송 블록을 작성하여 상기 입력 버퍼에 기록하기 위한 입력 버퍼 어드레서;An input buffer addresser for creating a predetermined recording data transfer block in which the respective symbols of the input demapping metric data are rearranged and written in the input buffer; 심볼 단위로 판독이 가능한 출력 버퍼;An output buffer that can be read symbolically; 상기 출력 버퍼에 저장된 소정의 판독용 데이터 전송 블록을 이루는 각 심볼들을 재정렬하여 디펑춰 스트림으로 출력하기 위한 출력 버퍼 어드레서;An output buffer addresser for rearranging each symbol constituting the predetermined read data transfer block stored in the output buffer and outputting the de-puncture stream; 상기 기록용 데이터 전송 블록을 외부 메모리로 전달하고, 상기 외부 메모리로부터 상기 판독용 데이터 전송 블록을 전달받기 위한 메모리 제어부A memory controller for transferring the write data transfer block to an external memory and receiving the read data transfer block from the external memory; 를 포함하는 디인터리빙 장치.Deinterleaving apparatus comprising a. 제1항에 있어서, 상기 메모리 제어부는,The method of claim 1, wherein the memory control unit, 할당받은 소정의 엑세스 권한에 따라 시스템 메모리를 액세스 하는 메모리 인터페이스; 및A memory interface for accessing system memory in accordance with an assigned predetermined access right; And 상기 메모리 인터페이스에 상기 입력 버퍼 또는 출력 버퍼를 선택적으로 연결시키기 위한 버퍼링 컨트롤러A buffering controller for selectively coupling said input buffer or output buffer to said memory interface 를 포함하는 디인터리빙 장치.Deinterleaving apparatus comprising a. 제1항에 있어서, The method of claim 1, 상기 입력 버퍼는, 상기 기록용 데이터 전송 블록을 저장할 수 있는 뱅크를 2개 이상 구비하며,The input buffer has two or more banks capable of storing the write data transfer block, 동일 시점에 상기 입력 버퍼 어드레서 및 메모리 제어부가 서로 다른 뱅크에 연결되는 것을 특징으로 하는 디인터리빙 장치.And the input buffer addresser and the memory controller are connected to different banks at the same time. 제1항에 있어서, The method of claim 1, 상기 출력 버퍼는, 상기 판독용 데이터 전송 블록을 저장할 수 있는 뱅크를 2개 이상 구비하며,The output buffer includes two or more banks capable of storing the read data transfer block. 동일 시점에 상기 출력 버퍼 어드레서 및 메모리 제어부가 서로 다른 뱅크에 연결되는 것을 특징으로 하는 디인터리빙 장치.And the output buffer addresser and the memory controller are connected to different banks at the same time. 제1항에 있어서, The method of claim 1, 상기 기록용 데이터 전송 블록 및 판독용 데이터 전송 블록은 상기 외부 메모리의 전송 단위 데이터의 집합으로 이루어지는 것을 특징으로 하는 디인터리빙 장치.And said write data transfer block and read data transfer block comprise a set of transfer unit data of said external memory. 제5항에 있어서, The method of claim 5, 상기 외부 메모리는 버스트 전송을 지원하는 메모리이며,The external memory is a memory that supports burst transfer, 상기 전송 단위 데이터는 상기 외부 메모리의 전송 워드길이에 버스트 길이를 곱한 버스트 전송 단위 데이터인 것을 특징으로 하는 디인터리빙 장치.And the transmission unit data is burst transmission unit data multiplied by a burst length of a transmission word length of the external memory. 제1항에 있어서, The method of claim 1, 상기 입력 버퍼 어드레서는,The input buffer addresser, 상기 디맵핑 매트릭 데이터의 각 심볼들을 디인터리빙 알고리즘에 따라 부여되는 지연값에 따라 분류하는 디인터링빙 그룹핑; 및Deinterleaving grouping for classifying each symbol of the demapping metric data according to a delay value given by a deinterleaving algorithm; And 상기 디인터리빙 그룹핑된 각 심볼들을 입력 순서에 따라 상기 기록용 데이터 전송 블록들로 수집하는 버스트 그룹핑을 수행하는 것을 특징으로 하는 디인터리빙 장치.And a burst grouping for collecting the deinterleaved grouped symbols into the recording data transmission blocks according to an input order. 제5항에 있어서,The method of claim 5, 상기 메모리 제어부는,The memory control unit, 상기 기록용 데이터 전송 블록을 이루는 각 전송 단위 데이터에, 디인터리빙 알고리즘에 따라 부여되는 지연값에 따라 부여되는 그룹값에 따라, 상기 외부 메모리상의 저장 위치를 부여하며,Each storage unit data constituting the recording data transmission block is given a storage location on the external memory according to a group value given according to a delay value given by a deinterleaving algorithm, 상기 외부 메모리에 서로 다른 시간에 저장된 각 전송 단위 데이터들 중 디인터리빙 알고리즘에 따라 동일한 출력 스트림을 구성하는 것들을 추출하여 상기 판독용 데이터 전송 블록을 구성하는 것을 특징으로 하는 디인터리빙 장치.And de-interleaving the data output block for extracting the same output stream according to a deinterleaving algorithm among the transmission unit data stored at different times in the external memory. 제1항에 있어서, The method of claim 1, 상기 출력 버퍼 어드레서는,The output buffer addresser, 상기 판독용 데이터 전송 블록에 대하여, 지연값에 따라 구별된 그룹에 속하는 각 심볼들을, 각 지연값에 따른 그룹 순서 및 각 그룹내 심볼들의 순서에 따라 하나씩 추출하여 디펑춰 심볼 스트림을 구성하는 것을 특징으로 하는 디인터리빙 장치.Regarding the read data transmission block, each symbol belonging to a group classified according to a delay value is extracted one by one according to a group order according to each delay value and an order of symbols in each group to form a depuncture symbol stream. Deinterleaving apparatus. 제1항에 있어서, The method of claim 1, 상기 외부 메모리에 저장된 각 단위 전송 데이터는 부여된 지연값 동안 버퍼링되는 것을 특징으로 하는 디인터리빙 장치.Each unit transmission data stored in the external memory is buffered for a given delay value. 입력받은 메트릭 데이터 스트림을 구성하는 각 심볼들을, 소정의 디인터리빙 알고리즘에 따라 부여되는 지연값에 따라 분류하는 제1 디인터리빙 그룹핑 단계; A first deinterleaving grouping step of classifying each symbol constituting the input metric data stream according to a delay value given according to a predetermined deinterleaving algorithm; 동일한 지연값을 가지는 심볼들이 소정의 전송 단위만큼 입력되면, 이를 단위 전송 데이터로 수집하는 버스트 그룹핑 단계;A burst grouping step of collecting symbols as unit transmission data when symbols having the same delay value are input by a predetermined transmission unit; 상기 단위 전송 데이터를 디인터리빙 메모리에 저장하는 단계;Storing the unit transmission data in a deinterleaving memory; 상기 디인터리빙 메모리에 저장된 각 단위 전송 데이터들 중 부여된 지연값 동안 버퍼링된 것들을 수집하는 제2 디인터리빙 그룹핑 단계;A second deinterleaving grouping step of collecting the buffered ones of the respective unit transmission data stored in the deinterleaving memory during a given delay value; 상기 수집된 단위 전송 데이터들에 포함된 각 심볼들을 부여된 지연값 및 패킷 내 심볼들의 순서에 따라 하나씩 추출하여 출력 메트릭 데이터 스트림을 생성하는 디그룹핑 단계A degrouping step of extracting each symbol included in the collected unit transmission data one by one according to a given delay value and a sequence of symbols in a packet to generate an output metric data stream 를 포함하는 디인터리빙 방법.Deinterleaving method comprising a. 제11항에 있어서, The method of claim 11, 상기 제1 디인터리빙 그룹핑 단계 및 상기 버스트 그룹핑 단계가 통합적으로 수행되는 것을 특징으로 하는 디인터리빙 방법.And the first deinterleaving grouping step and the burst grouping step are performed integrally. 제12항에 있어서,The method of claim 12, 상기 제1 디인터리빙 단계, 상기 버스트 그룹핑 단계 및 메모리 저장 단계는,The first deinterleaving step, the burst grouping step and the memory storing step, 심볼 단위로 기록이 가능한 적어도 2개 이상의 뱅크를 가지며, 상기 작업들이 수행되는 뱅크가 순환되는 구조의 버퍼에 의해 동시에 수행되는 것을 특징으로 하는 디인터리빙 방법.A deinterleaving method, comprising: at least two banks capable of recording in symbol units, wherein the banks in which the operations are performed are simultaneously performed by a buffer having a circulating structure. 제11항에 있어서,The method of claim 11, 상기 제2 디인터리빙 단계 및 상기 디그룹핑 단계는,The second deinterleaving step and the degrouping step, 심볼 단위로 판독이 가능한 적어도 2개 이상의 뱅크를 가지며, 상기 작업들이 수행되는 뱅크가 순환되는 구조의 버퍼에 의해 동시에 수행되는 것을 특징으로 하는 디인터리빙 방법.A deinterleaving method comprising at least two banks that can be read in symbol units, wherein the banks in which the operations are performed are simultaneously performed by a buffer having a circulating structure.
KR1020050117422A 2005-12-05 2005-12-05 Time deinterleaving apparatus and method Expired - Fee Related KR100733767B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050117422A KR100733767B1 (en) 2005-12-05 2005-12-05 Time deinterleaving apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050117422A KR100733767B1 (en) 2005-12-05 2005-12-05 Time deinterleaving apparatus and method

Publications (2)

Publication Number Publication Date
KR20070058758A KR20070058758A (en) 2007-06-11
KR100733767B1 true KR100733767B1 (en) 2007-06-29

Family

ID=38355353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050117422A Expired - Fee Related KR100733767B1 (en) 2005-12-05 2005-12-05 Time deinterleaving apparatus and method

Country Status (1)

Country Link
KR (1) KR100733767B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334867A (en) * 1992-05-29 1993-12-17 Toshiba Corp Semiconductor memory
JPH05342095A (en) * 1992-06-10 1993-12-24 Toshiba Corp Interleave memory for adjacent interpolaton and image processor using this memory
JPH06243038A (en) * 1992-04-17 1994-09-02 Sun Microsyst Inc Method for reading and writing cached data and device for caching data
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR19990065357A (en) * 1998-01-12 1999-08-05 구자홍 Interleaved / Deinterleaved Devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243038A (en) * 1992-04-17 1994-09-02 Sun Microsyst Inc Method for reading and writing cached data and device for caching data
JPH05334867A (en) * 1992-05-29 1993-12-17 Toshiba Corp Semiconductor memory
JPH05342095A (en) * 1992-06-10 1993-12-24 Toshiba Corp Interleave memory for adjacent interpolaton and image processor using this memory
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR19990065357A (en) * 1998-01-12 1999-08-05 구자홍 Interleaved / Deinterleaved Devices

Also Published As

Publication number Publication date
KR20070058758A (en) 2007-06-11

Similar Documents

Publication Publication Date Title
US7720017B2 (en) Parallel turbo decoders with multiplexed output
US20100283912A1 (en) Apparatus for Demodulating Digital Video and Associated Method
JPH0865177A (en) Convolutional interleaver with reduced memory requirements and address generator
TWI569587B (en) Convolutional de-interleaver
EP2242265B1 (en) A wireless communication receiver, a wireless communication receiving method and a television receiver
US20170256302A1 (en) Dynamic Random Access Memory For Communications Systems
KR20060128180A (en) Apparatus and method for receiving signal in communication system
KR100733767B1 (en) Time deinterleaving apparatus and method
US8219872B2 (en) Extended deinterleaver for an iterative decoder
CN111030780A (en) Configurable parallel bit grouping interleaver and interleaving method
US10164664B2 (en) Time and cell de-interleaving circuit and method for performing time and cell de-interleaving
JP2000507063A (en) Receiver, deinterleaving means and reduced time deinterleaving memory method
KR100520934B1 (en) Deinterleaver for digital broadcasting receiver having a reduced memory size and a method deinterleaving thereof
CN110383785B (en) Apparatus for performing time-domain deinterleaving of binary data streams in a DVB-T2 receiver
US10140209B2 (en) Time de-interleaving circuit and time de-interleaving method for reducing a number of times of accessing memory
US9577789B2 (en) Frequency deinterleaving and time deinterleaving circuit, method thereof and receiving circuit of digital television
US10484136B2 (en) High speed interleaver/deinterleaver device supporting line rate, and method thereof
CN105721929B (en) Frequency de-interleaving and time de-interleaving circuit and method and receiving circuit of digital television
CN101500099B (en) Wireless communication receiver, wireless communication receiving method and television receiver
CN118214433A (en) Parallel de-interleaver and de-interleaving method suitable for 5G LDPC code
KR100710223B1 (en) Memory control system and data transmission / reception method using the system
KR101365372B1 (en) Method for interleaving packet data of PDCH in mobile communication system
CN117014038A (en) HPLC load diversity combining method
CN115225203A (en) Data de-interleaving method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20051205

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20070126

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20070620

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20070625

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20070625

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20100601

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20110609

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20110609

Start annual number: 5

End annual number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee