KR20070015539A - 인터리버 메모리 및 디인터리버 메모리용 어드레스 생성기 - Google Patents
인터리버 메모리 및 디인터리버 메모리용 어드레스 생성기 Download PDFInfo
- Publication number
- KR20070015539A KR20070015539A KR1020067021056A KR20067021056A KR20070015539A KR 20070015539 A KR20070015539 A KR 20070015539A KR 1020067021056 A KR1020067021056 A KR 1020067021056A KR 20067021056 A KR20067021056 A KR 20067021056A KR 20070015539 A KR20070015539 A KR 20070015539A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- fragment
- address fragment
- compared
- memory
- Prior art date
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/2703—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 the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- 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/2742—Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
- Storage Device Security (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
방법 및 장치는 인터리버 메모리를 어드레싱하는 어드레스 값을 생성한다. 최상위 비트(들)이 부가되는 연속적인 어드레스 조각이 생성된다. 잠재적으로 최대 허용 가능한 값을 초과하는 발생된 어드레스 조각의 일부만이 최대 허용 가능한 값과 비교된다. 비교된 어드레스 조각이 최대 허용 가능한 값을 초과한다면, 상기 비교된 어드레스 조각이 폐기된다. 비교된 어드레스 조각이 최대 허용 가능한 값을 초과하지 않는다면, 상기 비교된 어드레스 조각은 수용된다.
인터리버 메모리, 어드레스 값, 어드레스 조각, 최대 허용 가능한 값
Description
본 발명은 메모리를 어드레싱하는 어드레스 값을 생성하는 방법에 관한 것이다. 특히, 어드레스 값은 생성되어 이들이 메모리를 어드레싱하는데 필요로 된다. 발명은 또한 메모리를 어드레싱하는 어드레스 값을 생성하는 장치에 관한 것이다.
인터리빙/디인터리빙은 버스티 통신 채널(bursty communication channel)을 표면적으로 독립적인 오류들을 갖는 통신 채널로 나타내는데 사용된다. 전송될 데이터를 인터리빙함으로써, 버스티 채널로 인한 오류 버스트가 디인터리빙 이후에 분리되므로, 수신된 심벌의 더 넓은 범위를 통해 분배되다. 전송된 데이터가 수신되어 디인터리빙될 때, 독립적인 오류를 수집하는데 적합한 코드가 데이터를 다시 저장하는데 사용될 수 있다.
인터리빙/디인터리빙에서, 메모리는 인터리빙/디인터리빙될 데이터의 블록을 저장하는데 사용된다. 메모리는 클 수 있으므로 작동 중인 메모리를 어드레싱하는 어드레스 패턴을 계산하는데, 즉 어드레스를 필요로 할 때, 적합하다. 선택적으로, 어드레스는 테이블에 위치될 수 있는데, 이는 부가적인 저장 용량을 필요로 한다.
어드레스 패턴은 LFSR(선형 피드백 쉬프트 레지스터: Linear Feedback Shift Resigter) 기술을 사용하여 계산될 수 있다. 전형적으로, LFSR은 최대 길이 또는 PN(의사 잡음: Pseudo Noise) 시퀀스를 생성하도록 적응된다.
어드레스 값은 하나 또는 몇몇 최상위 비트(MSB)가 부가되는 어드레스 조각을 생성함으로써 제공될 수 있다. 그러나 MSB 가 부가될 때, 생성된 어드레스는 허용 가능한 어드레스의 범위를 벗어나는 문제가 있다. 생성된 어드레스 값이 범위를 벗어나는 경우에, 폐기되어야만 하고, 새로운 어드레스 값이 대신 생성되어야만 한다. 모든 생성된 어드레스가 범위 내에 있도록 하기 위해서, 모든 생성된 어드레스 값은 최대 허용 가능한 값과 비교해야만 한다. 그러므로 불필요한 큰 수의 비교가 행해지는데 이는 불필요한 시간 및 프로세싱 캐패시티(capacity)를 필요로 한다.
2001년 1월, ETSI, v1.4.1, DVB(디지털 비디오 브로드캐스팅) 표준 ETSI EN300744에서, 인덱스(q)로부터 인덱스(H(q))로 인터리빙하는 심벌을 한정한다. q 및 H(q) 둘 다는 Nr비트들로 구성된다. H(q)의 계산은 Nr-1 비트 워드(Ri)를 생성하는 것을 포함하는데, 이는 LFSR의 상태인, R'i의 변경된 버전이다.
Mmax가 LFSR에 의해서 출력되는 최대 길이 시퀀스의 길이인 i=0,1,…, Mmax-1에 대해 인터리빙하는 심벌에 대한 알고리즘을 동작하는 것은 Nmax가 희망하는 인터리빙 시퀀스의 어드레스 수인, 모든 유효 H(q) 값(q=0,1,…,Nmax-1)을 생성하는 결과를 가져올 것이다. Mmax>Nmax이기 때문에, 그것은 각각 생성된 H(q)에 대해서, 확인되어야만 하는데, H(q)는 유효하고, 즉, H(q)는 Nmax보다 작다.
H(q)의 최상위 비트는 Ri에 따르지 않지만, 모든 i에 대해서 토글한다. 최대 길이 시퀀스가 홀수의 LFSR(2Nr -1-1) 상태를 포함하기 때문에, PN-시퀀스는 인터리버 패턴이 자신을 반복하기 전에 두 번 동작한다.
상술된 버전의 DVB 표준에서, 8k 모드(Nr=13) 및 2k 모드(Nr=11)인 두 개의 주요 모드가 한정된다. 또한, 4k 모드(Nr=12)가 관찰된다. 여러 모드가 다음과 같이 요약될 수 있다.
모드 | Nr | Mmax | Nmax |
2k | 11 | 2048 | 1512 |
4k | 12 | 4096 | 3024 |
8k | 13 | 8192 | 6048 |
루프의 반복에 대해 거의 35%에 있어서, H(q)은 계산된 값이 범위(H(q)≥Nmax)를 벗어나므로, 다시 계산되어야만 한다. 이는 실행 시간에 대응하여 증가하게 된다. 그러나 H(q)가 종래 기술에서 모든 생성된 루프 반복과 비교되는 바와 같이, 많은 필요로되지 않는 비교가 행해져서, 최적이 아닌 실행 시간 및 에너지 소비의 결과를 가져온다.
동일한 문제가 또한 디인터리빙 프로세스에서 발생하는데, 여기서 메모리의 맵핑은 H(q)의 역이다.
DVB 표준에 관련되어 상술되어온 것은 또한 다른 인터리빙 방식에 사용될 수 있는데, 여기서 생성된 어드레스 조각에 하나 또는 몇몇 MSB를 부가하는 것은 어드레스 값을 생성할 것인데, 이는 잠재적으로 범위 내에 존재하지 않고, 여기서 생성된 어드레스 값은 최대 허용 가능한 값을 초과하지 않는지 확인되어야만 한다.
US-B1-6 314 534는 인터리버에서 어드레스를 생성하는 방법 및 장치를 개시한다. 어드레스는 랜덤 어드레스 조각 및 비트 역 어드레스 조각을 사용하여 생성된다. 어드레스가 범위 내에 있는 것을 보장하기 위한 비교가 매 클록 주기마다 행해지는 이런 어드레스 생성기는 문제점이 있다. 그러므로 실행 시간은 범위 내의 어드레스를 비교하는 만큼 불필요하게 길 것이다.
US-B1-6 549 998은 각각의 상호작용 동안에 유효한 인터리빙된 어드레스를 생성하는 인터리버를 개시한다. 어드레스 생성기는 병치된 룩업 테이블을 어드레싱하는 두 개의 카운터를 포함한다. 크기 비교는 적합한 출력을 선택하도록 행해진다. 어드레스 생성기를 복잡하게 하는 두 개의 카운터를 포함하는 이런 어드레스 생성기는 문제점을 갖는다. 게다가, 생성된 어드레스가 범위 내에 있는 것을 확실하게 하는 비교는 매 클록 주기에서 행해진다. 또한, 어드레스 생성기가 임시 어드레스 값을 저장하는 두 개의 레지스터를 포함함에 따라, 불필요한 양의 메모리 용량이 필요로 된다.
본 발명의 목적은 하나 이상의 최상위 비트(MSB)가 부가되는 어드레스 조각에 기초하여 어드레스 값을 생성할 필요가 있는 프로세싱 캐패시티를 감소시키는 방법 및 장치를 제공하는 것이다.
본 발명의 목적은 메모리를 어드레싱하는 어드레스 값을 생성하는 방법에 의해서 성취된다. 방법에 따르면, 하나 이상의 최상위 비트가 부가되어야 하는 연속적인 어드레스 조각이 생성된다. 단지 잠재적으로 범위 외의 어드레스 값을 생성할 어드레스 조각의 일부는 최대 허용 가능한 값과 비교된다. 비교된 어드레스 조각이 최대 허용 가능한 값을 초과한다면, 비교된 어드레스 조각은 폐기된다. 그러나 비교된 어드레스 조각이 최대 허용 가능한 값을 초과하지 않는다면, 비교된 어드레스 조각이 수용된다.
주어진 인터리빙 시퀀스의 어드레스 값의 소정의 수와 비교되는 어드레스 값의 조각은 MSBs의 수에 좌우된다. 조각은 단지 하나의 MSB가 부가된다면 예컨대, 1/2일 수 있다.
필요하다면, 어드레스 조각은 비교되기 전이나 후에 변경된다.
비교된 어드레스 조각에 이어지는 어드레스 조각은 비교된 어드레스 조각으로서 동일한 클록 주기로 생성되거나 비교된 어드레스 조각을 폐기하거나 수용하는 것에 응답하여 생성된다.
비교된 어드레스 조각에 이어지는 다음 및 제2 다음 어드레스 조각은 피드백 기능에 의해서 생성될 수 있다.
본 발명의 목적은 또한 메모리를 어드레싱하는 어드레스 값을 생성하는 장치에 의해 성취된다. 장치는 최대 길이 의사 잡음(PN) 시퀀스, 즉 연속적인 어드레스 조각을 생성하는 소정의 수의 레지스터를 갖는 쉬프트 레지스터를 포함한다. 비교 수단은 최대 허용 가능한 값으로 생성된 어드레스 조각의 일부를 비교하도록 적응된다. 비교된 어드레스 조각은 어쩌면 범위를 벗어나는 어드레스 값을 생성할 것이다. 선택 수단은 비교된 어드레스 조각이 최대 허용 가능한 값을 초과한다면, 비교된 어드레스 조각을 폐기하도록, 그렇지 않으면 비교된 어드레스 조각을 수용하도록 적응된다.
토글 수단은 최상위 비트인 하나 이상의 비트를 임의의 어드레스 조각에 부가하고, 어드레스 값을 발생하도록 제공될 수 있다.
장치는 프로세서에 의해 동작할 판독 가능한 프로그램 수단을 포함하는 소프트웨어에 의해서 구현될 수 있다. 선택적으로, 장치는 ASIC(application specific integrated circuit) 또는 FPGA(field programmable gate array)로서 구현될 수 있다.
메모리를 어드레싱하기 위해서 본 발명에 따라 어드레스 값을 생성하는 장치 및 인터리버 메모리를 포함하는, 데이터의 블록을 인터리빙하는 인터리버는 또한 본 발명의 목적을 성취한다.
메모리를 어드레싱하기 위해서 본 발명에 따라 어드레스 값을 생성하는 장치 및 디인터리버 메모리를 포함하는, 데이터의 블록을 인터리빙하는 디인터리버는 또한 본 발명의 목적을 성취한다.
메모리를 어드레싱하기 위해서 본 발명에 따라 어드레스 값을 생성하는 장치 및 메모리를 포함하는, 통신 데이터용 통신 장치는 또한 본 발명의 목적을 성취한다.
또한, 본 발명에 따르는 방법을 수행하는 명령을 포함하는 컴퓨터 판독 가능한 매체 상에서 구현되는 소프트웨어 프로그램 프로덕트는 상기 프로덕트가 프로세서에 의해 동작할 때, 본 발명의 목적을 성취한다.
게다가, 본 발명의 실시예는 첨부된 청구항으로 한정된다.
본 발명의 이점은 종래 기술에 공지된 어드레스 생성 방식에 비해 필요로 되는 프로세싱을 감소시키는 것이다. 특히, 상술된 ETSI로 존재하는 어드레스 값을 생성하는 알고리즘은 실질적으로 본 발명보다 더 비교를 수행하여, 최적이 아닌 프로세싱 시간 및 에너지 소비의 결과를 가져온다. 그러므로 본 발명은 불필요한 동작을 제거하여, 더 빠른 실행 시간 및 감소된 에너지 소비의 결과를 가져온다.
어휘 "포함하다/포함하는(comprises/comprising)"은 본원에서 사용될 때, 상술된 특징, 정수, 단계 또는 구성 요소의 존재를 설명하는데 사용되며, 하나 이상의 다른 특징, 정수, 단계, 구성요소 또는 그의 그룹의 존재 또는 부가를 제한하지는 않는다는 것을 강조해야만 한다.
본 발명의 부가적인 목적, 특징, 및 이점은 본 발명에 대한 다음의 상세한 설명으로부터 명백해질 것이고, 첨부된 도면을 참조할 것이다.
도1은 이동 통신 네트워크에 접속된 이동 전화 단말기의 개략도;
도2는 도1의 이동 전화 단말기의 통신 소자의 블록도;
도3은 본 발명에 따르는 인터리버의 블록도;
도4는 본 발명에 따르는 어드레스 생성기의 제1 실시예에 대한 블록도;
도5는 본 발명에 따르는 어드레스 생성기의 제2 실시예에 대한 블록도;
도6은 본 발명에 따르는 어드레스 생성기의 제3 실시예에 대한 블록도;
도7은 본 발명에 따르는 어드레스 값을 생성하는 방법의 흐름도.
도1은 본 발명을 따르는 인터리버를 포함하는 통신 장치의 한 예로서, 이동 전화로서 구현되는 이동 전화 단말기(1)를 도시한다. 본 발명은 이동 전화 단말기에 사용될 뿐만 아니라, 어떤 전자 통신 장치(예컨대, 휴대용 통신 장치, 이동 전화 무선 단말기, 페이저, 통신기, 전자 오거나이저, 스마트폰, 세트-톱-박스(set-top-box), TV-세트, 또는 무선 텔레비전 수신기)에 통합되는데, 이는 인터리빙된 데이터를 송신 및/또는 수신할 필요가 있다. 본 발명은 또한 케이블 또는 피버(fiber) 접속을 통해 통신하는 전기 장치에 구현될 수 있고, 무선 통신에 제한되지 않는다.
이동 전화 단말기(1)는 사용자 상호 작용을 위한 사용자 인터페이스를 포함하는데, 이는 예컨대, 마이크로폰(2), 확성기(3), 키패드(4) 및 디스플레이(5)를 포함할 수 있다. 이동 전화 단말기(1)는 또한 무선 통신 링크(11)를 통해서 이동 통신 네트워크(10)와 통신하는 안테나(6) 또는 다른 전기 장치를 포함하는 통신 인터페이스를 포함한다. 통신 인터페이스는 또한 다른 네트워크, 예컨대 디지털 비디오 브로드캐스팅(DVB)용 네트워크와 통신하도록 적응될 수 있는데, 여기서 이동 전화 단말기(1)는 DVB 네트워크와 직접 통신하도록 적응된다. 이동 통신 네트워크 또는 DVB 네트워크와 통신하는 통신 인터페이스는 또한 DVB 송신을 단지 수신하도록 채택될 수 있다. 즉, DVB 송신이 브로드캐스트되므로 통신이 단지 한 방향이기 때문에, 이동 전화 단말기(1)는 네트워크(이런 네트워크는 이동 전화 단말기의 존재를 인식함)와 필수적으로 연결되지 않는다.
도2는 보다 상세하게 단말기(1)의 통신 인터페이스를 도시한다. 통신 인터페 이스는 이동 전화 단말기(1)의 다른 유닛에 연결되는 예컨대, 수신기/송신기(Tx/RX) 유닛(21), 변조기/복조기 유닛(22) 및 코더/디코더 유닛(23)을 포함하는 통신 유닛을 포함한다. 코더/디코더 유닛(23)은 본 발명에 따르는 인터리버/디인터리버(30)를 포함한다. 인터리버/디인터리버(30)는 선택적으로 독립형 유닛으로서 제공될 수 있다. 게다가, 통신 인터페이스는 또한 케이블 또는 피버 접속을 통해 통신하도록 적응될 수 있다.
도3은 보다 상세하게 인터리버/디인터리버를 도시한다. 인터리버/디인터리버(30)는 소정의 수의 데이터 블록을 저장하도록 적응된 인터리버/디인터리버 메모리(31)를 포함하는데, 각각은 어떤 수의 비트를 갖는다. 메모리(31)는 소정의 수의 로우(rows) 및 컬럼(columns)을 갖는 어레이(array)를 형성한다. 데이터의 블록은 제1 명령으로 인터리버/인터리버 메모리(31) 내에서 판독되고, 제1 명령과 다른 제 2 명령으로 메모리로부터 판독된다. 어드레스 값은 어레이의 각각의 메모리 위치를 어드레싱하기 위해서 생성된다. 전송될 데이터의 블록을 형성하기 위해서, 메모리 위치는 인터리빙 패턴에 따라 어드레싱되는데, 이는 종종 랜덤 특성을 갖도록 구성된다. 그러므로 형성된 블록은 표면적으로 독립적인 인터리빙된 비트를 포함한다. 전송 이후에, 전송된 블록은 디인터리빙되는데, 즉 인터리빙 메모리를 판독하는데, 여기서 원래 데이터의 블록이 재저장된다. 그러므로 전송 동안의 버스티 채널로 인한 비트 오류는 확산될 것이다. 오류는 오류 수정 방식을 사용함으로써 재저장될 수 있다. 다음으로, 우리는 인터리버 및 인터리버 메모리, 또는 단순한 메모리, 및 테이션(notation)의 간략성을 위한 그의 기능을 참조할 것이다.그러나, 본 발명은 디인터리버에 동일하게 적절하다.
인터리버 어드레스 생성기(40)는 메모리(31)에 접속되고, 적합한 어드레스 값이 생성되도록 보장한다. 생성된 어드레스 값은 중앙 프로세싱 유닛과 같은 제어기(32)에 제공될 수 있는데, 이는 메모리를 어드레싱하고, 단말기(1)의 다른 유닛에 의해서 전송하거나 사용하기 위해서 전송될 비트를 검색한다. 선택적으로, 어드레스 생성기(40)의 출력은 즉시 메모리(31)로 전송되는데, 이는 특정 어드레스값에 상응하는 메모리 위치에 저장되는 데이터를 출력할 것이다.
도4는 본 발명에 따르는, 어드레스 값을 생성하는 장치 또는 어드레스 생성기(100)의 실시예를 더 상세히 도시한다. 어드레스 생성기(100)는 예컨대 ASIC(application specific integrated circuit), FPGA(field instructions gate array), 하드웨어 로직, 고정 배선 로직(hard-wired logic)으로서 구현될 수 있거나, 단말기의 프로세서에 의해서 실행될 소프트웨어 명령어에 의해서 구현될 수 있다. 어드레스 생성기(100)는 소정의 수의 비트를 포함하는 어드레스 조각을 생성하기 위해 필요로 되는 소정의 수(Nr-1)의 레지스터(110a-110d)를 포함한다. 각각의 레지스터(110a-110d)의 출력 단말기는 멀티플렉서(120a-120d)의 출력 단말기에 접속된다. 각각의 레지스터(110a-110d)의 출력 단말기는 멀티플렉서(120a-120d)의 제1 출력 단말기에 접속된다. 또한, 레지스터(110a-110d)의 출력 단말기는 버스를 통해서 제1 변경 유닛(130a)에 효과적으로 접속된다. 레지스터(110a-110d)의 출력은 모두 아래에서 어드레스 조각(R'i)으로 나타내지는 벡터를 형성한다. 제1 변경 유 닛(130a)은 다음에서 변경된 어드레스 조각을 나타내는 제2 벡터(Ri)로 어드레스 조각을 변경하도록 적응된다. 변경은 여러 방식에 따라 수행될 수 있다. DVB 표준을 만족하도록 어드레스 조각(R'i)을 변경하는 한 방식은 2001년 1월, ETSI, v1.4.1, ETSI EN300744에 개시되는데, 이는 참조에 의해서 여기에 포함된다.
레지스터(110a-110d)의 출력 단말기는 또한 제2 어드레스 조각 계산 유닛(140a)에 접속되는데, 이는 피드백 기능(g(x)) 또는 어드레스 계산에 의해서 현재 어드레스 조각(R'i)에 기초하여 연속적인 다음 어드레스 조각(R'i +1)을 생성하도록 적응된다. g(x)에 의해서 다음의 어드레스 조각(R'i +1)을 계산하는 한 방식은 상술된 ETSI 표준으로 존재한다. 그러나 다른 방식은 또한 다음 어드레스 조각이 생성되는한 가능하다. 제1 어드레스 조각 계산 유닛(140a)의 출력 단말기는 버스에 의해서 제2 변경 유닛(130b)에 효율적으로 접속된다. 제2 변경 유닛(130b)은 제1 변경 유닛(130a)에 관하여 설명된 바와 같이 동일한 원리에 따라 변경된 다음의 어드레스 조각(Ri +1)으로 다음 어드레스 조각(R'i +1)을 변경하도록 적응된다.
제1 어드레스 조각 계산 유닛의 출력 단말기는 또한 제2 어드레스 조각 계산 유닛(140b)으로 접속된다. 제2 어드레스 조각 계산 유닛(140b)은 어드레스 계산 기능(g(x))에 기초하여 다음의 어드레스 조각(R'i +1)에 기초하여 제2 다음의 어드레스 조각(R'i+2)을 계산하도록 적응된다. 제2 어드레스 계산 유닛(140b)의 출력 단말기는 각각의 멀티플렉서(120a-120d)의 제2 입력 단말기에 효율적으로 접속되는데, 여 기서 바이너리 워드(R'i +2)의 값은 레지스터(110a-110d)로 다시 피드백될 수 있다.
현재 어드레스 조각(R'i), 다음 어드레스 조각(R'i +1), 및 제2 다음의 어드레스 조각(R'i +2)은 동일한 클록 주기 동안에 사용할 수 있다. 그러므로 각각의 레지스터(110a-110d)의 현재 값, 제2 어드레스 계산 유닛(140b)에 의해서 결정된 바와 같은 제2 다음 값이 각각의 멀티플렉서(120a-120d)의 입력 단말기에서 사용될 수 있다. 현재 값 또는 제2 다음 값은 이하 설명되는 바와 같이, 다음 클록 주기에서 레지스터에 입력될 것이다.
제1 및 제2 변경 유닛(130a,130b)의 출력 단말기는 선택 유닛(150)에 접속된다. 선택 유닛(150)은 현재 변경된 어드레스 조각(Ri) 또는 다음 변경된 어드레스 조각(Ri+1)을 선택하도록 적응되는데, 이는 비교기(160)에 의해서 수신된 제어 신호(M)에 기초하여 동일한 클록 주기에서 사용될 수 있다.
토글 유닛(170)은 하나 또는 몇몇 MSBs(최상위 비트)를 선택기(150)로부터의 출력에 연결시키거나 부가하도록 적응된다. 상술된 표준에 따라, 현재 어드레스 조각(Ri)이 선택기로부터 출력된다면, a 1이 부가된다. 다음 어드레스 조각(Ri +1)이 선택기(150)로부터 출력된다면, a 0이 부가된다. 그러므로 메모리(31)를 어드레싱하는 완성된 어드레스 값(H(q))이 생성된다.
본 발명은 MSB로서 단일 비트로 국한되지 않는다. 하나 또는 몇몇 비트는 변경된 어드레스 조각에 부가되어, 어드레스 값을 생성한다. 그 후에 토글 유닛은 몇 몇 값들 사이에 MSBs를 토글하도록 적응되고, 이들 몇몇은 범위를 벗어나는 어드레스 값을 생성할 것이다. 부가된 MSBs의 수에 따라, 단지 생성된 어드레스 값의 일부는 이하 설명되는 바와 같이 비교되어야만 한다. 하나의 MSB가 부가된다면, 모든 제2 어드레스 값은 범위를 벗어날 수 있다. 그러나 예컨대, 두 개의 MSB가 부가된다면, 일부는 Nmax에 따라 1/4,1/2 또는 3/4일 수 있다. 하나 이상의 MSB의 경우에, 두 개 이상의 어드레스 조각 계산 유닛(140a, 140b)이 또한 필요로 될 수 있다. 특히, 2( MSBs 의 수)에 이를 때까지, 어드레스 조각 계산 유닛은 필요로 될 수 있다. 게다가, 비교기는 어드레스 조각 계산 유닛들 중 하나 이상에 접속될 수 있다. 특히, 비교기는 어드레스 조각 계산 유닛의 일부와 연결될 수 있다.
어드레스 조각(R'i)은 상술된 표준에 따라 다음의 값을 취할 수 있다:
본 발명에 따라, 상술된 표준에 대해서, 어드레스 값은 홀수(즉, i 홀수) 쉬프트 레지스터 값에 대해서 즉, a 1이 MSB로서 부가될 때, 단지 범위를 벗어날 수 있다. 도 4의 실시예에 따라, 변경 유닛(130a, 130b)의 출력(Ri,Ri +1) 즉, 현재 및 다음 변경된 어드레스 조각이 항상 Nmax보다 작거나 동일하다. 예컨대, 8k 모드에 대한, 변경 유닛(130a, 130b)의 출력이 12비트를 포함하는데, 즉 변경된 어드레스 조각의 최대 허용 가능한 값이 홀수 또는 짝수로 변경된 어드레스 값인지에 관계없이 4095이다. MSB로서 a 0을 부가하는 것은 변경된 어드레스 조각의 값을 바꾸지 않을 것이므로 결과적인 어드레스는 범위를 벗어나지 않을 것이다. 그러나 MSB로서 a 1을 부가하는 것은 4095 및 8191 사이의 어드레스 값을 생성할 것이고, 2144 어드레스 값(8191-6048+1)은 0에서 6047의 희망하는 범위 밖에 있다. 그러므로 단지 a 1이 MSB로서 부가되는 변경된 어드레스 조각이 범위 내에 있는지 여부를 결정할 필요가 있는데, 즉, 단지 모든 제2 어드레스 조각은 단지 하나의 비트가 MSB로서 부가될 때 비교된다. 그러므로, 비교기(160)는 현재 변경된 어드레스 조각이 범위를 벗어나는지 여부 즉, Ri가 MSB에 대해 조정되는 바와 같이 Nmax보다 작거나 동일한지 여부를 결정하도록 적응된다. DVB 표준을 만족하기 위해서, 비교기(106)는 사용된 모드(2k,4k 또는 8k모드)에 따라 Ri<488,976 또는 1952(6048-4096=1952)인지 여부를 결정하도록 적응된다. 동일한 비교 기능이 1952=2×976=2×2×488과 같은, 모든 세 개의 모드에 대해 사용될 수 있다는 것을 주의해야만 한다. 상술된 예에서, 변경된 어드레스 조각의 값이 1952보다 작은지 여부가 결정된다. 즉, 1951 값을 갖는 변경된 어드레스 조각은 a 1이 MSB로서 부가된다면 어드레스 값을 범위 내에 생성할 최대 어드레스 조각이다.
Ri가 범위 내에 있다면, 비교기(160)는 정보를 갖는 제어 신호(M)를 선택기에 출력하여 비교된 변경된 어드레스 조각(Ri)을 출력한다. 또한, 비교기(160)는 토 글 유닛(170)에 의해서 수신된 토글 제어 신호를 출력하는데, 이는 Ri의 MSB로서 a 1을 부가할 것이다. 게다가, 비교기(160)는 쉬프트 레지스터 제어 신호(E)를 출력하는데, 이는 멀티플렉서(120a-120d)의 제3 출력에서 수신된다. 멀티플렉서(120a-120d)가 제어 신호(E)를 수신한다면, 레지스터(110a-110d)의 현재 값은 레지스터에서 유지된다. 다음 클록 주기 동안에, 비교기(160)는 선택기(150)가 어떤 비교도 하지 않고, 다음 어드레스 조각(Ri +1)을 출력하도록 지시하고, 토글이 Ri +1의 MSB로서 a 0을 부가하도록 지시한다.
다음 어드레스 조각(Ri +1)의 출력에 이어지는 클록 주기 동안에, 레지스터(110a-110d)는 제2 다음 어드레스 조각(R'i +2)과 함께 업데이트 되고, i는 2로 증가된다.
비교된 변경된 어드레스 조각이 범위를 벗어난다면, 비교기(160)는 정보를 갖는 제어 신호(M)를 선택기(150)에 출력하여 다음 변경된 어드레스 조각(Ri +1)을 출력한다.또한 비교기는 토글 유닛(170)이 MSB로서 a 0을 다음 변경된 어드레스 조각(Ri+1)에 부가하도록 지시한다. 게다가, 어드레스 조각이 범위를 벗어날 때, 레지스터(110a-110d)의 값은 보류되지 않지만 다음 클록 주기 동안에 업데이트된다.
모든 제2 어드레스 조각을 비교하고, 비교된 어드레스를 출력하거나 폐기하며, 다음 어드레스를 출력하는 절차는 i의 모든 값이 반복될 때까지 반복된다.
그러므로, 도4의 실시예 따르면, 정확한 어드레스 값은 매 클록 주기에서 생 성된다. 게다가, 비교는 단지 필요한 곳에서 행해지고 모든 데이터에서 행해지지는 않는다. 그러므로, 시간을 프로세싱하고 유효한 어드레스 값을 생성하는 요구 조건을 프로세싱하는 것이 감소되는데, 이는 전력을 절약한다.
도5는 본 발명에 따르는 어드레스 값을 생성하는 장치(200)의 제2 실시예를 도시한다. 도4의 실시예의 소자에 상응하는 소자가 동일한 참조번호로 나타내진다. 도4의 실시예에서, 현재 어드레스 조각(R'i) 및 다음 어드레스 조각(R'i +1)은 연속적인 클록 주기 동안에 생성된다. 제1 클록 주기 동안에, 현재 어드레스 조각은 레지스터(110a-110d)로부터 사용할 수 있고, 단일 변경 유닛(130a)에 의해 변경된다. 모든 제2, 즉 홀수로 생성된 변경된 어드레스 조각에 대해서, 비교기(260)는 상술된 바와 같은 동일한 원리에 따라 변경된 어드레스 조각이 범위 내에 존재하는지 여부를 결정하도록 적응된다. 모든 짝수로 변경된 어드레스 조각에 대해서, 비교기(260)는 어떤 비교도 없이 변경 유닛(130a)의 출력을 승인하도록 적응된다.
현재 변경된 어드레스 조각(Ri)이 홀수이고, 범위 내에 있다고 결정된다면, 비교기(260)는 토클 유닛(170)이 MSB로서 a 1을 부가하도록 지시할 것이다. 또한, 어드레스 값이 어드레스 생성기의 출력에서 사용될 수 있을 때, 비교기는 데이터에 사용할 수 있는 신호를 예컨대 제어기(32)에 발부할 수 있다. 그 후에, 비교기는 제1 어드레스 조각 계산 유닛의 출력과 함께 레지스터(110a-110d)를 업데이트하도록 적응된다. 그러므로, 각각의 레지스터(110a-110d)는 다음 어드레스 조각에 대한 값을 비교할 것이다. 다음 클록 주기 동안에, 다음 짝수로 변경된 어드레스 조각이 생성될 것이고, 다음 홀수의 어드레스 값(MSB로서 a 0을 가짐)은 어떤 비교도 없이 생성된다.
현재 변경된 어드레스 조각(Ri)이 홀수이고, 범위를 벗어난다고 결정된다면, 비교기(260)는 데이터에 사용할 수 있는 신호를 새로운 어드레스 값이 생성될 때까지 발부하지 않을 것이다. 그러므로, 어떠한 어드레스 값도 현재 클록 주기 동안에 생성되지 않을 것이다. 다음의 클록 주기에서, 다음 홀수로 변경된 어드레스 조각이 생성될 것이다. 비교기(260)는 그 후에 어떠한 비교도 행하지 않고 즉시 토글 유닛(170)이 MSB로서 a 0을 부가하도록 지시하고, 데이터에 사용할 수 있는 신호를 발부한다.
도6은 본 발명에 따르는 어드레스 생성기(300)의 제3 실시예를 도시한다. 도4의 실시예의 소자에 상응하는 소자가 동일한 참조번호로 나타내진다. 도6의 실시예에서, 현재, 다음 및 제2 다음 어드레스 조각은 도4에 관하여 상술된 바와 같이 동일한 원리에 따라 생성된다. 차이점은 도6의 실시예에서, 비교기(360)가 현재(홀수) 어드레스 조각이 변경된 어드레스 조각, 및 그로 인한 어드레스 값을 생성할 것인지 여부를 결정하도록 적응되었다는 것이고, 상기 값은 범위를 벗어날 수 있다. 그러므로, 비교기(360)는 범위를 벗어난 변경된 어드레스 조각을 생성할 수 있는 어드레스 조각에 대한 지식을 갖는다. 이런 어드레스 조각은 내부 메모리(361) 또는 비교기(360)의 레지스터에 저장될 수 있다. 생성된 현재 어드레스 조각은 메모리(361)에 저장된 어드레스 조각 값과 비교되어 현재 변경된 어드레스 조각이 범 위 내에 있는지 여부를 확인한다. 그렇다면, 비교기는 선택기(150)가 현재 변경된 어드레스 조각을 출력하도록 지시하고, 토글 유닛(170)이 MSB로서 a 1을 부가하도록 지시한다. 그러나, 비교기(360)가 현재 어드레스 조각이 범위를 벗어난다고 결정한다면, 현재 어드레스 조각은 폐기될 것이다. 그 후에, 비교기는 선택기가 다음(짝수) 변경된 어드레스 조각을 어떤 비교도 없이 출력하도록 지시하고, 토글 유닛이 MSB로서 a 0을 부가하도록 지시한다.
상기 실시예에서, 이미 결과적인 어드레스가 범위 내에 있다고 공지되었기 때문에, H(0)=0, H(1)=2Nr -1, 및 H(2)<=2Nr -2가 주어진, 세 개의 제1 어드레스 값(R'0=0, R'1=0, R'2=1)은 예컨대 제어기(32)에 의해서 개별적으로 고려된다.
게다가, 상기 실시예에서, 생성된 어드레스 조각이 변경된다. 그러나, 어드레스 조각을 변경하는 것은 레지스터가 MSB가 즉시 어드레스 값을 생성하도록 부가되지 않을 수 있는 어드레스 조각을 생성하도록 배열된다면 불필요할 수 있다. 또한 MSB를 부가하는 것은 또한 레지스터가 어드레스 값을 즉시 생성하도록 배열된다면 불필요할 수 있다.
도7은 메모리(31)를 어드레싱하는 어드레스 값을 생성하는 본 발명에 따르는 방법의 한 실시예를 도시한다. 제1 단계(400)에서, 절차는 제1 세 개의 어드레스 조각을 고려함으로써 초기화된다.
단계(401)에서, 현재(홀수) 어드레스 조각(현재 홀수 어드레스 조각이 R'3일 때 제1 주기 동안을 제외하고, 이전 주기로부터 제2 다음 어드레스 조각임)은 레지 스터내에 로딩되고, 단계(402)에서, 다음(짝수) 및 제2 다음 어드레스 조각이 생성된다. 필요로 된다면, 현재 및 다음 어드레스 조각은 단계(403)에서 변경된다. 단계(404)에서, 홀수로 변경된 어드레스 조각이 범위 내에 있는지 여부가 결정된다. 단계(404)에서 대답이 예라면, 단계(403)에서 변경된 어드레스 조각에 a 1이 단계(405)에서 MSB로서 부가된다. 단계(406)에서, 레지스터의 현재 값은 보류된다. 그 후에 생성된 현재 (홀수) 어드레스 값이 단계(407)에서 출력된다.
단계(404)에서 대답이 아니오라면, 절차는 단계(408)를 계속하는데, 여기서 a 0은 MSB로서 다음 (짝수) 변경된 어드레스 조각에 부가된다. 그 후에, 다음 어드레스 값은 단계(409)에서 출력된다.
단계(410)에서, 모든 가능한 어드레스 값이 생성되었는지 여부가 결정된다. 그렇지 않다면, 절차는 단계(401)로 되돌아간다. 그렇지 않으면, 절차는 종료된다.
본 발명에 따르는 방법은 다수의 단계에 관하여 설명되어왔다. 몇몇 단계는 특정 실시예에 기초하여 본 발명에 따라 방법을 실행하는데 불필요하다. 변경은 예컨대, 본 발명의 모든 실시예에서 실행되지 않을 수 있다. 게다가, 몇몇 단계는 또한 다른 명령으로 실행될 수 있다. 제2 다음 어드레스 조각은 필요로될 때 단계(401)에서 생성될 수 있다.
완전한 순서(linear order)로 메모리에 기록되는 데이터가 인터리빙된 순서로 메모리로부터 판독되기 위해서, 본 발명은 위에서 인터리버 메모리를 어드레싱하는 어드레스 값을 생성하는데 사용할 수 있는 것으로써 설명된다. 그러나 인터리빙된 명령으로 메모리에 기록되는 데이터가 완전한 순서로 메모리로부터 판독되기 위해서, 본 발명은 또한 디인터리버 메모리를 어드레싱하는 어드레스 값을 생성하도록 사용될 수 있다. 이런 경우에, 어드레스 값을 생성하는 맵핑 프로세스는 H(q)의 역이다.
본 발명은 특정 실시예를 참조하여 상술되었다. 그러나, 상술된 실시예외에 다른 실시예가 본 발명의 범위 내에서 동일하게 가능할 수 있다. 하드웨어 또는 소프트웨어에 의해 방법을 수행하는, 상술된 것 외에 여러 방법 단계가 본 발명의 범위 내에서 제공될 수 있다. 발명의 여러 특징 및 단계가 상술된 것 외에 다른 결합으로 결합될 수 있다. 본 발명은 단지 첨부된 특허 청구항에 의해 제한된다.
Claims (34)
- 다수의 어드레스 조각을 생성하는 단계를 포함하는, 메모리(31)를 어드레싱하는 어드레스 값을 생성하는 방법에 있어서,단지 상기 생성된 어드레스 조각의 일부를 최대 허용 가능한 값과 비교하는 단계를 포함하는 것을 특징으로 하는 어드레스 값 생성 방법.
- 제 1항에 있어서,모든 제2 어드레스 조각이 비교되는 것을 특징으로 하는 어드레스 값 생성 방법.
- 제 1항 또는 제2항에 있어서,상기 비교되는 어드레스 조각이 상기 최대 허용 가능한 값을 초과한다면, 상기 비교되는 어드레스 조각을 폐기하는 단계; 및그렇지 않은 경우에 상기 비교된 어드레스 조각을 수용하는 단계를 더 포함하는 것을 특징으로 하는 어드레스 값 생성 방법.
- 전술항 중 어느 한 항에 있어서,상기 생성된 어드레스 조각을 변경하는 단계를 더 포함하는데, 비교될 상기 어드레스 조각이 상기 비교 단계의 전후에 변경되는 것을 특징으로 하는 어드레스 값 생성 방법.
- 전술항 중 어느 한 항에 있어서,최상위 비트(들)인 하나 이상의 비트를 임의의 어드레스 조각이나 변경된 어드레스 조각에 부가하는 단계를 더 포함하는 것을 특징으로 하는 어드레스 값 생성 방법.
- 전술항 중 어느 한 항에 있어서,상기 비교된 어드레스 조각은 a 1이 최상위 비트로서 부가되는 홀수 어드레스 조각인 것을 특징으로 하는 어드레스 값 생성 방법.
- 전술항 중 어느 한 항에 있어서,짝수 어드레스 값이 상기 비교된 어드레스 조각을 폐기하거나 수용하는 것에 응답하여 생성되는 것을 특징으로 하는 어드레스 값 생성 방법.
- 제 1항 내지 제 6항 중 어느 한 항에 있어서,제1 클록 주기 동안에 비교될 적어도 상기 홀수 어드레스 조각 및 이어지는 짝수 어드레스 조각을 생성하는 단계를 포함하는데;상기 비교된 홀수 어드레스 조각이 폐기된다면, 상기 제1 클록 주기 동안에 상기 짝수 어드레스 조각을 출력하고;상기 비교된 홀수 어드레스 조각이 수용된다면, 상기 홀수의 비교된 어드레스 조각을 출력하고 상기 제1 클록 주기 동안에 쉬프트 레지스트의 레지스터 값을 유지하며; 및상기 제1 클록 주기 다음에 제2 클록 주기 동안에 상기 짝수 어드레스 조각을 출력하는 단계를 포함하는 것을 특징으로 하는 어드레스 값 생성 방법.
- 전술항 중 어느 한 항에 있어서,다음 홀수 어드레스 조각을 생성하는 단계; 및상기 다음 홀수 어드레스 조각을 쉬프트 레지스트의 레지스터(120a-120d)에 입력하는 단계를 포함하는 것을 특징으로 하는 어드레스 값 생성 방법.
- 제 8항 또는 제 9항에 있어서,상기 다음 짝수 및 다음 홀수 어드레스 조각은 피드백 기능(g(x))에 의해서 생성되는 것을 특징으로 하는 어드레스 값 생성 방법.
- 다수의 어드레스 조각을 생성하는 수단(110a-110d, 140a,140b)을 포함하는, 메모리(31)를 어드레싱하는 어드레스 값을 생성하는 장치(100,200,300)에 있어서,상기 다수의 어드레스 조각의 일부를 최대 허용 가능한 값과 비교하도록 적응된 비교 수단(160,260,360)을 포함하는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항에 있어서,상기 비교기가 모든 제2 생성된 어드레스 조각을 비교하도록 적응되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 또는 제 12항에 있어서,선택 수단(150)을 더 포함하는데, 이는 상기 비교된 어드레스 조각이 상기 최대 허용 가능한 값을 초과한다면, 상기 비교된 어드레스 조각을 폐기하도록 적응하도록 하고, 그렇지 않은 경우에는 상기 비교된 어드레스 조각을 수용하도록 적응되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 13항 중 어느 한 항에 있어서,상기 어드레스 조각을 변경하도록 적응되는 변경 수단(130a, 130b)을 더 포함하는데, 상기 변경 수단은 상기 비교 수단(160,260,360) 전에 제공되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 14항 중 어느 한 항에 있어서,상기 어드레스 값을 생성하기 위해서, 최상위 비트(들)인 적어도 하나의 비트를 임의의 어드레스 조각, 또는 변경된 어드레스 조각에 부가하도록 적응되는 토클 수단(170)을 더 포함하는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 10항 내지 제 13항 중 어느 한 항에 있어서,상기 비교된 어드레스 조각이 a 1이 최상위 비트로서 부가되는 어드레스 조각인 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 16항 중 어느 한 항에 있어서,어드레스 조각을 생성하는 상기 수단(110a-110d, 140a)가 상기 비교된 어드레스 조각을 폐기하거나 수용하는 것에 응답하여 다음 짝수 어드레스 조각을 생성하도록 적응되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 16항 중 어느 한 항에 있어서,어드레스 조각을 생성하는 수단이:제1 클록 주기 동안에 비교될 어드레스 조각을 생성하도록 적응된 소정의 수의 레지스터(110a-110d)를 포함하는 쉬프트 레지스터,비교될 어드레스 조각에 기초하는, 상기 제1 주기 동안에 다음 짝수 어드레스 조각을 생성하도록 적응된 어드레스 조각 계산 수단(140);상기 비교된 어드레스 조각이 폐기된다면 상기 제1 클록 주기 동안에 제1 제어 신호(M)에 응답하여 상기 짝수 어드레스 조각을 출력하고, 상기 비교된 어드레스 조각이 수용되된다면, 상기 제1 클럭 주기 동안에 상기 비교된 어드레스 조각을 출력하고, 상기 제1 클럭 주기에 이어지는 제2 클럭 주기 동안에 상기 짝수 어드레 스 조각을 출력하도록 적응되는 선택 수단(150); 및상기 비교된 어드레스 조각이 수용된다면, 제2 제어 신호(E)에 응답하여 상기 제1 클럭 주기 동안에 상기 레지스터의 현재 값을 유지하도록 적응된 쉬프트 레지스터를 포함하는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 18항에 있어서,상기 어드레스 조각 계산 유닛 수단(140a,140b)이 상기 짝수 어드레스 조각에 기초하여, 다음 홀수 어드레스 조각을 생성하고, 상기 다음 홀수 어드레스 조각을 상기 쉬프트 레지스터로 피드백하도록 적응되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 18항 또는 제 19항에 있어서,상기 어드레스 조각 계산 수단(140a,140b)가 피드백 기능에 의해서 상기 다음 짝수 및 다음 홀수 어드레스 조각을 생성하도록 적응되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 20항 중 어느 한 항에 있어서,상기 장치(100,200,300)가 프로세서에 의해서 동작할 판독 가능한 프로그램 수단을 포함하는 소프트웨어에 의해서 구현되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 20항 중 어느 한 항에 있어서,상기 장치(100,200,300)가 ASIC로서 구현되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 20항 중 어느 한 항에 있어서,상기 장치(100,200,300)가 FPGA로서 구현되는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 23항 중 어느 한 항에 있어서,상기 최대 길이 의사 잡음 시퀀스를 생성하도록 적응된 쉬프트 레지스터를 더 포함하는 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 24항 중 어느 한 항에 있어서,상기 메모리(31)가 인터리버 메모리인 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 24항 중 어느 한 항에 있어서,상기 메모리(31)가 디인터피버 메모리인 것을 특징으로 하는 어드레스 값 생성 장치.
- 제 11항 내지 제 25항 중 어느 한 항에 있어서,상기 메모리를 어드레싱하는 어드레스 값을 생성하는 장치(100,200,300) 및 메모리(31)를 포함하는, 데이터 블록을 인터리빙하는 인터리버.
- 제 11항 내지 24항 및 26항 중 어느 한 항에 있어서,상기 메모리를 어드레싱하는 어드레스 값을 생성하는 장치(100,200,300) 및 메모리(31)를 포함하는, 데이터 블록을 인터리빙하는 디인터리버.
- 제 11항 내지 제 26항 중 어느 한 항에 있어서,상기 메모리를 어드레싱하는 어드레스 값을 생성하는 장치 및 메모리(31)를 포함하는, 데이터를 통신하는 통신 장치.
- 제 29에 있어서,상기 통신 장치는 무선 이동 전화 단말기, 페이저, 통신기, 전자 오거나이저, 또는 스마트폰인 것을 특징으로 하는 통신 장치.
- 제 29항에 있어서,상기 통신 장치는 이동 전화(1)인 것을 특징으로 하는 통신 장치.
- 제 28항에 있어서,디인터리버를 포함하는, 데이터를 수신하는 통신 장치.
- 제 32항에 있어서,상기 통신 장치가 세트-톱-박스, TV-세트, 또는 무선 텔레비전 수신기인 것을 특징으로 하는 통신장치.
- 상기 프로덕트가 프로세스에 의해서 동작할 때, 제 1항 내지 제 10항 중 어느 한 항에 따르는 방법을 수행하는 명령을 포함하는 컴퓨터 판독 가능한 매체 상에서 구현되는 소프트웨어 프로그램 프로덕트.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04005627.7 | 2004-03-10 | ||
EP04005627A EP1575175B1 (en) | 2004-03-10 | 2004-03-10 | Address generator for an interleaver memory and a deinterleaver memory |
US55343804P | 2004-03-16 | 2004-03-16 | |
US60/553,438 | 2004-03-16 | ||
PCT/EP2005/002221 WO2005091509A1 (en) | 2004-03-10 | 2005-03-03 | Address generator for an interleaver memory and a deinterleaver memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070015539A true KR20070015539A (ko) | 2007-02-05 |
KR101274394B1 KR101274394B1 (ko) | 2013-06-18 |
Family
ID=34814279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067021056A KR101274394B1 (ko) | 2004-03-10 | 2005-03-03 | 인터리버 메모리 및 디인터리버 메모리용 어드레스 생성기 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7873800B2 (ko) |
EP (1) | EP1575175B1 (ko) |
JP (1) | JP4777971B2 (ko) |
KR (1) | KR101274394B1 (ko) |
CN (1) | CN1930782B (ko) |
AT (1) | ATE410830T1 (ko) |
DE (1) | DE602004016947D1 (ko) |
HK (1) | HK1097358A1 (ko) |
WO (1) | WO2005091509A1 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2454194A (en) * | 2007-10-30 | 2009-05-06 | Sony Corp | Address generation polynomial and permutation matrix for DVB-T2 1k OFDM sub-carrier mode interleaver |
US8885761B2 (en) | 2003-03-25 | 2014-11-11 | Sony Corporation | Data processing apparatus and method |
US8179954B2 (en) * | 2007-10-30 | 2012-05-15 | Sony Corporation | Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard |
GB2454196B (en) | 2007-10-30 | 2012-10-10 | Sony Corp | Data processsing apparatus and method |
GB2454195A (en) * | 2007-10-30 | 2009-05-06 | Sony Corp | Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver |
GB2454193B (en) | 2007-10-30 | 2012-07-18 | Sony Corp | Data processing apparatus and method |
PL2056549T3 (pl) * | 2007-10-30 | 2013-04-30 | Sony Corp | Urządzenie i sposób przetwarzania danych |
DK2056471T3 (da) * | 2007-10-30 | 2009-11-30 | Sony Corp | Databehandlingsapparat og fremgangsmåde |
EP2204002B1 (en) | 2007-10-30 | 2013-05-01 | Sony Corporation | Data processing apparatus and method |
GB2454722B (en) * | 2007-11-16 | 2012-10-24 | Sony Corp | Data processing apparatus and method |
GB2460459B (en) * | 2008-05-30 | 2012-07-11 | Sony Corp | Data processing apparatus and method |
US8775750B2 (en) | 2009-09-16 | 2014-07-08 | Nec Corporation | Interleaver with parallel address queue arbitration dependent on which queues are empty |
GB2491377A (en) | 2011-05-31 | 2012-12-05 | British Broadcasting Corp | Method and apparatus for memory access in an interleaver |
US9183057B2 (en) * | 2013-01-21 | 2015-11-10 | Micron Technology, Inc. | Systems and methods for accessing memory |
TWI551079B (zh) * | 2014-11-28 | 2016-09-21 | 晨星半導體股份有限公司 | 適用於第二代地面數位視訊廣播系統之解交錯程序之資料處理電路及方法 |
EP3376673B1 (en) * | 2015-11-10 | 2022-06-29 | Sony Group Corporation | Data processing devices and data processing methods for frequency interleaving and deinterleaving |
US10140223B2 (en) * | 2016-06-27 | 2018-11-27 | Qualcomm Incorporated | System and method for odd modulus memory channel interleaving |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2577999B2 (ja) * | 1989-09-28 | 1997-02-05 | クラリオン株式会社 | 擬似雑音符号発生装置における先頭又は任意ビットパルス生成回路およびサンプリングパルス生成回路 |
US5687325A (en) * | 1996-04-19 | 1997-11-11 | Chang; Web | Application specific field programmable gate array |
US6625234B1 (en) * | 1998-12-10 | 2003-09-23 | Nortel Networks Limited | Efficient implementations of proposed turbo code interleavers for third generation code division multiple access |
US6314534B1 (en) * | 1999-03-31 | 2001-11-06 | Qualcomm Incorporated | Generalized address generation for bit reversed random interleaving |
KR100480286B1 (ko) * | 1999-04-02 | 2005-04-06 | 삼성전자주식회사 | 터보 인터리빙 어드레스 발생 장치 및 방법 |
US6549998B1 (en) * | 2000-01-14 | 2003-04-15 | Agere Systems Inc. | Address generator for interleaving data |
JP4555454B2 (ja) * | 2000-11-21 | 2010-09-29 | 富士通株式会社 | データ再生装置 |
US6871270B2 (en) * | 2001-12-03 | 2005-03-22 | Samsung Electronics Co., Ltd. | Device and method for minimizing puncturing-caused output delay |
US6851039B2 (en) * | 2002-09-30 | 2005-02-01 | Lucent Technologies Inc. | Method and apparatus for generating an interleaved address |
-
2004
- 2004-03-10 EP EP04005627A patent/EP1575175B1/en not_active Expired - Lifetime
- 2004-03-10 AT AT04005627T patent/ATE410830T1/de not_active IP Right Cessation
- 2004-03-10 DE DE602004016947T patent/DE602004016947D1/de not_active Expired - Lifetime
-
2005
- 2005-03-03 KR KR1020067021056A patent/KR101274394B1/ko active IP Right Grant
- 2005-03-03 WO PCT/EP2005/002221 patent/WO2005091509A1/en active Application Filing
- 2005-03-03 JP JP2007502238A patent/JP4777971B2/ja not_active Expired - Fee Related
- 2005-03-03 CN CN2005800077002A patent/CN1930782B/zh not_active Expired - Fee Related
- 2005-03-03 US US10/598,714 patent/US7873800B2/en not_active Expired - Fee Related
-
2007
- 2007-04-27 HK HK07104503.5A patent/HK1097358A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2005091509A1 (en) | 2005-09-29 |
CN1930782B (zh) | 2012-05-02 |
JP2007528169A (ja) | 2007-10-04 |
EP1575175B1 (en) | 2008-10-08 |
HK1097358A1 (en) | 2007-06-22 |
CN1930782A (zh) | 2007-03-14 |
US20070139428A1 (en) | 2007-06-21 |
ATE410830T1 (de) | 2008-10-15 |
KR101274394B1 (ko) | 2013-06-18 |
JP4777971B2 (ja) | 2011-09-21 |
DE602004016947D1 (de) | 2008-11-20 |
US7873800B2 (en) | 2011-01-18 |
EP1575175A1 (en) | 2005-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101274394B1 (ko) | 인터리버 메모리 및 디인터리버 메모리용 어드레스 생성기 | |
US6314534B1 (en) | Generalized address generation for bit reversed random interleaving | |
CN109075799B (zh) | 极化Polar码的编译码方法及装置 | |
KR101463627B1 (ko) | 데이터 처리 장치 및 방법 | |
KR101648583B1 (ko) | 데이터 처리 장치 및 방법 | |
MXPA01005573A (es) | Distribuidor de turbo codigo que utiliza secuencias congruentes lineales. | |
US20100005132A1 (en) | Apparatus and method for generating permutation sequence in a broadband wireless communication system | |
JP5129216B2 (ja) | マップ・デコーダのためのメモリ・アーキテクチャ | |
KR20030060518A (ko) | 통신시스템의 인터리빙 장치 및 방법 | |
KR20090045102A (ko) | 데이터 처리 장치 및 방법 | |
US6697994B2 (en) | Operation processing apparatus and operation processing method | |
JP2000068863A (ja) | 符号化装置及びその方法 | |
EP2012434A1 (en) | De-interleaving and interleaving based on the same address index generation process | |
US20100241911A1 (en) | Address generator of communication data interleaver and communication data decoding circuit | |
KR100941664B1 (ko) | 순환 리던던시 코드 서명 비교를 구비한 터보 디코더 | |
EP0912009A2 (en) | Date rate conversion using repetition codes | |
US6738946B1 (en) | Methods, communication devices, and computer program products for communicating information via a frame check sequence having an information block associated therewith | |
US20100005133A1 (en) | Apparatus and method for generating permutation sequence in a broadband wireless communication system | |
US6925592B2 (en) | Turbo decoder, turbo encoder and radio base station with turbo decoder and turbo encoder | |
CN108463951A (zh) | 数据处理装置和数据处理方法 | |
KR20090086730A (ko) | 무선통신 시스템에서 인터리빙 방법 | |
JP2001211087A (ja) | 無線通信システム及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
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: 20160526 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170526 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180525 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190529 Year of fee payment: 7 |