KR0176641B1 - Words-economizing circuit of transposition memory in idct - Google Patents
Words-economizing circuit of transposition memory in idct Download PDFInfo
- Publication number
- KR0176641B1 KR0176641B1 KR1019950067790A KR19950067790A KR0176641B1 KR 0176641 B1 KR0176641 B1 KR 0176641B1 KR 1019950067790 A KR1019950067790 A KR 1019950067790A KR 19950067790 A KR19950067790 A KR 19950067790A KR 0176641 B1 KR0176641 B1 KR 0176641B1
- Authority
- KR
- South Korea
- Prior art keywords
- counter
- data
- buffer
- address
- port ram
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
Abstract
메모리중 듀얼 포트 램을 사용하여 더블뱅크의 역할을 대신하며 크기를 줄이고 오버 라이트를 피하기 위해 상기 메모리의 로우 IDCT 데이타를 칼럼 IDCT 데이타로 전치하여 출력하는 전치램(300)와, 상기 전치램(300)에서 상기 로우 IDCT 데이타를 칼럼 IDCT로 전치되도록 변환용 어드레스 신호를 제공하는 어드레스 발생기(302)로 구성되어 IDCT 코아에서 전치 메모리의 워드 수를 절약하도록 되어 있다.In order to reduce the size and avoid overwriting by using a dual port RAM in memory, a pre-ramp 300 for transposing and outputting the low IDCT data of the memory into column IDCT data and the pre-ramp 300 The address generator 302 provides a conversion address signal for translating the row IDCT data into the column IDCT, thereby saving the number of words in the pre-memory in the IDCT core.
Description
제1도는 종래의 회로도.1 is a conventional circuit diagram.
제2도는 종래의 레스터 및 전치 순서 테이블도.2 is a conventional raster and transpose table.
제3도는 본 발명의 실시예에 따른 블럭도.3 is a block diagram according to an embodiment of the present invention.
제4도는 제3도의 전치램(300)의 어드레스와 논리적 배열도.4 is an address and logical arrangement of the pre-ramp 300 of FIG.
제5도는 제3도의 어드레스 발생기(302)의 구체 회로도.5 is a detailed circuit diagram of the address generator 302 of FIG.
제6도는 제3도의 전치램(300)의 8개 블럭에 대한 라이트/리드 순서도.FIG. 6 is a write / lead flow chart of eight blocks of the pre-ramp 300 of FIG.
제7도는 제6도의 블럭의 메모리상에서 차지하는 위치 변화 예시도.FIG. 7 is a diagram illustrating a position change occupying in the memory of the block of FIG.
제8-9도는 본 발명의 실시예에 따른 리드/라이트 예시도.8-9 illustrate exemplary leads / lights according to an embodiment of the present invention.
본 발명은 2차원 IDCT를 분배 연산 알고리즘으로 구현하는 방법에 있어서 전치 메모리의 어드레싱회로에 관한 것으로, 특히 상기 전치램을 듀얼 포트 메모리를 사용하여 작은 크기로 대체가 가능한 역 DCT 코아에서 전치 메모리의 워드 수 절약회로에 관한 것이다.The present invention relates to an addressing circuit of a pre-memory in a method of implementing two-dimensional IDCT using a distribution algorithm. In particular, the word of the pre-memory in an inverted DCT core, which can be replaced with a small size using a dual port memory, It is about a water saving circuit.
일반적으로 2차원 IDCT에서 분배 연산(Distributed Arithmetic) 알고리즘을 이용하려면 일단 1차원 IDCT를 거친 결과에 대해 전치(Transpose)시켜, 다시 한 번 1차원 IDCT를 수행하는 것이 일반적인 구조이다. 이때 전치(Transposition)에 이용되는 RAM을 더블 뱅크로 구성되면 아주 간단하지만 64개의 데이타(8×8블럭의 경우)를 저장할 수 있는 RAM을 2개 필요로 하므로 128워드의 크기를 가져야 한다. 종래 기술적 예를 제1도를 참조하여 설명하면, 로우 IDCT(101)를 통해 출력되는 데이타는 디멀티플렉서(105)에서 디먹싱되어 어드레스 발생기(302)에서 발생되는 어드레스 신호에 따라 첫번째 블럭 데이타를 제1램(RAM0)(107)에 제2도(2a)와 같은 레스트 순서(Raster order)로 저장되고, 다음 블럭의 데이타에 대해 제2램(RAM1)에 저장된다. 상기 라이트/리드시 역시 어드레스 발생기(302)에서 발생되는 어드레스 신호에 의해 상기 제1램(RAM0)(107)과 제2램(RAM1)(109)에 기록된 데이타를 제2도(2b)와 같이 전치 순서(Transposition Order)로 읽어 멀티플렉서(111)에서 먹싱하여 칼럼 IDCT(113)에서 다음 단계의 처리과정을 거친다.그리고 메모리에 쓸때와 읽을때의 어드레스(Address)가 다르다고 해도 만약 하나의 8×8 듀얼 포트 램을 사용한다면 동시에 같은 데이타 어드레스에 쓰기와 읽기를 요구하게 되는데, 이 경우와 아직 라이트 하지도 않은 데이타를 읽어내야 하는 경우, 또 이전 블럭에서 읽어가지 못한 데이타에 오버 라이트(Over Write)되는 경우가 발생되는 등의 문제점이 있게 되어 결국 두 개의 8×8 메모리를 사용해야만 한다.In general, in order to use a distributed arithmetic algorithm in 2D IDCT, it is common structure to transpose the result after 1D IDCT and perform 1D IDCT once again. At this time, if the RAM used for the transposition is composed of a double bank, it is very simple, but it requires two RAMs capable of storing 64 data (for 8 × 8 blocks), so it must have a size of 128 words. Referring to FIG. 1, the data output through the row IDCT 101 is demuxed by the demultiplexer 105 to generate first block data according to an address signal generated by the address generator 302. It is stored in the RAM (RAM0) 107 in the rest order as shown in FIG. The data written to the first RAM (RAM0) 107 and the second RAM (RAM1) 109 by the address signal generated by the address generator 302 at the time of writing / reading is also shown in FIG. 2B. Similarly, it reads in a transposition order and muxes it in the multiplexer 111 to perform the next step in the column IDCT 113. 8 If you use dual port RAM, you need to write and read to the same data address at the same time. In this case, if you need to read data that has not been written yet, you will overwrite the data that has not been read in the previous block. There is a problem such as a case occurs, and eventually two 8x8 memories must be used.
따라서 본 발명의 목적은 듀얼 포트 램을 사용하여 더블 뱅크의 역할을 대신하며 크기를 줄이고 오버 라이트를 피할 수 있는 회로를 제공함에 있다.Accordingly, an object of the present invention is to provide a circuit that can reduce the size and avoid overwriting by using a dual port RAM instead of the double bank.
이하 본 발명을 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제3도는 본 발명에 따른 블럭도로서, 로우 IDCT 데이타를 칼럼 IDCT 데이타로 전치(transposition)하여 출력하는 전치램(300)와, 상기 전치램(300)에 상기 로우 IDCT 데이타를 칼럼 IDCT로 전치되도록 변환하기 위한 어드레스 신호를 발생하는 어드레스 발생기(302)로 구성된다. 상기 전치램(300)은 듀얼 포트 램으로 후술될 때 두가지 용어를 병행하여 사용될 수도 있다.3 is a block diagram according to an embodiment of the present invention, and includes a pre-ramp 300 for transposing and outputting row IDCT data into column IDCT data, and transposing the row IDCT data to column IDCT in the pre-ramp 300. And an address generator 302 for generating an address signal for conversion. The pre-ram 300 may be used in parallel with two terms when described below as a dual port RAM.
제4도는 제3도의 전치램(300), 즉 듀얼 포트 램에서의 어드레스와 논리적 배열도이다.FIG. 4 is an address and logical arrangement diagram of the pre-RAM 300 of FIG. 3, that is, the dual port RAM.
제5도는 본 발명의 실시예에 따른 제3도의 어드레스 발생기(302)의 구체회로도로서, 7비트 모듈러 카운트로서 라이트 어드레스를 발생하는 제1카운터(501)와, 상기 제1카운터(501)의 라이트 어드레스 출력으로부터 전치 시작 이전값에 해당되는 값을 완충하는 버퍼(502)와, 상기 버퍼(502)의 출력에서 전치 시작 이전값에 해당될 시 세트(S) 신호를 발생하는 래치회로(503)와, 상기 래치회로(503)의 출력에 의해 인이에블되어 전치할 마지막 값과의 최소 비트로부터 3비트의 리드 어드레스 신호를 발생하는 제3카운터(504)와, 상기 제3카운터(504)의 출력값을 완충하는 버퍼(508)와, 상기 버퍼(508)에서 주어진 값에 따라 13개의 4비트값을 순차적으로 쉬프트하여 전치할 블럭의 첫번째 데이타의 리드 어드레스로 상위 4비트를 나타내는 신호를 발생하는 쉬프트레지스터(505)와, 상기 버퍼(508)에 의해 로딩(LD)되며 상기 쉬프트레지스터(505)의 출력에 의해 카운팅하여 상위 4비트를 리드 어드레스 신호를 발생하는 제2카운터(506)와, 상기 제2카운터(506)의 값이 소정치에 도달되었을 시 상기 제2카운터(506)를 초기화시키는 리세트(RS)신호를 발생하는 버퍼(507)로 구성된다. 제6도 (6a),(6b)는 제3도의 전치램(300)에서 8개 블럭(8×8)에 대한 라이트/리드 순서를 나타내고 있으며, 제7도 (7a),(7b),(7c),(7d),(7e)는 듀얼 포트 램인 전치램(300)에서 제6도의 블럭의 메모리상에서 차지하는 위치변화를 나타내며, 제8도-제9도는 본 발명의 실시예에 따른 리드/라이트 예이다.FIG. 5 is a detailed circuit diagram of the address generator 302 of FIG. 3 according to an embodiment of the present invention, and includes a first counter 501 for generating a write address as a 7-bit modular count, and a write of the first counter 501. FIG. A buffer 502 for buffering a value corresponding to the pre-start value from the address output, a latch circuit 503 for generating a set (S) signal at the output of the buffer 502 when it corresponds to the pre-start value. A third counter 504 that generates a 3-bit read address signal from a minimum bit of the last value to be enabled and transposed by the output of the latch circuit 503, and an output value of the third counter 504; A shift register for generating a signal representing the upper 4 bits as a read address of the first data of the block to be shifted by sequentially shifting 13 4-bit values according to the value given by the buffer 508. (505) A second counter 506 that is loaded by the buffer 508 and counts by the output of the shift register 505 to generate a read address signal of the upper four bits, and the second counter 506. It is composed of a buffer 507 for generating a reset (RS) signal for initializing the second counter 506 when the value of reaches a predetermined value. 6A and 6B show the write / lead order of eight blocks 8 × 8 in the preramb 300 of FIG. 3, and FIGS. 7A, 7B, and 7 7c), 7d, and 7e represent positional changes in the memory of the block of FIG. 6 in the pre-ramp 300 which is a dual port RAM, and FIGS. 8 to 9 show read / write according to an embodiment of the present invention. Yes.
따라서 본 발명의 구체적 일 실시예를 제3도-제9도를 참조하여 상세히 설명하면, 제6도는 본 발명에서 한 블럭분의 데이타를 듀얼 포트 램인 전치램(300)에서 쓰고(6a), 읽을 때(6b)의 순서를 각각 보여주는 것으로, (6a)의 50번째 데이타를 쓸 때, (6b)의 0번째 데이타를 읽기 시작한다면, 두 동작이 충돌하는 경우가 없게 됨을 알 수 있다. 여기에서 50-60까지의 어드레스를 여분의 어드레스로 가정하면, 상기와 같은 순서로 두 번째 블럭의 데이타가 이전 블럭의 50번째 데이타를 읽어 낼 때 씌어지기 시작하며, 역시 충돌하는 일 없이 각자 수행될 수 있다(여기에서 읽고, 쓰는 동작이 충돌한다는 것은 메모리상의 어드레스가 아니라 시간적인 인과 관계를 의미한다). 제6도는 두 개의 블럭 메모리에서 14개씩의 어드레스를 줄이면 100개가 남는다. 그러나 100개의 어드레스 만으로 64개 단위의 데이타를 순차적으로 입력시킨다면 어드레스의 규칙성이 훼손되어 어드레스 발생기(302)가 복잡해지므로 4개를 더해 104워드로 배치한다. 상기 상태에서 입력되는 데이타는 첫번째 블럭이 0-63까지 차례로 저장되고, 다음 블럭의 첫 데이타는 64에 저장된다. 103번지 다음에는 다시 0번지에 41번째 데이타를 기록한다. 이렇게 계속 순환하며 순서대로 저장한다. 그리고 상기 데이타를 읽어내는 동작은 전술한 대로 50번째 데이타를 쓸 때 첫 데이타를 읽어내면서 매 블럭마다 제일 처음과 끝의 데이타에 해당하는 어드레스는 쓸 때의 어드레스와 같고, 그외에는 순서가 달라짐에 따라 다른 어드레스를 써야한다. 제7도는 매 블럭이 전치램(300)의 번지에서 자치하는 영역을 나타내고, 제8도는 시간에 따라 매 클럭마다 달라지는 라이트/리드 어드레스를 기록하는 것으로 처음부터 끝까지 따라가 보면 쓰기와 읽기가 충돌하거나 순서가 바뀌는 일은 없이 서로 비껴감을 알 수 있다. 13개의 블럭이 지나고 나면 어드레스는 초기 상태로 돌아온다. 이를 위해 어드레스 발생기(302)의 라이트 어드레스는 0-13까지의 상승(104진 카운터)될 뿐이며, 리드 어드레스가 좀더 복잡하다. 제8도를 보면 리드 어드레스는 일단 8씩 증가하는 경향이 있음을 알 수 있다. 단, 매 8데이타 마다 초기값이 달라지는 것으로 간주하면, 그 초기값(8n+1번째의 데이타)은 항상 1씩 증가하는 것을 알 수 있다. 또 이 초기값에 해당하는 8×8블럭의 첫번째 데이타 어드레스값은 0→64→24→88→48→8→72→32→96→56→16→80→40→0→…의 순서로 순환됨을 알 수 있다. 상기 8개씩 짝지어진 어드레스를 보면, 초기값에서부터 8씩 증가하다가 104를 넘을때는 104만큼 뺀 값을 취하고 있고, 상기 블럭의 첫번째 데이타 어드레스도 64씩 증가하면서 104보다 커지면 104를 뺀 값이 된다.Therefore, a specific embodiment of the present invention will be described in detail with reference to Figs. 3 to 9, and Fig. 6 writes (6a) and reads one block of data from the pre-RAM 300 which is a dual port RAM. By showing the order of each time (6b), it can be seen that when writing the 50th data of (6a), if the 0th data of (6b) starts to be read, the two operations do not conflict. Assuming that addresses from 50 to 60 are redundant addresses, the data of the second block starts to be written when the 50th data of the previous block is read in the same order as above, and can be executed independently without conflict. (A conflict of read and write operations here means a temporal causal relationship, not an address in memory.) In FIG. 6, if 14 addresses are reduced in two block memories, 100 remain. However, if 64 units of data are sequentially input with only 100 addresses, the regularity of the addresses is impaired and the address generator 302 is complicated. Therefore, four addresses are added and arranged in 104 words. In this state, the input data is stored in order from 0 to 63 in the first block, and the first data in the next block is stored in 64. After address 103, the 41st data is recorded in address 0 again. Continue to cycle and store them in order. The operation of reading the data is as described above when the first data is read when the 50th data is written, and the address corresponding to the first and last data for each block is the same as the address when the data is written. You must use a different address. FIG. 7 shows an area in which every block autonomizes at the address of the pre-ramp 300. FIG. 8 shows a write / read address that changes every clock according to time. You can see that they don't change order. After 13 blocks have passed, the address returns to its initial state. For this purpose, the write address of the address generator 302 is only raised to 0-13 (104 binary counter), and the read address is more complicated. Referring to FIG. 8, it can be seen that the read address tends to increase by eight. However, if it is assumed that the initial value changes every 8 data, the initial value (8n + 1st data) always increases by one. The first data address value of the 8x8 block corresponding to this initial value is 0 → 64 → 24 → 88 → 48 → 8 → 72 → 32 → 96 → 56 → 16 → 80 → 40 → 0 →. It can be seen that the cycle in the order of. In the eight matched addresses, the value is increased by 8 from the initial value and subtracted by 104 when exceeding 104. When the first data address of the block also increases by 64 and becomes larger than 104, 104 is obtained.
제6도는 리드 어드레스를 이진수로 표시한 것으로서 상위 4비트는 매 64클럭마다 쉬프트레지스터(505)의 테이블에서 다운받는 것으로 하고 1씩 증가하다가 1100 패턴이 나오면 버퍼(506)을 통하여 출력되는 0에 의해 리세트되어 1씩 증가하는 것을 8클럭마다 반복한다. 그리고 하위 3비트는 8클럭마다 1씩 증가한다. 상기 예를 제5도를 참조하여 상세히 설명하면, 제1카운터(501)에서 전치램(300)에다 로우 IDCT 데이타를 기록할 어드레스를 발생하여 듀얼 포트 램인 전치램(300)에 제공하면 상기 로우 IDCT 데이타가 기록된다. 상기 제1카운터(501)가 제6도와 같이 라이트 어드레스 49를 발생시킬 때 이를 버퍼(502)에서 버퍼링하여 래치(503)를 세팅시킨다. 이때 래치(503)의 출력은 하이가 되어 제3카운터(504)를 인에이블하여 상기 전치램(100)의 상기 기록된 로우 IDCT에 대해 리드할 어드레스 신호를 발생하되, 상기 제3카운터(504)가 리드 어드레스중 하위 3비트를 제공한다. 상기 제3카운터(504)의 출력이 제6도와 같이 마지막 전치 어드레스 63일 때 쉬프트레지스터(505)의 출력을 최소값으로 로드하여 카운트한 제2카운터(506)의 4비트는 리드 어드레스의 상위 4비트로 사용된다. 상기 제2카운터(506)의 출력이 1100일 때 제2카운터(506)는 0로 버퍼(507)를 통하여 리세트되어 1씩 증가하는 8클럭마다 반복하게 된다. 그리고 제8,9에서i1i+1는 라이트 블럭 i와 i+1의 경계를 뜻하며, j1j+1는 리드 블럭 j와 j+1의 경계를 뜻하고, ○는 리드 블럭의 8n+1번째 데이타이고, □는 리드 블럭의 첫번째 데이타를 의미한다.6 is a binary representation of the read address. The upper 4 bits are to be downloaded from the table of the shift register 505 every 64 clocks, and are incremented by 1 and when the 1100 pattern is output, 0 is output through the buffer 506. It resets and increments by 1 every 8 clocks. The lower 3 bits are incremented by 1 every 8 clocks. The above example will be described in detail with reference to FIG. 5. When the first counter 501 generates an address for recording the row IDCT data in the preramb 300 and provides it to the preramb 300 which is a dual port RAM, the row IDCT The data is recorded. When the first counter 501 generates the write address 49 as shown in FIG. 6, the first counter 501 buffers it in the buffer 502 to set the latch 503. At this time, the output of the latch 503 becomes high to enable the third counter 504 to generate an address signal to read against the written low IDCT of the pre-ramp 100, but the third counter 504 Provides the lower 3 bits of the read address. When the output of the third counter 504 is the last pre-address 63 as shown in FIG. 6, four bits of the second counter 506 loaded by counting the output of the shift register 505 to the minimum value are the upper four bits of the read address. Used. When the output of the second counter 506 is 1100, the second counter 506 is reset to zero through the buffer 507 and repeats every eight clocks that are incremented by one. In the eighth and ninth, i 1 i + 1 denotes the boundary between the write blocks i and i + 1, j1j + 1 denotes the boundary between the read blocks j and j + 1, and ○ is the 8n + 1st position of the lead block. Data, and □ represents the first data of the read block.
상술한 바와 같이 전치램을 듀얼 포트 램을 사용하므로 워드수를 줄일 수 있는 이점이 있다.As described above, since the pre-ram uses the dual port RAM, there is an advantage of reducing the number of words.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950067790A KR0176641B1 (en) | 1995-12-30 | 1995-12-30 | Words-economizing circuit of transposition memory in idct |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950067790A KR0176641B1 (en) | 1995-12-30 | 1995-12-30 | Words-economizing circuit of transposition memory in idct |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970049580A KR970049580A (en) | 1997-07-29 |
KR0176641B1 true KR0176641B1 (en) | 1999-05-15 |
Family
ID=19447883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950067790A KR0176641B1 (en) | 1995-12-30 | 1995-12-30 | Words-economizing circuit of transposition memory in idct |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0176641B1 (en) |
-
1995
- 1995-12-30 KR KR1019950067790A patent/KR0176641B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970049580A (en) | 1997-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950004854B1 (en) | Semiconductor memory device | |
US5416749A (en) | Data retrieval from sequential-access memory device | |
DE60130437D1 (en) | SIMULTANEO MULTIBRANGE FOR FLASH MEMORY | |
KR970702520A (en) | Circuit arrangement comprising a permutation unit and method of processing a batch of items | |
GB1423397A (en) | Multi-dimensional access solid state memory | |
US5042007A (en) | Apparatus for transposing digital data | |
US6035381A (en) | Memory device including main memory storage and distinct key storage accessed using only a row address | |
US7355917B2 (en) | Two-dimensional data memory | |
US5177704A (en) | Matrix transpose memory device | |
US20080195823A1 (en) | Method and apparatus for convolutional interleaving/de-interleaving technique | |
US5008852A (en) | Parallel accessible memory device | |
KR20040037989A (en) | First-in first-out memory circuit and method for executing the same | |
EP0497493A2 (en) | Signal processing system having reduced memory space | |
KR0176641B1 (en) | Words-economizing circuit of transposition memory in idct | |
JPS5758280A (en) | Method for making memory address | |
KR950001477A (en) | Memory circuit | |
GB2254754A (en) | Time switch speech-store module | |
JP2969896B2 (en) | Data write control method for RAM | |
JP2508861B2 (en) | Word multi-time switch | |
KR0120220Y1 (en) | Time slicing memory access control circuit | |
JPH0962585A (en) | Interleave device | |
KR0119516Y1 (en) | Variable velocity recording device | |
JP2000172242A (en) | Image display control device | |
KR100243754B1 (en) | Parameter changing apparatus of convolution interlever | |
JPH0520173A (en) | Cache memory circuit |
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: 20051028 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |