(57)【要約】【課題】ビタビとターボ統合デコーダを提供する。【解決手段】ビタビとターボ統合デコーダは、音声、データストリームをデコードする。デコーダの実施形態は同一の制御回路によりビタビ／ターボデコーダのパスメトリックを処理、計算し、ハードウェアコストを抑制する効果を達成する。制御回路は数個のプロセッサとメモリバンクを有し、ビタビ、或いは、ターボ符号語をデコードし、プロセッサは固定ルーティングルールに従って、メモリバンクからパスメトリック情報を読み取り／書き込みする。【選択図】図４
2007510337.tif 000002
【特許請求の範囲】
【請求項１】
ビタビ或いはターボ符号語をデコードするビタビ／ターボ統合デコーダであって、
複数の符号を受信すると共に、前記符号語の各ノードに関連するブランチメトリックを決定するブランチメトリック計算（ＢＭＣ）ユニットと、
前記ＢＭＣユニットから受け取った対応するブランチメトリック及び第１メモリブロックに記憶されている前のノードの部分的パスメトリックに基づいて各ノードの部分的パスメトリックを計算し、得られた前記部分的パスメトリックを第２メモリブロックに記憶し、なおその際の前記メモリブロックに対する前記部分的パスメトリックの読み出し及び書き込みの順序とアドレスは並列処理のための固定ルーティングルールに従い、さらに前記符号語のタイプに基づいて選択或いは最大事後確率（ＭＡＰ）計算の何れかを実行して各ノードの残存パスを特定する制御回路と、
前記制御回路に接続され、前記制御回路により示される前記残存パスを追随することにより、ビタビ符号語のためのデコード出力を生成するトレースバックユニットと、
前記制御回路に接続され、決定論的方式により入力の順序を変更或いは回復し、ターボ符号語のためのデコード出力を生成するインタリーバ／逆インタリーバと、
入力符号と前記インタリーバ／逆インタリーバの出力を受け取り、前記ＢＭＣユニットと前記インタリーバ／逆インタリーバに記憶領域を提供するターボバッファと
を有することを特徴とするビタビ／ターボ統合デコーダ。
【請求項２】
前記制御回路は、
前記対応するブランチメトリックに従って各ノードの前記部分的パスメトリックを計算するＪ個の加法比較選択プロセッサ（ＡＣＳＰ）を有し、各ＡＣＳＰは前記部分的パスメトリックを並列処理する２つの加法比較選択ユニット（ＡＣＳＵ）を有し、前記Ｊ＝２ｍ  （ｍは整数）であるところの加法比較選択プロセッサ（ＡＣＳＰ）アレイと、
各々現在のノードと前のノードの前記部分的パスメトリックを記憶する前記第１及び第２のメモリブロックを有し、各メモリブロックはＩ個のメモリバンクを有し、前記Ｉ＝２ｍ＋１であるところのパスメトリック計算ユニットと、
前記ＡＣＳＰアレイと前記パスメトリック計算ユニットとに接続され、各ＡＣＳＰと、２つは前記第１メモリブロックに属しもう２つは前記第２メモリブロックに属する４個のメモリバンクとの間の固定連接線を、前記固定ルーティングルールに従って構築する固定ルーティング回路と、
選択或いはＭＡＰ計算の何れかを実行して、各ノードの前記残存パスを特定する選択／ＭＡＰ計算ユニットと
を有することを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。  
【請求項３】
前記ｍ＋１は、エンコーダの制約長さ以下でなければならないことを特徴とする請求項２に記載のビタビ／ターボ統合デコーダ。
【請求項４】
前記第１、第２メモリブロックはサイズが等しく、各メモリバンクは前記パスメトリックを記憶するメモリ素子を同数有することを特徴とする請求項２に記載のビタビ／ターボ統合デコーダ。
【請求項５】
前記選択／ＭＡＰ計算ユニットが、前記ＢＭＣユニットから得られる前記ブランチメトリックと前記パスメトリック計算手段により得られる前記部分的パスメトリックに従って、前記ターボ符号語の対数尤度比（ＬＬＲ）を計算することを特徴とする請求項２に記載のビタビ／ターボ統合デコーダ。                      
【請求項６】
前記ＬＬＲ比は、
2007510337.tif 000004
（但し、前記αは前方再帰、βは後方再帰、γはブランチ確率を表す）であって、前記残存パスを追跡する確率を推定することを特徴とする請求項５に記載のビタビ／ターボ統合デコーダ。  
【請求項７】
前記パスメトリック計算ユニットは、ターボ符号語の各状態の前方パスメトリックα及びＫ個後方パスメトリックβを記憶し、前記Ｋはターボデコードのウィンドウサイズであることを特徴とする請求項２に記載のビタビ／ターボ統合デコーダ。
【請求項８】
前記ｍ＝２、Ｋ＝３２で、前記デコーダは２５６状態のビタビと８状態のターボ符号語をデコードすることができることを特徴とする請求項７に記載のビタビ／ターボ統合デコーダ。  
【請求項９】
各ノードに関連する前記ブランチメトリックは、前記ノードにおける前記受信符号と前記デコード出力との間の平方距離であることを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。
【請求項１０】
前記トレースバックユニットに接続されて前記デコードビタビ出力を出力するＬＩＦＯバッファをさらに有することを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。
【請求項１１】
さらに、前記制御回路と前記トレースバックユニットに接続される残存パス更新ユニットを有し、最新の計算で得られる残存パスを記憶することを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。
【請求項１２】
前記ターボバッファは入力バッファとインタリーバ／逆インタリーババッファからなり、前記入力バッファは前記受信符号を記憶し、前記インタリーバ／逆インタリーババッファは前記インタリーバ／逆インタリーバの出力を記憶することを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信システム中のビタビ／ターボ統合デコーダに関するものであって、特に、音声及びデータストリームを適応的に受信しデコードするシステムに関するものである。
【背景技術】
【０００２】
エラーコントロールコード化技術は送信機のチャンネルエンコーダと受信機のデコーダの使用を必要とする。チャンネルエンコーダはメッセージビットを受信し、所定のルールに従って冗長度を付加し、高ビットレートのエンコードデータを生成する。チャンネルデコーダはこの冗長度を利用してどのメッセージビットが実際に伝送されたのか判断する。エラーコントロールコード化の目的はチャンネルノイズの影響を最小にすることである。エラーコントロールコードは一般にブロックコードと畳み込み符号の２種に分類される。畳み込み符号は、データの再送及び遅延が容認しえない無線音声通信システム中に応用するのに好ましい。ブロックコードは高スループットを伝送する能力があり、待ち時間が長くないデータ伝送に好ましい。
【０００３】
ビタビアルゴリズムは最尤（ＭＬ）シーケンスを検出するシーケンシャルトレリスサーチアルゴリズムであり、畳み込み符号に最適な復号アルゴリズムである。S.B.Wickerによる“デジタルコミュニケーションとストレージのエラーコントロールシステム，Pretice Hall, 1995”で開示されるように、ビタビデコーダが移動通信システム中に応用されている。
【０００４】
図１はビタビデコーダに用いられる復号アルゴリズムのフローチャートである。復号化工程は、量子化、ブランチメトリック演算処理、パスメトリック更新、残存パス記録、出力判断生成を含む。受信信号はまずサンプリングにより回復され、その後、デジタル信号に転換される。デジタル信号中のフレーム境界とコード符号の位置が検出されてブロック同期化がなされる。ブランチメトリック演算処理後、一部のパスメトリックは新しいブランチメトリックにより更新され、各ノードの残存パスがタグ付けされる。最後に、復号出力シーケンスが残存パス情報に基づいて生成される。
【０００５】
図２は一般的なビタビデコーダ２０を示す図である。ビタビデコーダ２０は，ブランチメトリック計算（ＢＭＣ）ユニット２０２を有し、出力が加法比較選択（ＡＣＳ）ユニット２０４に送られる。状態コントローラ２０６は、入力を、ＢＭＣユニット２０２、ＡＣＳユニット２０４及びパスメトリックメモリ２０８に提供する。パスメトリックメモリ２０８は、ダブルバッファとして機能し、ＡＣＳユニット２０４と情報を交換する。ＡＣＳユニット２０４の出力２０５は、トレースバックメモリとコントローラ２１０に提供され、その出力は、受信された情報信号２１１である。
【０００６】
ターボコードは並列連接符号とも称され、その効果がシャノン限界は非常に接近している符号である。ターボエンコーダは畳み込み符号を並列か直列に接続することにより実行され、連結出力を得る。１つのエンコーダからもう１つのエンコーダを経るビットシーケンスは擬似乱数インタリーバにより順序が変えられ、これにより、単一のエンコーダにより生成される低比重の符号語は高比重の符号語に転換される。例えば、符号分割多重接続（ＣＤＭＡ）２０００やユニバーサル・モバイル・テレコミュニケーション・システム（ＵＭＴＳ）のような第三世代（３Ｇ）移動無線基準は、データストリームのためにターボエンコーダを必要とする。英国特許出願番号GB2352943A、及び、B. VuceticとJ. Yuanにより書かれた” ターボコード、原理と応用、Kluwer Academic Publishers、2000”は、最大事後確率判定（ＭＡＰ）アルゴリズム、及びソフト出力ビタビアルゴリズム（ＳＯＶＡ）を伴うターボデコーダの具体例を開示する。
【０００７】
図３はＭＡＰアルゴリズムに基づく反復ターボデコーダを示す図である。ターボデコーダ中の受信符号は実際に伝送されるデータを表す系統データ、及び、伝送されるデータの符号化形式を表すパリティデータを含む。第１入力ｒ０  は受信符号のパリティデータで、インタリーバ３０４により第１、第２ＭＡＰデコーダ３０２と３０６に入力される。第２入力ｒ１  は受信符号のシステムデータで、第１ＭＡＰデコーダ３０２中に送られる。逆インタリーバ３１０から得られた再帰入力３１１も第１ＭＡＰデコーダ３０２中に送られる。第１ＭＡＰデコーダ３０２の出力３０３はインタリーバ３０８に提供され、インタリーバ３０８は出力を第２ＭＡＰデコーダ３０６に送る。第２ＭＡＰデコーダ３０６はｒ２  から入力を受信すると共に、２つの出力を生成する。第２ＭＡＰデコーダ３０６の第１出力３０７ａは逆インタリーバ３１０に伝送され、第２出力３０７ｂはもう１つの逆インタリーバ３１２に伝送される。逆インタリーバ３１２の出力はスライサー３１４に提供され、スライサー３１４は１つのスレショルドによりソフト出力をハード出力に転換し、受信情報信号３１５となる。
【０００８】
３Ｇコミュニケーションシステムは、標準的には、音声及びデータ信号の各々のために、例えばビタビ符号化とターボ符号化の両方の畳み込み符号化を必要とする。音声とデータの伝送は、伝送速度対遅延時間という相反する要求を提起するからである。現在の解決方法は、高データ転送速度のデータストリームのターボ符号と、音声、或いは、低データ転送速度のデータストリームの畳み込み符号との、分離したそれぞれのエンコードシステムを提供することでである。これらのシステムの受信器は２つの独立したデコーダが必要なので、ハードウェアプラットホームの複雑さとコストが増す。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明においては、入力コードタイプに基づいて、畳み込みデコードか、或いは、ターボデコードを実行することができるビタビ／ターボ統合デコーダを提供する。
【課題を解決するための手段】
【００１０】
実施形態において、デコーダは、ブランチメトリック計算（ＢＭＣ）ユニット、制御回路、トレースバックユニット、インタリーバ／逆インタリーバ、ターボバッファを有する。ＢＭＣユニットはビタビ、或いは、ターボ符号を受信し、符号語の各ノードに対応するブランチメトリックを決定する。デコーダは入力に適応するように設定可能で、制御回路は２つのコード化型の共通素子で、メモリとプロセッサ能力を十分に利用する。制御回路は対応するブランチメトリックと、第１メモリブロック中に記憶された前のノード上の部分的パスメトリックに従って、各ノード上の部分的パスメトリックを計算する。制御回路は、その後、計算した部分的パスメトリックを第２ブロック中に記憶する。次のノードを処理する時、制御回路はまず第２メモリブロック中から読み取り、計算終了後、第１ブロック中に記憶する。この読み取りと記憶の動作を反復実行する。この２つのメモリブロックとプロセッサはパスメトリック情報を交換する。この２つのブロックから、部分的パスメトリックの順序とアドレスを読み取り、書き込むのは、並列処理する１つの固定ルーティングルールに従い、部分的パスメトリックに並列処理させて、処理能力を十分に利用する。制御回路は入力コードタイプに基づいて、選択か最大事後確率判定法（ＭＡＰ）計算を実行し、各ノードで残存パスが特定される。
【００１１】
ビダビデコードを実行する間、トラックバックユニットは制御回路の出力を受信し、制御回路から得られる残存パスを追跡する。ターボデコードを実行する間、インタリーバ／逆インタリーバは制御回路の出力を受信し、決定論的方式で入力順序を変更したり、復元したりする。ターボバッファは入力符号とインタリーバ／逆インタリーバの出力を受信し、ＢＭＣユニットとインタリーバ／逆インタリーバに記憶を提供する。
【００１２】
実施形態において、制御ユニットは、Ｊ個のＡＣＰＳ（Ｊ＝２ｍ  ，ｍは正の整数で、ｍ＋１はエンコーダの制約長さｎ＋１より小さくなければならない)を有する加法比較選択プロセッサ（ＡＣＳＰ）アレイと、第１、第２メモリブロックを有するパスメトリック計算ユニットと、固定ルーティング回路、及び、選択／ＭＡＰ計算ユニットとを有する。ＡＣＳＰアレイは対応するブランチメトリックに従って、各ノードの部分的パスメトリックを計算する。各ＡＣＳＰは、これらの部分的パスメトリックを並列処理する２つの加法比較選択ユニット（ＡＣＳＵ）を有する。パスメトリック計算ユニットは、現在のノードと前のノードの部分的パスメトリックを、それぞれ、２つのブロック中に記憶する。各ブロックはＩメモリバンクからなり、Ｉ＝２ｍ＋１  である。固定ルーティング回路は、固定ルーティングルールに従って、各ＡＣＳＰ、及び、４個のメモリバンク間に固定連接線を構築する。選択／ＭＡＰ計算ユニットは選択、或いは、ＭＡＰ計算を実行し、各ノードの残存パスを判断する。選択／ＭＡＰ計算ユニットは、ＢＭＣユニットから得られたブランチメトリック、及び、パスメトリック計算ユニットにより得られるパスメトリックに従って、ターボ符号語の対数尤度比（ＬＬＲ）を計算する。
【発明を実施するための最良の形態】
【００１３】
第１実施形態
図４は本発明の具体例によるビタビ／ターボ統合デコーダの実施形態を示す。ビタビ／ターボ統合デコーダ４は受信データのエンコード方法に基づいて、畳み込み、或いは、ターボデコードを実行することができる。ビタビ／ターボ統合デコーダ４は入力端子４０から得られるノイズを含むｗビットの符号をデコードする。統合デコーダ４は入力バッファ４３、ブランチメトリック計算（ＢＭＣ）ユニット４１、制御回路４２、インタリーバ／逆インタリーババッファ４５、インタリーバ／逆インタリーバ４４、残存パス更新ユニット４６、トレースバックユニット４７、後入れ先出し（ＬＩＦＯ）バッファ４８を有する。
【００１４】
図４で示されるように、制御回路４２は、パスメモリバンクのパスメトリック計算ユニット４２１、固定ルーティング回路４２２、ＡＣＳＰアレイ４２３、選択／ＭＡＰ計算ユニット４２４を有する。選択／ＭＡＰ計算ユニット４２４は、ビタビデコードに必要な選択ユニットと、ターボデコーダの対数尤度比（ＬＬＲ）を計算するのに必要なＭＡＰユニットを有する。制御回路４２はビタビ、或いは、ターボデコーダに必要な主要演算を実行し、この制御回路はビタビ／ターボデコーダの共通の作業領域である。この制御回路４２は、ビタビ及びターボデコーダの各計算ユニットのために最適に代替される。これにより、ビタビ／ターボコードをデコードするレシーバのチップサイズを減少させることができる。音声、或いは、低データ伝送速度の入力はビタビコードによりコード化され、高データ転送速度の入力はターボコードによりコード化される。よって、この２種の入力タイプをデコードする処理工程は異なる。音声ストリーム、データストリームは受信後にＢＭＣユニット４１に伝送され、そして、制御回路４２に伝送される。制御回路４２でデータが処理された後、処理済のビタビストリームを残存パス更新ユニット４６、及び、トレースバックユニット４７に伝送する。制御回路４２は処理済のターボストリームをインタリーバ／逆インタリーバ４４とバッファ４３、４５に伝送し、インタリーバ／逆インタリーバを実行する。
【００１５】
残存パス更新ユニット４６は残存パスメモリ（ＳＰＭ）を有し、ビタビデコードのトレリス図中の各ノードで判断される残存パスを記憶する。
【００１６】
第１実施形態中、畳み込みエンコーダの制約長さは５（ｎ＝４）で、よって、ビタビデコードは１６個の状態（２ｎ  ＝１６）を有する。ＡＣＳＰアレイ中のＡＣＳＰの数は２ｍ  に選択され、ｍはｎ以下でなければならず、ｍは本実施形態中で２に選択される。各ＡＣＳＰは１組の加法比較選択ユニット（ＡＣＳＵ）を有し、これにより、２つの入力を同時に処理することができる。よって、８組のメモリバンク（２ｍ＋１  ＝８）と４個のＡＣＳＰを合わせて、４個のＡＣＳＰに８個の部分的なパスメトリクスを同時に処理させることができる。
【００１７】
図５は制御回路５を示す図で、図４中の制御回路４２の実施形態を示す。制御回路５はメモリバンク５２、固定ルーティング回路５４、ＡＣＳＰアレイ５６、選択／ＭＡＰ計算ユニット５８を有する。ランダムアクセスメモリ（ＲＡＭ）により実行される８組のメモリバンク５２０〜５２７は固定ルーティング回路５４に接続される。ＡＣＳＰアレイ５６は、ＡＣＳＰ５６０〜５６３を有し、各ＡＣＳＰはさらに、２つのＡＣＳＵを有する。各ＡＣＳＰ５６０〜５６３は、選択／ＭＡＰ計算ユニット５８中の１つのＡＣＳＵ５８０〜５８３に対応する。ＡＣＳＵ５８０〜５８３の出力は比較選択（ＣＳ）ユニット５８４〜５８５に提供され、ＣＳユニット５８４〜５８５の出力はもう１つのＣＳユニット５８６に提供される。
【００１８】
図６ａと図６ｂは前述のＡＣＳＰの２タイプのＡＣＳＵ回路を示す図である。図６ａのＡＣＳＵは３個の加算器、２つの比較器、３つのマルチプレクサを有し、図６ｂのＡＣＳＵはルックアップテーブルによりその中の１つの比較器を代替する。この２種のタイプのＡＣＳＵの接続及び関係はほぼ同一である。
【００１９】
図７ａはパスメトリックメモリバンクの構成の例を示す図で、図４中の固定ルーティング回路４２２により定義される読み／書き選択ルールを示す。図５ａのメモリバンクは図４中のパスメトリック計算ユニット４２１中に位置する。本発明の読み／書き選択ルールは、ＡＣＳＰアレイ４２３中から、パスメトリック情報を並列に取得、提供して、処理速度を加速する。メモリバンクとＡＣＳＰアレイ４２３間の接続線はトレリス図に従って配列し、ＡＣＳＰアレイ４２３と協働して、ブランチメトリクスと部分的パスメトリクスとを同時に処理する。各パスメトリックメモリバンクはアドレス生成器（ＡＧ）により管理される。
【００２０】
図７ａで示されるように、８組のメモリバンク（バンク（０）〜バンク（７））、及び、４個のＡＣＳＰ（ＡＣＳＰ０〜ＡＣＳＰ３）がある。各メモリバンクは２個のブロック（ブロックＡとブロックＢ）を有し、それぞれ、２つの異なる時点に対応するパスメトリック情報を記憶する。ビタビデコードが使用する読み／書きメモリバンクの選択ルールは下の例で説明する。第１組のパスメトリック情報は時間ｔ１  の時、それぞれ、ブロックＡのバンク（０）とブロックＡのバンク（４）中に記憶する。ＡＣＳＰ０は第１組のパスメトリック情報を獲得し、２つの新しい部分的パスメトリックを生成すると共に、新しい部分的パスメトリックを、時間ｔ１＋ｐ  に、それぞれ、ブロックＢのバンク（０）とブロックＢのバンク（１）中に記憶し、ｐはＡＣＳＰが新しい部分的パスメトリックを生成する処理時間を表す。
【００２１】
図７ｂは図７ａの詳細図で、その数字と索引は２進法で表示される。各バンクに２つのメモリ素子があるので、ＡＣＳＰはメモリバンクに対し２度アクセスして、２つのメモリ素子中のデータを処理する。例えば、ＡＣＳＰ（００）は時間ｔ１  で、ブロックＡ中の状態索引が００００のメモリ素子及び状態索引が１０００のメモリ素子からパスメトリック情報を取得する。その後、ＡＣＳＰ（００）は２つの新しい部分的パスメトリックを生成すると共に、この２つの新しい部分的パスメトリックを、時間ｔ１＋ｐ  で、ブロックＢ中の状態索引が００００、及び、００１０のメモリ素子内に記憶する。同時に、ＡＣＳＰ（０１）、ＡＣＳＰ（１０）、及び、ＡＣＳＰ（１１）は、ＡＣＳＰ（００）と同様に、対応するブロックと相互作用する。
【００２２】
各組のメモリバンクの第１メモリ素子を処理後、ＡＣＳＰ（００）は、時間ｔ２  で、ブロックＡ中の状態索引が０００１と１００１のメモリ素子中からパスメトリック情報を取得する。同様に、ＡＣＳＰ（００）は２つの新しい部分的パスメトリックを生成し、ｔ２＋ｐ  の時、ブロックＢ中の状態索引が０００１と００１１のメモリ素子中に記憶する。残りのＡＣＳＰも同様のＡＣＳＰ（００）により読み／書き動作を実行し、同時に、各組メモリバンクの第２メモリ素子を処理する。
【００２３】
次の時点で、ＡＣＳＰアレイの各ＡＣＳＰはブロックＢ中の対応するバンクからパスメトリック情報を読み取り、新しいパスメトリック情報を生成し、その後、新しいパスメトリック情報をブロックＡ中に記憶する。このような読み／書き操作は２度繰り返され、１度は各組メモリバンク中の第１メモリバンクのためで、１度は第２メモリバンクのためである。ＡＣＳＰは同様のダブルバッファの２つのブロック（ブロックＡ及びブロックＢ）を利用して、前のノードに対応する部分的パスメトリックは、現在のノードの部分的パスメトリックを獲得した後だけ上書きされる。本来のブロックＡに記憶されるパスメトリック情報は対応するブランチメトリックにより計算されて、ブロックＢ中に記憶され、その後、ブロックＢのパスメトリック情報も対応するブランチメトリックにより計算され、ブロックＡ中に記憶され、以下同様である。
【００２４】
固定ルーティングユニットにより定義される読み／書き選択ルールは、メモリバンクにアクセスするルーティングルールとも称され、以下のような工程により分析される。状態の数２ｎ  とデコードの入力符号の制約長さ（ｎ＋１）は関係し、特定の状態索引Ｓｎ−１  ・・・Ｓ２  Ｓ１  Ｓ０  が各状態に分配される。第１実施形態中、エンコーダの制約長さは５（ｎ＝４）で、これにより、全部で１６個の状態（２ｎ  ＝１６）を有する。メモリバンクの数は２ｍ＋１  で、ｍ＋１はｎ以下でなければならない。第１実施形態中、ｍは２に選択され、よって、８組のメモリバンクがある。メモリバンク索引Ｓｎ−１  Ｓｎ−２  ・・・Ｓｎ−ｍ−１  とＡＣＳＰ索引Ｓｎ−２  Ｓｎ−３  ・・・Ｓｎ−ｍ−１  は、対応するメモリバンクとＡＣＳＰを表す。
【００２５】
第１実施形態中、ｎ＝４、且つ、ｍ＝２で、状態索引がＳ３  Ｓ２  Ｓ１  Ｓ０  のメモリ素子はこのメモリ素子が索引Ｓ３  Ｓ２  Ｓ１  のメモリバンク内に含まれることを表し、例えば、状態索引が００１０のメモリ素子はメモリバンク００１中に属する。各ＡＣＳＰは自身のＡＣＳＰ索引Ｓ２  Ｓ１  に従って、状態索引がＳ３  Ｓ２  Ｓ１  Ｓ０  のメモリ素子内に記憶した２つの部分的パスメトリックを読み取る。ＡＣＳＰ１０は、状態索引が０１００、或いは、０１０１、及び、１１００、１１０１のメモリ素子中に記憶した部分的パスメトリックを読み取る。ＡＣＳＰが新しい部分的パスメトリックを生成した後、これらの新しい部分的パスメトリックは状態索引がＳ３  Ｓ２  Ｓ１  Ｓ０  のメモリ素子中に書き込まれ、この状態索引中の２つの最も有効なビットＳ３  Ｓ２  とＡＣＳＰ索引は同一である。例えば、ＡＣＳＰ１０は新しい部分的パスメトリックを、状態索引が１０００、或いは、１００１、及び、状態索引が１０１０、或いは、１０１１のメモリ素子中に書き込む。
【００２６】
図８は第１実施形態によるターボデコードのパスメトリックメモリアクセス方式を示す図である。ターボデコードのルーティングルールとビタビデコードはほぼ同一で、よって、この２種のデコードは同一の固定ルーティングユニット、ＡＣＳＰアレイ、及び、パスメトリック計算ユニットに記憶されたメモリバンクをシェアする。ターボデコードは状態索引にビット反転を実行しなければならず、つまり、メモリ素子の状態索引は００１から１００に変化し、メモリ素子の状態索引は０１１から１１０に変化する。図８で示されるように、メモリバンクとＡＣＳＰの間の読み／書き連接方式と前述のビタビデコードは同じであるが、状態索引（図示されない）、及び、対応するメモリバンクの索引は反転する。
【００２７】
図４で示されるように、ＢＭＣユニット４１はブランチメトリックγを計算し、パスメトリック計算ユニット４２１はＡＣＳＰアレイ４２３により計算される前方のパスメトリックα、及び、後方のパスメトリックβを記憶する。この３個のα、β、及び、γは、選択／ＭＡＰ計算ユニット４２４に用いられ、対数尤度比（ＬＬＲ）を計算する。ＬＬＲは以下で示される。
【００２８】
2007510337.tif 000003
第１実施形態中のターボデコードはＭＡＰ復号アルゴリズムを利用し、ブランチメトリックγ、前方パスメトリックα、後方パスメトリックβに基づいて、各時点のＬＬＲを計算する。
【００２９】
第２実施形態
図９は第２実施形態によるパスメトリックのメモリバンクアクセス規則を示す図で、エンコーダの制約長さは６（ｎ＝５）で、これにより、ビタビデコードは３２個の状態 （２５  ）を有する。つまり、第２実施形態中、４個のＡＣＳＰ（２ｍ  ，ｍ≦４, ｍ＝２を選択)、及び、８組のメモリバンク（２ｍ＋１  ）を有する。各メモリバンク中、４個のメモリ素子があり、各ＡＣＳＰは１つの周期内で、１つのメモリバンクにだけアクセスするので、各ＡＣＳＰは第１ブロック中の２つの対応するメモリバンクから部分的パスメトリックを４回読み取り、各メモリ素子は全て読み取られなければならず、同様に、新しい部分的パスメトリックは第２ブロック中の２つの対応するメモリバンクに４回書き込まれる。メモリバンクの読み／書きのルーティングルールは第１実施形態と同様である。
【００３０】
第３実施形態
図１０ａと図１０ｂは第３実施形態中、２５６状態のビタビデコードのパスメトリックメモリバンクに対応する構成とデータ構造を示す図である。第３実施形態中、エンコーダの制約長さは９で、４個のＡＣＳＰと８組のメモリバンクを使用する。各パスメトリックメモリバンクはどれも２つのブロックを有し（ブロックＡとブロックＢ）、ブロックＡとブロックＢのブロック索引はそれぞれ０と１である。４個のＡＣＳＰは１周期間で８個の状態を処理し、これにより、２５６状態のビタビ符号語をデコードするのに、ＡＣＳＰは３２個の周期（２５６／８＝３２）が必要で、メモリバンク中から、１ノードの部分的パスメトリックを読み取り、或いは、書き込みする。
【００３１】
２５６状態のビタビデコードに用いるハードウェア（例えば、ＡＣＳＰとメモリバンク）は処理速度とメモリサイズ上、８状態のターボデコーダ中にも適用できる。ターボデコード中、エンコーダの制約長さは４（ｎ＝３）で、８個の可能状態を形成する。図１１は第３実施形態によるターボデコーダのパスメトリックメモリバンクのデータ構造を示す図である。ターボデコーダの状態索引とビタビデコーダは異なり、これは、ターボデコーダがビット反転が必要だからである。第３実施形態のウィンドウサイズは３２に設定され（ｋ＝３２）、これにより、ターボデコーダは３２個後方パスメトリックβに従って、１つのターボ符号語をデコードする。各周期中、ＡＣＳＰは８個の状態を処理して、後方パスメトリックβを獲得すると共に、時間序列ｔ、ｔ＋１、ｔ＋ｋ−１に基づいて、メモリバンク中に記憶する。第ｋ個の周期中（本実施形態中、ｋ＝３２）、ＡＣＳＰは８ｋ（８＊３２＝２５６）の状態を処理し、ｋ個後方パスメトリックβ、及び、前方パスメトリックαを生成し、メモリバンク中に記憶する。
【００３２】
図４中の選択／ＭＡＰ計算ユニット４２４はＢＭＣユニット４１中からブランチメトリックγを獲得し、パスメトリック計算ユニット４２１に記憶されたメモリバンク中から１つ前方パスメトリックα記録、及び、３２個後方パスメトリックβ記録を獲得すると共に、これらのメトリックに従って、ＬＬＲを計算する。選択／ＭＡＰ計算ユニットの結果はインタリーバ／逆インタリーバ４４中に出力され、最終のターボデコーダの結果を生成する。
【００３３】
図１２はターボデコーダ中に使用するＭＡＰ復号アルゴリズムを示す図である。図１０は４個の状態の４個のステージだけが示されている。各ステージは１つ後方パスメトリックβを算出するが、各符号語は１つ前方パスメトリックαだけを算出する。ＬＬＲは１の確率Ｐ（１）と０の確率Ｐ（０）の間の比率の対数である。
【００３４】
ビタビ／ターボ統合デコーダは受信データのタイプによってデコード方式を調整し、且つ、制御回路はビタビ／ターボデコーダが得られる部分的パスメトリックを記憶、並びに、計算できるように設計される。２種のデコーダが利用するＡＣＳＰアレイがアクセスするメモリバンクのルーティングルールは固定である。実施形態中、部分的パスメトリックを記憶するメモリバンクは、ビタビ、或いは、ターボに用いられても、十分に使用される。例えば、デコーダが２５６状態のビタビ符号語、或いは、８状態のターボ符号語の受信専用に設計される場合、ターボデコーダのウィンドウサイズは３２（２５６／８）に選択される。８状態のターボ符号語をデコードする時、メモリバンクは３２の時点（ステージ）に対応する後方パスメトリックの８個の状態を記憶し、２５６状態のビタビ符号語をデコードする時、ＡＣＳＰアレイは１周期中、８個の状態を処理する。これにより、全部で３２個の周期がないと、１つのビタビ符号語をデコードすることができない。よって、この２種のデコードのメモリサイズと処理時間は大体同じである。もう１つの実施形態中、本発明の複数のビタビ／ターボ統合デコーダは同時に使用され、ターボ符号、或いは／及び、ビタビ符号を含むデータストリームの束をデコードし、各デコーダはいかなる入力タイプもデコードする能力がある。各デコーダのデコード時間はデコード方式にかかわらず、同じに設計される。各デコーダはいかなるビタビ、或いは、ターボ符号に対しもデコードできるので、このような設計構造はデコーダの数量を減少させる。もう１つの長所は、全てのデコーダはほぼ同一の時間でデコード作業を完成でき、よって、これらのデコーダはデータストリームの並列処理ができ、あるデコーダの遅延を待つ必要がない。
【００３５】
本発明では好ましい実施形態を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変更や改編を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図面の簡単な説明】
【００３６】
【図１】ビタビデコーダのフローチャートである。
【図２】ビタビデコーダの実施形態を示す図である。
【図３】ＭＡＰアルゴリズムによる反復ターボデコーダを示す図である。
【図４】第１実施形態によるビタビ／ターボ統合デコーダを示す図である。
【図５】図４中の制御回路の実施形態を示す図である。
【図６ａ】ＡＣＳＵの回路図である。
【図６ｂ】ＡＣＳＵのもう１つの例を示す回路図である。
【図７ａ】第１実施形態によるパスメトリックのメモリバンク構造を示す図である。
【図７ｂ】図７ａの詳細図である。
【図８】第１実施形態によるターボデコーダのパスメトリックのメモリバンクのアクセス規則を示す図である。
【図９】第２実施形態によるパスメトリックのメモリバンク構造を示す図である。
【図１０ａ】第３実施形態中の２５６状態のビタビデコーダのパスメトリックのメモリバンク構造を示す図である。
【図１０ｂ】第３実施形態中の２５６状態のビタビデコーダのパスメトリックのメモリバンクの対応するデータ構造を示す図である。
【図１１】第３実施形態中のターボデコーダのパストリックのメモリバンクのデータ構造を示す図である。
【図１２】ターボデコーダ中に応用されるＭＡＰ復号アルゴリズムを示す図である。
【図１】
2007510337.tif 000005
【図２】
2007510337.tif 000006
【図３】
2007510337.tif 000007
【図４】
2007510337.tif 000008
【図５】
2007510337.tif 000009
【図６ａ】
2007510337.tif 000010
【図６ｂ】
2007510337.tif 000011
【図７ａ】
2007510337.tif 000012
【図７ｂ】
2007510337.tif 000013
【図８】
2007510337.tif 000014
【図９】
2007510337.tif 000015
【図１０ａ】
2007510337.tif 000016
【図１０ｂ】
2007510337.tif 000017
【図１１】
2007510337.tif 000018
【図１２】
2007510337.tif 000019
【手続補正書】
【提出日】平成18年4月28日(2006.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビタビ或いはターボ符号語をデコードするビタビ／ターボ統合デコーダであって、
複数の符号を受信すると共に、前記符号語の各ノードに関連するブランチメトリックを決定するブランチメトリック計算（ＢＭＣ）ユニットと、
前記ＢＭＣユニットから受け取った対応するブランチメトリック及び第１メモリブロックに記憶されている前のノードの部分的パスメトリックに基づいて各ノードの部分的パスメトリックを計算し、得られた前記部分的パスメトリックを第２メモリブロックに記憶し、なおその際の前記メモリブロックに対する前記部分的パスメトリックの読み出し及び書き込みの順序とアドレスは並列処理のための固定ルーティングルールに従い、さらに前記符号語のタイプに基づいて選択或いは最大事後確率（ＭＡＰ）計算の何れかを実行して各ノードの残存パスを特定する制御回路と、
前記制御回路に接続され、前記制御回路により示される前記残存パスを追随することにより、ビタビ符号語のためのデコード出力を生成するトレースバックユニットと、
前記制御回路に接続され、決定論的方式により入力の順序を変更或いは回復し、ターボ符号語のためのデコード出力を生成するインタリーバ／逆インタリーバと、
入力符号と前記インタリーバ／逆インタリーバの出力を受け取り、前記ＢＭＣユニットと前記インタリーバ／逆インタリーバに記憶領域を提供するターボバッファと
を有することを特徴とするビタビ／ターボ統合デコーダ。
【請求項２】
前記制御回路は、
前記対応するブランチメトリックに従って各ノードの前記部分的パスメトリックを計算するＪ個の加法比較選択プロセッサ（ＡＣＳＰ）を有し、各ＡＣＳＰは前記部分的パスメトリックを並列処理する２つの加法比較選択ユニット（ＡＣＳＵ）を有し、前記Ｊ＝２ｍ  （ｍは整数）であるところの加法比較選択プロセッサ（ＡＣＳＰ）アレイと、
各々現在のノードと前のノードの前記部分的パスメトリックを記憶する前記第１及び第２のメモリブロックを有し、各メモリブロックはＩ個のメモリバンクを有し、前記Ｉ＝２ｍ＋１であるところのパスメトリック計算ユニットと、
前記ＡＣＳＰアレイと前記パスメトリック計算ユニットとに接続され、各ＡＣＳＰと、２つは前記第１メモリブロックに属しもう２つは前記第２メモリブロックに属する４個のメモリバンクとの間の固定連接線を、前記固定ルーティングルールに従って構築する固定ルーティング回路と、
選択或いはＭＡＰ計算の何れかを実行して、各ノードの前記残存パスを特定する選択／ＭＡＰ計算ユニットと
を有することを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。  
【請求項３】
前記ｍ＋１は、エンコーダの制約長さ以下でなければならないこと、
前記第１、第２メモリブロックはサイズが等しく、各メモリバンクは前記パスメトリックを記憶するメモリ素子を同数有すること、
前記選択／ＭＡＰ計算ユニットが、前記ＢＭＣユニットから得られる前記ブランチメトリックと前記パスメトリック計算手段により得られる前記部分的パスメトリックに従って、前記ターボ符号語の対数尤度比（ＬＬＲ）を計算すること、及び、
前記パスメトリック計算ユニットが、ターボ符号語の各状態の前方パスメトリックα及びＫ個後方パスメトリックβを記憶し、前記Ｋはターボでコードのウィンドウサイズであること
の少なくとも何れか１つの特徴を有する請求項２に記載のビタビ／ターボ統合でコーダ。
【請求項４】
各ノードに関連する前記ブランチメトリックは、前記ノードにおける前記受信符号と前記デコード出力との間の平方距離であることを特徴とする請求項１に記載のビタビ／ターボ統合デコーダ。
【請求項５】
前記トレースバックユニットに接続されて前記デコードビタビ出力を出力するＬＩＦＯバッファ、及び、
前記制御回路及び前記トレースバックユニットに接続されて最新の計算で得られる残存パスを記憶する残存パス更新ユニット
をさらに有することを特徴とする請求１に記載のビタビ／ターボ統合デコーダ。
【国際調査報告】
2007510337.tif 000020
2007510337.tif 000021