WO2007109793A2 - Viterbi pack instruction - Google Patents
Viterbi pack instruction Download PDFInfo
- Publication number
- WO2007109793A2 WO2007109793A2 PCT/US2007/064816 US2007064816W WO2007109793A2 WO 2007109793 A2 WO2007109793 A2 WO 2007109793A2 US 2007064816 W US2007064816 W US 2007064816W WO 2007109793 A2 WO2007109793 A2 WO 2007109793A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- contents
- predicate register
- masking
- masked data
- register
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Definitions
- the present disclosure generally relates to a Viterbi pack instruction. More particularly, the disclosure relates to a Viterbi pack instruction for packing bits from multiple predicate registers into a single destination register.
- a Viterbi algorithm is an algorithm useful in communications. It may be used to decode convolutional codes used in wireless communications systems. Such codes are used in many forms of wireless communications, such as, for example only, code division multiple access (CDMA), CDMA2000, wideband code division multiple access (WCDMA), time division synchronous code division multiple access (TD-SCDMA), and global system for mobile communications (GSM).
- CDMA code division multiple access
- WCDMA wideband code division multiple access
- TD-SCDMA time division synchronous code division multiple access
- GSM global system for mobile communications
- a Viterbi algorithm may also be used as an error-correction scheme, in 802.11 wireless local access networks (WLANs), in speech recognition and for many other purposes.
- Viterbi path in a trellis of states where there are multiple states with multiple paths that lead to each state.
- To determine which transition between states is most likely one may compare the likelihood of different transitions.
- a survivor path can be determined for each relevant state transition period across the trellis.
- a traceback is later performed along the survivor paths to generate the output bits.
- a flag bit can represent the output of such a comparison. This output may be stored in memory, e.g., to be used later when performing the traceback. Having the results of several compares written into memory from separate registers takes up more memory.
- Viterbi pack instruction that packs the bits within two or more predicate registers into a single destination register to speed up processing time and save memory space.
- a Viterbi pack instruction includes packing selected bits of one predicate register and selected bits of another predicate register into a single destination register.
- the Viterbi pack instruction masks the contents of a first predicate register with a first masking value and masks the contents of a second predicate register with a second masking value.
- the resulting masked data is written to a destination register.
- the first masking value is a hexadecimal 55 and the second masking value is a hexadecimal AA.
- the resulting masked data is ORed together prior to writing it to the destination register.
- the Viterbi pack instruction comprises a
- the Viterbi pack circuit comprises a first and second predicate register, a destination register, memory, a first and second AND gate and an OR gate.
- a digital signal processor is disclosed that operates the Viterbi pack instruction.
- a wireless communications device is disclosed that comprises the Viterbi pack instruction.
- An advantage of one or more of the embodiments disclosed herein can include reducing the time to execute a Viterbi algorithm.
- An advantage of one or more of the embodiments disclosed herein can include saving memory space.
- Another advantage can include quicker acquisition time for a wireless communications device, such as a cellular phone, in a wireless communications system.
- FIG. 1 is an exemplary state diagram such as those associated with a Viterbi algorithm
- FIG. 2 is a vector diagram based on the state diagram of FIG. 1;
- FIG. 3 is a functional diagram depicting a vector compare instruction
- FIG. 4 is a functional diagram depicting a Viterbi pack instruction
- FIG. 5 is a flow chart depicting a method of a Viterbi pack instruction
- FIG. 6 is a logic diagram depicting a Viterbi pack instruction circuit
- FIG. 7 is a diagram of a wireless communication device incorporating a Viterbi pack instruction of any of FIGs 4-6.
- FIG. 1 illustrates an example of a trellis of states such as those associated with a
- Viterbi algorithm In this example, 16 possible states (0-15) are shown. As shown, each state on the right hand side 0-7 can be reached from two different states on the left side. For example, state 0 can be reached from either state 0 or state 8.
- FIG. 2 illustrates a vector diagram depicting the possible transitions between states shown in FIG. 1.
- A-D represents the transitions from states 0, 1, 2 and 3 to states 0, 2, 4 and 6.
- Vector B represents the transitions from states 8, 9, 10 and 11 to states 0, 2, 4, and 6.
- Vector C represents the transitions from states 0, 1, 2 and 3 to states 1, 3, 5 and 7.
- Vector D represents the transitions from states 8, 9, 10 and 11 to states 1, 3, 5 and 7.
- a vector comparison may be used that compares the likelihood of different transition vectors.
- a compare instruction may be one that is capable of performing byte compares, 16-bit half-word compares, word compares and long word compares so that the algorithm could be used in various situations.
- the comparison of a long word with another may, for example, generate an output of a single bit that indicates which long word is greater.
- a comparison of two words with two other words may generate an output of two bits, each bit representing the result of one of the word comparisons.
- four half-word compares may generate four bits and eight byte compares may generate eight bits.
- each of the compare results may be written into a byte of data in a destination register, with a long word compare the resulting bit may be written into all bits of a byte within the destination register rather than just one bit.
- the first resulting bit could be written into the first four bits of the byte and the second resulting bit could be written into the other four bits.
- the first resulting bit can be written into the first two bits, the second could be written into the next two bits and so on.
- FIG. 3 illustrates the functioning of a versatile vector compare instruction 100 that may be useful with a Viterbi algorithm, such as during a Viterbi decoding.
- a vector stored in register 101 is compared with the B vector stored in register 102 and the results are stored in predicate register 110.
- the vectors and registers may be of any appropriate size.
- the both the A vector and the B vector may consist of four 16-bit half-words, 10Iw-IOIz and 102w-102z, each half-word representing path metrics of one of the state transitions shown in FIGs 1 and 2, e.g., state 0 to state 0.
- the A vector may be stored in a 64 bit register 101 and the B vector may be stored in a 64 bit register 102.
- Register 101 and register 102 may alternatively be implemented as a plurality of registers. For instance, one or both may be comprised of two separate registers.
- Compares 103-106 each compare a respective half-word 10Iw-IOIz with a respective half-word 102w-102z, as shown.
- a versatile vector compare instruction may simply store the resulting bit for each compare 103-106 in two adjacent bits in predicate register 110.
- the result of compare 103, bit d may be written into both bits 7 and 6 of predicate register 110.
- bits c, b and a each may be written into two bits of predicate register 110.
- FIG. 4 illustrates the functioning of an exemplary Viterbi pack instruction 150.
- predicate register 110 contains the results of a vector compare instruction 100 and predicate register 120 contains the results of a vector compare instruction that may have compared other vectors, C and D, for example. Rather than leave the results of the two vector compare instructions in two registers, in Viterbi pack instruction 150 those results are packed into destination register 130. Destination register 130 may be of any adequate size, for example, 8 bits long or larger. Viterbi pack instruction 150 can be implemented through software, firmware, hardware or any combination thereof.
- Viterbi pack instruction 150 can be represented as follows:
- R D (P O &OX55)
- R D is destination register 130
- P 0 is first predicate register 110
- Pi is second predicate register 120.
- the even bits of predicate register 110 (d, c, b and a) are written into the even bits of destination register 130 (bits 6, 4, 2 and 0).
- the odd bits of predicate register 120 (h, g, f and e) are written into the odd bits of destination register 130 (bits 7, 5, 3 and 1).
- the bits in destination register 130 will alternate between the bits stored in the two predicate registers 110 and 120. In this fashion, the bits in destination register 130 are placed in a more natural order so as to speed up processing.
- FIG. 5 illustrates a Viterbi pack method.
- a first masking value may be applied to the contents of the first predicate register 110 and a second masking value may be applied to the contents of the second predicate register 120 in step 310.
- the first masking value may be a hexadecimal 55 and the second masking value may be a hexadecimal AA.
- other different hexadecimal masking values would be used.
- step 320 the masked data resulting from the two maskings are ORed together.
- step 330 the ORed data is written to destination register 130. These steps may occur on a bitwise basis with steps occurring concurrently for different bits if desired.
- FIG. 6 illustrates a non-limiting embodiment of a Viterbi pack circuit 400.
- the contents of first predicate register 110 are fed into AND gate 401 and ANDed with a hexadecimal 55, for example, which may be stored in memory 405 .
- the contents of second predicate register 120 are fed into AND gate 402 and ANDed with a hexadecimal AA, for example, which may be stored in memory 406.
- Memory 405 and memory 406 may be a single memory element or may be separate memory elements of any appropriate type.
- AND gates 401 and 402 are coupled to the input of OR gate 410.
- the output of OR gate 410 is fed to destination register 130.
- FIG. 7 illustrates an exemplary, non-limiting embodiment of a wireless communication device that is generally designated 520.
- the wireless communication device includes a system 522 that includes a digital signal processor 524.
- Display controller 526 is coupled to the digital signal processor 524 and a display 528.
- an input device 530 is coupled to the digital signal processor 524.
- a memory 532 is coupled to the digital signal processor 524.
- a coder/decoder (CODEC) 534 can be coupled to the digital signal processor 524.
- a speaker 536 and a microphone 538 can be coupled to the CODEC 530.
- Digital signal processor 524 may include hardware or firmware and/or be capable of executing software that is capable of performing a Viterbi pack instruction 550, which may be of the type of any of the examples provided in FIGs. 4-6. If the Viterbi pack instruction 550 is in the form of software, the software may alternatively be stored in memory 532 and merely be executed in digital signal processor 524
- FIG. 7 also indicates that a wireless controller 540 can be coupled to the digital signal processor 524 and a wireless antenna 542.
- a power supply 544 is coupled to the system 522.
- the display 528, the input device 530, the speaker 536, the microphone 538, the wireless antenna 542, and the power supply 544 may be external to the system 522. However, each is coupled to a component of the system 522.
- a software module may reside in RAM memory, flash memory, ROM memory, PROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
- An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium.
- the storage medium may be integral to the processor.
- the processor and the storage medium may reside in an ASIC.
- the ASIC may reside in a computing device or a user terminal.
- the processor and the storage medium may reside as discrete components in a computing device or user terminal.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Executing Machine-Instructions (AREA)
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| BRPI0708809-4A BRPI0708809A2 (pt) | 2006-03-23 | 2007-03-23 | instruÇço de empacotamento por viterbi |
| MX2008011985A MX2008011985A (es) | 2006-03-23 | 2007-03-23 | Instruccion de paquete de viterbi. |
| EP07759275A EP1997229A2 (en) | 2006-03-23 | 2007-03-23 | Viterbi pack instruction |
| CA002643940A CA2643940A1 (en) | 2006-03-23 | 2007-03-23 | Viterbi pack instruction |
| IN2124MUN2008 IN266883B (enExample) | 2006-03-23 | 2007-03-23 | |
| CN2007800095654A CN101405945B (zh) | 2006-03-23 | 2007-03-23 | 维特比压缩指令 |
| KR20157006068A KR20150038630A (ko) | 2006-03-23 | 2007-03-23 | 비터비 패킹 명령 |
| JP2009503182A JP5180186B2 (ja) | 2006-03-23 | 2007-03-23 | Viterbiパック命令 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/389,443 US8290095B2 (en) | 2006-03-23 | 2006-03-23 | Viterbi pack instruction |
| US11/389,443 | 2006-03-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2007109793A2 true WO2007109793A2 (en) | 2007-09-27 |
| WO2007109793A3 WO2007109793A3 (en) | 2007-12-27 |
Family
ID=38523331
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2007/064816 Ceased WO2007109793A2 (en) | 2006-03-23 | 2007-03-23 | Viterbi pack instruction |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US8290095B2 (enExample) |
| EP (1) | EP1997229A2 (enExample) |
| JP (1) | JP5180186B2 (enExample) |
| KR (3) | KR101585492B1 (enExample) |
| CN (1) | CN101405945B (enExample) |
| BR (1) | BRPI0708809A2 (enExample) |
| CA (1) | CA2643940A1 (enExample) |
| IN (1) | IN266883B (enExample) |
| MX (1) | MX2008011985A (enExample) |
| RU (1) | RU2008141908A (enExample) |
| WO (1) | WO2007109793A2 (enExample) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107220027A (zh) * | 2011-12-23 | 2017-09-29 | 英特尔公司 | 用于执行掩码位压缩的系统、装置以及方法 |
| US9390058B2 (en) * | 2013-09-24 | 2016-07-12 | Apple Inc. | Dynamic attribute inference |
| US9367309B2 (en) | 2013-09-24 | 2016-06-14 | Apple Inc. | Predicate attribute tracker |
| US9552205B2 (en) * | 2013-09-27 | 2017-01-24 | Intel Corporation | Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions |
| US10180840B2 (en) * | 2015-09-19 | 2019-01-15 | Microsoft Technology Licensing, Llc | Dynamic generation of null instructions |
| US10198263B2 (en) | 2015-09-19 | 2019-02-05 | Microsoft Technology Licensing, Llc | Write nullification |
| US10061584B2 (en) | 2015-09-19 | 2018-08-28 | Microsoft Technology Licensing, Llc | Store nullification in the target field |
| US10031756B2 (en) | 2015-09-19 | 2018-07-24 | Microsoft Technology Licensing, Llc | Multi-nullification |
| US11681531B2 (en) | 2015-09-19 | 2023-06-20 | Microsoft Technology Licensing, Llc | Generation and use of memory access instruction order encodings |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4012722A (en) * | 1975-09-20 | 1977-03-15 | Burroughs Corporation | High speed modular mask generator |
| US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
| US5752001A (en) * | 1995-06-01 | 1998-05-12 | Intel Corporation | Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition |
| US5621674A (en) | 1996-02-15 | 1997-04-15 | Intel Corporation | Computer implemented method for compressing 24 bit pixels to 16 bit pixels |
| CA2424556C (en) | 1997-04-17 | 2009-11-24 | Ntt Mobile Communications Network Inc. | Base station apparatus of mobile communication system |
| US6334202B1 (en) | 1998-07-22 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Fast metric calculation for Viterbi decoder implementation |
| US6798736B1 (en) | 1998-09-22 | 2004-09-28 | Qualcomm Incorporated | Method and apparatus for transmitting and receiving variable rate data |
| US20020002666A1 (en) * | 1998-10-12 | 2002-01-03 | Carole Dulong | Conditional operand selection using mask operations |
| US6115808A (en) * | 1998-12-30 | 2000-09-05 | Intel Corporation | Method and apparatus for performing predicate hazard detection |
| US6333954B1 (en) * | 1999-10-21 | 2001-12-25 | Qualcomm Incorporated | High-speed ACS for Viterbi decoder implementations |
| US6654878B1 (en) | 2000-09-07 | 2003-11-25 | International Business Machines Corporation | Register bit scanning |
| GB2367650B (en) | 2000-10-04 | 2004-10-27 | Advanced Risc Mach Ltd | Single instruction multiple data processing |
| US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
| US7313639B2 (en) * | 2003-01-13 | 2007-12-25 | Rambus Inc. | Memory system and device with serialized data transfer |
| KR20040085545A (ko) | 2003-03-31 | 2004-10-08 | 삼성전자주식회사 | 통신 시스템에서 오류 정정 부호의 복호 장치 및 방법 |
| US20050149701A1 (en) * | 2003-12-24 | 2005-07-07 | Inching Chen | Method, apparatus and system for pair-wise minimum and minimum mask instructions |
-
2006
- 2006-03-23 US US11/389,443 patent/US8290095B2/en active Active
-
2007
- 2007-03-23 RU RU2008141908/09A patent/RU2008141908A/ru not_active Application Discontinuation
- 2007-03-23 KR KR1020127022669A patent/KR101585492B1/ko not_active Expired - Fee Related
- 2007-03-23 BR BRPI0708809-4A patent/BRPI0708809A2/pt not_active IP Right Cessation
- 2007-03-23 MX MX2008011985A patent/MX2008011985A/es not_active Application Discontinuation
- 2007-03-23 WO PCT/US2007/064816 patent/WO2007109793A2/en not_active Ceased
- 2007-03-23 KR KR20157006068A patent/KR20150038630A/ko not_active Ceased
- 2007-03-23 IN IN2124MUN2008 patent/IN266883B/en unknown
- 2007-03-23 JP JP2009503182A patent/JP5180186B2/ja not_active Expired - Fee Related
- 2007-03-23 KR KR1020087025411A patent/KR20080112311A/ko not_active Ceased
- 2007-03-23 CN CN2007800095654A patent/CN101405945B/zh not_active Expired - Fee Related
- 2007-03-23 EP EP07759275A patent/EP1997229A2/en not_active Ceased
- 2007-03-23 CA CA002643940A patent/CA2643940A1/en not_active Abandoned
Non-Patent Citations (2)
| Title |
|---|
| I. BOGDAN, M. MUNTEANU, P. A. IVEY, N. L. SEED, N. POWELL: "Power Reduction Techniques for a Viterbi Decoder Implementation" INTERNET ARTICLE, [Online] 2000, XP002453565 Retrieved from the Internet: URL:http://hp-h.com/p/munte/publications/pdf/espld00.pdf> [retrieved on 2007-10-02] * |
| MAITANG MARK: "Bit Programming" INTERNET ARTICLE, [Online] 17 April 2005 (2005-04-17), XP002453566 Retrieved from the Internet: URL:http://elearning.algonquincollege.com/coursemat/markm/cst8811/bitprog.htm> [retrieved on 2006-10-02] * |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20080112311A (ko) | 2008-12-24 |
| JP2009531987A (ja) | 2009-09-03 |
| KR101585492B1 (ko) | 2016-01-22 |
| BRPI0708809A2 (pt) | 2011-06-14 |
| JP5180186B2 (ja) | 2013-04-10 |
| KR20150038630A (ko) | 2015-04-08 |
| CN101405945A (zh) | 2009-04-08 |
| CA2643940A1 (en) | 2007-09-27 |
| EP1997229A2 (en) | 2008-12-03 |
| CN101405945B (zh) | 2013-03-27 |
| WO2007109793A3 (en) | 2007-12-27 |
| US20070223629A1 (en) | 2007-09-27 |
| IN266883B (enExample) | 2015-06-11 |
| US8290095B2 (en) | 2012-10-16 |
| MX2008011985A (es) | 2008-10-03 |
| RU2008141908A (ru) | 2010-04-27 |
| KR20120116500A (ko) | 2012-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101585492B1 (ko) | 비터비 패킹 명령 | |
| US8868888B2 (en) | System and method of executing instructions in a multi-stage data processing pipeline | |
| CN111459549A (zh) | 具有高度领先分支预测器的微处理器 | |
| US20050157823A1 (en) | Technique for improving viterbi decoder performance | |
| US9411590B2 (en) | Method to improve speed of executing return branch instructions in a processor | |
| US8843730B2 (en) | Executing instruction packet with multiple instructions with same destination by performing logical operation on results of instructions and storing the result to the destination | |
| KR101746681B1 (ko) | 가산-비교-선택 명령 | |
| US9678754B2 (en) | System and method of processing hierarchical very long instruction packets | |
| JP5169771B2 (ja) | 復号器および復号方法 | |
| US8401126B2 (en) | Viterbi decoding apparatus | |
| US7171609B2 (en) | Processor and method for convolutional decoding | |
| EP1058392A1 (en) | Method for implementing a plurality of add-compare-select butterfly operations in parallel, in a data processing system | |
| JP2009516254A (ja) | 命令を実行するための処理システムおよび方法 | |
| Zhou et al. | A flexible viterbi decoder for software defined radio | |
| KR100301861B1 (ko) | 비터비 디코더의 디코딩 시간 감소 방법 | |
| JP2002217747A (ja) | ビタビ復号処理装置 | |
| KR20030054992A (ko) | 비터비 디코더의 디코딩 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 2643940 Country of ref document: CA |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2007759275 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 200780009565.4 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: MX/a/2008/011985 Country of ref document: MX |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2009503182 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2124/MUMNP/2008 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020087025411 Country of ref document: KR |
|
| ENP | Entry into the national phase |
Ref document number: 2008141908 Country of ref document: RU Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: PI0708809 Country of ref document: BR Kind code of ref document: A2 Effective date: 20080917 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020127022669 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020157006068 Country of ref document: KR |