JP2013176114A - データビットを並列に符号化する方法および装置 - Google Patents

データビットを並列に符号化する方法および装置 Download PDF

Info

Publication number
JP2013176114A
JP2013176114A JP2013083336A JP2013083336A JP2013176114A JP 2013176114 A JP2013176114 A JP 2013176114A JP 2013083336 A JP2013083336 A JP 2013083336A JP 2013083336 A JP2013083336 A JP 2013083336A JP 2013176114 A JP2013176114 A JP 2013176114A
Authority
JP
Japan
Prior art keywords
encoder
bits
data
state values
output
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.)
Granted
Application number
JP2013083336A
Other languages
English (en)
Other versions
JP5886235B2 (ja
Inventor
James Y Hurt
ジェームス・ワイ・ハート
Michael A Howard
マイケル・エー・ハワード
Robert J Fuchs
ロバート・ジェイ・フクス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Inc filed Critical Qualcomm Inc
Publication of JP2013176114A publication Critical patent/JP2013176114A/ja
Application granted granted Critical
Publication of JP5886235B2 publication Critical patent/JP5886235B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • 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/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component codes
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/65Purpose and implementation aspects
    • H03M13/6563Implementations using multi-port memories
    • 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】複数ビットを並列に符号化する符号器のインタリーバに対するアドレスを生成する方法を提供する。
【解決手段】第1有効アドレスに対応する第1カウンタ値を決定することと、前記第1カウンタ値から前記第1有効アドレスを生成することと、第2カウンタ値に対応する第2カウンタ値を決定することと、前記第2カウンタ値に基づいて前記第2有効アドレスを生成することと、を備える。
【選択図】図14

Description

本発明はデータ通信に関する。さらに詳細には、本発明はデータの複数ビットを並列に符号化し(例えば、マルチポートメモリを使用)、符号化に関連する遅延を大幅に低減することに関する。
一般的なディジタル通信システムにおいては、データは送信機ユニットで処理、変調、および調整されて、変調された信号が生成され、その後、この変調された信号は1つまたは複数の受信機ユニットに伝送される。データ処理には、例えば、データを特定のフレームフォーマットにフォーマッティングし、このフォーマットされたデータを特定の符号化方式を用いて符号化して、受信機ユニット側で誤り検出および/または訂正を実現し、符号化データをチャネライズし(すなわち、カバリング)、さらに、チャネライズされたデータをシステム帯域幅全体に拡散することを含む。
受信機ユニットにおいては、送信された信号を受信し、調整し、復調し、ディジタル的に処理して、送信データを復元する。受信機ユニットでの処理は送信機ユニットで実施される処理と相補的であり、例えば、受信サンプルを逆拡散し、逆拡散サンプルをデカバー(decover)し、デカバー記号を復号して送信されたデータを復元する。
伝送エラーを訂正する能力により、データ伝送の信頼性が向上する。多くのディジタル通信システムは畳込み符号またはターボ符号を用いて、受信機ユニット側で誤り訂正機能を提供する。畳込み符号は直列データに、同時に1または数ビットに作用する。受信された符号化情報シーケンスを復号して、オリジナルデータを復元するための、各種の有用な畳込み符号、および各種のアルゴリズムが存在する。詳細には、ターボ符号化は並列連結畳込み符号化方式である。連結符号は2つまたはそれ以上の符号のカスケード結合であり、これを用いて、追加の誤り訂正機能が実現される。連結符号については、符号化ステージ間の符号ビットをインタリーブ(すなわち、順序付けし)、時間的変化を実現し、これによりさらに性能を向上できる。符号ビットのパケット全体またはフレームは一般に、順序付けが実行される前に格納される。次に、順序付けされた符号ビットは直列に取り出され、次の符号化ステージにより符号化される。
従来、畳込みおよびターボ符号化は、入力ビットストリームに対し直列に実行される。各クロックサイクルに対し、1つのデータビットが符号器に提供され、2つまたはそれ以上の符号ビットが符号器の符号化率に依存して生成される。次に、符号ビットの一部は破壊され(すなわち、削除され)、別の符号化率の符号ビットが得られる。
ディジタル多重アクセス通信システムは一般にデータをパケットまたはフレームとして伝送し、アクティブユーザ間でのシステム資源の効果的共有を可能にする。長い遅延を許容できないサービス(すなわち、音声、ビデオ)に対しては、パケットは短い(例えば、10 msec)持続時間が選択され、したがって符号は短い処理遅れを有するように選択される。ただし、符号化効率を上げるには、大きいサイズのパケットを処理および符号化することが望ましいが、その結果として、データを直列に符号化する従来技術を用いると長い処理遅れが発生する。長い処理遅れは通信システムの性能に悪影響を与える可能性がある。例えば、特定のデータ伝送については、通信リンクの条件に基づいて、特定のユーザまたはデータ転送率が選択できる。処理遅延が極端に長い場合、リンク条件はデータ伝送時間により変更できるが、性能は妥協するかまたは悪影響を受ける可能性がある。
以上の点から明らかなように、データを短い処理遅れで効率的に符号化するのに利用できる技術は極めて望ましいものである。
1つの態様によれば、無線通信システムにおけるインタリーバのアドレスを生成する方法は、カウンタを、インタリーバアドレスを生成するためのカウンタ値に増加し、カウンタ値が不適正なインタリーバアドレスに相当する場合、カウンタ値を次の適正なアドレスに調整し、その調整されたカウンタ値に基づいてアドレスを生成する。
別の態様においては、無線通信システムにおけるインタリーバ用のアドレス生成装置は、カウンタと、それぞれがカウンタに接続された複数のアドレス生成器とを含み、この複数のアドレス生成器の各々はカウンタに接続されたメモリ格納デバイスを有し、対応するカウンタオフセット値を有する複数のカウンタ値を格納する。さらに、前記アドレス生成装置は前記メモリ格納デバイスに接続され、かつカウンタオフセット値を前に生成されたアドレスに加える第2カウンタを含む。
さらに別の態様においては、データ符号器は順次入力情報ビットを格納するための複数のメモリと、入力情報をスクランブルするための複数のインタリーバと、前記メモリ中の第1メモリに接続され、かつ順次入力情報ビットを符号化する第1符号器と、前記複数のメモリに接続され、かつ順次入力情報ビットを符号化する第2符号器とを含む。
さらに別の態様においては、データを符号化する方法は、複数の入力ビットを受け取り、単一システムクロックサイクルの間に、複数の入力ビットに基づいて第1セットの状態値を計算し、複数の入力ビットおよび第1セットの状態値に基づいて第2セットの状態値を計算し、複数の入力ビットならびに第1および第2セットの状態値に基づいて第3セットの状態値を計算し、第1、第2および第2セットの状態値に基づいて符号化出力セットを生成することを含む。
本発明の特徴、本質、および利点は添付図面と共に以下に述べる詳細な説明で明らかになるであろう。図面では、同一参照符号は図面全体にわたり同一部品を指す。
通信システムのブロック図である。 一実施形態による直列接続方式符号器である。 一実施形態による、特定セットの多項式生成行列を実現する連結符号器の図である。 一実施形態による、複数データビットを並列に符号化する畳込み符号器のブロック図である。 様々な実施形態による、特定の多項式生成行列を実現し、8データビットを並列に符号化する畳込み符号器の回路図である。 様々な実施形態による、特定の多項式生成行列を実現し、8データビットを並列に符号化する畳込み符号器の回路図である。 別の特定の多項式生成行列を実現し、4データビットを並列に符号化する畳込み符号器の一実施形態の回路図である。 1つのインタリーバの図である。 様々な実施形態による、パンクチャリング有りおよび無しのそれぞれにおける、外部畳込み符号器とインタリーバ間のインタフェースの図である。 様々な実施形態による、パンクチャリング有りおよび無しのそれぞれにおける、外部畳込み符号器とインタリーバ間のインタフェースの図である。 一実施形態による、符号器のブロック図である。 一実施形態による、複数データビットの連結符号化を並列に実行する方法のフローチャートである。 1つの無線通信システムである。 一実施形態による、並列連結符号器である。 一実施形態による、並列連結符号器の機能図である。 一実施形態による、ターボ符号器の機能図である。 一実施形態による、ターボ符号器のインタリーバのアドレス生成回路の機能図である。 一実施形態による、並列連結ターボ符号器のインタリーバのアドレス生成回路の機能図である。 一実施形態による、ターボ符号器の機能図である。 ターボ符号器のインタリーバのアドレス生成の機能図である。
複数ビットの並列符号化
図1は通信システム100の一実施形態の簡単化したブロック図であり、このシステムにおいて本発明の様々な態様を実現できる。送信機ユニット110において、トラヒックデータは一般に、パケットまたはフレームとして、データ送信装置112から符号器114に送られ、そこで特定の符号化方式を用いてフォーマットされ、符号化される。さらに、符号器114は一般に、符号ビットのインタリービング(すなわち、順序付け)を実行する。次に、変調器(MOD)116は符号化データを受け取り、チャネライズし(すなわち、カバリング)、拡散して、記号を生成し、この記号はその後1つまたは複数のアナログ信号に変換される。送信機(TMTR)118において、アナログ信号は濾波され、(直交)変調され、増幅され、さらにアップコンバートされて、変調された信号を生成し、この信号は次にアンテナ120を介して1つまたは複数の受信機ユニットに送信される。
受信機ユニット130において、送信された信号はアンテナ132で受信され、受信機(RCVR)134に提供される。受信機134内で、受信信号は増幅され、濾波され、(直交)復調され、さらにディジタル化されて、サンプルを提供する。サンプルは復調器(DEMOD)136により、逆拡散され、デカバーされ、復調されて、復調化記号を生成する。次に、復号器138は復調化記号を復号化し、この復号化データを順序付けして(可能な場合)、送信されたデータを復元する。復調器136および復号器138により実行される処理は、送信機ユニット110で実行される処理と相補的である。復元されたデータは次にデータ受信装置140に提供される。
前述の信号処理は、一方向の音声、ビデオ、パケットデータ、メッセージ作成、および他の種類の通信をサポートする。双方向通信システムは、2方向データ伝送をサポートする。ただし、図1には、簡単化のために、その他の方向の信号処理は示していない。
通信システムは100は、地上リンクを介してユーザ間の音声およびデータ通信をサポートする、符号分割多元接続(CDMA)システム、時分割多元接続(TDMA)通信システム(例えば、GSM(登録商標)システム)、周波数分割多元接続(FDMA)通信システム、または他の多元接続通信システムであってもよい。
多元接続通信システムにおけるCDMA方式の利用は米国特許第4,901,307号の、発明の名称「サテライトまたは地上リピータを利用するスペクトル拡散多元接続通信システム(SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS)」、および米国特許第5,103,459号の、発明の名称「CDMA携帯電話システムにおける信号波形を発生するためのシステムおよび方法(SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM)」に記載されている。別の特定のCMDAシステムは、1997年11月3日出願の米国特許出願第08/963,386号の、発明の名称「高速パケットデータ伝送の方法および装置(METHOD AND APPARATUS FOR HIGH RATE PACKET DATA TRANSMISSION)」(以後HDRシステムと称する)に記載されている。これらの特許および特許出願は本発明の譲受人に譲渡され、参照によりここに組み込まれる。
CDMAシステムは一般に、「TIA/EIA/IS−95−A デュアルモード広帯域スペクトル拡散携帯電話システムに対する移動局ベースの局の互換性標準(TIA/EIA/IS-95-A Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System)」(以後、IS−95−A標準と称する)などの1つまたは複数の標準に適合するように構成されており、この標準は「第3世代共同プロジェクト(3rd Generation Partnership Project)」(3GPP)の名称の協会により提案され、文書番号3GTS25.211、3GTS25.212、3GTS25.213、および3GTS25.214(以後、W−CDMA標準と称する)、および「cdma2000スペクトル拡散システムのTR−45.5物理層標準(TR-45.5 Physical Layer Standard for cdma2000 Spread Spectrum Systems)」(以後、CDMA−2000標準と称する)を含む文書セットにおいて具体化されている。新しいCDMA標準は、参照によりここに組み込まれる。
図2は、本発明のいくつかの実施形態を実現するように構成できる符号器200のブロック図である。符号器200は、図1の符号器114として利用できる。この実施形態では、符号器200連結符号を実現し、カスケードに接続された外部畳込み符号器212、インタリーバ214、および内部畳込み符号器216を含む。外部畳込み符号器212は入力データを受け取り、畳込み符号化して、符号ビットを生成し、この符号ビットをインタリーバ214に提供して格納する。符号ビットのパケット全体がインタリーバ214内に格納されると、この符号ビットは取り出され、内部畳込み符号器216に提供される。インタリービングを達成するために、符号ビットは、このビットがインタリーバ214に書き込まれた順番と異なる順番で読み出される。外部畳込み符号器212は符号ビットを受け取り、畳込み符号化して、符号化データを生成し、このデータを後続の処理ステージに提供する。
従来の畳込み符号器はデータを直列に、1度に1ビット(すなわち、クロックサイクル当り)受け取り、符号化する。大きいパケットでデータを伝送する通信システムに対しては、データの直列符号化は長い処理遅れを引き起こす。さらに、カスケードに接続された複数の畳込み符号器で形成される連結符号器については、特に外部および内部畳込み符号器の両方が直列にビットを符号化する場合、処理遅れは極めて長くなる。
1つの態様においては、畳込み符号器は複数(M)ビットを並列に受け取り、符号化できる。これにより、畳込み符号器はデータパケットを、従来の畳込み符号器で必要とされる時間の(1/M)で符号を符号化できる。この利点は、個々の畳込み符号器のそれぞれがビットを並列に処理する場合、連結符号器(例えば、ターボ符号器)について明白となる。
別の態様においては、インタリーバはデータの複数ビットを並列に格納し、提供できる。インタリーバは、例えばマルチポートメモリを用いて実現できる。ここで述べる畳込み符号器と組み合わせて使用すると、データをこの時間の数分の一でインタリーバに書き込みおよび読み出しできるため、インタリーバはさらに処理遅延を減少できる。
理解を容易にするために、ここでは、典型的実施形態として、前述の米国特許出願第08/963,386号(すなわち、HDRシステムと称する)で述べた通信システムにおけるダウンリンクデータ伝送に使用する符号器について説明する。HDRシステムは、外部畳込み符号、インタリービング、および内部畳込み符号で構成される連結符号を用いる。またHDRシステムは、表1に示される特性を有する2つのパケットフォーマットを定義する。
Figure 2013176114
HDRシステムにおいては、外部畳込み符号器は、以下の多項式生成行列により定義される符号化率1/2畳込みを実現する。
Figure 2013176114
HDRシステムの内部畳込み符号器は、以下の多項式生成行列により定義される符号化率1/2畳込みを実現する。
Figure 2013176114
図3は式(1)および(2)で定義される外部および内部畳込み符号を実現する符号器300の図である。データビットuは外部畳込み符号器310に提供され、そこで、式(1)を実現し、2つの出力yoaおよびyobを生成する。符号器310内で、データビットuは、レジスタ314a〜314d(これらを用いて一組の遅れを実現する)にカスケードに接続された加算器312に提供される。加算器312およびレジスタ314A、314B、および314Dからの出力は、加算器316A、316B,および316Cにより加算され、式(1)で示される多項式生成行列の第2要素の分子を実現する。レジスタ314Cおよび314Dからの出力は、加算器318により加算され、加算器312に提供されて、式(1)の第2要素の分母を実現する。入力データビットuは第1出力yoaとして提供され、加算器316Cからの出力は第2出力yobを形成する。
外部畳込み符号器310の出力yoaおよびyob中の符号ビットはパンクチャできる(簡単化のため、図3には示していない)。次に、非パンクチャド符号ビットはインタリーバ330に提供され、順序付けされる。順序付けされた符号ビットvは内部畳込み符号器340に提供され、そこで式(2)を実現し、2つの出力yiaおよびyibを構成する。符号器340内で、符号ビットvは、レジスタ344Aおよび344Bにカスケードに接続された加算器342に提供される。加算器342ならびにレジスタ344Aおよび344Bからの出力は、加算器346Aおよび346Bにより加算され、式(2)で示される多項式生成行列の第2要素の分子を実現する。レジスタ344Aからの出力は加算器342に提供され、加算器312に提供されて、式(2)の第2要素の分母を実現する。入力データビットvは第1出力yiaとして提供され、加算器346Bからの出力は第2出力yibを構成する。
従来、データビットuは符号器310に直列に提供され、符号ビットvもまた符号器340に直列に提供される。各入力データビットについては、外部畳込み符号器310が2つの符号ビットを生成する。インタリーバ330は符号ビットを受け取り、これを格納し、さらにこの符号ビットを内部畳込み符号器340に直列に提供する。ビットを直列に符号化する結果、長い処理遅れが発生する。
一実施形態の畳込み符号器は複数ビットを並列に符号化して、符号化遅れを大幅に短縮できる。各クロックサイクルに対し、複数(例えば、M)データビットを受け取り、符号化して、複数符号ビットを生成できる。符号化率1/2符号器に対しては、M個のデータビットに対して2Mの符号ビットが生成される。Mは、例えば4、8、16、32等の任意の数に選択できる。このような畳込み符号器の様々な別の実施形態を以下に述べる。
HDRなどの多くのディジタル通信システムはデータをパケットとして伝送する。パケット中のデータ数(すなわちパケットサイズは)は、例えば、データ転送率、伝送データ量、処理遅れ要求事項およびその他等などの多くの基準に基づいて選択される。受信機ユニットにおける復号器を、各パケットの最初の部分の既知状態で開始可能にすることにより、復号化時間を短縮し、性能を向上させるためには、各パケットの開始時に符号器を既知状態に初期化する(例えば、すべてゼロ)。この初期化は先行のパケットの終端部に一組の符号テールビットを挿入することでなされる。この符号テールビットは、符号器が既知状態に設定されるように選択される。
一実施形態においては、典型的な実施形態の畳込み符号器はルックアップテーブルを用いて実現される。図3を参照すると、外部畳込み符号器310は、レジスタ314A〜314Dの出力により定義される4ビット状態を有する状態機械を見なすことができる。ルックアップテーブルの内容を作成するために、時間インデックスnにおけるM個の入力ビットを、ベクトルUで表し、2M個の符号ビットをベクトルYで表し、さらに現在の符号器状態をベクトルXで表すことができる。符号器の次の状態Xn+1および符号器出力ベクトルYは以下にように表すことができる。
Figure 2013176114
式(3)および(4)のそれぞれは、入力がデータのときに使用する1つの式、および符号器入力が符号テールビットを含むときに使用する別の式を提供する。
式(3)および(4)は入力データビットおよび符号器状態のすべての可能な組み合わせに対して計算できる。例えば式(4)については、出力符号ビットは入力ベクトルU=0...00およびX=0...00の符号器状態、ならびに入力ベクトルU=0...01およびX=0...00の符号器状態等、ならびに入力ベクトルU=1...11およびX=0...00の符号器状態に対して計算できる。次に、出力符号ビットは入力ベクトルUおよびX=0...01の符号器状態のすべての可能な組み合わせに対して計算できる。次に、この手順を、入力ベクトルおよび符号器状態のすべての組み合わせが計算されるまで繰り返す。式(3)も同様に計算できる。
式(3)および(4)の計算結果はルックアップテーブルを実現するメモリに格納される。必要なメモリサイズは、並列に符号化されるデータビット数および実現される特定の多項式生成行列に依存する。例えば、式(1)で表される畳込み符号器を用いて8データビットを並列に符号化する場合、12アドレスビットおよび20データビットのサイズ(すなわち4096×20)を有するメモリを使用する必要がある。12ビットアドレスは、8ビット入力データビットおよび次の符号器状態用の4ビットから構成される。20ビット出力には、16符号ビットおよび次の符号器状態用の4ビットを含む。
メモリが適正に定義されると、入力データベクトルUおよび現在の符号器状態Xをメモリのアドレス入力に提供でき、このメモリは次に、出力ベクトルYおよび次の符号器状態Xn+1を提供する。適切には、次の符号器状態Xn+1は次の入力データベクトルUn+1で使用するために格納される。
別の実施形態においては、畳込み符号器は状態機械と用いて実現される。符号器状態および出力は、式(3)および(4)に示す式で表すことができる。式(3)および(4)のそれぞれは、再帰的に解くことができ、その結果の式は ハードウェア、ソフトウェア、またはそれらの組み合わせで実現される。符号器に対する再帰的式は以下のようにして解くことができる。X =[x]が転置状態ベクトルを示し、uが時間インデックス0における入力データビットを示すものとする。したがって、符号器の次の状態および出力は以下のように表すことができる。
Figure 2013176114
ここでA、B、C、およびDはスカラー、ベクトル、および行列であり、これらは実現される特定の多項式生成行列に依存する。符号器状態式(5)は以下のように、再帰的に解くことができる。
=A+ABu+Bu
=A+ABu+ABu+Bu

=A+ABu+ABu+ABu+ABu+ABu+ABu+ABu+Bu
符号器出力の式(6)もまた、同様に再帰的に解くことができる。
式(5)および(6)を用いて、1度に1つのデータビットuを符号化する。類似の式の組を導き出して、Mデータビットを並列に符号化できる。例えば、8データビット(すなわち、M=8)を並列に符号化するために、時間インデックスnにおける入力データベクトルの転置をU =[un7n6n5n4n3n2n1n0]と定義し、出力符号ベクトルの転置をY =[yn7n6n5n4n3n2n1n0]と定義する。UおよびYについて定義された符号を用いると、式(5)および(6)は以下のように表される。
Figure 2013176114
ここで、F、G、H、およびIはベクトルおよび行列であり、実現される特定の多項式生成行列、現在の符号器状態X、および入力データベクトルUに依存する。式(7)を用いてMデータビットが符号化された後の次の符号器状態Xn+1を生成し、式(8)を用いて入力ベクトルUに対する符号器出力Yを生成する。
式(7)および(8)のF、G、H、およびIを決定するために、様々な手法を用いて式(5)および(6)を再帰的に解き、その再帰的計算の結果を用いて式(7)および(8)を実現できる。例えば、表を用いて各入力データビットについての符号器の状態および出力を作表できる。次に表の項目を用いて、以下のように、式(7)および(8)を実現できる。
表2は、式(1)を実現する図3の畳込み符号器310に、8入力データビットu〜uが直列に提供された後の符号器状態および出力を示す。図3に示すように、レジスタ314A〜314Dは最初にx、x、x、およびxの値をそれぞれ格納する。最初の1クロックサイクルにおいて、第1データビットuが符号器310に提供され、加算器312の出力がx+x+uとして計算され、その結果は表2の第2行、第2列に格納される。符号器出力はya0=uおよびyb0=(x+x+u)+x+x+x=x+x+x+uとして計算される。(各加算器316はモジュロ2加算を実行する。) 次のクロックサイクルにおいて、加算器312およびレジスタ314A〜314Cからの値はレジスタ314A〜314Dにそれぞれシフトされる。次のデータビットuは符号器に提供され、加算器312の出力はx+x+uとして計算され、その結果は表2の第3行、第2列に格納される。符号器出力はya1=uおよびyb2=(x+x+u)+x+x+(x+x+u)=x+x+x+x+u+uとして計算される。この手順は第8データビットuが受け取られ、処理されるまで続行される。
符号器出力ベクトルY=[yb7b6b5b4b3b2b1b0]は、入力ベクトルU=[u]に対応し、表2の最終列の項目に基づいて生成される。第8データビットuが符号化された後、符号器状態Xn+1は表2の最終行の項目に基づいて生成される。表2に示すように、符号器出力ベクトルYおよび次の符号器状態Xn+1は、それぞれ、現在の符号器状態X=[x]および入力ベクトルUの関数である。データフェーズについては、符号器出力ベクトルYは単に、入力ベクトルUの関数(すなわち、Y=U)である。
Figure 2013176114
表1を参照すると、HDRシステムの外部畳込み符号器は、パケットフォーマット1の各パケットについて1018データビットおよび4つの符合テールビットを受け取る。8ビットが並列に符号化される場合、128クロックサイクルを用いて、データの1パケットを符号化する。最初の127クロックサイクルを用いて1016データビット(すなわち、127×8=1016)を符号化し、第128番目のクロックサイクルを用いて、残りの2つのデータビットおよび4符合テールビットを符号化する。最初の127クロックサイクルは「データフェーズ」と呼ばれ、最終クロックサイクルは「符号テールフェーズ」と呼ばれる。
外部畳込み符号器は、パケットフォーマット2の各パケットについて2042ビットおよび4つの符合テールビットを受け取る。8ビットが並列に符号化される場合、256クロックサイクルを用いて、データの1パケットを符号化する。最初の255クロックサイクルを用いて2046データビット(すなわち、255×8=2040)を符号化し、第256番目のクロックサイクルを用いて、残りの2つのデータビットおよび4つの符合テールビットを符号化する。最初の255クロックサイクルはデータフェーズと呼ばれ、最終クロックサイクルは符号テールフェーズと呼ばれる。
表3は、2つのデータビットuおよびuが、図3の畳込み符号器310に直列に提供された後の符号器状態および出力を示す。先と同様に、レジスタ314A〜314Dは最初にx、x、x、およびxの値をそれぞれ格納する。最初の2クロックサイクルにおいて、2つのデータビットuおよびuが符号器に直列に提供される。符号器状態x〜xならびに符号器出力yおよびyは前述と同様にして計算される。したがって、表3の第2および第3行は、表2の第2および第3行と同一である。第3クロックサイクルでは、x+xの値を有する第1符合テールビットが符号器に提供される。符合テールビットの値は加算器312の出力がゼロになるように選択され、その値を用いて畳込み符号器をクリアする。符号器出力はyc2=x+xおよびyd2=x+u+uとして計算される。次のクロックサイクルにおいて、加算器312およびレジスタ314A〜314Cからの値はレジスタ314A〜314Dにそれぞれシフトされる。第2の符号テールビットはx+x+x+uに選択され、加算器312の出力は再度ゼロに設定され、符号器をクリヤする。この手順は、符号器に提供される最終2ビットがゼロの値を持つまで続行される。
表3に示すように、符号器出力YおよびYの両方は、入力ベクトルUおよび現在の符号器状態Xの関数である。符号テールフェーズについては、次の符号器状態Xn+1はすべてゼロの既知状態に設定される(すなわち、X=[0 0 0 0])。
Figure 2013176114
図4は複数入力データビットを並列に符号化できる畳込み符号器400の実施形態のブロック図である。従来の畳込み符号器400を用いて、データおよび符号テールフェーズを実現できる(例えば、表2および3でそれぞれ定義されたように)。図4に示す符号器アーキテクチャを用いて、例えば、図3の外部畳込み符号器310または内部畳込み符号器340を実現できる。
畳込み符号器400内で、入力データビットはデータベクトルUとして、符号器状態機械410、データフェーズ出力発生器420、および符号テールフェーズ出力発生器430に並列に提供される。また符号器状態機械410は、現在の符号器状態Xを受け取り、受け取った入力ベクトルUおよび現在の符号器状態Xに基づいて新しい符号器状態を決定する。符号器状態機械410は、例えば、表2の最終行を実現できる。
また、データフェーズ出力発生器420および符号テールフェーズ出力発生器430は、現在の符号器状態Xを受け取り、受け取った入力XおよびUに基づいて、データフェーズおよび符号テールフェーズに対する符号器出力をそれぞれ決定する。データフェーズ出力発生器420は、例えば表2の最終の2列を実現でき、また、符号テール出力発生器430は、例えば表3の最終の2列を実現できる。データフェーズ出力発生器420からの第1および第2出力YおよびYは、マルチプレクサ(MUX)440Aおよび440Bにそれぞれ提供される。同様に、データフェーズ出力発生器430からの第1および第2出力YおよびTは、マルチプレクサ440Aおよび440Bにそれぞれ提供される。マルチプレクサ440Aおよび440Bは、データフェーズならびに出力YおよびYで作動しているときはデータフェーズ出力発生器420にそれぞれから、また、符号テールフェーズで作動しているときは符号テールフェーズ出力発生器430から、出力YおよびYをそれぞれ提供する。
入力データビットを受け取ると、符号器状態を各パケットの開始にリセットすることなく連続的に符号化する畳込み符号器を実現するには、符号器状態機械410およびデータフェーズ出力発生器420だけが必要とされる。データがパケットで送信され、かつ符号テールビットを用いて畳込み符号器を各パケットの開始の既知状態にリセットする通信システム(例えば、HDRシステム)においては、符号テールフェーズ出力発生器430およびマルチプレクサ440を用いて必要な符号器出力を提供する。
符号器状態機械410およびデータフェーズ出力発生器420の構成は、実現される特定多項式生成行列および並列に符号化されるデータビットの数に依存する。符号テールフェーズ出力発生器430の構成は、多項式生成行列、並列に符号化されるデータビットの数、および特定フレームフォーマット(すなわち、符号テールフェーズにおいて符号化されるデータおよび符号テールビットの数)に依存する。次に、畳込み符号器400の特定の構成を以下に述べる。
図5Aは、8入力データビットを並列に符号化し、かつ式(1)で示される多項式生成行列を実現できる特定の畳込み符号器500の回路図である。畳込み符号器500は表2で定義される状態機械を実現する符号器状態機械510と、表2で定義される符号器出力を生成するデータフェーズ出力発生器520とを含む。符号器状態機械510およびデータフェーズ出力発生器520は、図4の符号器状態機械410およびデータフェーズ出力発生器420にそれぞれ対応する。この実施形態においては、符号器状態機械510は、ANDゲート512A〜512Dおよびレジスタ514A〜514Dを用いて実現され、データフェーズ出力発生器520はANDゲート522A〜522Hを用いて実現される。
図5Aに示すように、8入力データビットu〜uは符号器状態機械510およびデータフェーズ出力発生器520の入力に並列に供給され、これら両方の装置のそれぞれはまた、x〜xで定義される現在の符号器状態を受け取る。符号器状態機械510内の各ANDゲート512は、表2の最終行で定義される入力u〜uおよびx〜xに選択的に接続される。例えばANDゲート512Aは、表2の最終行、第3列(x)の項目で定義される、入力x、x、x、u、u、u、u、およびuに接続する。ANDゲート512A〜512Dの出力はレジスタ514A〜514Dにそれぞれ接続する。レジスタ514A〜514Dの出力は状態機械出力x〜xをそれぞれ構成する。
同様に、データフェーズ出力発生器520内の各ANDゲート522は、表2の最終列で定義される入力u〜uおよびx〜xに選択的に接続される。例えばANDゲート522Aは、表2の第2行、最終列(yb0)の項目で定義される、入力x、x、x、およびuに接続される。入力u〜uは符号器出力ya0〜ya7をそれぞれ構成し(簡単化のために、図5Aには示さない)、ANDゲート522A〜522Hは符号器出力yb0〜yb7をそれぞれ構成する。
図5Bは、式(1)で表され、かつ表1のパケットフォーマット1および2に対する、多項式生成行列の符号テールフェーズを実現し、符号テールフェーズ出力発生器530およびマルチプレクサ540Aおよび540Bの特定の実施形態の回路図である。符号テールフェーズ出力発生器530ならびにマルチプレクサ540Aおよび540Bは、図4の符号テールフェーズ出力発生器430およびマルチプレクサ440Aおよび440Bにそれぞれ対応する。この実施形態においては、符号テールフェーズ出力発生器530は、ANDゲート532A〜532Jを用いて実現され、表3で定義される符号テールフェーズに対する符号器出力YcおよびYを生成する。マルチプレクサ540Aは2×1マルチプレクサ542A〜542Fを用いて実現され、第1符号器出力Yoaを提供する。同様に、マルチプレクサ540Bは2×1マルチプレクサ544A〜544Hを用いて実現され、第2符号器出力Yobを提供する。
図5Aおよび5Bに示される符号器状態機械510、データフェーズ出力発生器520、符号テールフェーズ出力発生器530、ならびにマルチプレクサ540Aおよび540Bは、畳込み符号器400の特定の実施形態を形成する。この特定の実施形態を用いて、式(1)で表され、かつ表1に記載されたパケットフォーマットに対する多項式生成行列を実現する。
パケットフォーマット1については、1018データビットが128クロックサイクルにわたり畳込み符号器500に供給される。最初の127クロックサイクルに対し、8データビットが符号器500に提供され、マルチプレクサ540Aおよび540Bを選択して、データフェーズ出力発生器520からの出力YおよびYを提供する。第128番目のクロックサイクルで、残りの2つのデータビットおよび4つの符合テールビット、および2つのゼロが符号器500に提供される。レジスタ514A〜514Dはゼロ(同期的に)にリセットされ、マルチプレクサ540Aおよび540Bを選択して、符号テールフェーズ出力発生器530から出力YおよびYを提供する。パケットフォーマット2については、2042データビットが256クロックサイクルにわたり畳込み符号器500に提供される。データフェーズの相当する最初の255クロックサイクルのそれぞれに対し、8データビットが並列に符号化され、マルチプレクサ540Aおよび540Bがそれぞれ出力YおよびYを提供する。符号テールフェーズに相当する第256番目クロックサイクルにおいて、2つのデータビット、4つの符合テールビット、および2つのゼロが並列の符号化され、マルチプレクサ540Aおよび540Bが出力YおよびYをそれぞれ提供する。
図5Aおよび5Bに示す特定の実施形態は、理解を深めるために記載されている。なお、様々な実施形態も考察できるが、本発明の範囲にあるものとする。さらに、一般には様々な構成を、異なる多項式生成号列、異なる数の入力データビット、または異なるパケットフォーマットについても使用される。
同様に、別の畳込み符号器を構成して、式(2)で表される多項式生成行列を実現できる。一実施形態では、畳込み符号器は4つの符号ビットを並列に受け取り、これを符号化するように構成される。次の情報および出力それぞれに対する式(5)および(6)は、前述の方法で再帰的に解くことができる。
表4は、4入力符号v〜vが図3に示す畳込み符号器340に直列に提供された後の、符号器状態および出力を示す。レジスタ344Aおよび344Bは最初にxおよびxをそれぞれ格納する。第1クロックサイクルで、第1符合ビットvが符号器340に提供され、加算器342の出力はx+vとして計算され、その結果が表4の第2行、第2列に格納される。符号器出力はye0=vおよびyf0=(x+v)+x+x=x+vとして計算される。次のクロックサイクルで、加算器312およびレジスタ344Aからの値は、レジスタ344Aおよび344Bにそれぞれシフトされる。次の符合ビットvが符号器340に提供され、加算器342の出力はx+v+vとして計算され、その結果が第2行、第2列に格納される。出力はye1=vおよびyf1=(x+v+v)+(x+v)+x=x1+vとして計算される。この手順は第4符合ビットvが受け取られ、処理されるまで継続する。
符号器出力ベクトルYは表4の最終列の項目に基づいて生成される。第4符合ビットVが符号化された後、符号器状態Xn+1は表4の最終行の項目に基づいて生成される。表4に示すように、符号器出力ベクトルYおよび次の符号器状態Xn+1は、それぞれ、現在の符号器状態X=[x]および入力ベクトルVの関数である。データフェーズについては、符号器出力ベクトルYは単に、入力ベクトルVの関数である。
Figure 2013176114
表1を参照すると、HDRシステムの内部畳込み符号器は、パケットフォーマット1の各パケットに対し2044符号ビットおよび4符合テールビットを受け取る。4ビットを並列に符号化する場合、512クロックサイクルを用いて1つのパケットを符号化する。最初の511クロックサイクルを用いて2044符号ビット(すなわち、511×4=2044)を符号化し、512番目のクロックサイクルを用いて4符号テールビットを符号化する。畳込み符号器は、パケットフォーマット2の各パケットに対し3079符号ビットおよび3符合テールビットを受け取る。4ビットを並列に符号化する場合、768クロックサイクルを用いてデータの1つのパケットを符号化する。最初の767クロックサイクルを用いて3068符号ビット(すなわち、767×4=3068)を符号化し、768番目のクロックサイクルを用いて3符号テールビットを符号化する。
表5は、パケットフォーマット1の符号テールフェーズについての内部畳込み符号器の状態および出力を示す。第1クロックサイクルで、xの値を有する第1符合テールビットが符号器に提供される。符号テールビット値は、加算器342の出力がゼロになるように選択される。符号器出力はyg0=xおよびyh0=x+xとして計算される。この処理は、残りの3符合テールビットについても同様に続行する。
Figure 2013176114
表6は、パケットフォーマット2の符号テールフェーズについての内部畳込み符号器の状態および出力を示す。第1クロックサイクルで、最終符号ビットvが符号器に提供され、符号器状態xおよびxならびに出力yi0およびyj0が、前述と同様に計算される。したがって、表6の第2行は表4の第2行と同一になる。第2クロックサイクルで、x+vの値を有する第1符号テールビットが符号器に提供される。符号テールビット値は、加算器342の出力がゼロになるように選択される。符号器出力はyi1=x+vおよびyj1=vとして計算される。この処理は、残りの符合テールビットについても同様に続行する。
Figure 2013176114
図6は、4入力符号ビットを並列に符号化し、かつ式(2)で示される多項式生成行列を実現できる特定の畳込み符号器600の回路図である。畳込み符号器600は表4で定義される状態機械を実現する符号器状態機械610と、表4〜6で定義される符号器出力を生成する出力発生器620と、パケットフォーマット1および2のデータおよび符号テールフェーズに適正な符号器出力を提供するマルチプレクサ640Aおよび640Bとを含む。
図6に示すように、4入力符号ビットv〜vが符号器状態機械610および出力発生器620の入力に並列に提供され、また前記装置のそれぞれはX=「x」として定義される現在の符号器状態を受け取る。符号器状態機械610内の各ANDゲート612は、表4の最終行で定義される入力v〜vおよびx〜xに選択的に接続される。例えばANDゲート612Aは、表4の最終行、第3列(x)の項目で定義される、入力x、v、v、v、v、およびvに接続する。ANDゲート612Aおよび612Bの出力はレジスタ614Aおよび614Bにそれぞれ接続する。レジスタ614Aおよび614Bの出力は状態機械出力xおよびxをそれぞれ構成する。
同様に、出力発生器620内の各ANDゲート622は、表4〜6の最終2列で定義される入力v〜vおよびx〜xに選択的に接続される。例えば、ANDゲート622Aは入力xおよびvに接続されて、yf0を生成し(表4の第2行、最終列)、また、ANDゲート622Bは入力xおよびxに接続されて、yh0を生成し(表5の第2行、最終列)し、さらに、ANDゲート622Cは入力xおよびvに接続されて、yj0を生成する(表6の第2行、最終列)。その他の符号器出力は表4〜6に示される通りに生成される。
マルチプレクサ640Aは、内部畳込み符号器600に対して第1符号器出力yia0〜yia3をそれぞれ提供する、3×1マルチプレクサ642A〜642Dを含む。データフェーズの間、ye0〜ye3はマルチプレクサ642A〜642Dをそれぞれ通して提供される。符号テールフェーズの間、マルチプレクサ642A〜642Dはそれぞれ、パケットフォーマット1ではyg0〜yg3を、パケットフォーマット2ではyi0〜yi3を提供する。同様に、マルチプレクサ640Bは、内部畳込み符号器600に対して第2符号器出力yib0〜yib3をそれぞれ提供する、3×1マルチプレクサ644A〜644Dを含む。データフェーズの間、yf0〜yf3はマルチプレクサ644A〜644Dをそれぞれ通して提供される。符号テールフェーズの間、マルチプレクサ644A〜644Dはそれぞれ、パケットフォーマット1ではyh0〜yh3を、パケットフォーマット2ではyj0〜yj3を提供する。
本発明の別の態様では、外部畳込み符号器により並列に生成される複数符号ビットを格納し、かつ内部畳込み符号器に複数符号ビットを並列で提供するインタリーバを実現する。図2に戻ると、インタリーバは外部および内部畳込み符号器の間に接続される。インタリーバは符号ビットの1つまたは複数パケットを格納するように構成される。パケット全体が格納された後、符号ビットは書込み順と異なる読出し順に取り出され、符号ビットのインタリービングを達成する。
典型的に実施形態の外部畳込み符号器は、M個のデータビットを並列に受け取って、符号化し、M×R符号ビットを生成するように構成できる。ここで、Rは外部畳込み符号器の符号化率に関係する(例えば、レート1/2符号器ではR=2)。処理を促進し、遅れを短縮するために、インタリーバは、符号ビットが符号器により生成されるときに、外部畳込み符号器から並列にM×R符号ビットを格納するように構成できる。同様に、内部畳込み符号器は、N個の符号ビットを並列に受け取って、符号化するように構成できる。処理を促進し、遅れを短縮するために、インタリーバは、少なくともN符号ビットを、単一読出し動作で並列に内部畳込み符号器に提供するように構成できる。
外部および内部畳込み符号器のそれぞれからの符号ビットをパンクチャして、別の符号化率の符号ビットを提供できる。例えば表1を参照すると、外部畳込み符号器からの出力は、パケットフォーマット1については結合して符号化率1/2を実現し、パケットフォーマット2についてはパンクチャして符号化率2/3を得る。同様に内部畳込み符号器からの出力は、パケットフォーマット1については結合して符号化率1/2を実現し、パケットフォーマット2についてはパンクチャして符号化率3/4を得る。符号器とインタリーバ間のインタフェースは、記号パンクチャリングを効率的に達成するように構成される。
図7Aはインタリーバ700の一実施形態の図である。この実施形態では、インタリーバ700はP個のポート(Pは2以上)を有するマルチポートメモリ710を用いて実現される。インタリーバを実現するのに使用される特定のメモリユニットに依存して、Pポートのそれぞれは書込みおよび読出しの両用に使用するか、または書込みまたは読出し専用に使用することができる。図7Aに示す実施形態においては、メモリ710は書込みポートD〜Dとして構成されるW個のポートと、読出しポートQ〜Qとして構成されるR個のポートとを含む。メモリ710はさらに、P個のアドレスA〜Aを含み、1つのアドレスがPポートのそれぞれに入力する。各書込みおよび読出しポートはC個のビットを並列に転送できる。
アドレス生成器720は入力アドレスADDRを受け取り、各アクティブポートに必要なアドレスを生成し、この生成したアドレスをメモリ710のアドレスA〜Aに提供する。簡単化のために図7Aには示していないが、アドレス生成器720はさらに、1つまたは複数の制御信号を生成し、この信号により、メモリ710に指示を与えた書込みまたは読出し動作を実行する。
一実施形態においては、メモリ710は、複数の行および列を有する2次元メモリとして構成される。一実施形態においては、符号ビットはメモリ710内の連続行に書き込まれる。効率を上げるため、各行の幅は各ポートの幅(すなわち、Cビット)に一致する。これにより、各書込み動作で、符号ビットの最大Wの行をメモリ710のWの書込みポートに書込み可能にする。パケット全体の符号ビットがメモリ710に格納されると、符号ビットはメモリから取り出しできる。一実施形態においては、符号ビットはメモリ710から行単位で読み出しできる。図7Aに示す実施形態については、符号ビットの最大R行が、各読出し動作で、R個の読出しポートから取り出しできる。
様々な構成を用いて、インタリーバ700から内部畳込み符号器に符号ビットを提供できる。実現するための特性の構成は、特定のシステム要求事項に依存する。1つの構成では、R個のマルチプレクサ730A〜730Rが、R個の読出しポートQ〜Qにそれぞれ接続される。各読出し動作では、符号ビットの最大R行がメモリ710から取り出され、マルチプレクサ730A〜730Rに提供され、これらのマルチプレクサはそれぞれ、制御信号AD〜ADを受け取る。各マルチプレクサ730はC個の符号ビットを受け取り、それぞれの制御信号ADに基づいて符号ビットの1つを選択し、この選択した符号ビットをマルチプレクサ出力に提供する。制御信号AD〜ADは、符号ビットの取り出された各行から特定符号ビットを選択する。このようにして、R個のマルチプレクサ730を用いて、Rの符号ビットを内側畳込み符号器に並列に提供できる。
理解を深めるために、ここでは、図5A、5B、および6で述べた外部および内部畳込み符号器と共に用いられる特定構成のインタリーバを説明する。前述の符号器の構成においては、外部畳込み符号器は、1クロックサイクル内で8データビットを並列に受け取って符号化し、16の符号ビットを生成する。また内部畳込み符号器は4個の符号ビットを並列に受け取り、これを符号化する。特定のインタリーバ構成においては、8ポートメモリを使用し、この内の4ポートは書込み動作で符号ビットを受け取るために使用し、4ポートは読出し動作で符号ビットを提供するために使用する。この構成では、各ポートは8ビットを並列に受け取りまたは提供できる。したがって、この特定の構成については、最大32符号ビットが書込み動作でインタリーバに書き込みでき、また最大32符号ビットが読出し動作でインタリーバから読み出しできる。
図7Bは、外部畳込み符号器とパンクチャリングの無いインタリーバとの間のインタフェースの一実施形態の図である。この実施形態においては、外部畳込み符号器により生成された符号ビットは4つのレジスタ732A〜732Dに提供される。レジスタ732Aおよび732Bは第1クロックサイクル内で生成される16符号ビットを受け取り、レジスタ732Cおよび732Dは第2クロックサイクル内(例えば、交互の)で生成される16符号ビットを受け取る。非パンクチャリングが実行されるとき、レジスタ732A〜732D上の全32符号ビットは、単一書込み動作で、メモリのポートD〜Dにそれぞれ提供される。
図7Cは、外部畳込み符号器とパンクチャリングを有するインタリーバとの間のインタフェースの一実施形態の図である。表1を参照すると、外部畳込み符号器に対する符号ビットは、パケットフォーマット2ではパンクチャリングパターン(1011)でパンクチャされる。したがって、1クロックサイクル内で、16符号ビットが生成され、4符号ビットがパンクチャされ、12符号ビットが格納される。最初に、第1クロックサイクルで生成された16符号ビットがレジスタ732Aおよび732Bに格納され、第2クロックサイクルで生成された16符号ビットがレジスタ732Cおよび732Dに格納される。パンクチャリング後、図7Cに示すように、24符号ビットが残り、3つの書込みポート(例えば、D〜D)に提供される。
アドレス生成器は、メモリ内の連続行に非パンクチャド符号ビットを書き込むために、適正なアドレスを提供する。1つのアドレスは、符号ビットを書き込むのに用いる各アクティブポートに対して生成される。したがって、アドレス生成器は、パンクチャリングが実行されないときはポートD〜Dに対して4つのアドレスを生成し、パンクチャリングが実行されるときはポートD〜Dに対して3つのアドレスを生成する。
4つの符号ビットを内部畳込み符号器に並列に提供するために、符号ビットの4行がメモリから取り出され、8×1マルチプレクサに提供される。各マルチプレクサはそれぞれ3ビットの制御信号ADを受け取り、この信号により、取り出された行内の特定ビットを選択し、内部畳込み符号器に提供する。このように、取り出された各ビットのアドレスは2部分に分割され、第1部分はメモリ内の特定行を識別し、第2部分はこの行内の特定位置を識別する。アドレスの第1部分はメモリの適正なアドレス入力に提供され、第2部分は制御信号ADとして提供される。アドレスの第1および第2部分は、実現されるシステムまたは標準により定義される特定のインタリービング方式に従って生成される。
典型的な実施形態のインタリーバは別のメモリを用いて実現できる。例えば、単一ポートのメモリユニットまたは複数のメモリユニットを用いて、複数ビットを並列に同時に格納および提供できる。単一ポートのメモリユニットについては、多重書込み動作を用いて、生成された符号ビットを格納でき、また、多重読出し動作を用いて必要とされる符号ビットを取り出しできる。複数メモリユニットを利用する構成においては、各メモリユニットは、マルチポートメモリのポート(またはポートのペア)と同様に動作できる。したがって、様々な構成を用いてインタリーバを実現可能なことは、本発明の範囲に含まれる。
前述の実施形態においては、インタリーバは外部畳込み符号器と内部畳込み符号器との間で使用される。この構成を用いて、特定の利点を有するターボ符号器が実現される。別の構成においては、外部畳込み符号器の後でインタリービングすることは必須ではなく、メモリは外部畳込み符号器の後に必ずしも必要でなく、または単にバッファとして利用することもできる。
典型的な実施形態の連結符号器は様々な方法で動作できる。1つの特定の構成においては、符号器は1度に1つのデータパケットを符号化するように動作する。図2を参照すると、特定のデータパケットは、外部畳込み符号器により符号化し、インタリーバに格納できる。パケット全体が外部畳込み符号器により符号化された後、符号ビットはインタリーバから取り出され、内部畳込み符号器により符号化される。内部畳込み符号器によりパケット全体が符号化されると、外部畳込み符号器により次のパケットが符号化される。この構成により、インタリーバについての必要メモリが低減され、これは用途によっては望ましいことである。
別の特定の構成においては、インタリーバは符号ビットの2つまたはそれ以上の符号を格納する容量を用いて実現される。例えば、インタリーバを実現するのに用いられるメモリは2つのバンクに分割され、各メモリバンクは符号ビットのパケット全体を格納できる。2つのメモリバンクにより、外部および内部畳込み符号器は2つのパケットを同時に操作できる。外部畳込み符号器は第1パケットを符号化して、このパケットの符号ビットを1つのメモリバンクに格納する。第1パケット全体がメモリに格納されると、外部畳込み符号器は第2パケットを符号化して、このパケットの符号ビットを第2メモリバンクに格納する。外部畳込み符号器が現在のパケットを符号化して1つのメモリバンクに格納する間に、内部畳込み符号器は別のメモリバンクから以前のパケットの符号ビットを取り出して符号化できる。この構成により、処理遅れを短縮できる。
図8は、いくつかの実施形態を実現する特定構成の符号器800のブロック図である。この符号器800を用いて図1の符号器114を実現できる。符号器800はアドレス生成器820とメモリ830に接続された処理ユニット810を含む。処理ユニット810はバッファ802からのデータと、制御装置(図示せず)からの制御情報とを受け取り、この受け取ったデータを制御信号に従って符号化し、この符号化されたデータをバファ850に提供する。
図8に示す実施形態においては、処理ユニット810は入力インタフェース812、マルチビット符号器814、出力インタフェース816、および制御ユニット818を含む。入力インタフェース812は、バッファ802に対するアドレスおよび制御信号を生成し、この生成されたアドレスおよび制御信号に応答してバッファ802から提供されるデータを受け取り、この受け取ったデータをマルチビット符号器814に送る。マルチビット符号器814は、出力および内部畳込み符号器を実現し、また、図4で先に述べたような、1つまたは複数のルックアップテーブルを用いるか、または1つまたは複数の符号器を用いて実現できる。外側畳込み符号器として動作するとき、マルチビット符号器814は入力インタフェース812からのデータを符号化し、この生成された符号ビットをメモリ830に提供する。内部畳込み符号器として動作するとき、マルチビット符号器814はメモリ830からの符号ビットを符号化し、この生成された符号ビットを出力インタフェース816に提供する。
制御ユニット818は様々な制御情報、例えば、符号化する特定のデータパケット、バッファ802内のパケットの位置、パケットフォーマット、使用する符号化方式、バッファ850内の符号化パケットを格納する位置等の情報を受け取る。制御ユニット818は、入力インタフェース812に指令を与えてバッファ802から適正なデータビットを取り出し、符号器状態機械814に指令を与えて適正な符号化方式を使用し、さらに、出力インタフェースに指令を与えて、符号化されたデータをバッファ850内の適正な位置に提供する。
アドレス生成器820は適正なアドレスを生成し、メモリ830への符号ビットの書込みおよび読出しの両方を行なう。アドレス生成器820は論理回路、ルックアップテーブル、または別の構成を用いて実現できる。
メモリ830は、マルチビット符号器814により生成される符号ビットを格納し、またこの格納された符号ビットをマルチビット符号器814に提供できる。適正なアドレスを生成することにより、メモリ830を操作して、符号ビットにインタリービングを提供できる。メモリは、前述のようにマルチポートメモリを用いるか、あるいは1つまたは複数のメモリユニットを用いて実現できる。
図9は、複数のデータビットを並列に連結符号化する方法の一実施形態のフローチャートである。最初に、ステップ912において、特定のデータパケットからの複数の(M)データビットが受け取られ、ステップ914において、第1(例えば、畳込み)符号化方式に従って並列に符号化され、複数の(MR)符号ビットが生成される。第1符号化方式により生成される符号ビットの数は、その方式の特定の符号化率に依存する。この生成された符号ビットのゼロまたはそれ以上は、ステップ916において、第1パンクチャリング方式を用いてパンクチャして、異なる符号化率の符号ビットを提供する。次にステップ918において、非パンクチャド符号ビットはメモリに格納される。
図9に示す実施形態においては、パケット全体は第1符号化方式により符号化されて、格納され、その後、第2符号化方式により符号化される。これにより、前述のように、符号ビットのインタリービングを可能にする。したがって、ステップ920において、パケット全体を符号化したかどうかの決定がなされる。パケット全体が符号化されていない場合、工程はステップ912に戻り、別のM個(またはこれ以下)データビットが受け取られる。
一方、パケット全体が符号化された場合、ステップ922において、複数の(N)符号ビットがメモリから取り出され、ステップ924において、第2(例えば、畳込み)符号化方式に従って並列に符号化され、複数の(NR)符号ビットが生成される。なお、第2符号化方式により生成される符号ビットの数は、その方式の特定の符号化率に依存する。この生成された符号ビットのゼロまたはそれ以上は、ステップ926において、第2パンクチャリング方式を用いてパンクチャして、別の符号化率の符号ビットを提供する。次にステップ928において、非パンクチャド符号ビットは、符号化されたデータとして次の処理ユニット(例えば、図1の変調器116)に提供される。
効率化および遅れを低減させるために、W個のワードをメモリに並列(例えば、Wの書込みポートを介して)に格納し、R個のワードをメモリから並列(例えば、Rの読出しポートを介して)に取り出しできる。W個のワードにより、第1符号化方式から非パンクチャド符号ビットを並列に格納できるようになり、またR個のワードにより、第2符号化方式にN個の符号ビットを並列に提供できる。メモリを前述と同様に操作して、符号ビットのインタリービングを達成できる。例えば、W個のワードをメモリ内の連続行に書込みでき、また、R個のワードをメモリ内の置換された行から読出しできる。
典型的な実施形態の符号器およびインタリーバを用いて、符号化時間を大幅に短縮できる。外部畳込み符号器を用いてM個のデータビットを並列に、および内部畳込み符号器を用いてN個の符号ビットを並列に符号化することにより、全体の符号化遅れを大幅に短縮できる。本発明のインタリーバは、書込み動作では複数符号ビットを受け取り、また読出し動作では複数符号ビットを提供する能力を有することにより、並列符号化をサポートする。特定の構成についての処理遅れの改善は、HDRシステムにおけるM=8およびN=4ならびにパケットフォーマット1および2について、表7に示す。
Figure 2013176114
表7に示す特定の構成については、全体符号化遅れが、本発明の符号器およびインタリーバにより提供される遅れに対して、4.8倍まで短縮されることは、大きな利点を与える。これらの利点のいくつかを以下に簡単に説明する。
第1に、短い処理遅れを用いて、より厳格な遅延要求条件を有する音声およびビデオなどの特定種類のサービスをサポートできる。このように、短い処理遅れにより、遅延に敏感な用途に対してさらに効率的な符号化方式を用いることが可能になる。
第2は、短い処理遅れにより、システム性能を改良できる。例えば、特定の時間において決定される通信リンクの条件に基づいて、特定の伝送に対して特定ユーザまたはデータ転送率が選択される場合、短い処理遅れにより、リンク条件がデータ伝送時間により変化しない可能性が増す。リンク条件は一般に時間の経過につれ変化し、長い処理遅れは、リンク条件データ伝送時間により変化する可能性を増し、その結果、性能の低下を引き起こす可能性がある。
第3は、短い処理遅れにより、特定の通信システムの容量を改良できる。例えば、HDRシステムにおいては、電力制御データはトラフィックデータを用いて多重化され、ユーザ端末に伝送される。短い処理遅れにより、ユーザ端末の伝送電力の正確な制御が可能になり、この結果、システム容量が増加し、性能が改良される。
第4は、短い処理遅れにより、複数の伝送構成要素(すなわち、3つのセクタシステムにおける人のユーザ)による、1つの処理タイムスロット(すなわち、HDRシステムにおける順方向リンクスロット)内でのハードウェア資源(すなわち、符号器)の順次共有が可能になることにより、ハードウェア構成の全体領域を減少できる。
理解を容易にするために、本発明の符号器の特定の態様および実施形態は、HDRシステムにおける順方向リンクについて特に説明してきた。しかし、本発明は、同一、類似、または異なる符号化方式を利用する他の通信システムにおいて使用することも可能である。例えば、本発明の符号器を用いて、複数データビットを並列に受け取り、これを符号化する畳込み符号器を実現できる。また、本発明の符号器を用いて、複数データビットを並列に受け取り、これを符号化できるターボ符号器などの結合符号器を実現できる。符号器の特定構成は様々な要素、例えば実現される特定多項式生成行列、並列に符号化されるビット数、パケットフォーマット、符号テールビット、およびその他などの要素に依存する。
本発明の符号器は、通信システムの基地局またはユーザ端末(例えば、移動体、電話、その他)で有利に使用できる。順方向リンク(すなわち、ダウンリンク)および逆方向リンク(すなわち、アップリンク)に対する符号化は異なる可能性があり、一般には、実現される特定CDMAシステムまたは標準に依存する。したがって、本発明の符号器は一般に、使用される特定用途に専用に構成される。
表2および表3に示す特定の構成を参照すると、外部畳込み符号器に対する次の状態および出力は、最大7項目を有する機能を備えるように生成できる。表4〜6に示す特定の構成を参照すると、内部畳込み符号器に対する次の状態および出力は、最大5項目を有する機能を備えるように生成できる。これら機能は、当技術分野で公知の方法で論理ゲートを用いて容易に生成できる。外部および内部畳込み符号器の他の素子(例えば、レジスタ、マルチプレクサ)もまた、当技術分野で公知の方法で実現できる。
本発明の符号器に対する前述の素子のすべてまたは一部(例えば、マルチビット符号器、入力および出力インタフェース、制御ユニット、符号器状態機会、出力発生器、マルチプレクサ、その他)は、1つまたは複数の特定用途向け集積回路(ASIC)、ディジタル信号プロセッサ(DSP)、プログラム可能論理素子(PLD)、複合PLD(CPLD)、コントローラ、マイクロコントローラ、マイクロプロセッサ、設計された他の電子回路内で実現し、本明細書で述べる機能、またはそれらの組み合わせを実行できる。本発明の符号器の素子のすべてまたは一部は、プロセッサ上で実行されるソフトウェアまたはファームウェアを用いて実現できる。
本発明のインタリーバを実現するのに使用されるメモリおよびメモリユニットは、例えば、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、フラッシュメモリ、およびその他などの、様々なメモリ方法を用いて実現できる。メモリユニットはまた、例えば、ハードディスク、CD−ROMドライブ、およびその他などの記憶素子を用いて実現できる。メモリユニットの様々な別の実現化は可能であり、これらは、本発明の範囲に含まれる。
複数ビットの再帰的な並列符号化
別の実施形態によれば、複数の符号器を並列に構成して、出力データ量を2倍にし、複数ビットをこの符号器で処理する。データ出力の増加は特に、フレームが高速で符号化される、高速データ転送率通信システムに適する。典型的な実施形態は1クロックサイクル当たり複数ビットを符号化することにより、データ伝送の時間制約に適合させる。この実施形態では、単一符号器を複数セクタで共有することにより、1セクタ当たり1符号器の使用を避ける。別の実施形態では、任意の数の符号器を並列に組み込む。符号化セクションをセクタで共有することにより、個々の符号器の速度に対する厳格性は低下する。
典型的な実施形態の1つの態様によれば、フレームバッファメモリは各フレームの複数コピーを格納する。並列ルックアップテーブル(LUT)および乗算器回路を用いて、ターボインタリーバアドレス生成器を実現する。この構成は、AND−XORツリーを用いて、並列符号化を実現する。ビットパンクチャリング/順序付けは、符号化処理後に並列に実行される。
図10は、複数のユーザをサポートし、本発明の少なくともいくつかの態様および実施形態を実現できる通信システム1000の例を示す。さまざまなアルゴリズムおよび方法のいずれかを利用して、システム1000での伝送を計画できる。システム1000は複数のセル1020A〜1020Gに対して通信を提供し、これらセルのそれぞれは、対応する基地局1040A〜1040Gのそれぞれからサービスを提供されている。典型的な実施形態においては、基地局1040の一部は複数の受信アンテナを有し、その他は受信アンテナを1つだけ有する。同様に、基地局1040の一部は複数の送信アンテナを有し、その他は単一の受信アンテナを有する。送信アンテナと受信アンテナの組み合わせには制約はない。したがって、基地局1040が複数の送信アンテナと単一の受信アンテナを有するか、あるいは複数の受信アンテナと単一の送信アンテナを有するか、あるいは単一または複数の送信および受信アンテナの両方を有することができる。
カバレージエリア内の端末装置1060は固定(すなわち、常設)されていても、または移動していてもよい。図1に示すように、さまざまな端末装置1060がシステム全体に分散している。各端末装置1060は、例えばソフトハンドオフが利用されるかどうか、または端末装置が複数の基地局からの多重伝送を受信するように設計され、動作するか(同時または順次)どうかに依存して、任意の所定時間に、ダウンリンクおよびアップリンク上で少なくとも1つおよび場合により複数の基地局1040と通信する。CDMA通信システムのソフトハンドオフは当技術分野では公知であり、これの詳細は、米国特許第5,101,501号の、発明の名称「CDMA携帯電話システムにおけるソフトハンドオフを実現する方法およびシステム」に記載されている。前記特許は、本発明の譲受人に譲渡されている。
ダウンリンクは基地局から端末装置への送信を指し、アップリンクは端末装置から基地局への送信を指す。典型的な実施形態においては、端末装置1060の一部は複数の受信アンテナを有し、その他は受信アンテナを1つだけ有する。図1では、基地局1040Aはデータをダウンリンク上で端末装置1060Aおよび1060Jに送信し、基地局1040Bはデータを端末装置1060Bおよび1060Jに送信し、基地局1040Cはデータを端末装置1060Cに送信する、等々である。
典型的な実施形態によれば、無線通信システムは、並列に構成された複数畳込み符号器を用いて情報を符号化して伝送する。個々の符号器のそれぞれは小規模構造を有し、インタリーバを介して結合されている。並列符号器は複数出力を提供する。すなわち2つの符号器を並列とし、この組み合わせが2倍の出力値を提供する。次に、その出力でそれら出力値を選択して、別の処理に利用する。各符号器内の処理は並列に実行される。
典型的な実施形態では、システムの1クロックサイクル当たり複数ビット、例えばサイクル当たり4ビットを処理する。典型的な実施形態の符号器は、ハードウェアおよびソフトウェアの組み合わせを用いて実現される。ハードウェアを利用して、情報の入力ビットを格納し、処理する。ソフトウェアはハードウェアを制御するための命令、および他の符号化計算、例えば符号化処理中の一時的値の生成を含む。
図11は、1つの実施形態による、クロック当り4ビットを符号化するターボ符号器ブロック1500を示す。図11に示されるターボ符号器ブロック1500は、並列に接続された2つの系統的畳込み符号器1502、1552を使用しており、第2畳込み符号器の前にインタリーバ1522を有する。インタリーバ1522はターボインタリーバと呼ばれる。2つの畳込み符号はターボ符号の構成符号と呼ばれる。構成符号器の出力をパンクチャし、反復して、所望の数のターボ符号器出力記号を得る。1つの実施形態による構成符号の伝達関数は以下のようになる。
Figure 2013176114
構成符号器1502、1552のそれぞれは複数のレジスタ、詳細には符号器1502内にはレジスタ1510、1512、および1514、および符号器1552内にはレジスタ1560、1562、および1564を含む。最初、構成符号器1502、1552内のレジスタの状態はゼロに設定される。各符号器1502、1552は、入力スイッチ1501、1551によりそれぞれクロック制御される。情報ビットはスイッチ1501を介して第1符号器1502に入力として供給される。入力情報ビットはNturboビットを含み、この数は実際には符号器1500に入るビットの数である。この入力情報ビットはさらにターボインタリーバ1522に提供され、このインタリーバではビットをインタリーブ(すなわち、スクランブル)し、データの伝送の正確さを向上させる。ターボインタリーバ1522の出力は、スイッチ1551を介して第2符号器1552に提供される。符号器1502、1552のそれぞれの動作は類似であり、したがって、以下の説明では符号器1502の動作だけを詳しく述べる。別の実施形態は、ターボ符号器ブロック1500に含まれる各符号器に対して、別の種類の符号器を実現する。
符号器1502への入力はスイッチに供給され、このスイッチはシステムクロック(図示なし)により制御される。情報ビットは、各Nturboデータビット期間中に1回、スイッチがアップの位置にクロックで切り換えられる。次に、各テールビット期間中に数回、スイッチがダウンの位置にクロックで切り換えられる。1つの実施形態によれば、情報ビットは、テールビット期間中に6回クロックで切り換えられる(各符号器1502、1552に対する3クロックを含む)。符号化データ出力記号は、構成符号器1502、1552をNturbo回クロックで切り換えてスイッチをアップ位置にし、所定のパンクチャリングパターンに従って出力をパンクチャすることにより生成する。符号器1500の出力はX、Y、Y、X’、Y’、Y’の順で生成される。典型的な実施形態によれば、記号の反復は出力記号の生成中は実施されない。ターボ符号器1500は符号化されたデータ出力記号に追加させるテール出力記号を生成する。テール出力記号が生成される前に、構成符号器1502、1520はNturbo回クロックで切換えられる。
ターボインタリーバ1522は、入力ビットシーケンスのそれぞれが、1つのアドレスシーケンスでアレイに順次に書込まれたものと同等結果の機能を生成するように構成される。この場合、このシーケンスは次に、所定のインタリービング手順またはプロトコルで定義される別のアドレスシーケンスで読出される。インタリーバの動作は、図12に関して詳細に説明する。
図11についてさらに説明を続ける。スイッチ1501の1つの接点は入力に接続される。スイッチ1501の第2接点は排他的OR(XOR)ゲート1504に接続される。XORゲート出力1504の出力は一連のレジスタまたは遅延素子1510、1512、1514に接続される。各遅延素子は関連状態を有し、この場合、遅延素子1510内に格納された情報は「状態0」で示し、遅延素子1512内に格納された情報は「状態1」で示し、遅延素子1514内に格納された情報は「状態2」で示す。遅延素子1510の出力は「S0」で識別され、遅延素子1512の出力は「S1」で識別され、遅延素子1514の出力は「S2」で識別される。
遅延素子1512および1514の出力はそれぞれ、XORゲート1516の入力に接続される。XORゲート1516の出力は入力スイッチ1501の第3接点とXORゲート1504の入力に接続される。XORゲート1504の出力はさらに、XORゲート1508の入力に接続される。XOR1508への他の入力は、遅延素子1510、1512、1514の個々の出力のそれぞれから受け取られる。XORゲート1504の出力はさらに、XORゲート1506の入力に接続される。XOR1506への他の入力は、遅延素子1510および1514の個々の出力から受け取られる。
符号器1502の出力は、入力スイッチ1501からのX成分、XORゲート1506からのパリティビット出力Y、およびXORゲート1508の出力からの第2パリティビット出力Yを含む。出力X、Y、およびYはそれぞれ、記号パンクチャリングおよび反復ユニット1520に提供される。
機能的には、符号器1520の構成により以下の式を実現する。
Figure 2013176114
ここでIは入力情報ビットを表し、S,S、およびSは遅延素子1510、1512、および1514の出力をそれぞれ表し、演算子マルプラスは論理XOR演算を表す。ディジタル論理の結合および分配法則を適用すると、式(10)および(11)は以下のように簡単になる。
Figure 2013176114
典型的な実施形態によれば、ターボ符号器は2つのステージを有する。第1ステージでは、フレームが外部ソースから読み込まれる。CRCもこの第1ステージの間に計算される。第2ステージの間、フレームは符号化され、パンクチャされ、反復される。ターボ符号器の符号化率は1/3または1/5にできる。
第2ステージの間、4ビットが符号器1500において受け取られ、この4ビットは並列に処理されて、符号器のスループットを高める。効果的には、入力情報ビットI[0]:I[3]は同時に符号器1500に提供され、入力情報ビットは、符号器1500に直列に提供されたのと同様に処理される。これは式(16)および(17)を入力データに再帰的に適用することにより達成される。個々のクロックサイクルの間に、この状態の値が決定され、すなわち、それぞれ、S0「0」:S0[4]、S1「0」:S1[4]、S2「0」:S2[4]になる。
図12は、1つの実施形態によるインタリーバの動作を示す。図に示すように、インタリーバ1300はカウンタ(図示なし)から入力を受け取り、ADD回路1302をインクリメントする。機能的には、アドレス生成はメモリ格納行のアレイにカウンタ値を書き込むのに同一である。この行はビット反転または他の方法に従ってシャッフルされ、各行内の要素は、行特定線形合同式法シーケンスに従って置換される。次に、出力アドレスが列により読み出される。線形合同式法シーケンスは以下の式で与えられる。
Figure 2013176114
ここでx(0)=cは、ルックアップテーブルからの行特定値である。
図12に関してさらに説明を続ける。カウンタ値からの最上位ビット(MSB)情報は、加算ユニット1302に提供される。加算ユニット1302はカウンタのMSB値をインクリメントし、その結果を乗算ユニット1304に提供する。1つの実施形態においては、得られた値を変更して、所定のビット数だけを出力として提供する。カウンタ値からの最下位ビット(LSB)情報はルックアップテーブル(LUT)1308およびビット反転ユニット1310に提供される。LSB情報を用いて、LUT1308をアドレス指定し、その位置に格納された値が乗算ユニット1304に提供される。乗算ユニット1304への入力は合わせて乗算され、その積が選択ユニット1306に提供される。1つの実施形態においては、乗算ユニット1304は前記積の一部(積のLSB部分など)だけを1つの出力として選択ユニット1306に提供する。ビット反転ユニット1310は、カウンタ値のLSB部分について、前述と同様に、ビット反転動作を実行する。ビット反転ユニット1310の出力は選択ユニット1306に提供される。典型的な実施形態によれば、乗算ユニット1304から受け取られる選択ユニット1306への入力はLSB部分として利用され、また、ビット反転ユニット1310から受け取られる入力はMSB部分として利用される。選択ユニット1306はまた、前記結果として得られた出力アドレスが有効アドレスかどうかを決定する。そのアドレスが無効である場合、選択ユニットはその結果を破棄し、次のカウンタのインクリメントで、新しいアドレスが生成される。別の実施形態は、並列畳込み符号器間に別のインタリービング方式を適用することにより実現できる。
なお、図11の符号器1500は無線トランシーバ内の複数も変調器ブロックと共有でき、したがって、典型的な実施形態の符号器は1クロックサイクル当たり複数ビットを符号化し、これにより、高速データ伝送システムの速度要求条件を満足させることができる。例えば、図13に示すように、符号器1100の機能動作は1クロックサイクル当たり4ビットを符号化し、この場合、符号器1100は、40MHzクロックを用いて、約32μs内で最大サイズフレームを符号化するように構成される。前述のように、符号器1100は2つのステージで動作する。第1ステージの間に、フレームが外部ソースから読み込まれ、CRCが計算される。第2ステージの間に、フレームは符号化され、パンクチャされ、反復される。典型的な実施形態の説明で用いたように、フレームはオーバーヘッド部分とペイロード部分とを有するデータ伝送ユニットである。
図13は、典型的な実施形態による符号器1100の動作の機能図である。符号器1100は、1つの実施形態によれば複数のRAM(ランダムアクセスメモリ)である外部ソースから、情報ビットを16ビットワードとして受け取る。5つの同一コピーが符号器1100内のメモリに格納される。次にこれらビットは、デマルチプレクサ1130を介して並列符号器1132に選択的に提供される。典型的な実施形態によれば、メモリからデマルチプレクサ1130に16ビットが提供され、このデマルチプレクサ1130は1回に4ビットを選択して、並列符号器1132に提供する。並列符号器は4入力ビットを受け取り、3つの出力X、Y、Yを生成する。各出力は4ビット出力であり、ここでは、並列符号器が再帰的処理を実行して、各クロックサイクルにつき4ビット出力を生成する。
前述のように、CRC発生器1134は第1ステージの間に動作し、16ビットのCRCが現在処理中のパケットについて計算される。パケットはペイロード、CRC部分およびテール部分を含む。1つの実施形態は可変長パケットをサポートする。データが1クロックサイクル当たり16ビットで読み出しされるとき、CRC発生器1134はCRCを各サイクルで計算する。第1ステージの終端で、CRCは完了する。この時点で、CRCはメモリ格納ユニット(MEM)1128および4つのメモリ格納デバイスのMEM1104〜1106に書き込まれる。またこの第1ステージの間に、情報ビットがMEM1104〜1106に提供される。情報ビットはMEM1104〜1106にクロックと同期して提供され、各クロックサイクルで16ビットが送られる。なお、典型的な実施形態においては、MEM1104〜1106は4つのメモリを含むが、別の実施形態では別の数のメモリを含むこともできる。MEM1104〜1106は、それぞれがマルチプレクサ1136の入力に接続されている、アドレス生成器1124およびカウンタ1126からアドレス指定制御情報を受け取る。マルチプレクサ1136の出力は制御信号をMEM1104〜1106に提供する。アドレス生成器1124はアドレス指定をインクリメントして、4つの値を格納する。MEM1104〜1106への書込みの間、MEM1104〜1106のそれぞれは同一アドレスを受け取る。MEM1104〜1106からの読出しの間、MEM1104〜1106のそれぞれは異なるアドレスを受け取る。図13に示すように、MEM1128は並列符号器1132の1つにデータを提供し、一方、MEM1104〜1106は第2並列符号器1144にデータを提供する。それぞれがX、Y、およびYの出力セットを提供する、並列符号器1132および1144から、図11のブロック1520などの記号反復およびパンクチャリングブロックに、出力ビットが提供される。
図14に示すように、情報ビットI[0]:I[3]が符号器1500および1100と類似の符号器1200に提供される。符号器1100は、式(16)および(17)を入力情報ビットI[0]:I[3]に適用するための、ルックアヘッド状態発生器1200を含む。ルックアヘッド状態発生器1202は状態情報を生成し、状態S0[4]、S1[4]、S2[4]をレジスタまたはメモリ格納デバイス1204に格納する。状態情報は各システムクロックサイクルで更新される。第1値を格納する前に、メモリ格納デバイス1204は所定の状態値に初期化される。次に、状態値S0[0]:S0[3]、S1[0]:S1[3]、S2[0]:S2[3]がマルチビット出力発生器1206、1208に提供される。入力情報ビットI[0]:I[3]は出力X[0]:X[3]として提供される。マルチビット出力発生器1206は出力Y[0]:Y[3]を生成し、一方、マルチビット出力発生器1208は出力Y[0]:Y[3]を生成する。マルチビット出力発生器1206および1208は、前述の式(16)および(17)に基づいて再帰的に値を計算する。
前述のように、典型的な実施形態のアドレス生成は、4つの読出しアドレスを4つのターボインタリーバメモリ1104、...、1106に提供する。ターボインタリービングアドレスは認識可能なパターンを持たないため、各アドレスの4つのコピーを生成して、1クロック当たり4ビットの読出しスループットを得ることが望ましい。インタリーバメモリ1104、...、1106のそれぞれは、読出しワードとして1つの16ビットワードを提供し、複数の16:1マルチプレクサを介して、1ビットが各16ビット読出しワードから選択される。典型的な実施形態においては、各インタリーバ1104、...、1106はマルチプレクサ1140、...、1142のそれぞれに接続される。次に、4ビット(すなわち、各インタリーバ1104、...、1106から1ビット)が第2符号器1144まで通過する。
全体符号化時間は、第1ステージの間ビットをメモリに読み込む時間と、第2ステージの間に符号化する時間とを加算した時間である。例えば、4096ビットのフレームサイズを考えると、このフレームを符号化する近似サイクル数は以下の式になる。
Figure 2013176114
したがって、40MHzシステムクロックを有するシステムでは、4096ビットフレームは符号化に約32μsを要し、これは目標の40μs符号化時間内にある。
前述のように、2ステージの符号器は内部メモリ構造体内に存在する全体パケットを有する。このような構造では入力情報は、4ビットを処理できる読出しポート(すなわち、クワド・リード・ポート)を介して符号器に提供される。外部フレームソースメモリは一般に1つの読出しポートであり、したがって、このメモリからのフレームを直接符号化するには別の方法が用いられる。典型的な実施形態では、1クロックサイクル当たり情報の複数情報ビットの再帰的処理を実現して、クロックサイクル当たり4つの符号化されたビットを提供する。
CRC発生器1134ならびに符号器1132および1144は1クロックサイクル当たり1ビット以上の速度でデータを操作する。典型的な実施形態では、全体にAND−XORツリー構造を実現して、並列処理を可能にする。別の実施形態では、式(13)、(14)、および(15)を再帰的に実現して、任意の論理構造を実現する。各AND−XORツリーは、AND−XORツリーのタップを決定する、固有の2次元のビットアレイを与えられる。例えば、符号器1132、1144を考えると、各符号器は、パリティビット出力(すなわち、Y、Y)に対して異なるXORタップを有する内部の3ビット状態を含む。各符号器1132、1144は1クロックサイクル当たり並列処理で4ビットを符号化し、1/3速度符号器がクロック当たり12ビットのデータ、すなわち、4Xビット、4Yビット、4Yビットを生成する。各出力ビットは全4入力ビットおよび現在の状態に依存する。各符号器は3つのAND−XORツリーを含み、このツリーは次の2グループの4ビット出力値および次の3ビット状態を生成する。X出力は入力から符号器に直接提供され、AND−XORツリーを通しては提供されない。
典型的な実施形態においては、複数の有効アドレスがクロックサイクルごとに要求される。典型的な実施形態によれば、複数アドレスは4つのアドレスを含む。4つの独立回路を用いて、4つの独立読出しアドレスを生成する。符号器1144については、4つの入力ビットがクロックサイクルごとに使用される。これら4つの入力ビットは、4フレームメモリ内の4つの異なるインタリーバアドレス位置から提供され、したがって、4つのアドレス生成器が4つのアドレスを提供する。
図11の符号器1502(および、1552も同様)により実行され、かつ図14の特定動作で詳細に記載される反復的動作の例として、以下の用途を考える。素子1510、1512および1514内で生成され、格納される状態は、それぞれ、S、S、およびSと識別される。所定の反復での各状態の計算は、以下の式で決定される。
Figure 2013176114
ここでnは反復指標である。符号器1500は、反復ゼロでその入力に対応する入力I[0]を受け取った。これに対応して、各素子1510、1512、および1514は値S[0]、S[0]、およびS[0]に初期化された。この場合、反復n=1に対して、式は以下のように実現される。
Figure 2013176114
ここで、入力値および状態値はn=0(初期化時)におけるものである。同様に、反復n=2では、反復n=1からの値は素子1510、1512、および1514に格納され、これらを用いて、以下の式で状態値を計算する。
Figure 2013176114
先に生成された値および関係を用いて、式(26)、(27)および(28)は以下の結果になる。
Figure 2013176114
反復n=3に対する結果は以下のようになる。
Figure 2013176114
同様に、反復n=4に対する結果は以下のようになる。
Figure 2013176114
なお、反復によっては、符号器の構成および動作において利用できる、類似の状態計算関係をもたらす。
第1ステージの間、符号器1100の動作を継続することにより、符号器内のメモリは同一メモリアドレスに同一データを書き込まれる。第2ステージの間、メモリは異なるアドレスから独立的に読み出しされる。
図12の戻ると、図12の回路は1クロックサイクル当たり1アドレスを生成する。入力カウンタは2のべき乗であり、したがって、ターボインタリーバ・ブロック・サイズで定義される範囲を外れるいくつかのアドレスが生成されることがある。この無効アドレスはアドレス生成器で検出され、飛び越される。パイプラインレジスタをアドレス生成回路の中間に挿入し、動作速度を増すことができる。
図15には、1つの実施形態によるターボインタリーバアドレス生成回路1400を示す。イネーブル信号およびパケットサイズインジケータがアドレス・ポインタ1402に提供される。アドレスポインタ1402の出力は並列回路パス、およびアドレス値をインクリメントするのに用いられるLUT1404、1454に提供される。追加ユニット1406、1456は1ビットを、各LUT1404、1454から受け取る2ビットに加える。追加ユニット1406、1456の出力は加算器1408、1458にそれぞれ提供される。次に、加算演算の結果はマルチプレクサ1410、1460に提供される。イネーブル信号は、それぞれが12ビットを生成するマルチプレクサ1410、1460のそれぞれに提供される。マルチプレクサ1410、1460の出力は遅延素子1412、1462に提供され、この遅延素子の出力は加算器1408、1458に戻される。遅延素子1412、1462の出力は、ターボ符号器LUT1414、1464を含む遅延素子の回路に提供される。遅延素子1412、1462の出力の7MSBは遅延素子1416、1466に提供される。5LSBはLUT1414、1464および遅延素子1420、1470の両方に提供される。遅延素子1416および1418は、遅延素子1422に接続された乗算器の入力に結合される。遅延素子1466、1468の出力は遅延素子1472に結合された乗算器ゲートの入力に接続される。遅延素子1420の出力はビット反転ユニット1424に接続される。遅延素子1470の出力はビット反転ユニット1474に接続される。各パスは最終的に遅延素子1426、1476にそれぞれ提供される。
1つの実施形態によれば、有効アドレスは4グループに分割される。有効アドレスを与えるカウンタ値のそれぞれが決定されるが、またこれらカウンタ値は無効値を与えることもある。カウンタ値のアドレスへのマッピングはLUT1404、1454に格納される。個々のLUTに対し、カウンタ値が無効アドレスに対応する値にまでインクリメントされると、LUTは適正なオフセット値を出力して、有効アドレスに対応する次のカウンタ値を提供する。この方法では、アドレス生成器だけが有効アドレスを生成する。この手順により、不必要なアドレス計算、すなわち後に破棄される無効アドレスの計算が回避される。
図15のアドレス生成回路は、図16の符号器1600などの符号器構成に利用できる。符号器1600は、符号化されるフレームを提供する外部メモリに応答する。入力データの5つのコピーが作成され、メモリ1622、1624、1626、1628、および1630(MEM1,MEM2,MEM3、MEM4、およびMEM5と称される)のそれぞれに格納される。MEM1は4つの連続ビットを符号器1650に提供する。MEM1内のアドレスは順次アクセスされる。符号器1650は4ビット出力をX、Y、およびYのそれぞれに供給する。
アドレス生成器1632、1634、1636、および1638は、MEM2,MEM3、MEM4、およびMEM5にそれぞれ接続される。MEM2,MEM3、MEM4、およびMEM5はそれぞれ、符号器1652に1ビットを提供する。符号器1652はまた、4ビット出力をX、Y、およびYのそれぞれに供給する。
アドレス生成器1632、1634、1636、および1638は、関連メモリのそれぞれに対して固有の連続アドレス位置を生成する。例えば、1つの方式では、アドレス生成器1632はアドレス位置0、4、8などを生成し、アドレス生成器1634はアドレス位置1、5、9などを生成し、アドレス生成器1636はアドレス位置2、6、10などを生成し、アドレス生成器1638はアドレス位置3、7、11などを生成する。生成されたアドレスがインタリーバのブロックサイズを超えると、アドレス生成器はこのアドレスを飛び越す。
図17は、並列ターボ符号器で使用されるインタリーバのアドレスを生成する方法2000を示す。この方法はステップ2002においてカウンタを増やす。カウンタ値を用いて、図16に示す実施形態などの、ターボ符号器内の入力データをインタリービングするためのアドレスを生成する。決定ダイヤモンド2004において、カウンタ値をチェックして、カウント値が無効アドレスかどうかを決定する。無効アドレスは予め決定されており、この無効アドレスに一致するカウント値がメモリ格納デバイスに格納される。無効アドレスがデータパケットのサイズより大きいアドレスを指定すると、処理はステップ2006に続き、カウンタを次の有効アドレスに調整する。そうでない場合、処理はステップ2008に続き、初期に生成されたかまたは調整されたかによらず、カウンタ値に基づきアドレスを生成する。決定ダイヤモンド2010でパケットが完了した場合、処理は終了する。そうでない場合処理はステップ2002に戻る。
本発明は、さまざまな出力を処理する再帰的方法を用いて、複数ビットを並列に符号化する方法を提供する。各クロックサイクルの間、符号器は複数ビットを処理し、従来の畳込み符号器において連続的に生成される出力と整合性がある出力を生成する。1つの実施形態においては、入力データは複数のメモリ格納ユニットに格納され、このメモリ格納ユニットのそれぞれを固有にアドレス指定して、2つの並列符号器(例えばターボ符号器を組み込んでいる)にデータを提供する。
このように、さまざまな出力を処理する再帰的方法を用いて、複数ビットを並列に符号化するための新規の、改良された方法および装置が実現された。アドレスは、複数メモリ格納ユニットの使用によるインタリービング動作のために生成され、カウンタを用いてインタリーバアドレスを生成し、マッピングにより無効アドレスを識別する。当業者には、前述の説明全体を通して引用されるデータ、命令、コマンド、情報、信号ビット、記号、およびチップは、有利には、電圧、電流、電磁波、磁界または磁粒、光の場または光粒子、またはそれらの組合せで表されることは理解されるであろう。さらに当業者には、本明細書で開示する実施形態に関連する、さまざまな例示の論理ブロック、モジュール、回路、およびアルゴリズムステップは、電気的ハードウェア、コンピュータソフトウェア、または両者の組合せとして実現できることは理解されるであろう。さまざまな例示のコンポーネント、ブロック、モジュール、回路、およびステップは一般に、それらの機能面で説明してきた。機能がハードウェアまたはソフトウェアとして実現されるかどうかは、特定用途およびシステム全体に与えられる構成の制約に依存する。当業者には、これら環境におけるハードウェアおよびソフトウェアの互換性、および各特定用途に対する前述の機能を実現する最良の方法を理解されるであろう。例えば、本明細書で開示する実施形態に関連する、さまざまな例示の論理ブロック、モジュール、回路、およびアルゴリズムステップは、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、現場プログラム可能ゲートアレイ(FPGA)または他のプログラム可能論理素子、ディスクリートのゲートまたはトランジスタロジック、例えばレジスタおよびFIFOなどのディスクリートのハードウェアコンポーネント、ファームウェア命令セットを実行するプロセッサ、任意の従来のプログラム可能ソフトウェアモジュールおよびプロセッサ、または本明細書で述べる機能を実行するために構成されるそれらの任意の組合せにより、実現または実行できる。有利には、プロセッサはマイクロプロセッサにできるが、これとは別に、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、プログラム可能論理デバイス、ロジックアレイ素子、または状態機械であってもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で公知の任意の形態の格納媒体内に存在できる。有利には、典型的プロセッサは格納媒体に結合され、情報をその格納媒体との間で読出しまたは書込みする。あるいは、格納媒体はプロセッサと一体化できる。プロセッサおよび格納媒体はASIC内に存在できる。ASICは電話または他のユーザ端末内に存在できる。あるいは、プロセッサおよび格納媒体は電話または他のユーザ端末内に存在できる。プロセッサはDSPおよびマイクロプロセッサの組合せとして、またはDSPコアなどと組み合わせた2つのマイクロプロセッサとして実現できる。
これまで、本発明の好ましい実施形態を示し、説明してきた。しかし、当業者には、本発明の精神または範囲から逸脱することなく、本明細書で開示した実施形態に対する多くの代替形態を形成することが可能であるのは明らかである。したがって、本発明は、以下の特許請求の範囲に従うことを除き、限定されないものとする。

Claims (27)

  1. 無線通信システムにおける符号器のインタリーバに対するアドレスを生成する方法であって、
    第1有効アドレスに対応する第1カウンタ値を決定することと、
    前記第1カウンタ値から前記第1有効アドレスを生成することと、
    第2カウンタ値に対応する第2カウンタ値を決定することと、
    前記第2カウンタ値に基づいて前記第2有効アドレスを生成することと、
    を備える方法。
  2. 前記第1カウンタ値および第2カウンタ値は、有効アドレスに対応する一式のカウンタ値内に含まれている、請求項1に記載の方法。
  3. アドレス生成は、前記カウンタ値にオフセットを加えることを備える、請求項2に記載の方法。
  4. 前記第2カウンタ値の決定は、前記第1カウンタ値にカウンタオフセット値を加えることを備える、請求項2に記載の方法。
  5. 前記一式のカウンタ値はメモリ格納デバイス内に格納され、格納された各カウンタ値は対応するカウンタオフセット値を有する、請求項4に記載の方法。
  6. 無線通信システムにおけるインタリーバに対するアドレス生成装置であって、
    第1有効アドレスに対応する第1カウンタ値を決定する手段と、
    前記第1カウンタ値から前記第1有効アドレスを生成する手段と、
    第2カウンタ値に対応する第2カウンタ値を決定する手段と、
    前記第2カウンタ値に基づいて前記第2有効アドレスを生成する手段と、
    を備えているアドレス生成装置。
  7. 前記第2カウンタ値を生成する手段は、前記第1カウンタ値のオフセットカウンタ値を加える、請求項6に記載のアドレス生成装置。
  8. 無線通信システムにおけるインタリーバに対するアドレス生成装置であって、
    カウンタと、
    それぞれがカウンタに接続された複数のアドレス生成器と、
    を備える装置であり、
    前記複数のアドレス生成器のそれぞれは、
    前記カウンタに接続され、かつ対応するカウンタオフセット値を有する複数のカウンタ値を格納するメモリ格納デバイスと、
    前記メモリ格納デバイスに接続され、かつ前記カウンタオフセット値を先に生成されたアドレスに加える第2カウンタと、
    を備えている、アドレス生成装置。
  9. 前記第2カウンタは、
    前記メモリ格納デバイスに接続された第1入力を有する加算器と、
    前記加算器の出力に接続された第1入力と、所定の初期値に接続された第2入力とを有するマルチプレクサと、
    前記マルチプレクサの出力に接続され、かつ前記加算器の第2入力に接続された出力を有する第2メモリ格納デバイスと、
    を備えている、請求項8に記載のアドレス生成装置。
  10. 前記メモリ格納デバイスと前記第2カウンタとの間に接続された追加回路をさらに備え、この追加回路が所定の値を前記メモリ格納デバイスの出力に加える、請求項9に記載のアドレス生成装置。
  11. 前記第1メモリ格納デバイスはルックアップテーブルである、請求項10に記載のアドレス生成装置。
  12. 連続する入力情報ビットを格納するための複数のメモリと、
    前記入力情報ビットをスクランブルするための複数のインタリーバと、
    前記メモリに接続され、かつ前記連続の入力情報ビットを符号化する第1符号器と、
    前記複数のメモリに接続され、かつ前記インタリーブされた入力情報ビットを符号化する第2符号器と、
    を備えているデータ符号器。
  13. 前記第1符号器および第2符号器は1システムクロックサイクル当たり複数ビットを処理する、請求項12に記載のデータ符号器。
  14. 前記第1符号器および第2符号器は複数のAND−XORツリーを含む、請求項13に記載のデータ符号器。
  15. 前記第1符号器および第2符号器は複数のビットを再帰的に処理する、請求項14に記載のデータ符号器。
  16. データを符号化する方法であって、
    複数の入力ビットを受け取ることと、
    前記複数の入力ビットに基づいて第1セットの状態値を計算することと、
    前記第1セットの状態値および前記複数の入力ビットを用いて第1セットの符号化出力値を生成することと、
    を備える、データ符号化方法。
  17. 前記第1セットの状態値はメモリ格納デバイス内に格納される、請求項16に記載のデータ符号化方法。
  18. 前記複数の入力ビットおよび前記第1セットの状態値に基づき第2セットの状態値を生成することをさらに備え、
    前記第1セットの符号化出力値の生成は、前記第1セットの状態値、前記第2セットの状態値、および前記複数の入力ビットを利用する、請求項17に記載のデータ符号化方法。
  19. 前記複数の入力ビットを第1セットの出力として提供することをさらに備える、請求項18に記載のデータ符号化方法。
  20. データを符号化する方法であって、
    複数の入力ビットを受け取ることと、
    単一システムクロックサイクルの間に、
    前記複数の入力ビットに基づいて第1セットの状態値を計算することと、
    前記複数の入力ビットおよび前記第1セットの状態値に基づいて第2セットの状態値を計算することと、
    前記複数の入力ビットならびに前記第1および第2セットの状態値に基づいて第3セットの状態値を計算することと、
    前記第1、第2、および第3セットの状態値に基づいてセットの符号化出力を生成することと、
    を備える、データ符号化方法。
  21. 前記第3セットの状態値をメモリ格納デバイス内に格納することをさらに備える、請求項20に記載のデータ符号化方法。
  22. 第2の複数の入力ビットを受け取ることと、
    単一システムクロックサイクルの間に、
    前記第2の複数の入力ビットおよび前記第3セットの状態値に基づいて第4セットの状態値を計算することと、
    前記第2の複数の入力ビットおよび前記第4セットの状態値に基づいて第5セットの状態値を計算することと、
    前記第2の複数の入力ビットならびに前記第4および第5セットの状態値に基づいて第6セットの状態値を計算することと、
    前記第4、第5、および第6セットの状態値に基づいて第2セットの符号化出力を生成することと、
    をさらに備える、請求項21に記載のデータ符号化方法
  23. 複数の入力ビットを受け取ると、1システムクロックサイクル間に複数の状態値を生成するルックアヘッド状態発生器と、
    前記ルックアヘッド状態発生器に接続され、かつ前記複数の状態値に応じてセットの出力値を出力する第1出力発生器と、
    前記ルックアヘッド状態発生器に接続され、かつ前記複数の状態値に応じて第2セットの出力値を出力する第2出力発生器と、
    を備える符号器装置
  24. 前記第1出力発生器は
    Figure 2013176114
    に従うセットの出力値を発生し、ここでS1およびS0は前記ルックアヘッド状態発生器で生成される前記複数の状態値の状態であり、Iは前記複数の入力ビット内の入力ビットである、請求項23に記載の符号器装置。
  25. 前記第2出力発生器は
    Figure 2013176114
    に従う第2セットの出力値を発生する、請求項24に記載の符号器装置。
  26. データを符号化する装置であって、
    複数の入力ビットを受け取る手段と、
    前記複数の入力ビットに基づいて第1セットの状態値を計算する手段と、
    前記複数の入力ビットおよび前記第1セットの状態値に基づいて第2セットの状態値を計算する手段と、
    前記複数の入力ビットならびに前記第1および第2セットの状態値に基づいて第3セットの状態値を計算する手段と、
    前記第1、第2、および第3セットの状態値に基づいてセットの符号化出力を生成する手段と、
    を備えているデータ符号化装置。
  27. データ処理ユニットと、
    複数のコンピュータ読取り可能命令を格納するメモリ格納デバイスと、を備える装置であって、
    複数の入力データを受け取ることと、
    単一システムクロックサイクルの間に、
    前記複数の入力ビットに基づいて第1セットの状態値を計算することと、
    前記複数の入力ビットおよび前記第1セットの状態値に基づいて第2セットの状態値を計算することと、
    前記複数の入力ビットならびに前記第1および第2セットの状態値に基づいて第3セットの状態値を計算することと、
    前記第1、第2、および第3セットの状態値に基づいてセットの符号化出力を生成することと、
    を備える装置。
JP2013083336A 2001-12-14 2013-04-11 データビットを並列に符号化する方法および装置 Expired - Fee Related JP5886235B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/020,532 2001-12-14
US10/020,532 US6954885B2 (en) 2001-12-14 2001-12-14 Method and apparatus for coding bits of data in parallel

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009035943A Division JP2009194916A (ja) 2001-12-14 2009-02-18 データビットを並列に符号化する方法および装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015077701A Division JP6077041B2 (ja) 2001-12-14 2015-04-06 データビットを並列に符号化する方法および装置

Publications (2)

Publication Number Publication Date
JP2013176114A true JP2013176114A (ja) 2013-09-05
JP5886235B2 JP5886235B2 (ja) 2016-03-16

Family

ID=21799121

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2003553775A Expired - Fee Related JP4326956B2 (ja) 2001-12-14 2002-12-12 データビットを並列に符号化する方法および装置
JP2009035943A Pending JP2009194916A (ja) 2001-12-14 2009-02-18 データビットを並列に符号化する方法および装置
JP2013083336A Expired - Fee Related JP5886235B2 (ja) 2001-12-14 2013-04-11 データビットを並列に符号化する方法および装置
JP2015077701A Expired - Fee Related JP6077041B2 (ja) 2001-12-14 2015-04-06 データビットを並列に符号化する方法および装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2003553775A Expired - Fee Related JP4326956B2 (ja) 2001-12-14 2002-12-12 データビットを並列に符号化する方法および装置
JP2009035943A Pending JP2009194916A (ja) 2001-12-14 2009-02-18 データビットを並列に符号化する方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015077701A Expired - Fee Related JP6077041B2 (ja) 2001-12-14 2015-04-06 データビットを並列に符号化する方法および装置

Country Status (10)

Country Link
US (1) US6954885B2 (ja)
EP (2) EP2251982A1 (ja)
JP (4) JP4326956B2 (ja)
KR (2) KR20100080847A (ja)
CN (1) CN100481738C (ja)
AU (1) AU2002361684A1 (ja)
BR (1) BR0214915A (ja)
ES (1) ES2474215T3 (ja)
TW (1) TWI306698B (ja)
WO (1) WO2003052997A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7421685B2 (ja) 2020-07-31 2024-01-24 エアバス・ディフェンス・アンド・スペース・エスアーエス 準巡回ldpc符号を効率的に符号化するためのデバイスおよび方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10207146A1 (de) * 2002-02-20 2003-08-28 Infineon Technologies Ag Hardware-Schaltung zur Punktierung und Wiederholungscodierung von Datenströmen und Verfahren zum Betrieb der Hardware-Schaltung
US7318189B2 (en) * 2002-08-01 2008-01-08 Zarbana Digital Fund Llc Parallel convolutional encoder
US7738596B2 (en) * 2002-09-13 2010-06-15 Broadcom Corporation High speed data service via satellite modem termination system and satellite modems
US20040267968A1 (en) * 2003-06-25 2004-12-30 Agilent Technologies Belgium S.A./N.V Implementation of a column interleaving function with a limited amount of columns
US7315549B2 (en) * 2003-07-24 2008-01-01 Intel Corporation Formatting data for a buffer
US7305593B2 (en) * 2003-08-26 2007-12-04 Lsi Corporation Memory mapping for parallel turbo decoding
US7600163B2 (en) * 2003-09-23 2009-10-06 Realtek Semiconductor Corp. Convolutional interleaver and deinterleaver
US7712004B1 (en) * 2003-09-30 2010-05-04 Emc Corporation Method of and system for error checking in a data storage system
KR101050570B1 (ko) * 2003-12-03 2011-07-19 삼성전자주식회사 시공간 트렐리스 코드를 사용하는 이동 통신 시스템에서 성능 개선을 위한 데이터 송수신 장치 및 방법
KR100762134B1 (ko) 2004-10-07 2007-10-02 엘지전자 주식회사 블록 인터리빙을 위한 읽기 주소 발생 방법
CN101142747B (zh) * 2005-01-14 2012-09-05 Nxp股份有限公司 使用包含z系统的两个子系统的两个表的信道编码
US7340669B2 (en) * 2005-03-11 2008-03-04 Via Telecom Co., Ltd. Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
US7219292B2 (en) * 2005-04-14 2007-05-15 Industrial Technology Research Institute Cyclic redundancy check modification for length detection of message with convolutional protection
FR2896359A1 (fr) * 2006-01-19 2007-07-20 France Telecom Procede d'encodage et de decodage rapides et dispositifs associes.
KR20070080921A (ko) * 2006-02-09 2007-08-14 삼성전자주식회사 통신시스템에서 인터리빙 장치 및 방법
US7962827B2 (en) * 2006-03-08 2011-06-14 Marvell World Trade Ltd. Systems and methods for achieving higher coding rate using parity interleaving
US8493973B2 (en) * 2006-04-04 2013-07-23 Samsung Electronics Co., Ltd. Method of and apparatus for transmitting digital broadcasting signal in advanced-VSB (A-VSB) system in which transport packet without adaptation field is provided at fixed location in data field slices
US7830957B2 (en) 2006-05-02 2010-11-09 Qualcomm Incorporated Parallel bit interleaver for a wireless system
US20080120530A1 (en) * 2006-11-22 2008-05-22 Yu-Min Chuang Transceiver puncture circuit of wireless communication system
US8140946B2 (en) * 2007-03-27 2012-03-20 Hughes Network Systems, Llc Method and apparatus for generating low rate turbo codes
US8156413B2 (en) * 2007-11-28 2012-04-10 Qualcomm Incorporated Convolutional encoding with partitioned parallel encoding operations
CN101286816B (zh) * 2008-03-05 2011-05-18 中国科学院嘉兴无线传感网工程中心 一种应用于多媒体传感网的并行信道编码装置
JP4935778B2 (ja) * 2008-08-27 2012-05-23 富士通株式会社 符号化装置、送信装置および符号化方法
US8397123B2 (en) * 2009-09-30 2013-03-12 Qualcomm Incorporated Recursive realization of polynomial permutation interleaving
JP5499760B2 (ja) * 2010-02-23 2014-05-21 富士通株式会社 符号化装置
EP2525495A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525497A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
US9892188B2 (en) * 2011-11-08 2018-02-13 Microsoft Technology Licensing, Llc Category-prefixed data batching of coded media data in multiple categories
EP2693673A1 (en) * 2012-08-01 2014-02-05 Alcatel Lucent Bit-interleaver for an optical line terminal
US10193566B2 (en) * 2012-09-21 2019-01-29 Nippon Telegraph And Telephone Corporation Encoding/decoding system for parallel data
EP2899991A1 (en) * 2014-01-24 2015-07-29 Alcatel Lucent Space time switch and bit interleaver
US9577854B1 (en) * 2015-08-20 2017-02-21 Micron Technology, Inc. Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding
KR102359265B1 (ko) 2015-09-18 2022-02-07 삼성전자주식회사 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법
WO2017116293A1 (en) * 2015-12-31 2017-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Communication device and method therein for transmitting data packets in a wireless communication network
US11071162B2 (en) * 2017-03-20 2021-07-20 Qualcomm Incorporated Broadcast or multicast physical layer configuration and channel structure
CN112290952B (zh) * 2020-10-10 2023-07-18 中科驭数(北京)科技有限公司 一种并行数据编码装置及方法
US12021548B2 (en) 2022-05-10 2024-06-25 Samsung Display Co., Ltd. System and method for efficient transition encoding for decimation CDR

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1174800A (ja) * 1997-08-29 1999-03-16 Nec Corp ビタビデコーダ
WO2000052834A1 (fr) * 1999-02-26 2000-09-08 Fujitsu Limited Turbodecodeur et appareil d'entrelacement / desentrelacement
WO2000060751A1 (en) * 1999-04-02 2000-10-12 Samsung Electronics Co., Ltd. Address generator and address generating method for use in a turbo interleaver/deinterleaver
JP2000286722A (ja) * 1999-03-30 2000-10-13 Kokusai Electric Co Ltd インターリーバ
WO2002069504A2 (en) * 2001-02-28 2002-09-06 Qualcomm Incorporated Interleaver for turbo decoder

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488142A (en) * 1981-12-31 1984-12-11 International Business Machines Corporation Apparatus for encoding unconstrained data onto a (1,7) format with rate 2/3
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US4922507A (en) * 1987-12-01 1990-05-01 California Institute Of Technology Multiple trellis coded modulation
US5101501A (en) 1989-11-07 1992-03-31 Qualcomm Incorporated Method and system for providing a soft handoff in communications in a cdma cellular telephone system
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5392037A (en) * 1991-05-21 1995-02-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding and decoding
US5592492A (en) * 1994-05-13 1997-01-07 Lsi Logic Corporation Convolutional interleaving/de-interleaving method and apparatus for data transmission
US5675590A (en) * 1994-11-23 1997-10-07 At&T Wireless Services, Inc. Cyclic trellis coded modulation
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5912898A (en) * 1997-02-27 1999-06-15 Integrated Device Technology, Inc. Convolutional interleaver/de-interleaver
KR100237745B1 (ko) * 1997-05-23 2000-01-15 김영환 회전형 인터리버/디인터리버의 메모리 주소 발생장치 및 그 방법
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
US6178530B1 (en) * 1998-04-24 2001-01-23 Lucent Technologies Inc. Addressing scheme for convolutional interleaver/de-interleaver
JP2000068863A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 符号化装置及びその方法
WO2000013323A1 (en) 1998-08-27 2000-03-09 Hughes Electronics Corporation Method for a general turbo code trellis termination
JP2000114986A (ja) * 1998-10-08 2000-04-21 Oki Electric Ind Co Ltd 符号化方法及び装置
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
US6463556B1 (en) * 1999-01-04 2002-10-08 Motorola, Inc. Method and apparatus for interleaving in a communication system
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
JP3246471B2 (ja) * 1999-03-31 2002-01-15 日本電気株式会社 マルチレート送信装置
WO2000064058A1 (fr) * 1999-04-16 2000-10-26 Fujitsu Limited Codeur et decodeur
KR100526512B1 (ko) * 1999-05-20 2005-11-08 삼성전자주식회사 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
EP1085660A1 (en) 1999-09-15 2001-03-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Parallel turbo coder implementation
JP3345396B2 (ja) * 1999-10-07 2002-11-18 松下電器産業株式会社 インターリーブアドレス生成装置及びインターリーブアドレス生成方法
US6549998B1 (en) * 2000-01-14 2003-04-15 Agere Systems Inc. Address generator for interleaving data
JP2001332980A (ja) * 2000-05-19 2001-11-30 Sony Corp インタリーブ装置及びインタリーブ方法
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
SG97926A1 (en) * 2000-08-29 2003-08-20 Oki Techno Ct Singapore Pte Soft-in soft-out decoder used for an iterative error correction decoder
US6701482B2 (en) * 2001-09-20 2004-03-02 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1174800A (ja) * 1997-08-29 1999-03-16 Nec Corp ビタビデコーダ
WO2000052834A1 (fr) * 1999-02-26 2000-09-08 Fujitsu Limited Turbodecodeur et appareil d'entrelacement / desentrelacement
JP2000286722A (ja) * 1999-03-30 2000-10-13 Kokusai Electric Co Ltd インターリーバ
WO2000060751A1 (en) * 1999-04-02 2000-10-12 Samsung Electronics Co., Ltd. Address generator and address generating method for use in a turbo interleaver/deinterleaver
WO2002069504A2 (en) * 2001-02-28 2002-09-06 Qualcomm Incorporated Interleaver for turbo decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7421685B2 (ja) 2020-07-31 2024-01-24 エアバス・ディフェンス・アンド・スペース・エスアーエス 準巡回ldpc符号を効率的に符号化するためのデバイスおよび方法

Also Published As

Publication number Publication date
BR0214915A (pt) 2004-12-07
CN100481738C (zh) 2009-04-22
JP2009194916A (ja) 2009-08-27
JP5886235B2 (ja) 2016-03-16
KR101046289B1 (ko) 2011-07-04
JP2015159582A (ja) 2015-09-03
JP2005513867A (ja) 2005-05-12
EP2251982A1 (en) 2010-11-17
JP4326956B2 (ja) 2009-09-09
AU2002361684A8 (en) 2003-06-30
WO2003052997A2 (en) 2003-06-26
KR20100080847A (ko) 2010-07-12
EP1459450B1 (en) 2014-03-19
KR20040065268A (ko) 2004-07-21
TWI306698B (en) 2009-02-21
EP1459450A2 (en) 2004-09-22
CN1618175A (zh) 2005-05-18
WO2003052997A3 (en) 2003-10-09
US20030140304A1 (en) 2003-07-24
JP6077041B2 (ja) 2017-02-08
AU2002361684A1 (en) 2003-06-30
ES2474215T3 (es) 2014-07-08
TW200301624A (en) 2003-07-01
US6954885B2 (en) 2005-10-11

Similar Documents

Publication Publication Date Title
JP6077041B2 (ja) データビットを並列に符号化する方法および装置
KR100925095B1 (ko) 데이터를 병렬로 인코딩하기 위한 방법 및 장치
JP5133760B2 (ja) ランダムアクセスマルチ方向cdma2000のターボコードインターリーバ
US7210076B2 (en) Interleaving order generator, interleaver, turbo encoder, and turbo decoder
US6185200B1 (en) Reverse-link de-interleaving for communication systems based on closed-form expressions
JP3553546B2 (ja) 多段階チャネルインターリーバ/デインターリーバに使用するためのアドレス生成装置
KR100628201B1 (ko) 터보 디코딩 방법
WO2001026235A1 (fr) Dispositif et procede de generation d'adresses d'entrelacement
EP2395668B1 (en) Reconfigurable interleaver comprising reconfigurable counters
JP3345396B2 (ja) インターリーブアドレス生成装置及びインターリーブアドレス生成方法
JP2002164795A (ja) デジタル伝送システム、符号化装置、復号装置、および当該デジタル伝送システムにおけるデータ処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160210

R150 Certificate of patent or registration of utility model

Ref document number: 5886235

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees