WO2000027036A2 - A system and method for reducing deinterleaver memory requirements through chunk allocation - Google Patents

A system and method for reducing deinterleaver memory requirements through chunk allocation Download PDF

Info

Publication number
WO2000027036A2
WO2000027036A2 PCT/US1999/026182 US9926182W WO0027036A2 WO 2000027036 A2 WO2000027036 A2 WO 2000027036A2 US 9926182 W US9926182 W US 9926182W WO 0027036 A2 WO0027036 A2 WO 0027036A2
Authority
WO
WIPO (PCT)
Prior art keywords
symbols
channels
chunks
received
frame
Prior art date
Application number
PCT/US1999/026182
Other languages
French (fr)
Other versions
WO2000027036A9 (en
WO2000027036A3 (en
Inventor
David Hansquine
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Priority to CA002349456A priority Critical patent/CA2349456A1/en
Priority to JP2000580307A priority patent/JP2002529952A/en
Priority to BR9915032-8A priority patent/BR9915032A/en
Priority to AU20219/00A priority patent/AU759528B2/en
Priority to EP99963866A priority patent/EP1127412A2/en
Publication of WO2000027036A2 publication Critical patent/WO2000027036A2/en
Publication of WO2000027036A3 publication Critical patent/WO2000027036A3/en
Publication of WO2000027036A9 publication Critical patent/WO2000027036A9/en
Priority to HK02105490.2A priority patent/HK1043886B/en

Links

Classifications

    • 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
    • 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

Definitions

  • the present invention relates in general to voice and data communications.
  • the invention pertains to deinterleaving and decoding symbols received over a plurality of channels.
  • a periodic stream of symbols is received by a deinterleaver and output to a decoder which processes the received symbols. If the deinterleaver deinterleaves the n symbols received during a frame period, then n symbols need to be received by the deinterleaver before being processed by the decoder.
  • a typical bit-reversal deinterleaver would take the n symbols and write them into a two-dimensional table, row by row, and then read the n symbols out column by column, or vice versa.
  • the decoder needs to operate on the deinterleaved symbols in order, then typically, the deinterleaver must wait until almost all of the n symbols have been received.
  • a periodic stream of symbols must be buffered in one place and then provided to the decoder when the n symbols have been received.
  • Fig. 1 shows a first buffer 10 and a second buffer 20 in a known system for deinterleaving and decoding symbols received during frame periods, n symbols being received during each frame period.
  • Each buffer can store up to n symbols.
  • n symbols are stored in, for example, first buffer 10.
  • the n symbols in first buffer 10 are then processed by a decoder 30.
  • decoder 30 decodes the n symbols, a stream of symbols continues to be received by the deinterleaver. If the symbols are stored in first buffer 10 before the decoder completes processing, then the previously received symbols will be overwritten before being processed.
  • the present invention provides a new arrangement for receiving and storing received symbols from a deinterleaver and decoding the received symbols.
  • the system allocates memory for holding the received symbols, such that as symbols are received from a plurality of channels during frame periods, symbols received during previous frame periods for the plurality of channels are decoded, thereby freeing up memory holding the symbols, which have been decoded, to be re-allocated for the reception of new symbols.
  • the system requires less buffer space than a conventional double- buffered system.
  • Fig. 1 shows a double-buffered system for the reception of symbols from deinterleavers.
  • Fig. 2 shows a system for the reception of symbols from a deinterleaver, which requires less memory for the reception and decoding of frames of symbols.
  • Fig. 3 shows an embodiment of the invention receiving frames of symbols for eight channels, through a deinterleaver.
  • Fig. 4 shows a system for the reception of symbols into buffers, wherein the symbols are stored into chunks within buffers.
  • Fig. 5 shows a preferred embodiment receiving symbols into 6 buffers, each buffer being divided into four chunks.
  • Fig. 6 shows an example of hardware for implementing the scheme described in Fig. 7.
  • Fig. 7 shows an example of buffer allocation as symbols are received for a plurality of channels over a plurality of frames.
  • Symbols are received during a time frame or, simply, a frame.
  • a system which, during a frame, receives n symbols from a deinterleaver 17 every 20 ms.
  • the system has a decoder 30 which takes 10 ms to decode the symbols received during one frame.
  • the decoder can process the complete frame.
  • n/2 symbols of the next frame are received.
  • These n/2 symbols can be stored in a second buffer 22 which has a capacity to store n/2 symbols.
  • n/2 symbols of that frame can be stored in the first or second half of buffer 12. This can be done because the contents of buffer 12 were just decoded and no longer need to be saved.
  • the system can operate with buffers capable of storing 1.5 frames of n symbols. This is a 25% improvement over known systems that perform double- buffering.
  • the storage requirement changes. For example, in a system in which frames of symbols are received every 20 ms and the decoder processing time is 15 ms, then while the decoder processes a received frame of n symbols, 15/20 * n or .75 * n symbols are received. These can be received into a second buffer having a capacity of .75 * n symbols. In this example, the reduction in buffer space is only 12.5% over conventional systems that perform double- buffering. Now consider a system having x channels of symbols simultaneously received and separately processed by the decoder, perhaps serially. For example, as shown in Fig.
  • n/8 symbols are received for each channel, which can be stored in a ninth buffer, for example, buffer B9 of size n.
  • a ninth buffer for example, buffer B9 of size n.
  • n memory locations in buffer Bl have become free and can then be used for receiving n symbols while the decoder processes the next channel.
  • n/8 symbols are received for each channel and stored in, for example buffer Bl.
  • buffers Bl through B7 and B9 are filled.
  • each buffer does not contain a single channel's symbols.
  • each of buffers Bl through B7 and B9 contain symbols for each of the eight channels, each channel's symbols being stored in one of the eight chunks of each buffer.
  • the decoder processes the channels, new symbols will be received and stored into the chunks as they become available.
  • the difficulty here is that the system is actually managing 9*8 or 72 buffers.
  • a "resource allocator” can be used to allocate chunks used for symbol storage. As the decoder completes processing of symbols (either on a per channel basis, or a per chunk basis), it can free up the chunks storing the decoded symbols, so that they may be reused by the resource allocator. If the system uses x channels and n symbols per channel per frame, then x*(x+l) chunks of memory must be available.
  • the resource allocator can utilize an x*(x+l) bit map, in which each bit of 0 indicates a corresponding available chunk, and each bit of 1 indicates a corresponding used chunk. Thus, whenever a chunk is allocated, the first free chunk is provided and its corresponding bit in the bit map is set.
  • the preferred embodiment supports IS95B, which is a recognized standard. IS95B is described in "TR45 Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular Systems", Ballot Version, TIA/EIA/SP-3693 to be known as TIA/EIA-95, November 18, 1997, and is incorporated herein by reference.
  • This embodiment includes a fundamental channel and seven supplemental channels. The fundamental channel takes longer to decode than each of the supplemental channels. A maximum number of eight channels of 384 symbols per frame are received by the deinterleavers. Therefore, for the sake of simplicity, we assume that 384 symbols are received for each channel during a frame.
  • Each decoded channel frees storage space for 384 symbols. If the chunk size is 192 symbols and the buffer size is four chunks, then four buffers, or 16 chunks are required to store eight channels of one frame of symbols. While decoding the fundamental channel, data can be stored into eight additional chunks, but two chunks would free up after decoding a channel. This scheme requires twenty-four chunks of memory, enough to store 4,608 symbols. The actual number of buffers required is six, each having four chunks, as shown in Fig. 5. Fig. 7 helps to explain how buffers are allocated using the above scheme. As explained above, each buffer is divided into four chunks, each having a 192 symbol capacity.
  • the first half of frame 0, channels 0-3 and 4-7 are received, into buffers B0' and Bl', respectively. That is, the first half of frame 0, channels 0-3 are stored into four chunks, respectively, in buffer B0' and the first half of frame 0, channels 4-7 are stored into four chunks, respectively, in buffer Bl'.
  • the second half of frame 0, channels 0-3 are stored into four chunks, respectively, in buffer B2' and the second half of frame 0, channels 4- 7 are stored into four chunks, respectively, in buffer B3'.
  • the frame of symbols can be decoded. Therefore, as frame 1 is received, the first half of frame 1, channels 0-3 and 4-7 are stored in buffers B4' and B5', respectively, while frame 0, channels 0-3 are decoded, freeing up buffers B0' and B2'.
  • the second half of frame 1 is received, the second half of channels 0-3 are stored in newly available buffer B0' and the second half of channels 4-7 are stored in newly available buffer B2'. Meanwhile the first and second halves of frame 0, channels 4-7 are decoded, freeing up buffers Bl' and B3'.
  • channels 0-3 and 4-7 are received, they are stored in buffers B5' and B2', respectively, while frame 2, channels 0-3 are decoded, freeing up buffers Bl' and B4'.
  • channels 0-3 and 4-7 are received, they are stored, respectively, in buffer Bl' and B4', while frame 2, channels 4-7 are decoded, freeing up buffers B0' and B3'.
  • channels 0-3 and 4-7 are received, they are stored in buffers B3' and B0', respectively, while frame 3, channels 0-3 are decoded, freeing up buffer Bl' and B5'.
  • channels 0-3 and 4-7 are received, they are stored, respectively, in buffers B5' and Bl', while frame 3, channels 4-7 are decoded, freeing up buffers B2' and B4'.
  • channels 0-3 and 4-7 are received, they are stored in buffers B2' and B4', respectively, while frame 4, channels 0-3 are decoded, freeing up buffer B3' and B5'.
  • channels 0-3 and 4-7 are received, they are stored, respectively, in buffer B3' and B5', respectively, while frame 4, channels 4-7 are decoded, freeing up buffers B0' and Bl'.
  • channels 0-3 and 4-7 are received, they are stored in buffers B0' and Bl', respectively, while frame 5, channels 0-3 are decoded, freeing up buffers B2' and B3'.
  • channels 0-3 and 4-7 are received, they are stored, respectively, in buffers B2' and B3', while frame 5, channels 4-7 are decoded, freeing up buffers B4' and B5'.
  • the buffer allocation pattern for frame 6 is a repeat of the pattern for frame 0, except that the pattern of frame 6 assumes that a previous frame of data was received.
  • Fig. 7 one can easily determine which buffer should be read by the decoder if one maintains a four-bit counter which is incremented, for example, every 10 ms, if one knows whether the symbols are for channels 0-3 or 4-7, and if one knows whether to read the first or second half of the frames for the channel set.
  • Fig. 6 is an example of hardware which provides the above information needed to determine from which buffer to read and to which buffer to store the half frames of symbols.
  • counter 71 is a four- bit modulo-12 counter.
  • An enable signal is set every 10 ms to cause the counter 71 to increment every half-frame time period.
  • counter 71 increments, every 10 ms, within the range of 0-11.
  • the three most significant bits of counter 71 are latched into register 73 every 20 ms, just before counter 71 is incremented.
  • the register 73 holds the previous frame number.
  • Concatenater 95 receives the three-bit output of register 73, indicating the frame number, RD-CHA NEL is a one-bit signal from a counter (not shown) used by the decoder to keep track of the channel being decoded. When RD-CHANNEL is 0, channels 0-3 are indicated, otherwise, channels 4-7 are indicated, RD-SECOND HALF is a one-bit signal from the decoder indicating whether the first or second half of the frame of symbols are to be read. Concatenater 95 receives the three inputs and concatenates them into a five- bit output, which is supplied to multiplexor 75. When the READ signal, supplied to multiplexor 75 is 1, the output of concatenater 95 is output from multiplexor 75.
  • Concatenater 93 receives the four-bit signal from counter 71.
  • a one- bit signal, WR-CHANNEL is input to concatenater 93 indicating whether the information to be stored pertains to channels 0-3 (value 0) or 4-7 (value 1).
  • WR-CHANNEL is derived from the most significant bit of a three-bit channel ID number.
  • the two signals are concatenated by concatenater 93 and output as a five-bit signal to multiplexor 75. Multiplexor 75 outputs the five-bit signal when the READ signal is 0.
  • register 73 of Fig. 6 is a "subtract by 1" block.
  • the upper three bits of counter 71 enter the "subtract by 1" block and the output of the "subtract by 1" block is simply the input value less 1.
  • the output of the "subtract by 1" block is in a range of -1 to 4. Therefore, the value -1 in the "subtract by 1" block must be mapped to the value 5. Otherwise this alternate embodiment is identical to that shown in Fig. 6.
  • the buffers may be part of a single memory or multiple memories.
  • the buffers may be included in one or more memories within at least one deinterleaver or separate from the deinterleaver.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Error Detection And Correction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A voice and data communication system and method for receiving symbols for a plurality of channels into chunks included within buffers, each chunk holding symbols for only a corresponding one of the plurality of channels. As complete frames are received and decoded, the chunks holding the symbols, that are decoded, are freed up to be used for reception of newly arriving symbols included in newly arriving frames.

Description

A SYSTEM AND METHOD FOR REDUCING DEINTERLEAVER MEMORY REQUIREMENTS THROUGH CHUNK
ALLOCATION
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates in general to voice and data communications. In particular, the invention pertains to deinterleaving and decoding symbols received over a plurality of channels.
Description of the Related Art
A periodic stream of symbols is received by a deinterleaver and output to a decoder which processes the received symbols. If the deinterleaver deinterleaves the n symbols received during a frame period, then n symbols need to be received by the deinterleaver before being processed by the decoder. A typical bit-reversal deinterleaver would take the n symbols and write them into a two-dimensional table, row by row, and then read the n symbols out column by column, or vice versa. As a result, if the decoder needs to operate on the deinterleaved symbols in order, then typically, the deinterleaver must wait until almost all of the n symbols have been received. Thus, effectively, a periodic stream of symbols must be buffered in one place and then provided to the decoder when the n symbols have been received.
While the decoder is processing a buffer of n symbols, more symbols are being received by the deinterleaver. Therefore, the potential exists to overwrite symbols that have not yet been processed by the decoder. Known systems solve this problem by double-buffering the received symbols.
Fig. 1 shows a first buffer 10 and a second buffer 20 in a known system for deinterleaving and decoding symbols received during frame periods, n symbols being received during each frame period. Each buffer can store up to n symbols. When the symbols are first received from a deinterleaver 15, n symbols are stored in, for example, first buffer 10. After n~ symbols are received, the n symbols in first buffer 10 are then processed by a decoder 30. However, while decoder 30 decodes the n symbols, a stream of symbols continues to be received by the deinterleaver. If the symbols are stored in first buffer 10 before the decoder completes processing, then the previously received symbols will be overwritten before being processed. In order to prevent this from occurring, known systems solve this problem by allocating a second buffer 20 to receive n symbols while the decoder processes the n symbols in buffer 10. Since the process of decoding is faster than the process of receiving symbols from a deinterleaver, by the time n symbols are received and stored in buffer 20, the decoder is again available and the symbols in buffer 20 can be processed by the decoder while buffer 10 is reallocated to receive another stream of n symbols.
SUMMARY OF THE INVENTION
The present invention provides a new arrangement for receiving and storing received symbols from a deinterleaver and decoding the received symbols. The system allocates memory for holding the received symbols, such that as symbols are received from a plurality of channels during frame periods, symbols received during previous frame periods for the plurality of channels are decoded, thereby freeing up memory holding the symbols, which have been decoded, to be re-allocated for the reception of new symbols. The system requires less buffer space than a conventional double- buffered system.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 shows a double-buffered system for the reception of symbols from deinterleavers.
Fig. 2 shows a system for the reception of symbols from a deinterleaver, which requires less memory for the reception and decoding of frames of symbols. Fig. 3 shows an embodiment of the invention receiving frames of symbols for eight channels, through a deinterleaver.
Fig. 4 shows a system for the reception of symbols into buffers, wherein the symbols are stored into chunks within buffers. Fig. 5 shows a preferred embodiment receiving symbols into 6 buffers, each buffer being divided into four chunks.
Fig. 6 shows an example of hardware for implementing the scheme described in Fig. 7.
Fig. 7 shows an example of buffer allocation as symbols are received for a plurality of channels over a plurality of frames.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Symbols are received during a time frame or, simply, a frame. Consider, for example, a system which, during a frame, receives n symbols from a deinterleaver 17 every 20 ms. The system has a decoder 30 which takes 10 ms to decode the symbols received during one frame. As illustrated in Fig. 2, after the complete first frame of symbols has been received into, for example, a buffer 12, which is capable of storing n symbols, the decoder can process the complete frame. During the 10 ms in which the decoder decodes the symbols stored in buffer 12, n/2 symbols of the next frame are received. These n/2 symbols can be stored in a second buffer 22 which has a capacity to store n/2 symbols. The remaining n/2 symbols of that frame can be stored in the first or second half of buffer 12. This can be done because the contents of buffer 12 were just decoded and no longer need to be saved. Thus, the system can operate with buffers capable of storing 1.5 frames of n symbols. This is a 25% improvement over known systems that perform double- buffering.
If the decoder processing time is different from the example above, then the storage requirement changes. For example, in a system in which frames of symbols are received every 20 ms and the decoder processing time is 15 ms, then while the decoder processes a received frame of n symbols, 15/20 * n or .75 * n symbols are received. These can be received into a second buffer having a capacity of .75 * n symbols. In this example, the reduction in buffer space is only 12.5% over conventional systems that perform double- buffering. Now consider a system having x channels of symbols simultaneously received and separately processed by the decoder, perhaps serially. For example, as shown in Fig. 3, if eight streams of symbols from eight different channels are separately strobed into the deinterleaver 40, and buffered by buffers, collectively designated as buffers 60, but a single decoder 30 is used to process all eight streams in sequence, assuming that a frame is 20 ms, then the decoder must complete processing of each of the eight streams received during the frame in no more than 20/8=2.5 ms. Consequently, then during the first frame, 8 * n symbols are received and stored in eight buffers, each buffer storing n symbols. This can be, for example, buffers B1-B8 of Fig. 4. Buffer Bl stores symbols for channel 1, B2 for channel 2, B3 for channel 3, etc. While the decoder processes the first channel, n/8 symbols are received for each channel, which can be stored in a ninth buffer, for example, buffer B9 of size n. However, because the decoder has completed the processing of one frame of symbols for one channel, n memory locations in buffer Bl, have become free and can then be used for receiving n symbols while the decoder processes the next channel. While the decoder processes the second channel, n/8 symbols are received for each channel and stored in, for example buffer Bl. Once the decoder is finished with the eighth channel of symbols, stored in B8, buffers Bl through B7 and B9 are filled. However, each buffer does not contain a single channel's symbols. Because the channels were received in n/8 symbol size pieces, or chunks, the data for a channel is contained in eight such chunks, spread across eight buffers. Therefore, at this point, each of buffers Bl through B7 and B9 contain symbols for each of the eight channels, each channel's symbols being stored in one of the eight chunks of each buffer. As the decoder processes the channels, new symbols will be received and stored into the chunks as they become available. Using this scenario, it would only be necessary to buffer 9 * n symbols of storage, instead of the 16 * n that would be required when using double buffering, thereby requiring 43.75% less memory than a double- buffering system. The difficulty here is that the system is actually managing 9*8 or 72 buffers.
A "resource allocator" can be used to allocate chunks used for symbol storage. As the decoder completes processing of symbols (either on a per channel basis, or a per chunk basis), it can free up the chunks storing the decoded symbols, so that they may be reused by the resource allocator. If the system uses x channels and n symbols per channel per frame, then x*(x+l) chunks of memory must be available. The resource allocator can utilize an x*(x+l) bit map, in which each bit of 0 indicates a corresponding available chunk, and each bit of 1 indicates a corresponding used chunk. Thus, whenever a chunk is allocated, the first free chunk is provided and its corresponding bit in the bit map is set. Whenever the chunk is freed, its corresponding bit in the bit map is reset to 0. The preferred embodiment supports IS95B, which is a recognized standard. IS95B is described in "TR45 Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular Systems", Ballot Version, TIA/EIA/SP-3693 to be known as TIA/EIA-95, November 18, 1997, and is incorporated herein by reference. This embodiment includes a fundamental channel and seven supplemental channels. The fundamental channel takes longer to decode than each of the supplemental channels. A maximum number of eight channels of 384 symbols per frame are received by the deinterleavers. Therefore, for the sake of simplicity, we assume that 384 symbols are received for each channel during a frame.
Each decoded channel frees storage space for 384 symbols. If the chunk size is 192 symbols and the buffer size is four chunks, then four buffers, or 16 chunks are required to store eight channels of one frame of symbols. While decoding the fundamental channel, data can be stored into eight additional chunks, but two chunks would free up after decoding a channel. This scheme requires twenty-four chunks of memory, enough to store 4,608 symbols. The actual number of buffers required is six, each having four chunks, as shown in Fig. 5. Fig. 7 helps to explain how buffers are allocated using the above scheme. As explained above, each buffer is divided into four chunks, each having a 192 symbol capacity. First, the first half of frame 0, channels 0-3 and 4-7 are received, into buffers B0' and Bl', respectively. That is, the first half of frame 0, channels 0-3 are stored into four chunks, respectively, in buffer B0' and the first half of frame 0, channels 4-7 are stored into four chunks, respectively, in buffer Bl'.
Next, the second half of frame 0, channels 0-3 are stored into four chunks, respectively, in buffer B2' and the second half of frame 0, channels 4- 7 are stored into four chunks, respectively, in buffer B3'. After a frame of symbols is completely received, the frame of symbols can be decoded. Therefore, as frame 1 is received, the first half of frame 1, channels 0-3 and 4-7 are stored in buffers B4' and B5', respectively, while frame 0, channels 0-3 are decoded, freeing up buffers B0' and B2'. When the second half of frame 1, is received, the second half of channels 0-3 are stored in newly available buffer B0' and the second half of channels 4-7 are stored in newly available buffer B2'. Meanwhile the first and second halves of frame 0, channels 4-7 are decoded, freeing up buffers Bl' and B3'. During frame 2, the first half frame of symbols for channels 0-3 and 4-
7 are stored in buffers Bl' and B3', respectively, while the first and second halves of frame 1, channels 0-3 are decoded, freeing up buffers B0' and B4'. Next, the second half of frame 2, channels 0-3 and 4-7 are received into buffers B4 and B0, respectively, while frame 1, channels 4-7 are decoded, freeing up buffers B2' and B5'.
As the first half of frame 3, channels 0-3 and 4-7 are received, they are stored in buffers B5' and B2', respectively, while frame 2, channels 0-3 are decoded, freeing up buffers Bl' and B4'. When the second half of frame 3, channels 0-3 and 4-7 are received, they are stored, respectively, in buffer Bl' and B4', while frame 2, channels 4-7 are decoded, freeing up buffers B0' and B3'.
As the first half of frame 4, channels 0-3 and 4-7 are received, they are stored in buffers B3' and B0', respectively, while frame 3, channels 0-3 are decoded, freeing up buffer Bl' and B5'. When the second half of frame 4, channels 0-3 and 4-7 are received, they are stored, respectively, in buffers B5' and Bl', while frame 3, channels 4-7 are decoded, freeing up buffers B2' and B4'. As the first half of frame 5, channels 0-3 and 4-7 are received, they are stored in buffers B2' and B4', respectively, while frame 4, channels 0-3 are decoded, freeing up buffer B3' and B5'. When the second half of frame 5, channels 0-3 and 4-7 are received, they are stored, respectively, in buffer B3' and B5', respectively, while frame 4, channels 4-7 are decoded, freeing up buffers B0' and Bl'.
As the first half of frame 6, channels 0-3 and 4-7 are received, they are stored in buffers B0' and Bl', respectively, while frame 5, channels 0-3 are decoded, freeing up buffers B2' and B3'. When the second half of frame 6, channels 0-3 and 4-7 are received, they are stored, respectively, in buffers B2' and B3', while frame 5, channels 4-7 are decoded, freeing up buffers B4' and B5'. Note that the buffer allocation pattern for frame 6 is a repeat of the pattern for frame 0, except that the pattern of frame 6 assumes that a previous frame of data was received.
As can be seen from examining Fig. 7, one can easily determine which buffer in which to store the symbols if one maintains a four-bit counter which is incremented, for example, every 10 ms, and if one knows whether the symbols are for channels 0-3 or 4-7.
Similarly, as can be seen from Fig. 7, one can easily determine which buffer should be read by the decoder if one maintains a four-bit counter which is incremented, for example, every 10 ms, if one knows whether the symbols are for channels 0-3 or 4-7, and if one knows whether to read the first or second half of the frames for the channel set.
As illustrated above, one can easily determine which buffer from which to read or to which to write based on knowing the channel set (0-3 or 4-7), whether a read or a write operation is to be performed, and whether the first or second half-frames are to be received into buffers or are to be read from buffers. One of ordinary skill in the art would know how to represent Fig. 7 in a memory device and how to provide an indication of which buffer to access based on the above-mentioned inputs.
Fig. 6 is an example of hardware which provides the above information needed to determine from which buffer to read and to which buffer to store the half frames of symbols. For example, counter 71 is a four- bit modulo-12 counter. An enable signal is set every 10 ms to cause the counter 71 to increment every half-frame time period. Thus, counter 71 increments, every 10 ms, within the range of 0-11. The three most significant bits of counter 71 are latched into register 73 every 20 ms, just before counter 71 is incremented. Thus, the register 73 holds the previous frame number.
Concatenater 95 receives the three-bit output of register 73, indicating the frame number, RD-CHA NEL is a one-bit signal from a counter (not shown) used by the decoder to keep track of the channel being decoded. When RD-CHANNEL is 0, channels 0-3 are indicated, otherwise, channels 4-7 are indicated, RD-SECOND HALF is a one-bit signal from the decoder indicating whether the first or second half of the frame of symbols are to be read. Concatenater 95 receives the three inputs and concatenates them into a five- bit output, which is supplied to multiplexor 75. When the READ signal, supplied to multiplexor 75 is 1, the output of concatenater 95 is output from multiplexor 75.
Concatenater 93 receives the four-bit signal from counter 71. A one- bit signal, WR-CHANNEL, is input to concatenater 93 indicating whether the information to be stored pertains to channels 0-3 (value 0) or 4-7 (value 1). WR-CHANNEL is derived from the most significant bit of a three-bit channel ID number. The two signals are concatenated by concatenater 93 and output as a five-bit signal to multiplexor 75. Multiplexor 75 outputs the five-bit signal when the READ signal is 0.
As can easily be seen, if READ is low, indicating a write operation into a buffer, and if the counter 71 is 0011, and WR-CHANNEL is high or 1, then the output of concatenater 93 indicates frame 1, second half frame, and channel set 4-7. Thus it can be determined that the second half frame of symbols for channels 4-7 in frame 1 are to be stored in buffer 2' (see Fig. 7). Similarly, assume the register 73 has the value 001, RD-SECOND HALF is high or 1, READ is high, indicating a read operation, and RD-CHANNEL is high. The output of concatenater 95 indicates frame 1, second half, and channel set 4-7. It can easily be determined that buffer 3' is to be read. Preferably, register 73 of Fig. 6 is a "subtract by 1" block. In this preferred embodiment, the upper three bits of counter 71 enter the "subtract by 1" block and the output of the "subtract by 1" block is simply the input value less 1. However, it is important to note that because the upper three bits of counter 71 are in a range of 0 to 5, the output of the "subtract by 1" block is in a range of -1 to 4. Therefore, the value -1 in the "subtract by 1" block must be mapped to the value 5. Otherwise this alternate embodiment is identical to that shown in Fig. 6.
While this invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. Furthermore, although the invention uses buffers to store symbols, the buffers may be part of a single memory or multiple memories. In addition, the buffers may be included in one or more memories within at least one deinterleaver or separate from the deinterleaver. WHAT IS CLAIMED IS:

Claims

1. A method of reducing memory requirements in a system including at least one deinterleaver and a decoder, said system being constructed and arranged to receive a plurality of symbols for a plurality of channels, said method comprising: making a plurality of buffers in a memory available for receiving said symbols, each of said buffers including a plurality of chunks; receiving and storing at least a portion of a frame period of said symbols for at least some of said plurality of channels into corresponding ones of said chunks, each of said corresponding ones of said chunks storing symbols of only a corresponding one of said channels; decoding said symbols received during frame periods for said at least some of said plurality of channels after said symbols are stored into said chunks during complete ones of said frame periods; and making said chunks, which store said symbols having been decoded, available for receiving additional symbols.
2. A method according to claim 1, wherein a total amount of capacity of said buffers for storing said received symbols for said channels is less than a total amount of capacity of said buffers required to store two complete ones of said frame periods of said symbols for all of said channels.
3. A method according to claim 1, wherein decoding said symbols received during said frame periods is performed serially.
4. A method according to claim 1, wherein a number of said plurality of said channels is eight channels.
5. A method according to claim 1, wherein a number of chunks, having a total cumulative capacity of 384 symbols, is made available for storing said additional symbols for each of said channels decoded during each of said frame periods.
6. A method according to claim 1, wherein each of said chunks has a capacity to store 192 symbols.
7. A combination, including at least one deinterleaver and a decoder, constructed and arranged to receive a plurality of symbols for a plurality of channels, said combination comprising: at least one memory including a plurality of buffer areas available for receiving said symbols, each of said buffer areas including a plurality of chunks; means for receiving and storing said symbols, received during at least a portion of frame periods, for at least some of said plurality of channels into corresponding ones of said chunks, each of said corresponding ones of said chunks storing symbols of only a corresponding one of said channels; means for decoding said symbols for said at least some of said plurality of channels after said symbols for said at least some of said plurality of channels are received into said chunks during complete ones of said frame periods; and means for making said chunks, which store said symbols having been decoded, available for receiving additional symbols.
8. A combination according to claim 7, wherein a total amount of capacity of said buffer areas for storing said received plurality of symbols for said plurality of channels is less than a total amount of capacity of said buffer areas required to store said symbols for two complete frame periods for all of said channels.
9. A combination according to claim 7, wherein said decoding means is arranged to decode said symbols serially.
10. A combination according to claim 7, wherein a number of said channels is eight channels.
11. A combination according to claim 7, wherein a number of chunks, having a total cumulative capacity of 384 symbols, is made available for storing said additional symbols for each of said channels decoded during each of said frame periods.
12. A combination according to claim 7, wherein each of said chunks has a capacity to store 192 symbols.
13. A combination constructed and arranged to receive a plurality of symbols for a plurality of channels, comprising: at least one memory including a plurality of buffer areas available for receiving said symbols, each of said buffer areas including a plurality of chunks; at least one deinterleaver being arranged to receive said symbols, for at least some of said plurality of channels, during at least a portion of frame periods, said at least one deinterleaver being arranged to store said received symbols into corresponding ones of said chunks, each of said corresponding ones of said chunks storing symbols of only a corresponding one of said channels; a decoder being arranged to decode said symbols for said at least some of said plurality of channels after said symbols for said at least some of said plurality of channels are received into said chunks from said at least one deinterleaver during complete ones of said frame periods; and means for making said chunks, which store said symbols having been decoded, available for receiving additional symbols.
14. A combination according to claim 13, wherein a total amount of capacity of said buffer areas for storing said received plurality of symbols for said plurality of channels is less than a total amount of capacity of said buffer areas required to store said symbols for two complete frame periods for all of said channels.
15. A combination according to claim 13, wherein said decoder is arranged to decode said symbols serially.
16. A combination according to claim 13, wherein a number of said channels is eight channels.
17. A combination according to claim 13, wherein a number of chunks, having a total cumulative capacity of 384 symbols, is made available for storing said additional symbols for each of said channels decoded during each of said frame periods.
18. A combination according to claim 13, wherein each of said chunks has a capacity to store 192 symbols.
19. A combination according to claim 13, further including control circuitry, said control circuitry comprising: a counter comprising at least four bits, said counter being arranged to be incremented every first predetermined time interval; a register arranged to receive at least three bits of said at least four bits of said counter, said at least three bits of said counter indicating a particular frame period, said register being enabled to receive said at least three bits every second predetermined time period, said second predetermined time period being larger than said first predetermined time period; a first concatenater arranged to receive said at least three bits from said register, a RDChannel indicator, arranged to provide an indication of at least a portion of a channel number to be read by said decoder, and a RD-Second half indicator from said decoder, said RD-Second half indicator being arranged to provide an indication of whether a first or a second half of a frame of symbols is to be read; a second concatenater arranged to receive said at least four bits from said counter during each of said first predetermined time periods and a WR-Channel indicator, arranged to provide an indication of a channel number corresponding to at least one channel being received; and a multiplexer arranged to receive an output from said first concatenater and an output from said second concatenater, said multiplexer being arranged to select as an output one of said received output from said first concatenater and said received output from said second concatenater, based on a signal provided to said multiplexer.
20. A combination according to claim 13, further including control circuitry, said control circuitry comprising: a counter comprising at least four bits, said counter being arranged to be incremented every first predetermined time interval; a subtract-by-1 block arranged to receive at least three bits of said at least four bits of said counter, said at least three bits of said counter indicating a particular frame period; a first concatenater arranged to receive an output from said subtract-by-1 block, a RDChannel indicator, arranged to provide an indication of at least a portion of a channel number to be read by said decoder, and a RD-Second half indicator from said decoder, said RD-Second half indicator being arranged to provide an indication of whether a first or a second half of a frame of symbols is to be read; a second concatenater arranged to receive said at least four bits from said counter during each of said first predetermined time periods and a WR-Channel indicator, arranged to provide an indication of a channel number corresponding to at least one channel being received; and a multiplexer arranged to receive an output from said first concatenater and an output from said second concatenater, said multiplexer being arranged to select as an output one of said received output from said first concatenater and said received output from said second concatenater, based on a signal provided to said multiplexer.
21. A combination according to claim 7, further comprising: means for identifying a buffer from which to read, from said plurality of buffers, based on a frame number and an indication of a channel number.
22. A combination according to claim 7, further comprising: means for identifying a buffer in which to write, from said plurality of buffers, based on a frame number and an indication of a channel number.
23. A combination according to claim 13, further comprising: means for identifying a buffer from which to read, from said plurality of buffers, based on a frame number and an indication of a channel number.
24. A combination according to claim 13, further comprising: means for identifying a buffer to which to write, from said plurality of buffers, based on a frame number and an indication of a channel number.
PCT/US1999/026182 1998-11-05 1999-11-05 A system and method for reducing deinterleaver memory requirements through chunk allocation WO2000027036A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA002349456A CA2349456A1 (en) 1998-11-05 1999-11-05 A system and method for reducing deinterleaver memory requirements through chunk allocation
JP2000580307A JP2002529952A (en) 1998-11-05 1999-11-05 System and method for reducing memory requirements of a deinterleaver by chunk allocation
BR9915032-8A BR9915032A (en) 1998-11-05 1999-11-05 System and method to reduce the need for deinterleaver memory by allocating chunks
AU20219/00A AU759528B2 (en) 1998-11-05 1999-11-05 A system and method for reducing deinterleaver memory requirements through chunk allocation
EP99963866A EP1127412A2 (en) 1998-11-05 1999-11-05 A system and method for reducing deinterleaver memory requirements through chunk allocation
HK02105490.2A HK1043886B (en) 1998-11-05 2002-07-25 A system and method for reducing deinterleaver memory requirements through chunk allocation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/187,686 1998-11-05
US09/187,686 US6278715B1 (en) 1998-11-05 1998-11-05 System and method for reducing deinterleaver memory requirements through chunk allocation

Publications (3)

Publication Number Publication Date
WO2000027036A2 true WO2000027036A2 (en) 2000-05-11
WO2000027036A3 WO2000027036A3 (en) 2000-08-10
WO2000027036A9 WO2000027036A9 (en) 2000-09-28

Family

ID=22690036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/026182 WO2000027036A2 (en) 1998-11-05 1999-11-05 A system and method for reducing deinterleaver memory requirements through chunk allocation

Country Status (10)

Country Link
US (1) US6278715B1 (en)
EP (1) EP1127412A2 (en)
JP (2) JP2002529952A (en)
KR (1) KR100680454B1 (en)
CN (1) CN1168222C (en)
AU (1) AU759528B2 (en)
BR (1) BR9915032A (en)
CA (1) CA2349456A1 (en)
HK (1) HK1043886B (en)
WO (1) WO2000027036A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439029B1 (en) * 2002-01-04 2004-07-03 삼성전자주식회사 Parallel de-interleaver and receiver including the de-interleaver in CDMA transfer system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526495B1 (en) * 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth
US7512764B2 (en) * 2001-08-24 2009-03-31 Tian Holdings, Llc Method for allocating a memory of a de-interleaving unit
KR100447175B1 (en) * 2001-12-03 2004-09-04 엘지전자 주식회사 turbo decoding method and Apparatus for the same
US20040028066A1 (en) * 2002-08-06 2004-02-12 Chris Quanbeck Receiver architectures with dynamic symbol memory allocation and methods therefor
US11297339B2 (en) * 2017-12-06 2022-04-05 V-Nova International Limited Methods and apparatuses for hierarchically encoding and decoding a bytestream

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0660558A2 (en) * 1993-12-23 1995-06-28 Nokia Mobile Phones Ltd. Interleaving method and apparatus for digital data transmission in GSM-networks
EP0681373A2 (en) * 1994-05-04 1995-11-08 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
EP0715432A2 (en) * 1994-11-29 1996-06-05 AT&T Corp. Interleaver and address generator for mobile communication systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0634306B2 (en) * 1983-04-15 1994-05-02 ソニー株式会社 Interleave circuit
JP3242750B2 (en) * 1993-05-19 2001-12-25 三菱電機株式会社 Signal converter and communication system
CA2124709C (en) * 1993-08-24 1998-06-09 Lee-Fang Wei Reduced speed equalizer
EP0687373A1 (en) * 1993-12-30 1995-12-20 Koninklijke Philips Electronics N.V. Automatic segmentation and skinline detection in digital mammograms
US5519734A (en) * 1994-08-15 1996-05-21 Lsi Logic Corporation Synchronization arrangement for decoder-de-interleaver
US5710783A (en) * 1995-06-07 1998-01-20 Luthi; Daniel A. Optimization of synchronization control in concatenated decoders
US5784392A (en) * 1995-06-26 1998-07-21 Nokia Mobile Phones Ltd. Viterbi decoder with l=2 best decoding paths
JPH09102748A (en) * 1995-10-04 1997-04-15 Matsushita Electric Ind Co Ltd Interleave circuit
US6012159A (en) * 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
JPH10209884A (en) * 1997-01-21 1998-08-07 Matsushita Electric Ind Co Ltd Interleave circuit and de-interleave circuit
US6094465A (en) * 1997-03-21 2000-07-25 Qualcomm Incorporated Method and apparatus for performing decoding of CRC outer concatenated codes
US6088387A (en) * 1997-12-31 2000-07-11 At&T Corp. Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder
JP3359291B2 (en) * 1998-07-17 2002-12-24 株式会社ケンウッド Deinterleave circuit
JP4045664B2 (en) * 1998-08-28 2008-02-13 ソニー株式会社 Data rearranging device and method, and receiving device
US6120626A (en) * 1998-10-23 2000-09-19 Autoliv Asp Inc. Dispensing fibrous cellulose material
KR100681373B1 (en) * 2004-11-15 2007-02-15 이근주 Swing device of mobile terminal equipment
KR100715432B1 (en) * 2005-11-22 2007-05-09 한국과학기술원 Wire-cutting device for aircraft

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0660558A2 (en) * 1993-12-23 1995-06-28 Nokia Mobile Phones Ltd. Interleaving method and apparatus for digital data transmission in GSM-networks
EP0681373A2 (en) * 1994-05-04 1995-11-08 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
EP0715432A2 (en) * 1994-11-29 1996-06-05 AT&T Corp. Interleaver and address generator for mobile communication systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H. HUANG AND CHIH-LIN I: "Combined Pilot Multipath Noise Cancellation and Partial Decorrelation for Coherent Multicode CDMA Receivers" IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, 3 - 8 November 1997, pages 904-909, XP002136540 Phoenix, AZ, USA *
H.M. KWON, S. RATANAMAHATANA, J.H. SHIM: "One Viterbi Decoder with Data Rate Estimation for IS-95 CDMA Wireless Communications" IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, 3 - 8 November 1997, pages 594-598, XP002136541 Phoenix, AZ, USA *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439029B1 (en) * 2002-01-04 2004-07-03 삼성전자주식회사 Parallel de-interleaver and receiver including the de-interleaver in CDMA transfer system

Also Published As

Publication number Publication date
WO2000027036A9 (en) 2000-09-28
KR100680454B1 (en) 2007-02-08
WO2000027036A3 (en) 2000-08-10
AU759528B2 (en) 2003-04-17
BR9915032A (en) 2002-01-02
CA2349456A1 (en) 2000-05-11
JP2011010311A (en) 2011-01-13
EP1127412A2 (en) 2001-08-29
HK1043886A1 (en) 2002-09-27
HK1043886B (en) 2005-05-20
AU2021900A (en) 2000-05-22
KR20010080951A (en) 2001-08-25
US6278715B1 (en) 2001-08-21
CN1168222C (en) 2004-09-22
JP2002529952A (en) 2002-09-10
CN1348630A (en) 2002-05-08

Similar Documents

Publication Publication Date Title
KR100663248B1 (en) Simultaneous addressing using single-port rams
GB2317540A (en) Base-band interleaver for code division multiple access mobile telecommunicatio system
US4358829A (en) Dynamic rank ordered scheduling mechanism
JP2011010311A (en) Method, apparatus and medium for reducing memory requirement of de-interleave device by chunk distribution
US6704848B2 (en) Apparatus for controlling time deinterleaver memory for digital audio broadcasting
US20060101319A1 (en) Input buffer device for de-rate matching in high speed turbo decoding block and method thereof
JP3571304B2 (en) Interleaver memory access apparatus and method for CDMA system
KR100219842B1 (en) Mobile telephone system
US6346896B1 (en) Decoding apparatus and method for deinterleaving data
US6493354B1 (en) Resource allocator
KR100526541B1 (en) Apparatus and method for comprising symbol buffer memory of modem in mobile communication system
CN1138423C (en) Bit stream buffering and demultiplexing apparatus for DVD audio decoding system
KR100248395B1 (en) Design method of channel encoder in digital communication
US7061988B2 (en) Interleaver memory access apparatus and method of mobile communication system
AU624745B2 (en) Packet/fast packet switch for voice and data
US7586993B2 (en) Interleaver memory selectably receiving PN or counter chain read address
CA2064272C (en) Circuit managing numbers of accesses to logic resources
KR100255762B1 (en) Address generator for read operation in block interleaver
JPS6015971B2 (en) buffer storage device
US7899022B2 (en) Block de-interleaving system
KR100215903B1 (en) Read/write circuit for memory
SU1159067A1 (en) Read-only memory
JP2914289B2 (en) Control method of time division switch
EP0658983B1 (en) Encoding or decoding device comprising a paged memory
JPH0954676A (en) Method and device for orderly permutation

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99814693.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGE 6/6, DRAWINGS, REPLACED BY A NEW PAGE 6/6; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2349456

Country of ref document: CA

Ref document number: 2349456

Country of ref document: CA

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2000 580307

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020017005723

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1999963866

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20219/00

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 1020017005723

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1999963866

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 20219/00

Country of ref document: AU

WWG Wipo information: grant in national office

Ref document number: 1020017005723

Country of ref document: KR