KR101033582B1 - 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법 - Google Patents

방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법 Download PDF

Info

Publication number
KR101033582B1
KR101033582B1 KR1020040024533A KR20040024533A KR101033582B1 KR 101033582 B1 KR101033582 B1 KR 101033582B1 KR 1020040024533 A KR1020040024533 A KR 1020040024533A KR 20040024533 A KR20040024533 A KR 20040024533A KR 101033582 B1 KR101033582 B1 KR 101033582B1
Authority
KR
South Korea
Prior art keywords
sample data
memory
segment
data
time
Prior art date
Application number
KR1020040024533A
Other languages
English (en)
Other versions
KR20050099277A (ko
Inventor
신종웅
강익선
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040024533A priority Critical patent/KR101033582B1/ko
Priority to US11/100,574 priority patent/US20050226354A1/en
Priority to EP05102791A priority patent/EP1587227A3/en
Priority to CNA2005100650405A priority patent/CN1681269A/zh
Publication of KR20050099277A publication Critical patent/KR20050099277A/ko
Application granted granted Critical
Publication of KR101033582B1 publication Critical patent/KR101033582B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/04Roller skates; Skate-boards with wheels arranged otherwise than in two pairs
    • A63C17/06Roller skates; Skate-boards with wheels arranged otherwise than in two pairs single-track type
    • A63C17/061Roller skates; Skate-boards with wheels arranged otherwise than in two pairs single-track type with relative movement of sub-parts on the chassis
    • A63C17/062Roller skates; Skate-boards with wheels arranged otherwise than in two pairs single-track type with relative movement of sub-parts on the chassis with a pivotal frame or cradle around transversal axis for relative movements of the wheels
    • 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/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/276Interleaving address generation
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • H04H20/426Receiver side
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only

Abstract

본 발명은 DMB 수신기에서 시간 역인터리빙을 위한 메모리 억세스에 바이트 어드레싱을 적용하는 시간 역인터리빙을 위한 메모리 제어 방법에 관한 것이다. 특히 본 발명은 시간 r부터 r+15까지 16 프레임동안 실제 시간 역인터리빙에 사용하는 샘플 데이터들만을 저장하기 위해 상기 메모리를 i 값(즉 mod 15에 의해 생성되는 값)에 따라 그 크기가 변화하는 여러 개의 세그먼트 단위로 구성하는 단계와, 각 세그먼트별로 바이트 어드레싱에 의해 상기 메모리를 억세스하여 한 메모리 어드레스에 복수개의 샘플 데이터를 저장하는 단계와, 상기 i 값에 의해 정해진 시간 역인터리빙 규칙에 따라 바이트 단위의 메모리 어드레스를 발생하고, 그 메모리 어드레스에서 읽어 낼 샘플 데이터가 해당 세그먼트 내에서 몇 번째인지에 따라 상기 메모리 어드레스에 저장된 복수개의 샘플 데이터 중 하나는 읽어서 출력하고 다른 하나는 마스킹하는 단계를 포함하여 이루어져, 메모리를 구성하는 요소 중 메모리 어드레스 복호기의 복잡도를 크게 줄임으로써, DMB 수신칩을 ASIC화할 때 요구되는 면적을 크게 줄일 수 있게 된다.
DMB, 시간 역인터리빙, 바이트 어드레싱

Description

방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법{Memory control method for time de-interleaving in a broadcast receiver}
도 1은 일반적인 DMB 수신기의 구성 블록도
도 2는 DMB 송신기에서 시간 영역 인터리빙시 메모리에 저장되는 데이터의 일 예를 보인 도면
도 3은 도 2의 시간 영역 인터리빙에 적용되는 비트 리버스 규칙의 예를 보인 도면
도 4는 DMB 수신기의 시간 역인터리빙을 위한 메모리 구조의 예를 보인 종래 도면
도 5는 본 발명에 따른 DMB 수신기의 시간 역인터리빙을 위한 메모리 구조의 예를 보인 도면
도 6은 본 발명에 따른 DMB 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법의 일 실시예를 보인 흐름도
도 7a 내지 도 7c는 기존의 4비트 어드레싱에 의한 메모리 사용과 본 발명의 바이트 어드레싱에 의한 메모리 사용의 일 예를 비교한 도면
도 8a, 도 8b는 본 발명의 바이트 어드레싱에 의해 메모리에 쓰여진 샘플 데이터를 읽는 예를 보인 도면
도면의 주요부분에 대한 부호의 설명
11 : 안테나 12 : 튜너
13 : AGC부 14 : A/D 변환기
15 : I/Q 분배기 16 : 신호 동기부
17 : OFDM 복조기 18 : 주파수 역인터리빙부
19 : 제1 채널 분배기 20 : FIC 복호화기
21 : 시간 역인터리빙부 22 : 길쌈 복호화기
23 : 에너지 역스크램블부 24 : 제2 채널 분배기
25 : 길쌈 역인터리빙부 26 : RS 복호화기
27 : FIC 데이터 복호화기 28 : 오디오/데이타 복호화기
29 : 비디오 복호화기 30 : 외부 메모리
본 발명은 DMB(Digital Multimedia Broadcasting) 수신기에 관한 것으로서, 특히 DMB용 시간 역인터리빙을 위한 메모리 억세스에 바이트 어드레싱(byte addressing)을 적용하는 시간 역인터리빙을 위한 메모리 제어 방법에 관한 것이다.
최근 CD, DVD등 뛰어난 음질의 디지털 오디오 기기가 급격히 보급되어 보편화되면서 고급 음질을 요구하는 디지털 방송에 대한 청취자의 요구가 날로 증가하고 있으며, 이에 따라 기존의 FM 방송이 제공할 수 있는 음질의 한계를 극복하기 위해 유럽, 캐나다, 미국 등에서 디지털 오디오 방송(Digital Audio Broadcasting ; DAB)을 시행하고 있다. 상기 DAB 시스템은 현재의 AM 방송이나 FM 방송과는 전혀 다른 기술을 이용해 고품질의 음질뿐만 아니라, 이동 중에도 뛰어난 수신 능력을 보여주며, 영상이나 문자와 같은 디지털 데이터도 고속으로 송신할 수 있는 특성을 가지고 있다. 최근에는 오디오 방송보다는 영상을 포함한 다양한 멀티미디어 서비스를 강조하여 디지털 멀티미디어 방송(DMB)이라 부른다.
상기 DMB는 전송 채널 상의 잡음과 왜곡에 강인하고, 전송 효율이 높을 뿐만 아니라 다양한 멀티미디어 서비스를 가능하게 하는 장점을 가지고 있다.
한국에서 채택된 DMB는 유럽의 지상파 라디오 표준으로 채택된 Eureka-147 디지털 라디오 방송(DAB)에 기반하고 있다. 이때, 이동 환경에서의 수신 성능을 더 효율적으로 하기 위해 상기 DAB에 추가한 것은 전송 채널상 발생할 수 있는 연집 에러(Burst Error)에 강인한 RS 코드(Reed-Solomon Code)와 길쌈 인터리버(Convolutional Interleaver)이다. 추가된 상기 두 블록은 송신기에서 DAB 앙상블(Ensemble) 입력 신호에 대해 적용하며, 이동 수신환경에서도 비디오 서비스가 가능할 만큼 충분히 낮은 에러율을 제공한다. DMB 방송의 전송채널은 무선 이동수신 채널로서, 수신신호의 크기(Amplitude)가 시변(Time-Varying)할 뿐만 아니라, 4 이동 수신기의 영향으로 수신신호 스펙트럼(Spectrum)의 도플러 확산(Doppler Spreading)이 발생한다. 이러한 채널 환경에서의 송수신을 고려하여, DMB 전송 방식은 직교 주파수 분할 다중화(Coded Orthogonal Frequency Division Multiplexing ; OFDM)에 기반하고 있다. 상기 OFDM 방식은 복수의 다중 캐리어를 사용하므로 다중 경로 채널에 의해 발생할 수 있는 고스트에 대하여 내성이 아주 강하고, 파일롯 신호를 기초로 한 채널 추정(Channel estimation)이 용이하다는 장점이 있다.
즉 DMB 송신단에서 각각의 서비스 신호(오디오, 비디오, 데이터 서비스)는 개별적으로 오류 방지를 위해 부호화된 후 시간 영역에서 각각 인터리빙되고, 시간 영역에서 인터리빙된 각각의 서비스 신호들은 다중화되어 데이터 채널인 주 서비스 채널(Main Service Channel ; MSC)로 합쳐진다. 그리고 다중화된 신호는 제어 채널인 고속정보채널(Fast Information Channel ; FIC)로 전송되는 다중화 배열 정보(Multiplexing Configuration Information ; MCI)와 서비스 정보(Service Informaton ; SI)와 함께 주파수 영역에서 인터리빙된다. 이때 FIC로 전송되는 정보는 시간 지연을 허용하지 않기 때문에 시간 영역 인터리빙은 수행하지 않는다.
상기 주파수 인터리빙된 비트열은 DQPSK(Differential Quadrature Phase Shift Keying) 심볼로 매핑된 후 역 고속 푸리에 변환(IFFT)를 통해 OFDM 심볼이 생성된다. 상기 OFDM 심볼은 RF 신호로 변조되어 전송된다.
이때 DMB 전송 신호는 기존의 아날로그 라디오 방송신호에 비해 매우 작은 신호 세기로 전송되며, 도심과 같은 심한 페이딩(Fading) 채널 환경에서 자동차에서와 같은 이동수신을 고려하면, 실제 수신 신호의 신호 세기는 매우 작다.
따라서 DMB 수신기는 이러한 열악한 수신환경에서 최대한 수신신호를 받아들여, 전송에러를 보정할 수 있어야 한다. 또한 이동 수신 단말기라는 점을 고려하면 제한된 비용을 들여서 최대의 수신 성능을 내는 것이 DMB 수신기 구성의 핵심요건이 된다.
도 1은 국내에서 서비스 예정인 DMB 송신 방식에 따른 DMB 수신기의 개념적인 블록도로서, 튜너(12)는 안테나(11)로 수신된 RF 신호 중 특정 채널의 RF 신호만을 튜닝하여 중간 주파수(Intermediate Frequency ; IF)의 통과대역(Pass-band) 신호로 변환한 후 AGC(Auto gain control)부(13)로 출력한다. 상기 AGC부(13)는 상기 IF 신호의 A/D 변환을 위해 기준 신호 크기에 따라 계산한 이득값을 상기 IF 신호에 곱하여 상기 IF 신호의 크기를 일정하게 한 후 A/D 변환기(14)로 출력한다.
상기 A/D 변환기(14)는 수신된 신호의 크기에 무관하게 상기 이득 조정된 IF 신호에 대해 표본화(Sampling)를 수행하여 디지털 샘플 데이터로 변환한 후 I/Q 분배기(15)로 출력한다.
상기 I/Q 분배기(15)는 입력되는 디지털 샘플 데이터가 실수 성분(Inphase component ; I)만을 가지므로 이 디지털 샘플 데이터를 허수 성분(Quadrature component ; Q)도 가지는 복소 성분의 디지털 샘플 데이터로 변환하여 신호 동기부(16)와 OFDM 복조기(17)로 출력한다.
상기 OFDM 복조기(17)는 상기 실수 성분과 허수 성분의 디지털 샘플 데이터로부터 불필요한 보호구간(Guard Interval)을 제거한 후, FFT(Fast Fourier Transform)을 통해 시간 영역의 디지털 샘플 데이터를 주파수 영역으로 변환하고, 차분 복조 및 소프트 디시젼(Soft Decision)을 거쳐 신호 동기부(16)로 피드백함과 동시에 주파수 역인터리빙(De-interleaving)부(18)로 출력한다.
이때 전송하고자 하는 채널 상의 잡음이나 기타 여러 가지 요인에 의해 송신측에서 보낸 데이터에 왜곡이 생기고 이러한 왜곡된 데이터를 수신측에서 수신하여 OFDM 복조를 행하면 채널에 의해 생긴 여러 가지 원인에 의해 송신측에서 보낸 데이터와는 다른 데이터를 얻게된다.
따라서, 송신측에서 1 또는 0의 데이터를 기 설정된 값(예를 들면, 63과 -64)으로 매핑하여 채널을 통해 송신을 하면 채널의 잡음에 의해 송신된 데이터에 변형이 생기므로 수신측에서는 이런 변형된 데이터를 제대로 판단하여야 한다. 이때 변형된 데이터를 판단하기 위해 사용되는 방법 중 하나로 소프트 디시젼이 있다. 즉 소프트 디시젼은 송신측에서 전송한 데이터가 수신측에서 수신되었을 경우 과연 얼마만큼 1과 0에 근접한 데이터인지를 각각 여러 비트로 나타내는 방법이다. 일 예로, FFT된 값과 임계값과의 거리의 차이를 구한 후 그 차 값을 양자화하여 출력한다. 이때 상기 양자화 간격에 따라 3비트 소프트 디시젼 또는, 4비트 소프트 디시젼이라고 한다. 예를 들어, 4비트 소프트 디시젼이라고 하면 수신되어 FFT된 신호와 임계값과의 거리의 차이를 15레벨로 표현한 것이며, 4비트 소프트 디시젼된 한 샘플 데이터는 4비트가 된다.
상기 신호 동기부(16)는 OFDM 복조기(17)의 입력과 출력신호를 이용하여 프레임 동기, OFDM 심볼 동기와 반송파 주파수 동기를 수행하고 있다. 즉 DMB 송신기는 프레임 단위로 정보를 전송하기 때문에 프레임 동기가 우선적으로 이루어져야 한다. 그리고 OFDM 심볼 동기는 정확한 복조를 위해 OFDM 심볼의 시작 위치를 검출하는 것이며, 반송파 주파수 동기는 송신단의 반송파 주파수와 수신단의 주파수를 일치시키기 위한 것이다.
상기 주파수 역인터리빙부(18)는 OFDM 복조부(17)에서 소프트 디시젼된 샘플 데이터를 입력받아 주파수 영역에서 디인터리빙을 수행하여 송신측에서 주파수 인터리빙(Interleaving)된 서브 캐리어(Sub-carrier) 신호들의 위치를 원래대로 복원시킨다. 상기 주파수 역인터리빙된 데이터는 제 1 채널 분배기(19)로 출력된다. 상기 제 1 채널 분배기(19)는 입력 데이터로부터 제어 채널인 FIC 채널과 데이터 채널인 MSC 채널을 분리시킨 후 분리된 FIC 채널의 신호는 FIC 복호화기(20)로 출력하고, MSC 채널의 신호는 시간 역인터리빙부(21)로 출력한다.
여기서 상기 FIC 채널의 신호는 송신단에서 시간 영역 인터리빙을 하지 않았으므로 마찬가지로 수신단에서도 시간 영역 디인터리빙을 수행하지 않는다. 상기 FIC 복호화기(20)는 FIC 채널 신호를 입력으로 받아 MSC 채널을 복호화하는데 필요한 정보들을 추출한 후 FIC 데이터 복호화기(27)로 출력한다. 이때 FIC 채널을 통해 전송된 별도의 제어 데이터는 상기 FIC 데이터 복호화기(27)를 통해 복원된다.
한편 상기 시간 역인터리빙부(21)는 외부 메모리(external memory)(30)를 이용하여 DMB 송신기에서 시간 영역으로 인터리빙된 MSC 채널의 16개의 논리적인 프레임(Logical Frame)들을 다시 원래의 프레임 순서대로 복원시킨다. 상기 시간 역인터리빙된 MSC 채널 신호는 길쌈 복호화기(Convolutional decoder)(22)로 입력된다. 상기 길쌈 복호화기(22)는 시간 영역에서 역인터리빙된 MSC 채널 신호에 대해 비터비 디코딩을 수행하여 길쌈 부호화 전의 원래 값을 복원하고 또한, 상기 MSC 채널에 포함된 전송 채널에서 발생한 랜덤 에러(Random Error)를 정정한다. 상기 랜덤 에러가 정정된 데이터가 스크램블되어 있다면 에너지 역스크램블부(23)에서 원래의 데이터로 디스크램블된 후 제 2 채널 분배기(24)로 출력되고, 스크램블되어 있지 않다면 에너지 역스크램블부(23)를 바이패스한 후 바로 제 2 채널 분배기(24)로 출력된다.
상기 제 2 채널 분배기(24)는 전송된 데이터 채널이 DAB 서비스를 위한 데이터/오디오 신호인지, DMB 서비스를 위한 비디오 신호인지를 구별하여 분리시킨 후 분리된 오디오/데이터 신호는 오디오/데이터 복호화기(28)로 출력하고, 분리된 비디오 신호는 길쌈 역인터리빙(Convolutional De-interleaving)부(25)로 출력한다.
상기 길쌈 역인터리빙부(25)는 송신단에서 추가적으로 인터리빙한 데이터를 원래의 순서대로 재정렬하여 RS 복호화기(26)로 출력하고, 상기 RS 복호화기(26)는 송신단에서 RS 인코딩(Encoding)한 데이터를 복원한 후 비디오 복호화기(29)로 출력한다. 상기 비디오 복호화기(29)는 DMB 서비스를 위한 비디오 신호를 복원해 낸다.
한편 전술한 바와 같이 상기 DMB 송신기에서 서비스 신호(오디오, 비디오, 데이터 서비스)에 대해 시간 영역 인터리빙을 하는 것은 수신된 신호의 연집 오류를 랜덤화하기 위해서이다. 여기서 시간 인터리빙이란 일정한 시간 동안에 데이터를 저장한 후, 데이터가 들어온 순서와 다르게 기 정해진 순서로 데이터를 섞어서 출력하는 것이다.
도 2는 일반적인 DMB 규격에 따른 시간 인터리빙을 나타낸 표이다.
먼저 DMB 규격에 정해진 시간 인터리빙 기법은 16 프레임 동안의 데이터를 메모리에 저장한 후, 도 3과 같은 비트 리버스(Bit reverse) 규칙에 따라 랜덤화한다.
도 2를 참조하면, DMB 규격에 사용되는 시간 인터리빙은 시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 데이터들이 인터리빙되어 전송되는 외부 메모리 맵의 일 예를 도시하고 있다.
여기서
Figure 112004014707119-pat00001
는 시간 r의 i번째 샘플 데이터를 말한다.
즉 인터리빙 되기 이전의 시간 r에 전송되는 샘플 데이터는 i(modulo)값이 0에서 15까지 변화하면서 도 3의 비트 리버스 규칙에 의해 원래 데이터
Figure 112004014707119-pat00002
Figure 112004014707119-pat00003
로 인터리빙되어 출력된다.
이때 하나의 프레임 동안에 55296개의 샘플 데이터가 존재한다. 그런데, i 값이 모듈로 연산에 의해 0부터 15까지 변화하므로 한 프레임에 대해서 도 2와 같은 시간 인터리빙 패턴이 3456번 반복하게 된다. 즉 각 프레임에 대해서 16 샘플 데이터마다 동일한 시간 인터리빙 규칙이 적용된다.
도 3에서 r'은 지연되는 프레임 수를 의미한다.
예를 들어, i=0인 경우 r'은 0이므로, 시간 r에서 입력되는 데이터는 지연없이 그대로 출력된다. 또한 i=1인 경우 r'은 8이므로, 시간 r에서 입력되는 데이터는 8 프레임 지연되어 출력된다. 그러므로 i=1인 경우 시간 r에서 출력된 데이터는 8프레임 전의 데이터 즉,
Figure 112004014707119-pat00004
이 되고, 시간 r에서 입력된 데이터는 8프레임 지연된 후 시간 r+8(
Figure 112004014707119-pat00005
)에서 출력되게 된다.
이러한 과정에 의해 i=2 내지 15인 경우에도 도 3과 같이 각각 정해진 프레임 수만큼 지연되어 출력된다.
따라서 DMB 수신기에서 시간 인터리빙된 데이터를 수신하여 복원하려면 시간 역인터리버가 필요하고, 16 프레임 동안의 데이터를 저장하기 위한 메모리가 역시 필요하다. 도 1의 DMB 수신기의 경우 외부 메모리(30)가 시간 역인터리빙을 위해 이용된다.
이때 시간 역인터리빙은 전술된 시간 인터리빙 과정의 역순에 의해
Figure 112004014707119-pat00006
로부터
Figure 112004014707119-pat00007
를 얻을 수 있다.
그리고 상기된 DMB 규격에 따르면 하나의 프레임 동안에 55296개의 샘플 데이터가 있으므로 DMB 수신기 내 시간 역인터리빙을 위한 메모리 크기는 소프트 디시젼(soft decision)이 4비트로 이루어진 경우 일반적으로 16×55296×4=3538944 비트가 필요하게 된다.
또한 도 2와 같이 16프레임 동안 각 프레임의 16개의 샘플 데이터를 저장하려면 일반적으로 메모리의 크기는 16×16 =256 워드(word)만큼 필요하다.
즉 한 샘플 데이터 크기가 4비트이므로 4비트 어드레싱(bit addressing)에 의해 메모리 억세스가 이루어진다. 그러므로 외부 메모리(30)의 한 워드가 8비트일 경우, 한 샘플 데이터가 4비트이더라도 16프레임 동안 각 프레임의 16개의 샘플 데이터를 저장하기 위한 메모리의 크기는 16×16×8 =2048비트가 필요하게 된다. 그리고 16프레임 동안 각 프레임의 55296개의 샘플 데이터를 저장하기 위한 메모리 크기는 16×55296×8 =7077888 비트가 필요하게 된다.
한편 DMB 수신기가 소형화되고, 앞으로 휴대폰과 결합된 형태로 발전할 것으 로 예상됨에 따라, DMB 수신칩도 ASIC화하여 원 칩 솔루션(one chip solution)의 형태로 요구되고 있다. 따라서 시간 역인터리빙시 필요한 메모리의 크기를 감소하는 것은 DMB 수신칩을 ASIC화함에 있어서 게이트의 크기를 감소시켜 원칩(one chip)화를 가능하게 하는 매우 중요한 의미를 가진다.
그런데 실제 시간 역인터리빙을 위한 메모리는 도 3과 같은 비트 리버스 규칙에 의해 16프레임 동안에 도 2의 해칭(hatching) 부분만 사용하고, 나머지 부분은 쓰이지 않는(idle) 부분이 된다. 즉 도 2에서 i=1인 경우 시간 r에서 r+7까지는 이미 역인터리빙이 이루어진 과거의 데이터이기 때문이다.
따라서 본 출원인은 DMB 수신기의 역인터리빙을 위한 메모리를 실제 사용하는 부분에 대해서만 세그먼트(segment)화하여 사용함으로써, 메모리의 idle 부분의 낭비를 줄인 특허를 출원한 바 있다(출원번호 2003-86429호).
도 4는 상술한 본 출원인에 의해 특허 출원된 메모리의 구조로서, 16 프레임동안 i=0부터 i=15까지 각 프레임의 샘플 데이터를 저장하는 경우, 크기가 15인 세그먼트 0부터 크기가 8인 세그먼트 14까지의 총 120개의 샘플 데이터를 저장하는 변형된 메모리 구조를 제안하고 있다. 이로 인해 시간 역인터리빙에 필요한 메모리의 크기를 약 53% 감소시킬 수 있게 된다. 일 예로, 세그먼트 0은 i=0일때의 해칭된 부분의 15개의 샘플 데이터를 저장하고, 세그먼트 1은 i=1일때의 해칭된 부분의 7개의 샘플 데이터를 저장한다.
상기 세그먼트는 도 2의 시간 인터리빙 규격과 같이 i값에 따라 크기가 변화하는 메모리의 단위로서 정의한다.
그런데 상기된 도 4와 같은 메모리 구조에서도 4비트 어드레싱에 의해 메모리 억세스가 이루어지므로, 메모리의 한 워드가 8비트일 경우 16프레임 동안 i=0부터 i=15까지 각 프레임의 샘플 데이터를 저장하기 위한 실제 메모리 크기는 120*8=960비트가 된다. 그리고 하나의 프레임 동안에 55296개의 샘플 데이터가 존재하고 i 값이 모듈로 연산에 의해 0부터 15까지 변화하므로, 16프레임 동안 각 프레임의 55296개의 샘플 데이터를 저장하기 위한 실제 메모리 크기는 120*3456*8=3317760 비트가 된다.
이때 메모리는 크게 메모리 어드레스 복호기(address decoder)와 실제 메모리 셀로 구성되어 있는데, 상기 메모리 어드레스 복호기의 복잡도(complexity)를 줄일 수 있으면 DMB 수신칩을 ASIC화할 때 요구되는 면적을 크게 줄일 수 있게 된다.
따라서 본 발명의 목적은 바이트 어드레싱으로 메모리 억세스를 수행하도록 함으로써, 실제 ASIC에서 요구되는 메모리 어드레스 복호기의 복잡도를 줄이는 시간 역인터리빙을 위한 메모리 제어 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 DMB 수신기의 시간 역인터리빙을 위한 메모리 제어 방법은, DMB 수신기에서 시간 역인터리빙을 위한 메모리 억세스에 바이트 어드레싱을 적용하여 기존의 비트 어드레싱에 비해 메모리 어드레스 복호기의 복잡도를 크게 줄임으로써, DMB 수신칩을 ASIC화하는데 필요한 면 적을 크게 감소시키는 것을 특징으로 한다.
이를 상세히 서술하면 DMB 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법은, 모듈로 15에 의해 생성되는 i 값에 따라 시간 인터리빙되어 수신되는 각 프레임의 샘플 데이터를 시간 역인터리빙하는 DMB 수신기에서의 메모리 제어 방법에 있어서, 시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 실제 시간 역인터리빙에 사용하는 샘플 데이터들만을 저장하기 위해 상기 메모리를 i 값에 따라 그 크기가 변화하는 여러 개의 세그먼트 단위로 구성하는 단계; 각 세그먼트별로 바이트 어드레싱에 의해 상기 메모리를 억세스하여 한 메모리 어드레스에 복수개의 샘플 데이터를 저장하는 단계; 그리고 상기 i 값에 의해 정해진 시간 역인터리빙 규칙에 따라 바이트 단위의 메모리 어드레스를 발생하고, 그 메모리 어드레스에서 읽어 낼 샘플 데이터가 해당 세그먼트 내에서 몇 번째인지에 따라 상기 메모리 어드레스에 저장된 복수개의 샘플 데이터 중 하나는 읽어서 출력하고 다른 하나는 마스킹하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 메모리 구성 단계는 시간 r에서 r+15까지의 16 프레임동안 i=0에서 i=15까지 각 프레임의 시간 인터리빙된 샘플 데이터를 저장하기 위해 상기 메모리를 15개의 세그먼트 단위로 구성하고, 각 세그먼트의 크기는 i 값에 따라 달라지는 것을 특징으로 한다.
상기 메모리 구성 단계는 시간 r에서 r+15까지의 16 프레임동안 i 값에 따라 실제 시간 역인터리빙에 사용되는 샘플 데이터의 수가 결정되고, 각 세그먼트의 크기는 해당 i 값에 의해 결정되는 샘플 데이터 수를 2로 나누고, 상기 연산 결과에 서 소수 부분을 반올림한 정수값으로 결정되는 것을 특징으로 한다.
상기 메모리 구성 단계는 i=15이면 세그먼트를 할당하지 않는 것을 특징으로 한다.
상기 데이터 저장 단계는 각 세그먼트별로 입력되는 샘플 데이터에 대해 해당 세그먼트 크기만큼 모듈로를 취하여 저장하는 것을 특징으로 한다.
상기 데이터 저장 단계는 특정 세그먼트에 대해
(a) 입력되는 샘플 데이터가 해당 세그먼트 내에서 홀수번째 샘플 데이터인지를 판별하는 단계;
(b) 상기 (a) 단계에서 홀수번째 샘플 데이터로 판별되면 기 정해진 메모리의 n번째 어드레스에 상기 홀수번째 샘플 데이터를 쓰는 단계;
(c) 홀수번째 샘플 데이터의 쓰기가 완료되면 해당 세그먼트 내에서 그 다음의 짝수번째 샘플 데이터가 입력되는지를 판별하는 단계;
(d) 짝수번째 샘플 데이터가 입력된다고 판별되면 메모리의 n번째 어드레스의 데이터를 읽어와 상위 4비트의 데이터를 상기 짝수번째 샘플 데이터로 변환하는 단계;
(e) 상기 (d) 단계에서 상위 4비트가 짝수번째 샘플 데이터로 변환된 데이터를 상기 메모리의 n번째 어드레스에 다시 쓰는 단계;
(f) 상기 (e) 단계가 수행되고 나면, 해당 세그먼트 내에서 그 다음의 홀수번째 샘플 데이터가 입력되는지를 판별하는 단계;
(g) 상기 (f) 단계에서 홀수번째 샘플 데이터가 입력된다고 판별되면 메모리 의 어드레스를 1 증가시킨 후(n=n+1), 상기 (b) 단계로 되돌아가 상기된 단계들을 반복 수행하는 단계; 그리고
(h) 상기 (c) 단계에서 짝수번째 샘플 데이터가 없거나, 상기 단계 (g) 단계에서 홀수번째 샘플 데이터가 없으면 해당 세그먼트에 대한 샘플 데이터 쓰기를 완료하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 데이터 읽기 단계는 특정 세그먼트에 대해 상기 i 값에 의해 정해진 시간 역인터리빙 규칙에 따라 바이트 단위의 메모리 어드레스를 발생하는 단계와, 상기 메모리 어드레스에서 읽어 낼 샘플 데이터가 해당 세그먼트 내에서 짝수번째인지 아니면, 홀수번째인지를 판별하는 단계와, 상기 단계에서 짝수번째 샘플 데이터로 판별되면 상기 단계에서 발생된 메모리 어드레스에서 상위 4비트의 데이터는 읽어 와 출력하고 나머지 하위 4비트는 마스킹하는 단계와, 상기 단계에서 홀수번째 샘플 데이터로 판별되면 상기 단계에서 발생된 메모리 어드레스에서 하위 4비트의 데이터는 읽어 와 출력하고 나머지 상위 4비트는 마스킹하는 단계로 이루어지는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
도 5는 본 발명에 따른 DMB 수신기에서 시간 역인터리빙을 위한 메모리 억세스에 바이트 어드레싱을 적용하였을 경우의 메모리 구조를 보인 것으로서, 특히 16 프레임 동안 i=0에서 i=15까지의 시간 인터리빙된 샘플 데이터를 저장하기 위한 메모리 구조를 보인 것이다.
도 5의 경우 실제 시간 역인터리빙에 사용하는 부분에 대해서만 세그먼트(segment)화하여 사용한다.
이때 시간 역인터리빙을 위한 메모리 억세스를 바이트 어드레싱으로 하는 경우, 총 세그먼트의 크기는 64가 된다. 그리고 메모리의 한 워드가 8비트일 경우 16프레임 동안 i=0에서 i=15까지 각 프레임의 시간 인터리빙된 샘플 데이터를 저장하기 위한 실제 메모리 크기는 64*8=512비트가 된다. 또한 16프레임 동안 각 프레임의 55296개의 샘플 데이터를 저장하기 위한 실제 메모리 크기는 64*3456*8=1769472 비트가 된다.
이는 메모리 억세스를 비트 단위로 하게 되면 메모리의 한 어드레스에 한 샘플 데이터만을 저장할 수 있으나, 바이트 단위로 하게 되면 메모리의 한 어드레스에 2개의 샘플 데이터를 저장할 수 있기 때문이다.
따라서 세그먼트 0은 그 크기가 8이 되고, 세그먼트 1은 4, 세그먼트 2는 6, 세그먼트 3은 2, 세그먼트 4는 7, 및 세그먼트 5는 3이 된다. 일 예로 상기 세그먼트 1은 시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 i=1인 샘플 데이터가 저장되는 메모리 영역으로서, 실제 시간 역인터리빙에 사용되는 샘플 데이터(즉 도 2에서 시간 r+8에서 시간 r+15까지의 샘플 데이터) 8개만 저장한다.
또한 세그먼트 6은 5, 세그먼트 7은 1, 세그먼트 8은 7, 세그먼트 9는 3, 세그먼트 10은 5, 세그먼트 11은 1, 세그먼트 12는 6, 세그먼트 13은 2, 및 세그먼트 14는 4가 된다. 이때 i=15인 경우는 시간 역인터리빙부(21)에 들어온 샘플 데이터를 그대로 통과(bypass)시키면 역인터리빙이 가능하기 때문에 따로 세그먼트를 할당하지 않는다.
그리고 도 5의 세그먼트를 4비트 어드레싱으로 환산하면, 그 크기가 128로서 원래의 4비트 어드레싱 방법의 120에 비해 필요한 메모리의 핵심 셀(core cell)의 크기는 약간 증가한다. 하지만 바이트 어드레싱은 DMB 수신칩을 실제 ASIC으로 구현할 경우 4비트 어드레싱에 비해 메모리 어드레스 복호기의 복잡도를 많이 감소시키게 된다. 이로 인해 상기된 바이트 어드레싱 방법은 전체 ASIC칩의 면적을 줄일 수 있는 장점을 갖는다.
그리고 본 발명은 시간 역인터리빙을 위한 메모리를 도 5와 같이 여러 개의 세그먼트 단위(즉 세그먼트 0~ 세그먼트 14)로 구성함으로써, 메모리의 idle 부분(즉 도 2의 비해칭 부분)을 제거한다. 또한 설명의 편의를 위해 이를 다중 세그먼트 방법(multi-segment method)이라 정의한다.
즉 일반적인 메모리 사용법에서는 모든 샘플 데이터들이 동일한 모듈로(mod 16)를 취하는 것에 비해, 다중 세그먼트 방법에서는 각 세그먼트가 그 크기만큼 모듈로를 취함으로써, 시간 역인터리빙시 메모리의 idle 부분을 제거할 수 있다. 예를 들어, 세그먼트 0의 경우 mod 15를, 세그먼트 1의 경우 mod 7을 취하면 된다.
도 6은 바이트 어드레싱으로 메모리를 억세스하여 시간 인터리빙된 샘플 데 이터를 상기 메모리에 쓰는 과정을 보인 본 발명의 동작 흐름도로서, 도 5와 같은 각 세그먼트에서의 쓰기 과정을 일반화한 것이다. 여기서 세그먼트는 i값의 크기에 따라 그 크기가 변화하는 메모리의 단위로서 정의하고 있다.
예를 들어 한 샘플 데이터는 4비트이고 메모리의 한 워드는 8비트라고 할 경우, 16 프레임 동안 실제 시간 역인터리빙에 사용되는 i=0인 샘플 데이터 15개를 세그먼트 0에 저장하기 위해서는 8개의 메모리 어드레스가 필요하게 되고, i=1인 샘플 데이터 7개를 세그먼트 1에 저장하기 위해서는 4개의 메모리 어드레스가 필요하게 된다.
그리고 메모리에 저장될 샘플 데이터가 입력되면 먼저 그 샘플 데이터가 해당 세그먼트 내에서 홀수번째 샘플 데이터인지, 아니면 짝수번째 샘플 데이터인지를 판별한다.
즉 i=0을 예로 들 경우, i=0인 샘플 데이터가 입력되면 상기 입력 데이터가 세그먼트 0 내에서 홀수번째 샘플 데이터인지를 판별한다(단계 601).
상기 단계 601에서 홀수번째 샘플 데이터라고 판별되면 메모리의 n번째 어드레스에 상기 홀수번째 샘플 데이터를 쓴다(단계 602). 여기서 n은 상기 샘플 데이터가 저장될 메모리의 어드레스로서 미리 지정된다.
그리고 상기 홀수번째 다음에 i=0인 짝수번째 샘플 데이터가 입력되는지를 판별한다(단계 603). 만일 짝수번째 샘플 데이터가 없다면 해당 세그먼트에 대한 샘플 데이터 쓰기를 끝내고, 있다면 메모리의 n번째 어드레스의 데이터를 읽어온다(단계 604). 이는 세그먼트 1의 경우 실제 시간 역인터리빙에 이용되는 샘 플 데이터의 개수가 7로서, 홀수개이기 때문에 이러한 경우를 대비하기 위해서이다.
한편 상기 홀수번째 샘플 데이터를 0010이라고 가정하면 단계 604에서 읽어 온 데이터는 xxxx0010이 된다.
이때 상기 단계 604에서 읽어 온 데이터의 상위 4비트를 상기 홀수번째 다음에 오는 짝수번째 샘플 데이터로 대체함에 의해 데이터를 재구성한다(단계 605). 예를 들어, 상기 짝수번째 샘플 데이터를 0100라고 하면, 상기 단계 605에서 재구성된 데이터는 01000010이 된다.
그러면 재구성된 데이터를 다시 메모리의 n번째 어드레스에 쓴다(단계 606). 즉 메모리의 n번째 어드레스에는 01000010이 쓰여진다. 따라서 메모리의 n번째 어드레스에는 2개의 샘플 데이터가 저장된다.
상기 단계 606이 수행되고 나면, 해당 세그먼트에 대해 상기 짝수번째 다음에 입력되는 홀수번째 샘플 데이터가 있는지를 판별한다(단계 607).
상기 단계 607에서 홀수번째 샘플 데이터가 없다고 판별되면 해당 세그먼트에 대한 샘플 데이터 쓰기를 끝낸다. 그러나 홀수번째 샘플 데이터가 있다고 판별되면 메모리의 어드레스를 1 증가시킨 후(즉 n=n+1), 단계 602로 진행한다(단계 608). 상기 단계 602는 1 증가된 메모리의 어드레스에 상기 단계 607에서 입력된 홀수번째 샘플 데이터를 쓴 후 단계 603으로 진행한다.
이러한 과정은 시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 i=0인 샘플 데이터에 대해 반복 수행하여, 실제 시간 역인터리빙에 사용되는 샘플 데이터 15개를 저장한다.
그리고 시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 i=0인 샘플 데이터에 대한 메모리 쓰기가 완료되면 다시 도 6에 의해 시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 실제 시간 역인터리빙에 사용되는 i=1인 샘플 데이터 7개에 대한 메모리 쓰기가 수행된다.
즉 도 6은 세그먼트 단위로 수행되는 동작 흐름도이며, 상기된 과정을 통해 각 세그먼트별로 실제 시간 역인터리빙에 사용되는 i=0에서 i=14인 샘플 데이터에 대한 메모리 쓰기가 순차적으로 수행된다.
도 7은 기존의 4비트 어드레싱에 의해 샘플 데이터를 메모리에 썼을 때와 본 발명의 바이트 어드레싱에 의해 샘플 데이터를 메모리에 썼을 때의 메모리 사용 예를 보인 도면이다.
즉 도 7a와 같이 데이터가 입력되었다고 가정하였을 때 도 7b는 기존의 메모리 사용예로서, 하나의 메모리 어드레스에 하나의 샘플 데이터가 저장되고 있다. 도 7c는 본 발명의 메모리 사용예로서, 하나의 메모리 어드레스에 2개의 샘플 데이터가 저장되고 있다. 따라서 본 발명의 메모리 사용 효율이 훨씬 높음을 알 수 있다.
그리고 상기된 도 6과 같은 다중 세그먼트 방법에 의해 메모리에 쓰여진 샘플 데이터를 기 정해진 역인터리빙 규칙에 의해 읽어내어 출력하면 시간 역인터리빙이 이루어진다.
이때 본 발명에서는 도 7c와 같이 바이트 어드레싱에 의해 메모리의 한 어드 레스에 두 개의 샘플 데이터가 저장되나, 상기 메모리의 데이터를 읽어낼 때는 한 샘플 데이터만 읽어내야 하므로 현재 읽어야 할 샘플 데이터가 해당 세그먼트 내에서 몇 번째 샘플 데이터인지를 알아야 한다.
본 발명에서는 현재 읽어야 할 샘플 데이터가 해당 세그먼트 내에서 몇 번째 샘플 데이터인지 그 상대적 위치를 가리키는 값을 세그먼트 포인터(segment pointer)라 정의한다.
그리고 상기 세그먼트 포인터가 짝수를 가리키면 도 8a와 같이 바이트 단위의 해당 메모리 어드레스에서 상위 4비트(MSB 4비트)의 데이터를 읽어오고 나머지 하위 4비트(LSB 4비트)는 마스킹(masking)을 한다.
마찬가지로 상기 세그먼트 포인터가 홀수를 가리키면 도 8b와 같이 바이트 단위의 해당 메모리 어드레스에서 하위 4비트의 데이터를 읽어오고 나머지 상위 4비트는 마스킹한다.
예를 들어, 도 4와 같이 4비트 어드레싱을 이용한 기존의 다중 세그먼트 방법에서 세그먼트 0은 크기가 원래 15이다. 이것을 본 발명의 바이트 어드레싱으로 변환하면 도 5에서 보듯이 세그먼트 0의 크기가 8이 된다. 그러므로 세그먼트 포인터 값이 짝수이면 바이트 단위의 메모리 어드레스의 상위 4비트를 가리키고, 홀수이면 하위 4비트를 가리키도록 하면, 4비트 어드레싱과 똑같은 방법으로 시간 역인터리빙이 가능하게 된다.
한편, 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관 례 등에 따라 달라질 수 있으므로 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 본 발명에서는 본 발명의 바람직한 실시예를 통해 본 발명을 설명했으므로 본 발명의 기술적인 난이도 측면을 고려할 때, 당분야에 통상적인 기술을 가진 사람이면 용이하게 본 발명에 대한 또 다른 실시예와 다른 변형을 가할 수 있다. 따라서 상술한 설명에서 사상을 인용한 실시예와 변형은 모두 본 발명의 청구 범위에 모두 귀속됨은 명백하다.
이상에서와 같이 본 발명에 따른 DMB 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법에 의하면, 바이트 어드레싱에 의해 시간 역인터리빙을 위한 메모리 억세스를 수행함으로써, DMB 수신칩을 ASIC화하는데 필요한 면적(area)을 크게 줄일 수 있다. 특히 메모리를 구성하는 요소 중 메모리 어드레스 복호기의 복잡도를 크게 줄임으로써, DMB 수신칩을 ASIC화할 때 요구되는 면적을 크게 줄일 수 있게 된다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (9)

  1. 시간 인터리빙되어 수신되는 각 프레임의 샘플 데이터를 시간 역인터리빙하는 방송 수신기에서의 메모리 제어 방법에 있어서,
    시간 r부터 r+15까지 16 프레임에 해당하는 시간동안 상기 메모리를, 상기 16 프레임 각각에 포함되는 i 번째 샘플 데이터가 존재하는 경우, 각 프레임의 상기 i 번째 샘플 데이터를 저장하는 상이한 크기를 가지는 복수의 세그먼트 단위로 구성하는 단계;
    각 세그먼트별로 바이트 어드레싱에 의해 상기 메모리를 억세스하여 한 메모리 어드레스에 복수개의 샘플 데이터를 저장하는 단계; 및
    상기 i의 값에 의해 정해진 시간 역인터리빙 규칙에 따라 바이트 단위의 메모리 어드레스를 발생하고, 상기 메모리 어드레스에 저장된 복수개의 샘플 데이터 중 일부는 마스킹하고 다른 일부는 판독하는 단계를 포함하며,
    여기서, 상기 i의 값은 0 이상이고 15 이하인 정수인 것을 특징으로 하는 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  2. 제 1 항에 있어서,
    상기 메모리는 바이트 단위의 어드레스를 갖는 것을 특징으로 하는 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  3. 제 2 항에 있어서,
    상기 메모리 구성 단계는,
    상기 각 프레임에 포함되는 시간 인터리빙된 샘플 데이터를 저장하기 위해 상기 메모리를 15개의 세그먼트 단위로 구성하고, 각 세그먼트의 크기는 상기 i 값에 따라 달라지는 것을 특징으로 하는 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  4. 제 3 항에 있어서,
    상기 메모리 구성 단계는,
    상기 16 프레임 동안 상기 i 값에 따라 실제 시간 역인터리빙에 사용되는 샘플 데이터의 수를 결정하고,
    각 세그먼트의 크기는, 상기 결정된 샘플 데이터 수를 2로 나누고 소수 부분을 반올림한 정수값으로 결정하는 것을 특징으로 하는 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  5. 제 3 항에 있어서,
    상기 메모리 구성 단계는,
    상기 i 값이 15이면 세그먼트를 할당하지 않는 것을 특징으로 하는 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  6. 제 1 항에 있어서,
    상기 데이터 저장 단계는,
    각 세그먼트별로 입력되는 샘플데이터에 대해 해당 세그먼트 크기만큼 모듈로를 취하여 저장하는 것을 특징으로 하는 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  7. 제 1 항에 있어서,
    상기 데이터 저장 단계는, 특정 세그먼트에 대해,
    입력되는 샘플 데이터가 해당 세그먼트 내에서 홀수번째 샘플 데이터인지를 판별하는 단계;
    상기 판별 결과 홀수번째 샘플 데이터로 판별되면 기 정해진 메모리의 n번째 어드레스에 상기 홀수번째 샘플 데이터를 기입하는 단계;
    상기 홀수번째 샘플 데이터의 기입이 완료되면 해당 세그먼트 내에서 그 다음의 짝수번째 샘플 데이터가 입력되는지를 판별하는 단계;
    상기 짝수번째 샘플 데이터가 입력된다고 판별되면 메모리의 n번째 어드레스의 데이터를 판독하여 상위 4비트의 데이터를 상기 짝수번째 샘플 데이터로 변환하는 단계;
    상기 상위 4비트가 짝수번째 샘플 데이터로 변환된 데이터를 상기 메모리의 n번째 어드레스에 다시 기입하는 단계;
    상기 해당 세그먼트 내에서 그 다음의 홀수번째 샘플 데이터가 입력되는지를 판별하는 단계;
    상기 다음 홀수번째 샘플 데이터가 입력된다고 판별되면 메모리의 어드레스를 1 증가시킨 후(n=n+1), 상기 n번째 어드레스에 상기 홀수번째 샘플 데이터를 기입하는 단계로 되돌아가 상기 단계들을 반복 수행하는 단계; 및
    상기 해당 세그먼트 내에서 그 다음의 짝수번째 샘플 데이터가 입력되는지를 판별하는 단계에서 짝수번째 샘플 데이터가 없거나, 상기 상기 해당 세그먼트 내에서 그 다음의 홀수번째 샘플 데이터가 입력되는지를 판별하는 단계에서 홀수번째 샘플 데이터가 없으면, 해당 세그먼트에 대한 샘플 데이터 쓰기를 완료하는 단계를 포함하며,
    각 세그먼트별로 상기된 과정을 각각 수행하는, 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  8. 제 1 항에 있어서,
    상기 데이터 판독 단계는 특정 세그먼트에 대해
    상기 i 값에 의해 정해진 시간 역인터리빙 규칙에 따라 바이트 단위의 메모리 어드레스를 발생하는 단계;
    상기 메모리 어드레스에서 판독할 샘플 데이터가 해당 세그먼트 내에서 짝수번째인지 아니면, 홀수번째인지를 판별하는 단계;
    상기 판별 결과 짝수번째 샘플 데이터로 판별되면 상기 발생된 메모리 어드레스에서 상위 4비트의 데이터는 판독하고 나머지 하위 4비트는 마스킹하는 단계; 및
    상기 판별 결과 홀수번째 샘플 데이터로 판별되면 상기 발생된 메모리 어드레스에서 하위 4비트의 데이터는 판독하고 나머지 상위 4비트는 마스킹하는 단계로 이루어지는, 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
  9. 제 8 항에 있어서,
    상기 메모리 어드레스에서 판독할 샘플 데이터가 해당 세그먼트 내에서 짝수번째인지 아니면, 홀수번째인지를 판별하는 단계는,
    해당 세그먼트 내에서 판독할 샘플 데이터의 위치를 나타내는 세그먼트 포인터를 이용하여 상기 메모리 어드레스에서 판독할 샘플 데이터가 해당 세그먼트 내에서 짝수번째인지 아니면, 홀수번째인지를 판별하는, 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법.
KR1020040024533A 2004-04-09 2004-04-09 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법 KR101033582B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040024533A KR101033582B1 (ko) 2004-04-09 2004-04-09 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법
US11/100,574 US20050226354A1 (en) 2004-04-09 2005-04-07 Memory control method for time deinterleaving in DMB receiver
EP05102791A EP1587227A3 (en) 2004-04-09 2005-04-08 Method for controlling a memory for time deinterleaving in a receiver for Digital Multimedia Broadcast (DMB)
CNA2005100650405A CN1681269A (zh) 2004-04-09 2005-04-11 数字多媒体广播接收机的时间解交织的存储器控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040024533A KR101033582B1 (ko) 2004-04-09 2004-04-09 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법

Publications (2)

Publication Number Publication Date
KR20050099277A KR20050099277A (ko) 2005-10-13
KR101033582B1 true KR101033582B1 (ko) 2011-05-11

Family

ID=34939204

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040024533A KR101033582B1 (ko) 2004-04-09 2004-04-09 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법

Country Status (4)

Country Link
US (1) US20050226354A1 (ko)
EP (1) EP1587227A3 (ko)
KR (1) KR101033582B1 (ko)
CN (1) CN1681269A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341139A (zh) * 2015-07-07 2017-01-18 晨星半导体股份有限公司 时间及单元解交织电路及执行时间及单元解交织处理的方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060268994A1 (en) * 2005-05-27 2006-11-30 Samsung Electronics Co., Ltd. Digital broadcasting reception terminal and method for processing digital broadcasting data using the same
KR100617836B1 (ko) * 2005-05-30 2006-08-28 삼성전자주식회사 지상파 디지털 방송 데이터를 수신하는 이동 통신 단말기의사용자 인터페이스 구성 방법
US20080014924A1 (en) * 2005-10-12 2008-01-17 Texas Instruments, Inc. Dual mode decoder operable with external memory
KR100736051B1 (ko) * 2005-10-17 2007-07-06 삼성전자주식회사 부가적인 디지털 멀티미디어 방송 기능을 제공하는 장치 및방법
CN100546349C (zh) * 2006-03-30 2009-09-30 北京新岸线移动多媒体技术有限公司 兼容数字音频广播的地面移动多媒体广播接收机
CN101242189B (zh) * 2007-02-09 2010-05-19 卓胜微电子(上海)有限公司 指针寻址时间解交织方法
CN101242190B (zh) * 2007-02-09 2010-09-01 卓胜微电子(上海)有限公司 时间解交织方法
JP5083026B2 (ja) * 2008-05-15 2012-11-28 富士通セミコンダクター株式会社 デジタル放送受信機、およびデジタル放送受信方法
KR101531269B1 (ko) * 2009-02-19 2015-06-25 삼성전자주식회사 디지털 송신장치, 송신방법 및 디지털 수신장치
JP5344228B2 (ja) * 2009-03-26 2013-11-20 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
EP2490355A1 (en) 2011-02-18 2012-08-22 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Digital receiver and digital transmitter having a variable interleaver functionality
CN105721929B (zh) * 2014-12-02 2018-08-21 晨星半导体股份有限公司 频率解交错与时间解交错电路与方法以及数字电视的接收电路
WO2017204370A1 (ko) * 2016-05-24 2017-11-30 엘지전자(주) 방송 신호 수신 장치 및 방법
KR102007529B1 (ko) 2018-10-08 2019-08-05 최종일 밴드형 방수시트 제조방법 및 그 제조방법에 의해 제조된 밴드형 방수시트, 그리고 그를 이용한 방수 시공방법
CN111131141B (zh) * 2019-09-30 2022-04-29 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 话音加、解密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998021832A1 (en) 1996-11-11 1998-05-22 Philips Electronics N.V. A receiver, de-interleaving means and a method for a reduced time de-interleaving memory
KR19980023731A (ko) * 1996-09-30 1998-07-06 배순훈 정적 램을 이용한 길쌈 인터리버/디인터리버 및 정적 램의 주소 생성 방법
KR20020017382A (ko) * 2000-08-30 2002-03-07 윤종용 디지털 오디오 방송용 타임 디인터리버 메모리의 제어 장치
KR20050075860A (ko) * 2004-01-17 2005-07-22 엘지전자 주식회사 디지털 멀티미디어 방송 수신기에서 시간 역인터리버메모리 감소 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083248A1 (en) * 2000-12-27 2002-06-27 Matsushita Electric Industrial Co., Ltd. Interleave circuit, de-interleave circuit and xDSL modem
US7069398B2 (en) * 2003-06-20 2006-06-27 Industrial Technology Research Institute Apparatus and method for de-interleaving the interleaved data in a coded orthogonal frequency division multiplexing receiver
KR100585933B1 (ko) * 2003-08-20 2006-06-01 한국전자통신연구원 디지털 멀티미디어 방송 시스템 및 그 방법
EP1521373B1 (en) * 2003-09-30 2006-08-23 Telefonaktiebolaget LM Ericsson (publ) In-place data deinterleaving

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980023731A (ko) * 1996-09-30 1998-07-06 배순훈 정적 램을 이용한 길쌈 인터리버/디인터리버 및 정적 램의 주소 생성 방법
WO1998021832A1 (en) 1996-11-11 1998-05-22 Philips Electronics N.V. A receiver, de-interleaving means and a method for a reduced time de-interleaving memory
KR20020017382A (ko) * 2000-08-30 2002-03-07 윤종용 디지털 오디오 방송용 타임 디인터리버 메모리의 제어 장치
KR20050075860A (ko) * 2004-01-17 2005-07-22 엘지전자 주식회사 디지털 멀티미디어 방송 수신기에서 시간 역인터리버메모리 감소 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341139A (zh) * 2015-07-07 2017-01-18 晨星半导体股份有限公司 时间及单元解交织电路及执行时间及单元解交织处理的方法

Also Published As

Publication number Publication date
EP1587227A3 (en) 2012-04-25
US20050226354A1 (en) 2005-10-13
CN1681269A (zh) 2005-10-12
EP1587227A2 (en) 2005-10-19
KR20050099277A (ko) 2005-10-13

Similar Documents

Publication Publication Date Title
EP1587227A2 (en) Method for controlling a memory for time deinterleaving in a receiver for Digital Multimedia Broadcast (DMB)
US5862189A (en) De-interleaving and buffering in one memory
US6522700B1 (en) Method and system for the OFDM multicarrier transmission of digital broadcasting signals
CA2461434C (en) Mapping system for transmission and reception of multiple data types
JP4245602B2 (ja) デジタル復調装置、デジタル受信装置、デジタル復調装置の制御方法、デジタル復調装置の制御プログラム、及び、この制御プログラムを記録した記録媒体
JP5371374B2 (ja) データ処理方法及び装置
JP2003304510A (ja) デジタル放送システム、デジタル放送送信機およびデジタル放送受信機
KR20080017816A (ko) 순방향 오류정정 복호화 방법 및 복호화기.
JPH10303850A (ja) 放送信号受信装置
CN102652415A (zh) 数字通信接收机
JPH08316933A (ja) 複数の被変調搬送波を含む送信信号を受信する受信機
KR100565673B1 (ko) 디지털 멀티미디어 방송 수신기에서 시간 역인터리버메모리 감소 방법
KR101029803B1 (ko) Dmb 수신기의 비터비 디코딩 장치 및 방법
JP3877245B2 (ja) ミュート機能を有するディジタル音声信号受信機
JP3345557B2 (ja) デジタルオーディオ放送受信装置及び受信方法
KR20050063154A (ko) Dmb 수신기에서 정수 주파수 오차 정정 장치 및 방법
Koo et al. Channel decoder architecture of OFDM based DMB system
CN102571278B (zh) 用于解码以帧接收的数据的方法以及装置
KR20050052855A (ko) 디지털 멀티미디어 방송 수신기에서 시간 역인터리버메모리 감소 방법
JP6970523B2 (ja) 受信装置及び送受信システム
CN100531164C (zh) Dmb信号接收器的时间反交错存储器减少方法
KR100672304B1 (ko) 방송 수신기에서 심볼 위치 추적 방법
KR100556388B1 (ko) Dmb 수신기에서 전송 모드 판별 방법
KR20060071577A (ko) 디지털 수신기의 주파수 역인터리빙 장치 및 방법
KR100672578B1 (ko) 시간 영역 동기 획득 장치 및 방법

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: 20140414

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170314

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee