KR101133907B1 - 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체 - Google Patents
디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체 Download PDFInfo
- Publication number
- KR101133907B1 KR101133907B1 KR1020070067843A KR20070067843A KR101133907B1 KR 101133907 B1 KR101133907 B1 KR 101133907B1 KR 1020070067843 A KR1020070067843 A KR 1020070067843A KR 20070067843 A KR20070067843 A KR 20070067843A KR 101133907 B1 KR101133907 B1 KR 101133907B1
- Authority
- KR
- South Korea
- Prior art keywords
- interleaving
- transmission mode
- interleaving index
- modular
- index
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
- H03M13/2764—Circuits therefore
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/275—Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
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)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명에 따른 디인터리브 장치는, 인터리브된 데이터를 입력받아 저장하는 버퍼저장부; 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출부; 및 상기 인터리빙 인덱스를 이용하여 상기 버퍼저장부에 저장된 데이터를 출력하는 출력제어부를 포함한다.
상기 본 발명에 의하면, 디인터리브를 위한 테이블 참조 방식에서 벗어나 인터리빙 인덱스를 산출하는 논리블록을 통하여 인티리빙 인덱스를 산출하고, 산출된 인터리빙 인덱스를 활용하여 데이터 출력시 디인터리빙을 수행하여, 디인터리브의 효율성을 높임과 동시에 메모리 등의 하드웨어 리소스를 대폭적으로 감소시킬 수 있어 효율적이고 경제적인 디인터리브 방법 및 장치를 구현할 수 있다.
인터리브, 디인터리브, DMB, 전송모드, 인터리빙 인덱스
Description
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 종래 기술에 의한 테이블 참조방식의 디인터리브 구성에 대한 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 디인터리브 장치를 도시한 블럭도,
도 3은 본 발명에 의한 디인터리브 장치의 인터리빙 인덱스 산출부에 대한 구성을 도시한 블록도,
도 4는 본 발명의 의한 인터리빙 인덱스 산출부에 대한 바람직한 일 실시예를 도시한 블록도,
도 5는 본 발명의 바람직한 실시예에 따른 디인터리브 방법의 과정을 도시한 흐름도,
도 6은 본 발명의 바람직한 실시예에 따른 인터리브 및 디인터리브에 대한 과정을 도시한 예시도이다.
본 발명은 디인터리브를 위한 장치 및 방법에 관한 것으로서, 더욱 구체적으로는 인터리빙(interleaving)을 구현하기 위한 수학 연산식을 논리블록 및 논리적 방법으로 구현함으로써, 더욱 간단하고도 작은 하드웨어 리소스만으로 구현될 수 있는 디인터리브 장치 및 방법에 관한 것이다.
interleaving은 하드웨어 등의 데이터 저장 시 인접한 데이터 간의 저장공간을 이격시킨다는 의미를 포함하는 광의적인 의미와 함께 무선데이터 통신에서는 전송되는 데이터신호를 뒤섞어 전송하는 방식을 의미하며, interleaver는 interleaving을 위한 장치를 의미한다.
상기와 같이 전송데이터의 순서를 섞어서 보내는 주된 이유는 전송대상 데이터의 군집에러(Burst Error)를 줄이기 위한 것으로 전송데이터의 행 또는 열의 순서를 바꾸어 보내줌으로써 공기 등의 매체로 전달되는 신호에 비나 번개와 같이 외부환경 등에 의한 deep-fading channel과 같은 채널 환경에서 발생되는 군집에러가 생긴 경우에도 이를 랜덤 에러(random error)로 변환시켜 줌으로써 향후 수신단에서의 데이터 수정 및 복구 등의 성능을 향상시킬 수 있도록 하기 위함이다.
지상파 DMB 환경 하에서 상기 인터리빙에 대한 구성을 구체적으로 설명하면, 다음과 같다.
상기 표 1의 (a)의 형태와 같이 순차적인 데이터 자체가 전송되는 경우, 외부 환경에 의하여 #3~#6에 해당하는 전체 데이터에 burst error가 발생하게 되면, 수신단에서의 에러 보정과정을 수행할 때, 전송된 데이터의 연속성에 높은 손상이 발생하게 되어 복구가 어렵거나 복구 성능이 저하되게 된다.
상기 표 1의 (a)의 형태와 같이 순차적인 데이터 자체가 전송되는 경우, 외부 환경에 의하여 #3~#6에 해당하는 전체 데이터에 burst error가 발생하게 되면, 수신단에서의 에러 보정과정을 수행할 때, 전송된 데이터의 연속성에 높은 손상이 발생하게 되어 복구가 어렵거나 복구 성능이 저하되게 된다.
그러나, 상기 (b)와 같이 위치를 섞어서 전송하는 경우, 앞선 예와 같이 #3~#6에 burst error가 발생한다고 해도 실제데이터에 대한 순차성 손상 정도를 낮출 수 있어 즉, 1,8,2,6 의 데이터에 random error가 발생한 것이 되어 수신단의 FEC(Forward Error Correction)블록에서 에러 보정 과정을 수행하는 경우 복구성능을 향상시킬 수 있게 된다.
이하에서는 종래 이용되는 interleaving와 de-interleaving에 대한 구성을 ETSI EN 300 401에 사용되는 형태를 일 예로 하기에 설명하도록 한다.
인터리빙은 전송되는 데이터의 순서를 일정한 규칙에 의해 바꾸는 과정을 통해 수행된다. 이에 대한 규칙은 아래 수학식과 같다.
상기 수식에서 q는 QPSK mapping된 symbol이며, y는 frequency interleaving된 symbol, l은 OFDM symbol index 그리고 n은 QPSK symbol index를 의미한다. 또한, -K/2≤k(carrier index)≤0 and 0≤k≤K/2 범위에 해당한다. 여기서, K는 carrier index의 최대값이다.
즉, QPSK mapping된 symbol 중 같은 OFDM symbol에 위치한 데이터 내에서 k=F(n)의 식에 의하여 interleaving된다. ETSI EN 300 401에서는 4개의 전송모드를 두고 있으며 각각의 전송 모드별로 frequency interleaving function(F(n))을 두어 전송모드에 최적화된 인터리빙을 구현하도록 구성하고 있다.
이하에서는 각 전송모드별 정의된 interleaving 수학연산식과 변환 테이블을 각각 설명하도록 한다.
(전송모드 1)
상기 전송모드 1에 의한 interleaving 규칙을 아래 표 2에서 도시하면 다음 과 같다.
상기 수학식 2와 상기 표 2를 간단히 검토하여 볼 때, k 열에 해당하는 인덱스가 interleaving되는 인덱스가 된다. 상기 인덱스 규칙에 따라 전송되는 데이터가 재배열되어 전송되게 된다.
구체적인 예를 들어, Π(0) 초기값은 상기 수학식 2에서 0으로 설정되어 있으므로, Π(1) = [13×Π(0)(=0)+511] mod(2048) = 511이 된다. 511값은 d1 값이 되고, k값(F(1))은 상기 d1값에 1024를 뺀 값이므로 결국 511-1024=-513값이 된다.
동일한 방식에 의하여 Π(2) = [13×Π(1)+511] mod(2048) =13×(511)+511 mod(2048)=7154 mod(2048) = 1010이 된다.
그러므로 k=F(2)=1010-1024=-14가 된다. 이러한 방식으로 interleaving 인덱스를 생성하고 생성된 인덱스에 의하여 데이터의 순차적 배열을 재배열하여 전송하게 된다. 이러한 생성과정에서 상기 전송모드 1의 경우 Π(i)의 값이 256 이상 1792 이하인 경우에만 상기와 같이 인터리빙 인덱스를 산출하고, 상기 값의 범위를 벗어나는 경우에는 인덱스를 산출하지 않는 규칙으로 운용한다. 상기 표 1에서 생성된 인터리빙 인덱스(k)에 공란이 발생하는 이유는 상기 규칙성에 의거하기 때문이다.
전송모드 2, 3, 4 또한 상기 전송모드 1과 동일한 방식에 의하여 해당 전송모드에 따른 변환수학식에 의하여 인터리빙 인덱스 및 디인터리빙 인덱스가 산출되므로 인터리빙 규칙에 대해서만 기재하고, 그에 대한 구체적인 설명이나 인터리빙 규칙 등에 대한 도표는 생략하도록 한다.
(전송모드 2)
(전송모드 3)
(전송모드 4)
(전송모드 2)
(전송모드 3)
(전송모드 4)
상기된 부분에서 기술된 바와 같이 DAB내 frequency interleave는 전송모드별 4개의 독립적인 interleaving index에 의해 수행되며, 이와 함께 전송모드별 독립된 방식에 의하여 de-interleaving이 수행된다.
따라서 수신단(Rx)에서의 de-interleaver는 상기 interleaving index에 대응되는 de-interleaving index를 생성하게 되고, 생성된 de-interleaving index을 기초로 de-interleaving을 수행하여 본래의 source date를 획득하게 된다.
그러나, interleaving index에 대응되는 de-interleaving index 생성을 위해서는 상기 수식의 역함수가 필요하나 이러한 역함수를 수학적으로 구현하기가 어렵기 때문에 대응되는 de-interleaving index를 look-up table 형태로 만들어, 이 table을 참조하여 de-interleaving을 수행하게 된다. 이때 look-up table 구성에 요구되는 memory의 size는 약 29Kbit이다.
따라서 de-interleaver에 입력되는 interleaved 데이터를 de-interleaving index를 이용하여 de-interleaved memory에 write하고 순차적으로 de-interleaving memory를 read하면, interleaving 되기 전의 source 데이터를 획득할 수 있다.
이하에서는 상기 종래에 이용되는 방법을 종래 기술에 의한 테이블 참조방식의 디인터리브 구성에 대한 블록도인 도 1를 통하여 설명한다.
종래 이용되는 디인터리브 장치는 수신부(100), 위치설정부(110) 및 버퍼저장부(120)를 포함하며, 상기 위치설정부(110)는 모드별 디인터리브 인덱스 저장부(112a, 112b, 112c,112d)와 제어부(114)를 포함한다.
상기 수신부(100)는 interleaved data를 수신하는 구성으로서, 인터페이스 역할을 담당한다. 수신부(100)를 통해 전송된 상기 interleaved data는 상기 위치설정부(110)의 제어부(114)를 통해 data에 수록되어 있는 전송모드를 판단하게 된다.
전송모드가 판단되면, 상기 제어부(114)는 모드별 인덱스 저장부(112)에 기 저장되어 있는 각 모드별 de-interleaving 인덱스를 이용하여 해당위치로 상기 버퍼저장부(120)에 전송된 데이터가 기록(write)되도록 제어하게 된다.
상기의 과정을 통하여 외부 리딩장치(reading apparatus) 등이 상기 버퍼저장부(120)에 저장된 데이터를 순차적으로 읽어 deinterleaved data가 출력되도록 deinterleaving을 수행하게 된다.
그러나, 종래 이용되는 이러한 방식은 전송모드마다의 룩업 테이블(look-up table)을 미리 생성하여 저장하고 있어야 하므로 이에 따른 메모리의 사용이 불가피하게 된다. 즉, 해당 전송모드에 대한 메모리의 사용이 불가피하므로 이에 따른 메모리 리소스가 구비되어야 하며, 이에 따라 deinterleaver 장비의 고가화의 문제점이 발생한다.
본 발명은 이러한 종래 문제점을 해결하기 위하여 안출된 것으로서, 데이터 전송에 기반을 둔 인터리빙에 대한 디인터리빙 기법에 있어 전송모드에 따른 룩업테이블 사용 등에 필요한 메모리 등의 하드웨어 리소스 크기의 줄여 더욱 효율적이면서도 경제적인 디인터리브 장치와 인터리빙 인덱스 산출장치 및 그 방법을 구현하는데 목적이 있다.
또한, 상기와 같은 방법을 컴퓨터에서 구현하기 위하여 컴퓨터로 인식가능하고 실행되는 프로그램을 기록한 기록매체를 제공하는 데 목적이 있다.
본 발명에 다른 목적 및 장점들은 하기에 설명될 것이며, 본 발명의 실시예에 의해 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타난 구성과 구성의 조합에 의해 실현될 수 있다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 디인터리브 장치는, 인터리브된 데이터를 입력받아 저장하는 버퍼저장부; 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출부; 및 상기 인터리빙 인덱스를 이용하여 상기 버퍼저장부에 저장된 데이터를 출력하는 출력제어부를 포함하여 구성된다.
또한, 본 발명에 따른 인터리빙 인덱스 산출장치는, 소정의 버퍼메모리에 저장된 인터리브된 데이터의 디인터리빙 출력제어에 이용되는 상기 인터리브된 데이 터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출장치로서, 상기 인터리브된 데이터의 인터리브를 위한 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하는 것을 특징으로 한다.
한편, 본 발명의 다른 측면의 목적을 달성하기 위한 디인터리브 방법은, 인터리브된 데이터를 입력받아 저장하는 버퍼저장단계; 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출단계; 및 상기 인터리빙 인덱스를 이용하여 상기 버퍼저장부에 저장된 데이터를 출력하는 출력제어단계를 포함하여 구성된다.
또한, 본 발명의 또 다른 측면의 목적을 달성하기 위한 인터리빙 인덱스 산출방법은, 소정의 버퍼메모리에 저장된 인터리브된 데이터의 디인터리빙 출력제어에 이용되는 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출방법으로서, 상기 인터리브된 데이터의 인터리브를 위한 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명의 구성에 대한 상세한 설명에 앞서, 첨부된 도면에 도시되어 있는 구성은 본 발명의 일 실시예에 대한 구성을 언급하기 위한 목적을 가지는 것이 지나지 않으며, 도면에 첨부된 실시예에 본 발명의 기술사상이 한정된다고 해석될 수 없다.
본 발명의 바람직한 실시예에 따른 디인터리브 장치를 도시한 블럭도인 도 2와 본 발명의 바람직한 실시예에 따른 디인터리브 방법의 과정을 도시한 흐름도인 도 5를 통하여 본 발명에 의한 인터리브 장치 및 방법을 기술한다.
본 발명에 의한 인터리브 장치는 인터리빙 인덱스 산출부(200), 수신부(210), 버퍼저장부(220) 및 출력제어부(230)를 포함하여 구성된다.
상기 수신부(210)는 전송장치 등으로부터 인터리브된 데이터(interleaved date)를 수신하며, 상기 수신된 인터리브된 데이터를 필요에 따라 본 발명에 의한 장치에 전달하는 인터페이스의 기능을 담당하게 되며, 수신부(210)을 통하여 입력된 인터리브된 데이터는 상기 버퍼저장부(220)에 저장된다(S500).
상기 인터리빙 인덱스 산출부(200)는 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하여(S510) 본 발명의 출력제어부(230)에 제공하게 된다. 상기 인터리빙 인덱스 산출부(200)는 종래 이용되는 발명과 구별되는 주요한 특징요소로서, 종 래와 같이 인터리빙 인덱스에 대응되는 디인터리빙 인덱스를 이용하여 디인터리빙을 수행하는 것이 아니라, 인터리빙 인덱스 자체를 이용함에 주요한 특징이 있다고 할 수 있다.
즉, 본 발명에 의한 디인터리빙 방식은 인터리빙 인덱스에 대응되는 디인터리빙 인덱스를 이용하는 방식이 아니라, 입력된 인터리브된 데이터를 버퍼저장부 등의 메모리에 저장을 하고, 이를 본 발명의 출력제어부(230)가 독출하여 리딩(reading)할 때, 인터리빙 인덱스 산출부(200)으로부터 전달받은 인터리빙 인덱스를 이용하여 상기 버퍼저장부(220)에 저장된 데이터를 읽어들이게 되고, 이러한 리딩과정에서 디인터리빙이 자연스럽게 수행되도록 하는 방식이다.
상기 출력제어부(230)가 데이터를 출력할 때 임시 메모리를 가지고 있다면 인터리빙 인덱스가 산출되는 순서에 무관하게 해당하는 인터리빙 인덱스의 데이터를 읽어 출력한 뒤, 상기 임시 메모리의 해당하는 위치에 읽어드린 데이터를 다시 순차적으로 기록할 수도 있다.
또한, 상기 출력제어부(230)가 상기 인터리빙 인덱스가 산출되는 순서에 따라 상기 인터리빙 인덱스에 해당하는 데이터를 출력(reading)하도록 제어된다면 상기와 같은 임시 메모리의 필요가 없게 되어 더욱 효과적인 디인터리빙 구현할 수 있으므로 더욱 바람직한 디인터리브 장치를 구현할 수 있다.
상기된 내용을 본 발명의 바람직한 실시예에 따른 인터리브 및 디인터리브에 대한 과정을 도시한 예시도인 도 6를 통하여 구체적으로 설명하면 다음과 같다.
도 6에 도시되어 있는 "가" 데이터는 전송 대상이 되는 데이터이며, 각각의 위치정보 및 interleaving을 위한 interleaving index를 병기하여 도시하고 있다.
"나" 데이터는 인터리브된 데이터에 해당하며, 상기 "나" 데이터는 인터리빙 인덱스에 의하여 원 전송 대상 데이터의 순번이 재배열되어 있는 상태로 전송되게 되며, 본 발명에 의한 수신부(210)에서 수신되는 데이터에 해당하며, 또한 버퍼저장부(220)에 저장되는 형태의 인터리브된 데이터에 해당하다. "다" 데이터는 본 발명에 의하여 최종적으로 디인터리브가 수행된 데이터이다.
도 6에서 아래방향으로 향하는 화살표 기호는 인터리빙 인덱스에 의하여 재배열되는 위치에 대한 순차적 방향성을 의미한다.
상기 "가" 데이터에서 "나" 데이터로 변화되는 과정인 A과정이 결과적으로 interleaving과정이 되며, "나" 데이터가 채널 등을 통하여 전송되게 되고, 수신단에서 수신되게 되는 수신대상 데이터가 된다.
상기의 과정을 거쳐 "나"데이터가 수신단에 수신되게 되면, 후속적으로 수신된 데이터를 메모리 등의 저장부에 저장하게 된다. 저장과정에서 수신된 순서에 따른 각 데이터의 저장 위치가 따로 저장될 수만 있다면, 상기 메모리 등에 저장되는 위치에 대한 설정은 다양한 방법이 가능하다.
다만, 메모리 엑세스 방식의 효율성을 제고하기 위하여 수신단에 수신된 데이터를 순차적으로 메모리 등에 저장한다면, 차후 인터리빙 인덱스를 이용하여 이에 해당하는 데이터를 읽어들일 때 더욱 효율적일 수 있다.
상기와 같이 순차적인 방법 등으로 메모리에 데이터를 저장된 후, 저장된 데이터를 독출하여 리딩할 때의 과정이 상기 도 6의 B과정이 된다.
인터리빙 인덱스 산출부(200)에 의하여 인터리빙 인덱스가 산출되므로, 산출 되는 인터리빙 인덱스의 산출순서에 따라 이에 해당하는 데이터를 순차적으로 출력함으로써 디인터리빙을 수행하게 된다.
즉, 인터리빙 인덱스 산출부(200)는 도 6에 도시된 데이터의 경우, 3.0.6.2.4.7.8.5.9.1의 인터리빙 인덱스를 가지고 있고, 이 인터리빙 인덱스는 원데이터가 인터리빙될 때 이용되는 위치정보에 해당한다.
그러므로 데이터를 독출할 때, 상기 인터리빙 인덱스의 순서로 데이터를 독출하게 되면, 자연스럽게 디인터리빙을 실현할 수 있게 되는 것이다. 즉, 메모리 등에 저장된 "나" 데이터를 읽어들일 때, 첫번째 인터리빙 인덱스인 "3"의 위치에 있는 데이터인 [a]을 첫번째로 출력하게 된다.
그 다음, 두번째 인터리빙 인덱스인 "0"의 위치에 있는 데이터인 [b]를 출력하게 되며, 후속적으로 "6"의 인터리빙 인덱스를 가지는 [c]데이터를 출력하게 된다.
이러한 일련의 단계를 통하여, 각 인터리빙 인덱스에 해당하는 순서로 데이터를 출력하게 되고 결과적으로 "다"데이터와 같이 디인터리빙이 수행된(de-interleaved) 데이터가 출력되게 된다. 즉, 저장된 "나"데이터가 출력제어부(230)에 의하여 출력되는 과정에서 인터리빙 인덱스 산출부(200)에서 산출된 인터리빙 인덱스를 이용하여 도 6의 "B"과정과 같이 "다"데이터로 출력함으로써 디인터리빙이 이루어지게 된다.
앞서 설명한 바와 같이 인터리빙 인덱스는 일종의 수학적 함수관계에 의하여 산출되게 되므로 상기 인터리빙 인덱스는 상기 수학적 함수관계에 대한 수학 연산식에 해당하는 하나 이상의 논리블록 즉, combinational logic을 이용하여 구현할 수 있다.
또한, 데이터 전송 시 전송모드를 구별하여 데이터 전송을 수행하는 실시예에서는 각 전송모드별로 구현되는 인터리빙 산출을 위한 수학 연산식이 구별될 수 있으므로 이에 부합되는 디인터리빙을 위하여 전송모드별로 구별되는 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 산출할 수 있음은 물론이다.
즉, 상기 수학 연산식에 해당하는 각각의 연산자에 해당하는 로직을 이용하여 구현되는 인터리빙 인덱스를 이용함으로써 종래 이용되는 방식에서 채용하는 메모리 소모방식을 효과적으로 극복하고 더욱 경제적이고 효율적인 디인터리빙을 수행할 수 있게 된다.
이하에서 상기 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출부(200)의 구체적인 논리 구성 등 인터리빙 인덱스 산출방법을 도 3의 블록도 및 도 5의 흐름도를 중심으로 상세히 설명하도록 한다.
설명에 앞서, 상기 본 발명에 의한 디인터리브 장치의 각 구성요소는 물리적으로 구분되는 구성요소라기보다는 논리적인 구성요소로 이해되어야 한다. 즉, 각각의 구성은 본 발명의 기술사상을 실현하기 위하여 논리적으로 구분된 구성요소에 해당하므로 각각의 구성요소가 통합 또는 분리되어 수행되더라도 본 발명의 논리 구성이 수행하는 기능을 실현할 수 있다면 본 발명의 범위 내에 있다고 해석되어야 한다.
본 발명에 의한 인터리빙 인덱스 산출부(200)는 모드판단부(206), 승산부(201), 가산부(202), 모듈러 연산부(203), 판단부(204), 감산부(205) 및 피드백 부(207)를 포함한다.
상기 각각의 구성요소는 전송모드별로 구별된(예를 들어 ETSI EN 300 401에서의 4가지 전송모드)인터리빙을 위한 수학 연산식을 논리블록으로 구현하는 로직에 해당한다.
모드판단부(206)는 우선적으로 수신부(210)를 통하여 입력된 인터리브데이터 중 헤더블록 등에 수록되어 있는 모드 정보를 읽어 전송된 데이터의 해당 전송모드를 판단(S511)하며, 차후 판단된 전송모드에 해당하는 다양한 상수값을 해당하는 논리블록으로 출력하게 된다.
승산부(201)는 선행 인터리빙 인덱스값과 인터리빙 초기 상수값을 곱셈연산(S512)하게 된다. 인터리빙 초기 상수값은 앞서 설명한 4가지 전송모드에서 구현되는 인터리빙 수학 연산식을 나타내는 [수학식2], [수학식3], [수학식4] 및 [수학식5]의 세번째 문단에 표현된 수식의 첫번째 곱셈상수를 의미하는 것으로 현재 ETSI EN 300 401에서는 13으로 정하여져 있다.
상기 인터리빙 초기 상수값은 13으로 정하여져 있으나, 향후 수학적 표현식의 변화가 발생된다면 그에 따라 변화가능한 값으로 이해되어야 하며, 다른 응용례에서 적용가능한 다양한 값이 가능함은 물론이다.
또한, 선행 모듈러 연산의 결과값은 [수학식2], [수학식3], [수학식4] 및 [수학식5] 등에서 설명된 바와 같이 상기 수식에서 Π(i-1)에 해당하고 또한,초기값으로 Π(0)=0으로 디폴트되어 있으며, 향후 피드백부(207)에 의하여 다음 값들이 피드백되어 후행 선행 모듈러 연산의 입력값으로 입력되게 된다.
상기 피드백부(207)는 구체적인 물리적인 구성이라기보다는 본 발명의 구체적인 설명을 위한 개념으로 이해되어야 한다. 즉, 상기 도 3에 도시된 바와 같이 모듈러 연산부(203)의 결과값이 다시 승산부(201)로 재귀된다는 의미를 부각하기 위한 구성으로 이해되어야 한다.
가산부(202)는 상기 곱셈연산의 결과값과 상기 판단된 전송모드에 해당하는 덧셈상수 간의 덧셈연산을 수행(S513)하게 된다. 덧셈상수는 상기 [수학식2], [수학식3], [수학식4] 및 [수학식5]의 세번째 문단에 표현된 수식의 511, 127, 63, 255 등에 해당하는 상수로서 전송모드에 해당하는 각 덧셈상수가 상기 곱셈연산 결과값에 가산되게 된다.
앞서 설명한 바와 같이 본 발명에서 언급되는 다양한 상수(인터리빙 초기 상수값, 덧셈상수, 모듈러 상수, 허용범위를 위한 상수, 뺄셈상수 등)에 대한 수치는 표준화된 수치값에 해당하며, 향후 변동가능한 범위 및 응용되는 다양한 적용예에 따라 언제든지 변화가능한 유동적인 값으로 설정될 수 있다고 해석됨은 물론이다.
모듈러 연산부(203)는 상기 덧셈연산의 결과값을 상기 판단된 전송모드에 해당하는 모듈러 상수를 이용하여 모듈러 연산을 수행한다(S514). 즉, 상기 모듈러 연산부(203)가 구현하는 항목은 상기 [수학식2], [수학식3], [수학식4] 및 [수학식5]의 세번째 문단에 표현된 수식의 mod(2048), mod(512), mod(256) 및 mod(1024)에 해당하는 로직으로서, 모듈러 연산은 피제수를 제수로 나눈 그 나머지 값을 산출하는 연산이 되며, 상기 모듈러 상수는 2048, 512, 256 및 1024 값이 된다.
상기 모듈러 연산의 결과값은 재귀적으로 상기 승산부(201)의 선행 모듈러연 산 결과값으로 입력(S514)되게 되며, 판단부(204)로도 전달된다.
상기 모듈러연산 결과값을 입력받은 판단부(204)는 입력된 상기 모듈러연산의 결과값이 상기 판단된 전송모드의 허용범위에 해당하는지 판단하게 된다(S515).
즉, 상기 판단부(204)는 [수학식2], [수학식3], [수학식4] 및 [수학식5]의 두번째 문단에 표현된 수식에 해당하는 연산을 수행하는 로직에 해당한다. 상기 전송모드별로 구별되는 허용범위치의 한계를 벗어나게 되는 경우, 인터리빙인덱스가 산출되지 않는 경우에 해당하므로 이 값은 인터리빙 인덱스로 산출되지 않고 후행되는 연산을 다시 재귀적으로 수행하도록 제어된다.
감산부(205)는 허용범위 해당 여부의 판단결과 범위에 해당되는 경우, 상기 모듈러연산의 결과값과 상기 판단된 전송모드에 해당하는 뺄셈상수를 뺄셈연산(S516)하게 된다.
즉, 상기 감산부(205)의 로직은 [수학식2], [수학식3], [수학식4] 및 [수학식5]의 첫번째 문단에 표현된 수식에 해당하는 연산을 구현하는 로직에 해당하며, 뺄셈상수는 앞서 설명된 바와 같이 전송모드별로 상위한 값인 1024, 256, 128, 512 등이 된다.
상기와 같은 하나 이상의 combinational logic 구성을 통하여 인터리빙 인덱스 산출의 수학 연산식이 로직으로 구현된다. 구현된 로직은 간단한 블록만으로 구현되며, 상기의 구성에 요구되는 메모리의 크기는 본 발명의 일실시예의 경우 gate count로 환산하면 약 700 이하 크기로 구현된다.
반면, 디인터리빙 인덱스를 위한 테이블 메모리 저장방식의 경우에는 메모리 의 사이즈는 29kbit이며, gate count로 환산되면 약 6k정도가 되므로, 90%이상의 사이즈 효율을 높일 수 있다.
또한, frequency de-interleaver블록 전체에서 상기 look-up table이 차지하는 비율은 약 36%로 본 발명의 실시 형태에 의하는 경우 30%이상의 downsize효과를 창출할 수 있게 된다.
한편, 상기 모듈러 연산부(203)는 상기 덧셈연산의 결과값 중 모듈러 상수 이하의 하위 비트를 이용하여 모듈러 연산하도록 구성되는 것이 더욱 바람직하다.
즉, 모듈러 연산은 앞서 설명한 바와 같이 피제수를 제수로 나눈 나머지값을 결과값으로 출력하는 연산에 해당하므로, 입력되는 데이터값은 이진수로 표현되는 디지털 신호이며, 제수는 2의 승수(2048=220(전송모드 1의 경우), 512=29(전송모드 2의 경우), 256=28(전송모드 3의 경우),1024=210(전송모드 4의 경우))로 표현되므로 이에 해당하는 2진수 자리수의 하위비트가 나머지가 되므로, 전송모드별 모듈러 상수 이하의 하위 비트만을 결과값으로 출력하도록 구성될 수 있고, 상기 로직의 구현을 위하여 각 로직은 최대 11bit이하로 구성될 수 있게 된다.
계산된 Π(i)의 값중 일정 range만의 값을 사용하므로, 계산된Π(i)중 dn에 속하지 않은 값도 있게 된다. 따라서 실제 index값이 생성되어야 할 주기보다 더 빠른 clock을 사용하여 Π(i)을 계산하는 것이 바람직하다.
즉, 실제 계산되는 Π(i)는 연속적으로 최대 7번까지(전송모드 1) dn에 속하지 않는 데이터 값이 나올 수 있으므로, 각 전송모드별 출력되어야 할 데이터 속도와 대비하여 볼 때, 상기 인터리빙 인덱스 산출의 동작주파수는 데이터출력의 동작주파수보다 높은 주파수, 바람직하게는 4배 이상의 주파수를 이용하는 것이 바람직하다.
본 발명에 의한 인터리빙 인덱스 산출부에 대한 바람직한 일 실시예를 도시하고 있는 도 4에서와 같이 인터리브된 데이터의 인터리빙 인덱스를 산출하기 위하여 인터리빙 인덱스를 위한 수학 연산식을 논리블록으로 구성될 수 있다.
앞서 설명한 바와 같이 multiplier의 입력변수 중 하나는 현재 ETSI EN 300 401에서 정해진 13 곱셈상수이다. 피드백된 선행값과 상기 13곱셈상수가 곱셈연산되며, 그 결과값이 adder로 입력된다.
adder에 입력되는 입력변수 중 하나인 덧셈상수는 전송모드에 따라 구별되는 alpha값에 해당하며, adder에서 상기 덧셈상수와 mulitiplier에서 입력된 결과값이 상호 덧셈연산 되며, adder에서 출력될 때, 앞서 설명한 바와 같이 모듈러 연산에 의한 하위비트만이 출력되도록 로직이 구성된다.
adder의 출력값은 피브백부(D-FF)로 전달됨과 동시에 subtractor의 일 입력변수로 입력된다. 상기 subtractor의 또 다른 일 입력변수는 도 4에 beta로 표시된 뺄셈상수로서 전송모드마다 구별된 고유값이 된다.
상기 subtractor로직에서는 인터리빙 인덱스 산출시 제외되는 값이 아니라면, 상기 두 입력변수(adder의 출력값 및 전송모드별 beta)를 뺄셈연산하여 출력하게 되고, 상기 출력된 값이 interleaving index가 된다.
상술한 본 발명에 따른 디인터리브 방법은 컴퓨터로 읽을 수 있는 기록매체 에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 디인터리브 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명에 따른 디인터리브 장치 및 방법은 간단한 구조만으로도 디인터리빙을 구현할 수 있으며, 또한, 종래방식과 같이 디인터리빙을 위한 룩업테이블 참조방식을 지양하고 인터리빙 인덱스를 이용하고, 로직으로 구현된 인터리빙 인덱스 산출기법을 이용함으로써, 더욱 작은 하드웨어 리소스만으로도 구현할 수 있어 더욱 경제적이고 효과적인 디인터리브 장치 및 방법을 실현할 수 있다.
Claims (23)
- 인터리브된 데이터를 입력받아 저장하는 버퍼저장부;상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출부; 및상기 인터리빙 인덱스를 이용하여 상기 버퍼저장부에 저장된 데이터를 출력하는 출력제어부를 포함하는 것을 특징으로 하는 디인터리브 장치.
- 제 1항에 있어서, 상기 출력제어부는,상기 인터리빙 인덱스가 산출되는 순서에 따라 상기 인터리빙 인덱스에 해당하는 데이터를 출력하는 것을 특징으로 하는 디인터리브 장치.
- 제 1항에 있어서, 상기 버퍼저장부는,상기 인터리브된 데이터가 입력되는 순서에 따라 순차적으로 상기 인터리브된 데이터를 저장하는 것을 특징으로 하는 디인터리브 장치.
- 제 1항에 있어서, 상기 인터리빙 인덱스 산출부는,상기 인터리브된 데이터의 인터리브를 위한 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하며,상기 수학 연산식은 상기 인터리브된 데이터의 전송모드에 따라 다음의 식(1) 내지 식(4) 중 어느 하나로 주어지며,여기서, k는 인터리빙 인덱스이고, dn은 상기 k 계산을 위한 매개 변수이고, F(n)은 n을 인덱스로 하여 상기 k를 표현한 값이며, i는 식(1)에서 0부터 2047까지의 정수, 식(2)에서 0부터 511까지의 정수, 식(3)에서 0부터 255까지의 정수, 식(4)에서 0부터 1023까지의 정수이고, n은 상기 i의 1부터 순차적으로 대응하면서 0부터 1씩 증가하는 정수로서, 상기 식(1) 내지 식(4) 각각에서 if 조건식이 만족되지 않으면 상기 n은 다음의 i 값에 대응하며, mod는 나머지 연산자인 것을 특징으로 하는 디인터리브 장치.
- 제 4항에 있어서, 상기 인터리빙 인덱스 산출부는,상기 전송모드 별로 구별되는 상기 식(1) 내지 식(4) 각각에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하는 것을 특징으로 하는 디인터리브 장치.
- 제1항에 있어서, 상기 인터리빙 인덱스 산출부는,상기 인터리브된 데이터의 전송모드를 판단하는 모드 판단부;선행 모듈러 연산의 결과값과 인터리빙 초기 상수값을 곱셈연산하는 승산부;상기 곱셈연산의 결과값과 상기 판단된 전송모드에 해당하는 덧셈상수를 덧셈연산하는 가산부;상기 뎃셈연산의 결과값을 상기 판단된 전송모드에 해당하는 모듈러상수를 이용하여 모듈러 연산하는 모듈러 연산부;상기 모듈러연산의 결과값이 상기 판단된 전송모드의 허용범위에 해당하는지 판단하는 모듈러연산 판단부; 및상기 허용범위에 해당하는 경우 상기 모듈러연산 결과값과 상기 판단된 전송모드에 해당하는 뺄셈상수를 뺄셈연산하는 감산부; 및상기 모듈러연산의 결과값을 상기 승산부로 피드백하는 피드백부를 포함하는 것을 특징으로 하는 디인터리브 장치.
- 제 6항에 있어서, 상기 모듈러 연산부는,상기 덧셈연산의 결과값 중 모듈러 상수 이하의 하위 비트를 이용하여 모듈러 연산하는 것을 특징으로 하는 디인터리브 장치.
- 제 1항에 있어서, 상기 인터리빙 인덱스 산출의 동작주파수는,상기 데이터출력의 동작주파수보다 높은 주파수로 설정되는 것을 특징으로 하는 디인터리브 장치.
- 제 6항에 있어서,상기 승산부, 가산부, 모듈러 연산부, 판단부 및 감산부 중 선택된 하나 이상의 구성은 11bit 이하 크기로 구성되는 것을 특징으로 하는 디인터리브 장치.
- 소정의 버퍼메모리에 저장된 인터리브된 데이터의 디인터리빙 출력제어에 이용되는 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출장치로서,상기 인터리브된 데이터의 인터리브를 위한 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하며,상기 수학 연산식은 상기 인터리브된 데이터의 전송모드에 따라 다음의 식(1) 내지 식(4) 중 어느 하나로 주어지며,여기서, k는 인터리빙 인덱스이고, dn은 상기 k 계산을 위한 매개 변수이고, F(n)은 n을 인덱스로 하여 상기 k를 표현한 값이며, i는 식(1)에서 0부터 2047까지의 정수, 식(2)에서 0부터 511까지의 정수, 식(3)에서 0부터 255까지의 정수, 식(4)에서 0부터 1023까지의 정수이고, n은 상기 i의 1부터 순차적으로 대응하면서 0부터 1씩 증가하는 정수로서, 상기 식(1) 내지 식(4) 각각에서 if 조건식이 만족되지 않으면 상기 n은 다음의 i 값에 대응하며, mod는 나머지 연산자인 것을 특징으로 하는 인터리빙 인덱스 산출장치.
- 제 10항에 있어서,전송모드별로 구별되는 상기 인터리브된 데이터의 전송모드를 판단하는 모드 판단부;선행 모듈러 연산의 결과값과 인터리빙 초기 상수값을 곱셈연산하는 승산부;상기 곱셈연산의 결과값과 상기 판단된 전송모드에 해당하는 덧셈상수를 덧셈연산하는 가산부;상기 뎃셈연산의 결과값을 상기 판단된 전송모드에 해당하는 모듈러상수를 이용하여 모듈러 연산하는 모듈러 연산부;상기 모듈러연산의 결과값이 상기 판단된 전송모드의 허용범위에 해당하는지 판단하는 모듈러연산 판단부; 및상기 허용범위에 해당하는 경우 상기 모듈러연산 결과값과 상기 판단된 전송모드에 해당하는 뺄셈상수를 뺄셈연산하는 감산부; 및상기 모듈러연산의 결과값을 상기 승산부로 피드백하는 피드백부를 포함하는 것을 특징으로 하는 인터리빙 인덱스 산출장치.
- 인터리브된 데이터를 입력받아 저장하는 버퍼저장단계;상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출단계; 및상기 인터리빙 인덱스를 이용하여 저장된 상기 데이터를 출력하는 출력제어단계를 포함하는 것을 특징으로 하는 디인터리브 방법.
- 제 12항에 있어서, 상기 출력제어단계는,상기 인터리빙 인덱스가 산출되는 순서에 따라 상기 인터리빙 인덱스에 해당하는 데이터를 출력하는 것을 특징으로 하는 디인터리브 방법.
- 제 12항에 있어서, 상기 버퍼저장단계는,상기 인터리브된 데이터가 입력되는 순서에 따라 순차적으로 상기 인터리브된 데이터를 저장하는 것을 특징으로 하는 디인터리브 방법.
- 제 12항에 있어서, 상기 인터리빙 인덱스 산출단계는,상기 인터리브된 데이터의 인터리브를 위한 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하며,상기 수학 연산식은 상기 인터리브된 데이터의 전송모드에 따라 다음의 식(1) 내지 식(4) 중 어느 하나로 주어지며,여기서, k는 인터리빙 인덱스이고, dn은 상기 k 계산을 위한 매개 변수이고, F(n)은 n을 인덱스로 하여 상기 k를 표현한 값이며, i는 식(1)에서 0부터 2047까지의 정수, 식(2)에서 0부터 511까지의 정수, 식(3)에서 0부터 255까지의 정수, 식(4)에서 0부터 1023까지의 정수이고, n은 상기 i의 1부터 순차적으로 대응하면서 0부터 1씩 증가하는 정수로서, 상기 식(1) 내지 식(4) 각각에서 if 조건식이 만족되지 않으면 상기 n은 다음의 i 값에 대응하며, mod는 나머지 연산자인 것을 특징으로 하는 디인터리브 방법.
- 제 15항에 있어서, 상기 인터리빙 인덱스 산출단계는,상기 전송모드 별로 구별되는 상기 식(1) 내지 식(4) 각각에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하는 것을 특징으로 하는 디인터리브 방법.
- 제 12항에 있어서, 상기 인터리빙 인덱스 산출단계는,상기 인터리브된 데이터의 전송모드를 판단하는 모드 판단단계;선행 모듈러연산의 결과값과 인터리빙 초기 상수값을 곱셈연산하는 승산단계;상기 곱셈연산의 결과값과 상기 판단된 전송모드에 해당하는 덧셈상수를 덧셈연산하는 가산단계;상기 뎃셈연산의 결과값을 상기 판단된 전송모드에 해당하는 모듈러상수를 이용하여 모듈러 연산하는 모듈러 연산단계;상기 모듈러연산의 결과값이 상기 판단된 전송모드의 허용범위에 해당하는지 판단하는 판단단계; 및상기 허용범위에 해당하는 경우 상기 모듈러연산 결과값과 상기 판단된 전송모드에 해당하는 뺄셈상수를 뺄셈연산하는 감산단계; 및상기 모듈러연산의 결과값을 상기 승산단계로 피드백하는 피드백단계를 포함하는 것을 특징으로 하는 디인터리브 방법.
- 제 17항에 있어서, 상기 모듈러 연산단계는,상기 덧셈연산의 결과값 중 모듈러 상수 이하의 하위 비트를 이용하여 모듈러 연산하는 것을 특징으로 하는 디인터리브 방법.
- 제 12항에 있어서, 상기 인터리빙 인덱스 산출의 동작주파수는,상기 데이터출력의 동작주파수보다 높은 주파수로 설정되는 것을 특징으로 하는 디인터리브 방법.
- 제 17항에 있어서,상기 승산단계, 가산단계, 모듈러 연산단계, 판단단계 및 감산단계 중 선택된 하나 이상의 단계는 11bit 이하 단위의 연산인 것을 특징으로 하는 디인터리브 방법.
- 버퍼메모리에 저장된 인터리브된 데이터의 디인터리빙 출력제어에 이용되는 상기 인터리브된 데이터의 인터리빙 인덱스를 산출하는 인터리빙 인덱스 산출방법으로서,상기 인터리브된 데이터의 인터리브를 위한 수학 연산식에 해당하는 하나 이상의 논리블록을 이용하여 인터리빙 인덱스를 산출하며,상기 수학 연산식은 상기 인터리브된 데이터의 전송모드에 따라 다음의 식(1) 내지 식(4) 중 어느 하나로 주어지며,여기서, k는 인터리빙 인덱스이고, dn은 상기 k 계산을 위한 매개 변수이고, F(n)은 n을 인덱스로 하여 상기 k를 표현한 값이며, i는 식(1)에서 0부터 2047까지의 정수, 식(2)에서 0부터 511까지의 정수, 식(3)에서 0부터 255까지의 정수, 식(4)에서 0부터 1023까지의 정수이고, n은 상기 i의 1부터 순차적으로 대응하면서 0부터 1씩 증가하는 정수로서, 상기 식(1) 내지 식(4) 각각에서 if 조건식이 만족되지 않으면 상기 n은 다음의 i 값에 대응하며, mod는 나머지 연산자인 것을 특징으로 하는 인터리빙 인덱스 산출방법.
- 제 21항에 있어서,전송모드별로 구별되는 상기 인터리브된 데이터의 전송모드를 판단하는 모드 판단단계;선행 모듈러 연산의 결과값과 인터리빙 초기 상수값을 곱셈연산하는 승산단계;상기 곱셈연산의 결과값과 상기 판단된 전송모드에 해당하는 덧셈상수를 덧셈연산하는 가산단계;상기 뎃셈연산의 결과값을 상기 판단된 전송모드에 해당하는 모듈러상수를 이용하여 모듈러 연산하는 모듈러 연산단계;상기 모듈러 연산단계의 결과값이 상기 판단된 전송모드의 허용범위에 해당하는지 판단하는 모듈러연산 판단단계; 및상기 허용범위에 해당하는 경우 상기 모듈러 연산단계의 결과값과 상기 판단된 전송모드에 해당하는 뺄셈상수를 뺄셈연산하는 감산단계; 및상기 모듈러 연산단계의 결과값을 상기 승산단계로 피드백하는 피드백단계를 포함하는 것을 특징으로 하는 인터리빙 인덱스 산출방법.
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070067843A KR101133907B1 (ko) | 2007-07-06 | 2007-07-06 | 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체 |
US12/168,038 US8281086B2 (en) | 2007-07-06 | 2008-07-03 | De-interleaving and interleaving for data processing |
EP08012128A EP2012434A1 (en) | 2007-07-06 | 2008-07-04 | De-interleaving and interleaving based on the same address index generation process |
CN2008101756241A CN101388673B (zh) | 2007-07-06 | 2008-07-04 | 去交织设备和方法、交织索引产生设备和方法、以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070067843A KR101133907B1 (ko) | 2007-07-06 | 2007-07-06 | 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090003986A KR20090003986A (ko) | 2009-01-12 |
KR101133907B1 true KR101133907B1 (ko) | 2012-04-12 |
Family
ID=39790145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070067843A KR101133907B1 (ko) | 2007-07-06 | 2007-07-06 | 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8281086B2 (ko) |
EP (1) | EP2012434A1 (ko) |
KR (1) | KR101133907B1 (ko) |
CN (1) | CN101388673B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5109787B2 (ja) * | 2008-05-02 | 2012-12-26 | 富士通株式会社 | データ伝送システム、プログラム及び方法 |
US8352834B2 (en) * | 2009-11-12 | 2013-01-08 | Broadlogic Network Technologies Inc. | High throughput interleaver / deinterleaver |
KR101286021B1 (ko) * | 2012-02-02 | 2013-07-19 | 주식회사 이노와이어리스 | 인터리버 인덱스 생성장치 및 방법 |
EP2804144A1 (en) * | 2013-05-16 | 2014-11-19 | SMR Patents S.à.r.l. | Method and device for processing input image data |
US9940694B2 (en) * | 2014-05-23 | 2018-04-10 | Synopsys, Inc. | Resolution enhancement techniques based on holographic imaging technology |
US9971691B2 (en) * | 2016-09-12 | 2018-05-15 | Intel Corporation | Selevtive application of interleave based on type of data to be stored in memory |
US11652574B2 (en) * | 2019-08-07 | 2023-05-16 | Qualcomm Incorporated | Configuring and signaling an interleaving mode that includes in-allocation interleaving |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990028866A (ko) * | 1995-07-12 | 1999-04-15 | 크리트먼 어윈 엠 | 다른 포맷으로 인코드된 비디오 신호를 디코딩하기위한 장치 |
KR20000040826A (ko) * | 1998-12-19 | 2000-07-05 | 전주범 | 콘벌루셔널 디인터리버 |
KR100459114B1 (ko) * | 1997-12-31 | 2005-09-30 | 엘지전자 주식회사 | 디지털 방송의 디인터리버장치 및 방법 |
KR20060070386A (ko) * | 2004-12-20 | 2006-06-23 | 삼성전자주식회사 | 디지털 멀티미디어 신호 수신기 및 그 수신방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000010257A1 (en) * | 1998-08-17 | 2000-02-24 | Hughes Electronics Corporation | Turbo code interleaver with near optimal performance |
KR100346170B1 (ko) * | 1998-12-21 | 2002-11-30 | 삼성전자 주식회사 | 통신시스템의인터리빙/디인터리빙장치및방법 |
JP3399904B2 (ja) * | 2000-03-17 | 2003-04-28 | 松下電器産業株式会社 | インタリーブアドレス生成装置 |
JP2002076915A (ja) | 2000-08-31 | 2002-03-15 | Sony Corp | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 |
US6603412B2 (en) * | 2001-06-08 | 2003-08-05 | Texas Instruments Incorporated | Interleaved coder and method |
US6857087B2 (en) * | 2001-06-11 | 2005-02-15 | Her Majesty The Queen In Right Of Canada, As Represented By The Secretary Of State For Industry Through The Communication Research Centre | High-performance low-memory interleaver banks for turbo-codes |
KR100486284B1 (ko) * | 2002-11-22 | 2005-04-29 | 삼성전자주식회사 | 연속되는 두 개의 디인터레이스 프레임들을 출력할 수있는 디인터레이스 장치 및 디인터레이스 방법 |
WO2005055543A1 (en) * | 2003-12-03 | 2005-06-16 | Australian Telecommunications Cooperative Research Centre | Channel estimation for ofdm systems |
CN1599261A (zh) * | 2004-08-03 | 2005-03-23 | 北京交通大学 | 一种用于异步信道复用的交织器组设计 |
US8032811B2 (en) * | 2006-11-09 | 2011-10-04 | Samsung Electronics Co., Ltd. | Efficient almost regular permutation (ARP) interleaver and method |
-
2007
- 2007-07-06 KR KR1020070067843A patent/KR101133907B1/ko not_active IP Right Cessation
-
2008
- 2008-07-03 US US12/168,038 patent/US8281086B2/en not_active Expired - Fee Related
- 2008-07-04 CN CN2008101756241A patent/CN101388673B/zh not_active Expired - Fee Related
- 2008-07-04 EP EP08012128A patent/EP2012434A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990028866A (ko) * | 1995-07-12 | 1999-04-15 | 크리트먼 어윈 엠 | 다른 포맷으로 인코드된 비디오 신호를 디코딩하기위한 장치 |
KR100459114B1 (ko) * | 1997-12-31 | 2005-09-30 | 엘지전자 주식회사 | 디지털 방송의 디인터리버장치 및 방법 |
KR20000040826A (ko) * | 1998-12-19 | 2000-07-05 | 전주범 | 콘벌루셔널 디인터리버 |
KR20060070386A (ko) * | 2004-12-20 | 2006-06-23 | 삼성전자주식회사 | 디지털 멀티미디어 신호 수신기 및 그 수신방법 |
Also Published As
Publication number | Publication date |
---|---|
US20090013136A1 (en) | 2009-01-08 |
KR20090003986A (ko) | 2009-01-12 |
US8281086B2 (en) | 2012-10-02 |
EP2012434A1 (en) | 2009-01-07 |
CN101388673A (zh) | 2009-03-18 |
CN101388673B (zh) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101133907B1 (ko) | 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체 | |
CN101601188B (zh) | 利用无争用交织器的turbo编码 | |
CN100539443C (zh) | 通信系统的交织设备和方法 | |
CN110999095B (zh) | 用于极化码的按块并行冻结位生成 | |
EP2621091B1 (en) | Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions | |
EP1062733A1 (en) | Interleaving / deinterleaving device and method for communication system | |
EP1147614A1 (en) | Turbo code interleaver using linear congruential sequences | |
CN101636914A (zh) | 用于编码和解码数据的方法和装置 | |
US9065482B1 (en) | Circuit for forward error correction encoding of data blocks | |
US8862968B1 (en) | Circuit for forward error correction encoding of data blocks | |
US8250446B2 (en) | Decoder device and decoding method | |
Lau | Channel capacity and error exponents of variable rate adaptive channel coding for Rayleigh fading channels | |
CN103546169A (zh) | Fpga中实现3/4速率(2,1,7)卷积编码的方法 | |
US20060150058A1 (en) | Track buffer in a parallel decoder | |
EP1075088A2 (en) | Encoding apparatus, encoding method, and providing medium | |
KR100416569B1 (ko) | 터보 치환기 및 이를 이용한 터보 복호기 | |
Venkatachalam et al. | Low complexity and area efficient reconfigurable multimode interleaver address generator for multistandard radios | |
KR100561631B1 (ko) | 터보 인터리버의 출력 주소 산출 장치 | |
KR20000071545A (ko) | 통신시스템의 인터리빙/디인터리빙 장치 및 방법 | |
Nannapaneni et al. | Constellation shaping for communication channels with quantized outputs | |
Pilato et al. | Design Optimization for High Throughput Recursive Systematic Convolutional Encoders | |
CN101924566A (zh) | 用于长期演进的Turbo编码方法和Turbo编码器 | |
Wong et al. | Turbo decoder architecture for beyond-4G applications | |
Upadhyaya et al. | Design of FPGA-Based QPP Interleaver for LTE/LTE-Advanced Application | |
Zhang et al. | Implementation of RS encoder for CCSDS |
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 | ||
LAPS | Lapse due to unpaid annual fee |