(57)【特許請求の範囲】
【請求項１】
下記工程を具備する、反復復号器においてパケット上で実行されている反復復号プロセスを終了する方法：
復号反復の数が予め定めた最大反復数に等しいか、否かを決定する；
反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量のあらかじめ定めた割合内であるか、否かを決定する；
復号反復の数が予め定められた最小反復数に等しいか、否かを決定する；
エラー検出測定が、少なくとも一つの先行パケットに関して満足されていたか、否かを決定する；
(1)復号反復の数が予め定めた最大反復数に等しい場合、或いは(2)該パケット記憶要素が該パケット記憶要素の記憶容量の予め定められた割合内である場合、或いは(3)復号反復の数が予め定めた最小反復数に等しく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する。
【請求項２】
エラー検出測定が巡回冗長検査を備えている、請求項１の方法。
【請求項３】
少なくとも一つの先行パケットが二つの先行パケットを有する、請求項１の方法。
【請求項４】
巡回冗長検査ビットが、二つの先行パケットに関して同一である場合、エラー検出測定が満足される、請求項１の方法。
【請求項５】
巡回冗長検査が、先行の復号されたパケットに関して満足している場合、及び先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満足されている、請求項１の方法。
【請求項６】
先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満足されている、請求項１の方法。
【請求項７】
下記を具備する反復復号器：
パケット上で反復復号処理を実行するための第１及び第２の復号手段；
該第１及び第２の復号手段に結合されたパケット記憶手段；
復号反復数が予め定めた最大反復数に等しいか、否かを決定するための手段；
パケット記憶手段が、パケット記憶手段の記憶容量の予め定めた割合内であるか、否かを決定するための手段；
復号反復の数が予め定めた最小反復数に等しいか否かを決定するための手段；
エラー検出測定が少なくとも一つの先行パケットに関して満足されていたか否かを決定するための手段；及び
(1)復号反復の数が予め定めた最大反復数に等しい場合、又は(2)パケット記憶手段がパケット記憶手段の記憶容量の予め定められた割合内である場合、又は(3)復号反復の数が予め定められた最小反復数に等しい場合、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されている場合、該パケットに対する反復復号処理を終了するための手段。
【請求項８】
エラー検出測定が巡回冗長検査を備えている、請求項７の反復復号器。
【請求項９】
少なくとも一つの先行パケットが二つの先行パケットを有する、請求項７の反復復号器。
【請求項１０】
巡回冗長検査ビットが二つの先行パケットに関して同一である場合、エラー検出測定は満足されている、請求項７の反復復号器。
【請求項１１】
巡回冗長検査が先行の復号されたパケットに関して満足している場合、及び先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、
エラー検出測定は満足されている、請求項７の反復復号器。
【請求項１２】
先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満足されている、請求項７の反復復号器。
【請求項１３】
下記を具備する反復復号器：
第１及び第２の復号器；
第１及び第２の復号器に結合され、及び第２の復号器により復号されたパケット内でビットをインターリーブするため及び第１の復号器にインターリーブされたパケットを供するように構成されたインターリーバ；
第１及び第２の復号器に結合され、及び第１の復号器により復号されたパケット内でビットをデインターリーブするために及びデインターリーブされたパケットを第２の復号器に供するように構成されたデインターリーバー；
第２の復号器に結合されたエラー検出モジュール；
第１の復号器に結合された入力パケットバッフア；
第１及び第２の復号器、インターリーバー、デインターリーバー、エラー検出モジュール、及び入力パケットバッフアに結合された制御ユニット、該制御ユニットは、(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)エラー検出モジュールが二つの先行パケットに関して満足するエラー検出測定を形成する場合、又は(3)入力パケットバッフアが入力パケットバッフアの記憶容量の予め定めた割合内である場合、パケット上で実行されている反復復号処理を終了するように構成されている。
【請求項１４】
エラー検出モジュールは巡回冗長検査ユニットを備えている、請求項１３の反復復号器。
【請求項１５】
第１及び第２の復号器が最大経験的復号器を備える、請求項１３の反復復号器。
【請求項１６】
第１及び第２の復号器がターボ復号器を備える、請求項１３の反復復号器。
【請求項１７】
第１の復号器が内部符号を復号するように構成され、第２復号器が外部符号を復号するように構成される、請求項１３の反復復号器。
【請求項１８】
下記工程を具備する、反復復号器でパケット上で実行されている反復復号処理を終了する方法：
復号反復数が予め定めた最大反復数に等しいか否かを決定する；
反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量の予め定めた割合内であるか否かを決定する；
復号反復数が予め定めた最小反復数に等しいか、より大きいか否かを決定する；
エラー検出測定が少なくとも一つの先行パケットに関して満足していたか否かを決定する；
(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)復号反復数が予め定めた最小反復数に等しいか、より大きい場合、及びパケット記憶要素がパケット記憶要素の記憶容量の予め定めた割合内である場合、又は(3)復号反復数が予め定めた最小反復数に等しいか、より大きく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する。
【請求項１９】
エラー検出測定が巡回冗長検査を備える、請求項１８の方法。
【請求項２０】
少なくとも一つの先行パケットが二つの先行パケットを有する、請求項１８の方法。
【請求項２１】
巡回冗長検査ビットが二つの先行パケットに関して同一である場合、エラー検出測定が満たされている、請求項１８の方法。
【請求項２２】
巡回冗長検査が先行の復号されたパケットに関して満足している場合、及び先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定が満たされている、請求項１８の方法。
【請求項２３】
先行の復号されたパケットが反復復号処理を受けているパケットに同一である場合、エラー検出測定が満たされている、請求項１８の方法。
【請求項２４】
下記を具備する反復復号器：
パケット上で反復復号処理を実行するための第１及び第２の復号手段；
第１及び第２の復号手段に結合されたパケット記憶手段；
復号反復数があらかじめ定めた最大反復数に等しいか否かを決定するための手段；
パケット記憶手段が、パケット記憶手段の記憶容量の予め定められた割合内であるか否かを決定するための手段；
復号反復数が予め定めた最小反復数に等しいか、或いはより大きいか否かを決定するための手段；
エラー検出測定が少なくとも一つの先行パケットに関して満足していたか否かを決定するための手段；
(1)復号反復数が予め定めた最大の反復数に等しい場合、又は(2)復号反復数が予め定めた最小反復数に等しいかより大きく、及びパケット記憶手段がパケット記憶手段の記憶容量の予め定めた割合内である場合、又は(3)復号反復数が予め定めた最小反復数に等しいかより大きく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足していた場合、該パケットに対する反復復号処理を終了するための手段。
【請求項２５】
エラー検出測定が巡回冗長検査を備える、請求項２４の反復復号器。
【請求項２６】
少なくとも一つの先行パケットが二つの先行パケットを有している、請求項２４の反復復号器。
【請求項２７】
巡回冗長検査ビットが二つの先行パケットに関して同一である場合、エラー検出測定が満たされている、請求項２４の反復復号器。
【請求項２８】
巡回冗長検査が先行の復号されたパケットに関して満足している場合、および先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満たされている、請求項２４の反復検出方法。
【請求項２９】
先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満たされている、請求項２４の反復復号器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的に反復復号処理に関し、特に多重成分符号の高速反復復号処理に関する。
【０００２】
【従来の技術】
[発明の背景]
デジタルデータの発信は、送信したデータへエラー(errors)を導入する恐れのある干渉を引き起こす固有の傾向がある。送信したデータへエラーが入ったか否かを出来るだけ確実に判定するために、種々のエラー検出スキームが提案されている。例えば、データをパケットとして発信し、各パケットにＣＲＣ（巡回冗長検査）領域を付加することが一般的である。この領域は、例えば長さが１６ビットであり、パケットのデータの検査総計を記録するものである。このデータを受け時、受信器は受けたデータ上の検査総計を算出し、この算出結果がＣＲＣ領域に記録の検査総計と同一であるか否か検証する。
送信データがオンラインで使用されていない場合、エラーが検出された時はエラーデータの再送信を要求できる。しかし、電話回線、セルラ電話、遠隔ビデオ方式等でデータがオンラインで発信された場合は、再送信の要求は不可能である。
畳み込み符号が導入され、たとえエラーが送信過程で発生しても、デジタルデータの受信器が受信データを正確に判定できるようになっている。
畳み込み符号は、送信データに冗長部分を導入し、送信データをまとめパケット化する。得られたパケット内では、各ビットの値は先行連続するビットに依存する。従って、エラーが発生しても、受信器は受信データ内のシーケンスを後方検索して、元データを推論できる。
送信チャンネルの作動効率をさらに改善するために、いくつかの符号化スキームではインターリーバを用いる。インターリーバはパケット内のビット順番を符号化処理中に入れ替える。よって、送信中に干渉により隣接するビットがいくつか破壊しても、干渉の影響が元のパケット全体に分散する。従って、復号処理でより確実に干渉を克服できる。他の改善策として、多重成分(multiple-component)符号の使用がある。多重成分符号は、パケットを並行して、または連続して２回以上符号化したものである。例えば、その内容を引用により本明細書に組み込んだ米国特許第５，４４６，７４７号は、畳み込み符号化を少なくとも２回並行して行うエラー訂正方法を開示している。この並行符号化は「ターボ符号化(Turbo coding)」として知られている。
多重成分符号を最適に復号することは、しばしば複雑な作業であり、多大な時間を要する場合がある。かかる多大な時間はオンライン復号の場合、通常得られない。この問題を解決するために反復(iterative)復号技術がいくつか開発されている。受信ビットが０か１かを即時に決定するのではなく、受信器は各ビットに、ビットが１である確率を表す多重レベルスケールで、ある値を割り当てる。通常用いるスケールの一つはＬＬＲ確率と称するものである。これは｛−３２，３１｝の範囲の整数により各ビットを表わす。値３１は送信したビットが０であった確率(probability)が相当高いことを示す。値−３２は送信したビットが１である確率が相当高いことを示す。値０は、値が中間であることを示す。
多重レベルスケールで表わすデータは「ソフトデータ」と称され、反復復号は通常、ソフト・イン/ソフト・アウト形式である。すなわち、復号処理によりビット値の確率に対応する入力列を受け、符号の拘束事項を考慮して正しい確率を出力する。一般に、反復復号を行う復号器は、先行反復で得たソフトデータを使って受信器が読み取ったソフトデータを復号する。反復復号の方法の一例が例えば、その内容を引用により本明細書に組み込んだ米国特許第５，５６３，８９７号に記載してある。
多重成分符号の反復復号中に、復号器はある符号の復号結果を使って、次の符号の復号処理を改善する。並行作動の符号器を、ターボ符号化などで用いる場合、対応する２台の復号器を並行に使うのが、目的を達成するのに便利である。
反復復号は、ソフトデータが送信したデータをほぼ表わしていると確認されるまで、複数回の反復にわたって実施される。ほぼ値が１である旨を示す確率を有するビット（例えば、上述したスケールで値が０と３１との間のビット）には、二進値０が割り当てられ、他のビットには二進値１が割り当てられる。
一般に、反復処理は所定回繰り返す。アドレス「ｈｔｔｐ：//ｌａｍａｒｒ．ｍｐｒｇ．ｅｅ．ｖｔ．ｅｄｕ/ｄｏｃｕｍｅｎｔｓ/ｔｕｒｂｏ．ｐｄｆにて入手可能で、その内容を引用により本明細書に組み込んだ、マシュー Ｃ． バレンティ著「ターボ符号入門（Ａｎ Ｉｎｔｒｏｄｕｃｔｉｏｎ ｔｏ Ｔｕｒｂｏ Ｃｏｄｅｓ）」によれば、反復繰り返しの所定回は約１８回である。しかし、この論文で、反復を６回ほどの少ない回数行っても、多くの場合満足な結果を得られると述べてある。また、その内容を引用により本明細書に組み込んだ、ヨアキン・ハーゲナウァー、エルケ・オッファー、ルッツ・パプケ共著「二進ブロック符号の反復復号（Ｉｎｔｅｒａｃｔｉｖｅ Ｄｅｃｏｄｉｎｇ ｏｆ Ｂｉｎａｒｙ Ｂｌｏｃｋ Ｃｏｄｅｓ）」，ＩＥＥＥ Ｔｒａｎｓ．ｏｆ Ｉｎｔｅｒｍａｔｉｏｎ Ｔｈｅｏｒｙ，４２巻、２号、４２９−４４５頁 （１９９６年３月）では、パケット毎の反復復号処理をいつ停止するかを決定するための交差エントロピー評価基準の使用が提案されている。よって、復号器の計算力は、反復を同回数行って全パケットを復号する場合よりも有効に利用できる。しかし、交差エントロピー評価基準は、それ自体が複雑であり、反復を様々な回数実施する場合の効率を大幅に下げてしまう。
普通用いる一つの多重成分符号化スキームでは、まずパケットを第１「外部」符号化スキームによって符号化する。その後、パケットをインターリーブ（ｉｎｔｅｒｌｅａｖｅ）処理し、さらに第２「内部(inner)」符号化スキームによって符号化する。復号処理中は、まず内部符号を復号し、復号結果をデインターリーブ(インターリーブ解除）処理し、外部符号を復号する。この後、外部符号の復号結果は、内部符号を復号する第２反復において結果を改善するために使用される。この処理は、符号化されたパケットが満足できるほど復号されるまで繰り返し続行する。
上記復号スキームは、ハードウエア復号器１台で行うのが普通である。ハードウエア復号器は、内部符号(inner codes)と外部符号(outer codes)を交互に復号する。しかしながら、非常に高速な復号処理を要し、かつ内部符号と外部符号が大きく異なる場合は、計算上の負担が従来形式の復号器１台の能力を通常超える。従って、一方のプロセッサを内部符号処理に、他方のプロセッサを外部符号処理に用いる、２個のプロセッサを含む復号器を１台使うことが提案されている。しかし、このようにすると、各プロセッサは他方のプロセッサが結果を出すまで待つので、復号器全体の処理時間の半分の期間、アイドル状態となってしまう。
【０００３】
本発明の目的のひとつは、二つ以上の異なる畳み込み符号化スキームで得た符号を高速反復復号する方法と装置とを提供することである。
本発明の目的の他のひとつは、畳み込み符号を効率良く反復復号する装置を提供することである。
本発明の目的の別のひとつは、信頼性のあるパケット復号を達成するには、反復を何回すべきかを決定する効率良い方法を提供することである。
本発明の実施例において、多重符号の並行あるいは連続符号化スキームで各符号の復号に割り当てた復号時間を実質的に等しくする。プロセッサを２個含む１台の復号器が、連続するデータのパケットを２個受けて、これらを同時に復号する。あるパケットが第１プロセッサで復号されている間に、第２プロセッサは他のパケットを復号する。プロセッサ双方が反復を１回終了すると、ふたつのパケットはプロセッサ間で交換され、次の反復が行われる。これにより、プロセッサ双方は実質的に常に使用状態にある。その結果、符号は同程度のハードウエア規模の従来スキームの２倍速で復号可能である。両プロセッサは、いずれの入力パケットに対しても少なくとも５０％の各作動時間で同時に作動することが好ましい。
本発明の幾つかの実施例において、パケット２個が互いに独立して復号され、パケットの復号は独立して終了する。第１のパケットの復号が終了すると、第２のパケットの復号が終了したか否かに関係なく、新たなパケットが一方の復号器に入る。
本発明の幾つかの実施例において、多重符号処理は内部符号化スキームと外部符号化スキームとを含む。好ましくは、内部符号と外部符号両方の反復による復号時間がおおむね等しくなるように内部符号化スキームと外部符号化スキームとを選択する。この代わりに、又はこれに加えて、反復を終えた一方のプロセッサが、他方のプロセッサが処理を終えるのを待ち、パケットを復号器間で交換してもよい。また、内部符号化スキームと外部符号化スキームが互いに異なり、同じプロセッサで簡単に復号できないことが好ましい。
本発明の別の観点によれば、各パケットの復号中に反復処理を停止することをどの時点で実施すべきかを簡単な方法で判定する。処理終了の判定検査は、実質的な各反復後に実施するのが好ましい。判定検査には、パケット内のいずれのビットに関する最小絶対確率値(minimal absolute probanility value)を決定することが含まれる。この最小絶対確率値が所定のしきい値を超え、ビット全てが値「１」または「０」に割り当てられていることを比較的高い確率で示す時は、反復処理を終了させる。
この代わりに、又はこれに加えて、各パケットを、ＣＲＣ領域を付加して送信する。各復号反復後に、反復により出力されるデータから計算したＣＲＣ値がＣＲＣ領域と適合するか否かを終了検査処理が検査する。好ましくは、この検査処理では、最小確率値が前記しきい値を超える場合にのみＣＲＣ領域を検査する。ＣＲＣ領域に記録の値が抽出したデータと適合すれば、反復を終了させる。
本発明のいくつかの実施例において、復号したデータが不正確であっても見かけ上「正しい」結果を返すＣＲＣ検査の確率を下げるために反復を最初に最小回数実施した後でのみ、前記検査処理を初めて行う。好ましくは、反復の実施最小回数は４と８との間である。反復回数は、殆どのパケットに関して前記しきい値を超える最小確率値を与えない反復数であるように選択する。さらに、反復処理を、他の条件に無関係に、最大回数行った後に終了することが好ましい。この反復の最大回数が２０と３０の間であることが好ましい。
本発明のいくつかの他の実施例において、前記最小絶対確率値を、平均確率値や、中間確率値、または反復復号処理の進行を示す他のいかなる値に置き換えてもよい。例えば、パケットエラー率よりは、ビットエラー（BER）評価を最小にした方が望ましい場合には、最小絶対値を２番目に小さい値、即ち一つか二つの例外を無視した後の最小値と取り替えるのが好ましい。
本発明の実施例の一つによれば、多重成分符号化スキームにより符号化された信号パケットのシーケンスを反復復号する装置が提供される。この装置は複数個の復号器を含む。各復号器は信号パケット一つに対し異なる復号方法を施し、これにより複数の復号器が実質的に同時に作動する。
前記複数個の復号器は、それぞれ異なるパケットに関して同時に作動することが好ましい。
装置が該シーケンスを復号する作動時間の少なくとも５０％の期間に前記複数個の復号器が同時に作動するのが好ましい。
さらに、前記複数個の復号器が、装置の動作時間全てにわたり同時に作動することが好ましい。
前記復号器の各々が、殆どの反復時に複数の復号器の他の一つの復号器により処理されたパケットを入力として受け取ることが好ましい。
前記複数個の復号器は、二つの復号器であることが好ましい。
前記装置は、前記復号器が復号した後、パケットを出力する複数個のメモリ部を含むことが好ましい。
前記パケットを、復号した後に、インターリーブ処理又はデインターリーブすることが好ましい。
前記複数個の復号器は、各々他の復号器の復号時間とおおむね等しい復号時間を必要であることが好ましい。
前記多重成分符号化スキームは、並行符号化スキームを含むことが好ましい。
または、前記多重成分符号化スキームは、連続符号化スキームを含むことが好ましい。
前記複数個の復号器は、APP復号器を含むことが好ましい。
本発明の他の一つの実施例によれば、内部及び外部符号を含む多重成分符号化スキームに従って符号化された、データパケットのシーケンスを復号する方法であって、第１の復号器中の第１のパケットを復号する、それは第１の復号された出力パケットを形成するために内部符号を復号する、第２の復号器中の第１の復号された出力パケットを復号する、それは第１の復号器中の第２のパケットを実質的に同時に復号する間に外部符号を復号する、を含む方法が提供される。
前記方法は、第１パケットを第２復号器から第１復号器へ出力し、内部符号を繰り返し復号することを含むことが好ましい。
前記方法は、第１パケットと第２パケットを、第１復号器と第２復号器内で交互に繰り返し復号することが好ましい。
前記方法は、第１出力パケットを第２復号器内で復号する前に、同出力パケットのデインターリーブ処理を含むことが好ましい。
前記多重成分符号化スキームに連続符号化スキームが含まれることが好ましい。
本発明の実施例の他の一つによれば、各ビットが確率値で示されるソフトデータパケットを反復復号するシステムにおいて、複数の反復のうち、どの処理の後に復号処理を停止すべきかを決定する方法が提供される。この方法は、パケット中のビットの確率値を決定すること、及び確率値が所定値を超える場合のみ復号の停止を決定することを含む。
前記確率値の決定は、前記パケット中のビットのハードデータ値の最小確率の決定を含むことが好ましい。
前記最小確率値の決定は、最小絶対ログ確率値(minimal absolute log probability value)の決定を含むことが好ましい。
前記方法は、パケット中のエラー検出領域が正しいことを確認することを備え、及び終了することの決定はエラー検出領域が正しい場合にのみ、終了することの決定を有することが好ましい。
エラー検出領域が正しい旨の検証は、前記確率値が所定値を超えた時に実行されることが好ましい。
確率値の決定は、復号反復がパケットに対し所定回数実施されて初めて行われることが好ましい。
確率値の決定は、パケット内のビットの復号済みコピーの確率値を決定することを含まれるのが好ましい。
この代わりに、又はこれに加えて、確率値の決定は、パケット内のビットの符号化済みコピーの確率値を決定することを含まれるのが好ましい。
さらに、本発明の実施例の他の一つによれば、各ビットに対する確率値を含む符号化済みパケットを反復復号する装置が提供される。この装置は、パケットを復号処理する反復を行う復号器と、パケット内のビットの確率値に応答する復号器により付加的反復を実行すべきか否かを判定する制御ユニットとを含む。
前記制御ユニットが、前記復号器にパケットを検査することなく反復を所定回数実行させることが好ましい。
前記確率値が所定条件を満たしている場合、パケット内のエラー検出領域に応答する復号器により付加的反復を実施するべきか否かを前記制御ユニットが決定することが好ましい。
エラー検出領域が正しい場合、復号器による付加的な反復を制御ユニットが開始しないことが好ましい。
前記復号器に、APP復号器が含まれることが好ましい。
前記制御ユニットが、パケット内のビットのハードデータ値の最小確率を算出し、この最小率に応じて付加的反復を実施すべきか否かを決定することが好ましい。
さらに、前記制御ユニットが、最小絶対ログ確率値を算出することが好ましい。
前記制御ユニットが、パケットの復号済みあるいは符号化済みコピーの確率値に基づいて前記最小確率を算出することが好ましい。
本発明の一の観点によれば、反復復号器においてパケットに対し実施中の反復復号処理を終了する方法が効果的に提供される。この方法は、復号反復の数が予め定めた最大反復数に等しいか、否かを決定する；反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量のあらかじめ定めた割合内であるか、否かを決定する；復号反復の数が予め定められた最小反復数に等しいか、否かを決定する；エラー検出測定が、少なくとも一つの先行パケットに関して満足されていたか、否かを決定する；(1)復号反復の数が予め定めた最大反復数に等しい場合、或いは(2)該パケット記憶要素が該パケット記憶要素の記憶容量の予め定められた割合内である場合、或いは(3)復号反復の数が予め定めた最小反復数に等しく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する工程を具備する。
本発明の別の観点によれば、反復復号器が効果的に提供される。この反復復号器は、パケット上で反復復号処理を実行するための第１及び第２の復号手段；該第１及び第２の復号手段に結合されたパケット記憶手段；復号反復数が予め定めた最大反復数に等しいか、否かを決定するための手段；パケット記憶手段が、パケット記憶手段の記憶容量の予め定めた割合内であるか、否かを決定するための手段；復号反復の数が予め定めた最小反復数に等しいか否かを決定するための手段；エラー検出測定が少なくとも一つの先行パケットに関して満足されていたか否かを決定するための手段；及び(1)復号反復の数が予め定めた最大反復数に等しい場合、又は(2)パケット記憶手段がパケット記憶手段の記憶容量の予め定められた割合内である場合、又は(3)復号反復の数が予め定められた最小反復数に等しい場合、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されている場合、該パケットに対する反復復号処理を終了するための手段とを具備する。
本発明の別の観点によれば、反復復号器が効果的に提供される。この反復復号器は、第１及び第２の復号器；第１及び第２の復号器に結合され、及び第２の復号器により復号されたパケット内でビットをインターリーブするため及び第１の復号器にインターリーブされたパケットを供するように構成されたインターリーバ；第１及び第２の復号器に結合され、及び第１の復号器により復号されたパケット内でビットをデインターリーブするために及びデインターリーブされたパケットを第２の復号器に供するように構成されたデインターリーバー；第２の復号器に結合されたエラー検出モジュール；第１の復号器に結合された入力パケットバッフア；第１及び第２の復号器、インターリーバー、デインターリーバー、エラー検出モジュール、及び入力パケットバッフアに結合された制御ユニット、該制御ユニットは、(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)エラー検出モジュールが二つの先行パケットに関して満足するエラー検出測定を形成する場合、又は(3)入力パケットバッフアが入力パケットバッフアの記憶容量の予め定めた割合内である場合、パケット上で実行されている反復復号処理を終了するように構成されている、を具備する。
【０００４】
本発明の別の側面によれば、反復復号プロセスを終了させる方法が有利な形態で提供される。この方法は、復号反復数が予め定めた最大反復数に等しいか否かを決定する；反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量の予め定めた割合内であるか否かを決定する；復号反復数が予め定めた最小反復数に等しいか、より大きいか否かを決定する；エラー検出測定が少なくとも一つの先行パケットに関して満足していたか否かを決定する；(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)復号反復数が予め定めた最小反復数に等しいか、より大きい場合、及びパケット記憶要素がパケット記憶要素の記憶容量の予め定めた割合内である場合、又は(3)復号反復数が予め定めた最小反復数に等しいか、より大きく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する、工程を具備する。
【０００５】
本発明の別の側面によれば、以下の構成要素を具備した反復復号器が有利な形態で提供される。すなわち、パケット上で反復復号処理を実行するための第１及び第２の復号手段と、これら第１、第２の復号手段に結合されたパケット記憶手段と、復号反復の回数が所定の最大反復数と等しいかどうかを決定するための手段と、前記パケット記憶手段がその記憶容量の所定割合内であるかどうかを決定するための手段と、復号反復の回数が所定の最小反復数以上であるかを決定するための手段と、少なくとも先行の一つのパケットに対しエラー検出測定を満足したかどうかを決定するための手段と、（１）復号反復の回数が所定の最大反復数と等しい場合、又は（２）復号反復の回数が所定の最小反復数以上でありかつパケット記憶手段がその記憶容量の所定の割合内である場合、又は（３）復号反復の回数が所定の最小反復数以上でありかつ少なくとも一つの先行のパケットに対しエラー検出測定を満足した場合にパケットに対する反復復号処理を終了するための手段とを有する。
【０００６】
本発明は、以下に示す好適な実施例の詳細な説明と図面を参照することで十分に理解されるであろう。図面において、
【発明の実施の形態】
第１図は、本発明の実施例による復号プロセッサ５０を示すブロック図である。プロセッサ５０は、アナログ信号を受信するディジタル受信機の一部であることが望ましい。受信した信号はデジタル化して、周知のように、対数スケールで確率値を示す｛−３２、３１｝の範囲のスケールに変換しておくことが望ましい。スケールは別の範囲のスケールであってもよく、および、または対数スケールである必要もない。復号プロセッサ５０は、周知のように、デジタル化信号を図示しない復調器もしくはチャンネル・デインターリーバ（channel de-interleaver）から受信するのが望ましい。受信したディジタル信号は送信前に、外部符号化スキーム、インターリーブ、内部符号化スキームを連続して含むことが望ましい、多重符号化スキームにより暗号化された。この方法に代えてもしくはそれに加えて、多重符号スキームがターボ符号スキームや任意の他の適当な反復スキームを含んでもいい。
【０００７】
プロセッサ５０に入力されるデジタル化データは、並列に接続された２つのバッファ６２、６４内に蓄積される。バッファ６２は最初のデータパケットを受信し、バッファ６４は次のパケットを受信する。内部符号を復号する内部復号器６８が、スイッチ６６を介しバッファ６２とバッファ６４とに交互に接続される。復号器６８は、最大経験的ＭＡＰ(Maximum A Posteriori) 復号器とも称される、経験的確率ＡＰＰ(A Posteriori Probability) 復号器であることが望ましい。このような復号器は公知であり、例えば、Steven S. Pietrobonによる「ターボ/マップ復号器の実行と動作」、衛星通信インターナショナルジャーナル第１６巻、１９９８年、２３−４６ページに記載されている。この記載は、米国出願第０９/１８６,７５３号（出願日：１９９８年１１月５日出願；タイトル「Efficient Trellis State Metric Normalization」）の場合と同様、本出願に組み込まれるものとする。この米国出願は、譲受人が本願と同じであり、この米国出願も本願に組み込まれるものとする。復号器６８は、ＳＯＶＡ復号器を含む他の公知の復号器を具備してもよい。
【０００８】
２つのデュアルポートメモリ、望ましくはＲＡＭ５２、５４が２つのスイッチ５８，５８を介して交互に内部復号器６８に接続される。好ましい形態は、スイッチ５６が復号器６８からの復号出力をＲＡＭ５２，５４の一方に供給し、その一方でスイッチ５８がその同じＲＡＭから復号器６８への入力を供給する。好ましい形態としては、復号器６８からの出力は、ＲＡＭ５２あるいは５４に入力されたときもしくは出力されたときに、デインターリーバ（de-interleaver）７２によりデインターリーブする。同様に、スイッチ５８を介しての復号器６８への入力はＲＡＭ５２，５４と関連付けられたインターリーバ(interleavers)７４によりインターリーブすることが好ましい。
【０００９】
外部ＡＰＰ（又はＭＡＰ）復号器７０がスイッチ７６を介して交互にＲＡＭ５２、５４に接続される。この復号器は外部符号を復号するため、復号対象の符号は復号器６８と異なるがこの復号器と同様の構成を持つことが望ましい。好ましい形態としては、復号器７０は２つの出力線を有している。すなわち、更なる処理のために符号化された信号に関わる確率情報を出力する第１の出力線９０と、復号されたデータ信号に関わる確率情報を出力する第２の出力線９２である。スイッチ７８が出力線９０に接続されている。このスイッチにより、復号器７０からの出力をＲＡＭ５２、５４のインターリーバ７４に交互に供給することが望ましい。プロセッサ５０内で十分な回数だけ反復した後、出力線９２上の復号器７０からの出力は、ソフトデータをハードデータに変換する決定ユニット８０に伝えられることが望ましい。好ましい形態としては、ハードデータはＣＲＣ検査ユニット８３に伝えられ、このユニットにより復号パケットのＣＲＣが決定検査される。
【００１０】
好ましい形態としては、復号器６８は復号したデータをエクストリンシック情報(extrinsic information)として出力する。すなわち、スイッチ５８からの入力データのＬＬＲ確率と計算処理を施し信頼性を向上させたＬＬＲ確率との差として出力する。この出力方法は公知であり、例えば、上記したHagenauer et al.による刊行物に記載されている。一方、上記したように、復号器７０は２つの出力線９０，９２を有するのが望ましく、これらの出力線の１つ（線９２が望ましい）によりエクストリンシック情報(extrinsic information)は復号器６８へフィードバックされ、もう１つの出力線（線９０が望ましい）によりアプリオリ(a priori)確率情報、すなわち計算処理を施したＬＬＲ確率が決定ユニット８０に供給される。
【００１１】
復号されたハードデータは、望ましくは、復号ユニット５０からスイッチ８６を介して出力され、２つの分離線８２、８４上に送出される。分離線のどちらに送出されるかは、元のパケットがバッファ６２、６４のどちらに保存されていたかに依存する。復号器６８、７０の動作、スイッチの状態、及びプロセッサの他の動作は制御ユニット８８により制御するのが好ましい。
【００１２】
動作中に、２つの連続したデータパケットはバッファ６２、６４にそれぞれ入力される。スイッチ６６、５６は上の位置（図１を参照）に設定してあり、復号器６８は、バッファ６２内のパケットに対し最初の内部復号反復の第１サイクルを行う。この最初の内部復号反復において、復号器６８はバッファ６２より入力パケットを受け取り、ＲＡＭ５２内に出力パケットを発生する。この出力パケットは、望ましくは、ＲＡＭ５２内においてデインターリーバ(de-interleaver)７２によりデインターリーブし、パケットが復号器７０に入力されうるようにしておく。スイッチ５８の状態は復号器６８の動作に影響を与えるものではなく重要でなく、切り離した状態にしておかれる。
【００１３】
その後、スイッチ５６、６６を下の位置にし、スイッチ７６、７８を上の位置にする。この時点で、制御ユニット８８は両復号器６８、７０の動作を開始する。復号器６８はバッファ６４内のパケットに対し最初の内部復号反復を行い、ＲＡＭ５４内に出力パケットを生成する。この出力パケットは、ＲＡＭ５４へ供給される過程でデインターリーバ(de-interleaver)７２によりデインターリーブし、プロセッサの次のサイクル中に復号器７０の供給できるようにしておくことが望ましい。この方法に代えてもしくはそれに加えて、デインターリーバ(de-interleaver)７２はＲＡＭ５４から出力されるパケットをデインターリーブする。同時に、復号器７０はＲＡＭ５２内部のパケットに対し最初の外部復号反復を行う。復号器７２はＲＡＭ５２内部のデインターリーブされたパケットに基づき動作し、ＲＡＭ５２内に出力パケットを生成して戻す。この出力パケットは、ＲＡＭ５２に関連付けられたインターリーバ(interleaver)７４によりインターリーブされ復号器６８で再度用いることができるようにする。
【００１４】
第３の動作サイクルでは、第１のサイクルと同様、スイッチ５６、５８、６６を上の位置にし、スイッチ７６，７８を下の位置にする。復号器６８はバッファ６２とＲＡＭ５２からの入力を受信し、バッファ６２内のパケットに対し２回目の内部復号反復を行う。出力パケットは、１回目の内部復号反復の時と同様、ＲＡＭ５２へ受け渡される。同時に、復号器７０はバッファ６４からのパケットに対し１回目の外部復号反復を行う。出力はＲＡＭ５４にもどされ、ユニット７４によりインターリーブされ復号器６８で用いることができるようにする。その後、スイッチ５６、５８、６６、７６、７８の状態を変え、復号器６８はバッファ６４内のパケットに対し動作し復号器７０はバッファ６２からのパケットに対して動作する。このように、復号器６８，７０はバッファ６２、６４内のパケットに対して交換可能状態で復号反復を行う。復号器６８と復号器７０は同時に動作する。従って、プロセッサとしてのハードウェアの使用量は同じであるが、復号スピードは２倍になる。
【００１５】
制御ユニット８８は、パケットの復号をいつ終了するかを決定する。この決定にあたっては、下記に示す方法に基づくのが望ましい。復号器７０からの出力はスイッチ７８を介し決定ユニット８０に送られ、このユニットによりパケット中のソフトデータの符号からハードデータ（"0"と"1"）を導出する。導出の方法は、上記した方法や当該技術で通常行われている方法と同様である。ハードデータはＣＲＣ検査ユニット８３に受け渡され、このユニットによりＣＲＣが決定されハードデータは制御ユニット８８に供給される。ＣＲＣと他の情報に基づいて、制御ユニット８８は以下に記載する更なる復号反復を実行するかを決定する。
【００１６】
選択的には、或いは付加的には、所定回数の復号反復（decoding iteration）の後、各パケットの復号は終了する。スイッチ８６は、パケットが２本のライン８２及び８４のどちらで出力されても、設定される。好ましくは、スイッチ７８は切られる。復号器７０の出力は決定ユニット８０に入力され、さらにライン８２又は８４を介し出力される。ほぼ同時に、新たなデータパケットがバッファ６２又は６４にロードされる。これらのバッファには、復号されたばかりのパケットが、すでに記憶されている。復号過程は更に続行される。好ましくは、新たなパケットは連続的に各バッファ６２，６４に入力され、互いに独立的に復号器６８により処理される。選択的には、２個の新たなパケットが密に連続するサイクルで復号処理に入るように、バッファ６２，６４は、新たなパケットで各々に交互に、しかも密に連続して充填される。
【００１７】
図２は本発明の一実施例による反復復号方法を示すフローチャートである。この反復復号方法は制御ユニット８８の監視のもとで復号器７０により行われる。好ましくは、新たなパケットがプロセッサ５０に入る毎に、すでになされた復号反復の回数のカウンタはゼロに設定される。パケットの外部復号反復（outer decoding iteration）が行われる毎に、カウンタは増加される。カウンタが所定の最小反復回数（ＴＲ）に達するまで、パケットは自動的に、更なる復号反復のために、復号器７０から復号器６８に戻される。好ましくは、上記所定回数（ＴＲ）は、出力に適した十分な復号性を達成することのできる、最小反復回数に設定される。更に好ましくは、上記所定回数（ＴＲ）は４と８の間である。
【００１８】
所定回数の初期反復が行われた後、復号器７０及び／又は制御ユニット８８は、パケット中のビットのＬＬＲ確率値（LLR probability value）Ｌの最小絶対値、ｍｉｎ（｜Ｌ｜）、を決定する。上記最小絶対値は、パケット中のすべてのビットにおける、ゼロに最も近いＬＬＲ確率値である。（先に述べたように、ビット確率は、ログ領域（log domain）において、−３２から３１のスケールで測定されるものであり、そのスケールの極値は一またはゼロの高確率に各々対応する。）最小ＬＬＲ確率は、ＬＬＲ確率が正しいハードビット値を表しているという確実性（confidence）のレベルを表現するものである。故に、もし最小ＬＬＲ確率値が所定の絶対的確率しきい値を越えていなければ、復号処理は続行される。しかし、もし最小ＬＬＲ確率値が上記所定しきい値を越えていれば、パケットのＣＲＣが、好ましくは、確認（verify）される。もしＣＲＣが正しければ、パケットの復号は終了される。
【００１９】
好ましくは、最小絶対値は出力ライン９０上の復号データＬＬＲ確率から計算される。選択的には、或いは付加的には、最小絶対値は符号化データＬＬＲアプリオリ（a priori）確率から計算され、その確率は、先に述べたように、又当該技術分野において公知の如く、ライン９２上のエクストリンシック（extrinsic）情報に対応する。
【００２０】
選択的には、復号器７０は最小確率値又はＣＲＣ符号を検査するものであり、それら両者を検査するものではない。更に選択的には、確率値を極値に収斂する進度を表すいかなる他の測定も、上記最小値に代わって用いられる。例えば、ビットの確率値の平均値又は中間値が異なる各しきい値と比較される。しかしながら、注意すべきことは、最小値の使用は簡単であり、一般的に計算時間も少なくてすむということである。本発明の実施例においては、最初に最小値を計算し次にしきい値と比較する代わりに、各確率が最小値と順に比較される。もししきい値よりも低い確率をもつビットが見つかれば、検査は終了され、次の反復が実行される。
【００２１】
更に選択的には、あるいは付加的には、最小確率は外れ値（outliers）を無視すべく調整される。好ましくは、最小値より低い所定数の確率値が無視される。
【００２２】
更に選択的には、あるいは付加的には、最小又は平均確率はパケット中のビットのサブセットに基づき、好ましくは、ランダムサブセットに基づき、計算される。
【００２３】
注意すべきは、反復復号をいつ終了すべきかを決定する上記方法は、復号プロセッサ５０のみの使用に限定されないということである。上記方法は、ターボ符号復号器やターボ型復号器が含まれるいかなる反復復号器においても適用可能である。
【００２４】
更に注意すべきは、上記説明はログ領域におけるＬＬＲ確率を用いた復号方法に関するものであるが、本発明の方法は、他の確率の表現（representations）を用いても適用可能である。特に、本発明の方法は、確率を標準範囲(normal range)、即ち０と１の間において表現する、ＤＳＰ浮動小数点演算復号器（DSP floating-point-arithmetic decoder）のような復号器を用いても適用可能である。そのような復号器においては、最小確率の選択方法は、最小値が確率によって表現されるハードデータ決定（０又は１）との関連で選択されるように調整される。
【００２５】
本発明の他の実施例においては、反復復号システム１００は、図３に示すように、フレームバッファ１０２，内部復号器（inner decoder）１０４，インターリーバ１０６，デインターリーバ１０８，外部復号器（outer decoder）１１０，決定ユニット１１２，ＣＲＣ検査ユニット１１４，及び制御ユニット１１６を含む。インターリーバ１０６とデインターリーバ１０８は、好ましくは、ＲＡＭメモリで実現される。システム１００は、好ましくは、アナログ信号を受けるデジタル受信器の一部である。受信信号はデジタル化され、好ましくは、当該技術分野において知られているように、確率値をログスケールで表現する、｛−３２，３１｝の範囲のスケールに変換される。選択的には、そのスケールは他のいかなる範囲でもよいし、かつ／又は非ログスケールでもよい。
【００２６】
好ましくは、反復復号システム１００は、当該技術分野において知られているように、復調器又はチャンネル・デインターリーバ（図示せず）からデジタル信号を受信する。受信デジタル信号は、多重符号スキームに従って送信される前に符号化された。。該多重符号スキームは、好ましくは、順に外部符号化スキーム、インターリーブ、内部符号化スキームを含む。選択的には、或いは付加的には、該多重符号スキームはターボ符号スキーム又はいかなる他の適切な反復スキームを含む。
【００２７】
システム１００に入力されるデジタルデータは、データをパケットで受けるフレームバッファ１０２に蓄積される。フレームバッファ１０２は、好ましくは、ＦＩＦＯで実現される。フレームバッファ１０２は、参照符号ＦＡＳＴ ＤＥＣＯＤＥで示され下記で説明される、ハードウェア制御信号を制御ユニット１１６へ供給すべく構成される。内部符号を復号する内部復号器１０４はフレームバッファ１０２に接続される。復号器１０４は、好ましくは、公知のＡＰＰ復号器（又はＭＡＰ復号器）である。更に選択的には、内部復号器１０４は、ＳＯＶＡ復号器等を含む他の公知の復号器を備えているものでもよい。
【００２８】
内部復号器１０４はデインターリーバ１０８に接続される。復号データ信号は内部復号器１０４から出力され、デインターリーバ１０８によりデインターリーヴされる。デインターリーバ１０８は外部復号器１１０に接続される。
【００２９】
外部ＡＰＰ（またはＭＡＰ）復号器１１０は、好ましくは、構造的に内部復号器１０４に類似するものであるが、前者は異なる符号（即ち外部符号）の復号に向けられている。この外部ＡＰＰ（ＭＡＰ）復号器１１０はインターリーバ１０６に接続されている。インターリーバ１０６は、好ましくは、擬似ランダムインターリーバあるが、選択的には、ブロックインターリーバ又は畳み込み（convolutional）インターリーバでもよい。好ましくは、外部復号器１１０は２本の出力ライン、即ち、インターリーバ１０６に接続され、更なる処理のために符号信号についての確率情報を提供する第一の出力ラインと、決定ユニット１１２に接続され、復号されたデータ信号についての確率情報を提供する第二の出力ラインとを含む。所望回数の反復が復号システム１００において実行された後、第二の出力ライン上の外部復号器１１０からの出力が、好ましくは、ソフトデータをハードデータに変換する決定ユニット１１２に入力される。好ましくは、ハードデータはＣＲＣ検査ユニット１１４に送られ、そこで復号パケットのＣＲＣが測定され検査される。
【００３０】
好ましくは、内部復号器１０４は、公知のように、そして、例えば、ハーゲンナウアー他による上記刊行物に定義されているように、復号データをエクストリンシック情報として、すなわち、その入力のＬＬＲ確率とその算出された改善ＬＬＲ確率との差として出力する。。他方において、外部復号器１１０は、好ましくは、上述したように、上記二本の出力ラインを持ち、その一方はエクストリンシック情報を内部復号器１０４へのフィードバックとして伝達し、又他方はアプリオリ確率情報、即ち算出されたＬＬＲ確率を決定ユニット１１２に伝達するものである。
【００３１】
復号ハードデータは、好ましくは、復号システム１００から制御ユニット１１６の制御のもとで出力される。制御ユニット１１６は、又、反復復号システム１００の他の動作を制御する。制御ユニット１００は、好ましくは、マイクロプロセッサである。選択的には、制御ユニット１１６はいかなる従来のプロセッサ、コントローラ、マイクロコントローラ、あるいはステートマシーン(state machine)によっても実現される。
【００３２】
二つの復号器１０４，１１０が一つのパケットを復号すると、復号システム１００は一回の反復を完了する。制御ユニット１１６は、いつパケットの復号を終了すべきかを、好ましくは、以下に述べる方法ステップに従って決定する。外部復号器１１０からの出力は決定ユニット１１２に与えられる。決定ユニット１１２は、上記の如く又は公知のように、パケット中のソフトデータの符号（sign）からハードデータ（０又は１）を導出する。ハードデータはＣＲＣ検査ユニット１１４に送られ、そこで公知の方法によりＣＲＣを決定し該ＣＲＣを制御ユニット１１６に供給する。ＣＲＣと他の情報に基づき、制御ユニット１１６は、更に以下に述べる如く、次の復号反復を実行すべきか決定する。
【００３３】
選択的には、或いは付加的には、所定回数の復号反復の後、各パケットの復号が終了する。内部復号器１１０からの出力は決定ユニット１１２に送られ、そこから復号システム１００の外部へ出力される。ほぼ同時に、新たなデータパケットがフレームバッファ１０２（ここには復号されたばかりのパケットがすでに記憶されている）に入力され、復号処理が続行される。
【００３４】
一実施例に従い、反復復号システム１００は、制御ユニット１１６の監視のもとで、図４のフローチャートに示すアルゴリズム工程を実行し、データパケットの反復的復号プロセスを停止する。ステップ２００において、新たなパケットがシステムに入る毎に、すでになされた復号反復の回数のカウンタ（図示せず）はゼロに設定される。現在の反復の数は、ＩＴＥＲ ＮＵＭで示される。システムはステップ２０２に移行し、復号反復を開始する。システムはステップ２０４に移行し、現在の反復の数ＩＴＥＲ ＮＵＭを増加する。パケットの外部復号反復が行われる毎に、カウンターは増加される。カウンターが所定の最小反復数ＭＩＮ ＩＴＥＲ  ＮＵＭに達するまで、パケットは、更なる復号反復のために外部復号器から内部復号器に自動的に戻される。好ましくは、所定の最小反復数ＭＩＮ ＩＴＥＲ  ＮＵＭは、出力に適した十分な復号性を達成することができる、最小反復の回数に設定される。更に好ましくは、上記所定最小反復数ＭＩＮ ＩＴＥＲ  ＮＵＭは４と８の間である。一実施例においては、所定最小反復数ＭＩＮ ＩＴＥＲ  ＮＵＭは４ビットフレームパラメータである。現在の反復の数ＩＴＥＲ ＮＵＭが増加された後、システムはステップ２０６に移行する。
【００３５】
ステップ２０６において、システムは、現在の反復数(iteration number)、ＩＴＥＲ ＮＵＭが所定の反復最大数、ＭＡＸ ＩＴＥＲ ＮＵＭに等しいかどうかを決定する。有利には、所定の反復最大数、ＭＡＸ ＩＴＥＲ ＮＵＭ、は１２と１６の間である。一つの実施例において、所定の反復最大数、ＭＡＸ ＩＴＥＲ ＮＵＭは、４―ビットフレームパラメータである。現在の反復数、ＩＴＥＲ ＮＵＭが、所定の反復最大数、ＭＡＸ ＩＴＥＲ ＮＵＭに等しい場合、システムはステップ２０８に進む。ステップ２０８において、システムはデータパケット上で復号反復(decoding iterations)する行為を停止する。一方、現在の反復数、ＩＴＥＲ ＮＵＭが所定の最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭに等しく無い場合、システムはステップ２１０に進む。
【００３６】
ステップ２１０において、システムは、現在の反復数、ＩＴＥＲ ＮＵＭが所定の最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭに等しいか、より大きいかを決定する。現在の反復数、ＩＴＥＲ ＮＵＭが所定の最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭに等しいか、より大きい場合、システムはステップ２１２に進む。一方、現在の反復数、ＩＴＥＲ ＮＵＭが所定の最小反復数、ＭＩＮＩＴＥＲ ＮＵＭに等しくないか、より大きくない場合、システムはステップ２０２に戻り、他の反復復号を実行する。
【００３７】
工程２１２において、システムは、条件フラッグを示すＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫが１にひとしいか否か（すなわち、フラッグが設定されているか否か）を決定する。有利には制御ユニットの復号モードレジスター(図示せず)中のフラッグである、条件フラッグＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、制御ユニットにより書き込まれることが有利である。一つの実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の２つの反復が良い巡回冗長検査（ＣＲＣ）の結果になったことを示している。ＣＲＣは関連技術において良く知られているエラー検出方法である。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、前２つの反復に関するＣＲＣビットが同一であったことを示している。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の２つの反復に関するＣＲＣビットが同一であり、先行の二つの反復が良いＣＲＣの結果になったことを示している。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の反復に関するＣＲＣビットが良かったこと、及び全パケットが先行の反復で復号されたパケットに同一であることを示している。他の実施例において、ＣＯＮＶＥＲＧＥ ＤＥＴＥＣＴＥＤフラッグが、ＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグの代わりに使用されることができる。１の値を有するＣＯＮＶＥＲＧＥ ＤＥＴＥＣＴＥＤフラッグは、全パケットが先行の反復で復号されたパケットに同一であることを示す。これは、例えば、復号が誤った解に集束した時に有利であり、復号する試みを継続する必要がない（すなわち、このモードにはＣＲＣは無い）。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、他の既知のエラー検出測定が先行の２つのデータパケットに関して満足された(satisfied)かどうかを示している。
【００３８】
ステップ２１２において、ＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグが１に等しい場合、システムはステップ２０８に進み、データパケットに関する反復処理を終了する。一方、ＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグが１に等しくない(すなわち、フラッグがゼロに等しい、或いはクリアされている) 場合、システムはステップ２１４に進む。
【００３９】
ステップ２１４において、システムは、ハードウエア制御信号を示すＦＡＳＴ ＤＥＣＯＤＥが１に等しいか否かを決定する。ＦＡＳＴ  ＤＥＣＯＤＥハードウエア制御信号は有利にはマルチ―ユーザー復号システムで使用されることができ、そこでは信号は復調器(図示せず)により送られ、復号システムをスピードアップする。ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号は、有利には外部ＦＩＦＯにより形成され、最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭが実行された後、できるだけ早くパケットを復号することを終了することを復号システムに伝える。代わって、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号は、入力フレームバッフアのＦＩＦＯにより復号システムへ駆動されることができる。閾値は、ＦＩＦＯが閾値以下のレベルにパケットで満たされる場合、復号システムが最大反復数，ＭＡＸ ＩＴＥＲ ＮＵＭを稼動(run)できるように、ＦＩＦＯに設定される。ＦＩＦＯがいっぱい(full)に近い場合(すなわち、閾値に到達或いは越える場合)、復号システムは最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭだけ稼動する。このように、ＦＩＦＯが、ＦＩＦＯの記憶容量の予め定めた割合内である場合、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号が駆動される。閾値レベルは、このように有利的にはＦＩＦＯに設定され、該事象(event)でＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号を駆動し、復号システムは、それが入力フレームバッフアで待機している全てのパケットを取り扱うことができないことを理解する。
【００４０】
ステップ２１４において、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号が１に等しい場合、システムはステップ２０８に進み、データパケットのための反復処理を停止する。一方、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号が１に等しくない場合(すなわち、それがゼロに等しい場合)、システムはステップ２０２に戻り、他の復号反復を実行する。
【００４１】
当業者には、図４の方法ステップが、例えば、ターボ(Turbo)復号器、或いはターボ型復号器を含むいずれの反復復号器(iterative decoder)により実行され得ることが理解される。ターボ復号原理はイコライザーと復号器の間、或いは復調器と復号器の間での反復のために使用されることができることがよく知られている。それ故に、当業者には、図４の方法ステップがターボ イコライゼーション(復号器を含む)で実行され得ることが、また理解される。
【００４２】
他の実施例に従って、図３の反復復号システム１００は、制御ユニット１１６の監視の下で、図５のフローチャートに示されたアルゴリズム・ステップを実行し、データパケットを反復的に復号する処理を停止する。ステップ３００において、実行される復号反復の数のカウンター(図示せず)は、システムに入る各新しいパケットに関してゼロに設定される。現在の反復数は、ＩＴＥＲ ＮＵＭと表示される。それから、システムはステップ３０２に進み、復号反復を開始する。それから、システムはステップ３０４に進み、現在の反復数、ＩＴＥＲ ＮＵＭを増加する。パケットの各外部(each outer)復号反復に関して、カウンターは増加される。カウンターが予め定められた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭに達するまで、パケットは外部復号器から他の反復復号のための内部復号器に自動的にバックされる(passed back)。有利的には、予め定められた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭは、出力に関して適した十分の復号品質を達成し得る最小反復数に設定される。さらに有利的には、予め定められた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭは、４と８の間である。一つの実施例において、あらかじめ定められた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭは４ビットフレーム・パラメータである。現在の反復数、ＩＴＥＲ ＮＵＭを増加した後、システムはステップ３０６に進む。
【００４３】
ステップ３０６で、システムは、現在の反復数、ＩＴＥＲ ＮＵＭが予め定められた最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭに等しいか否かを決定する。有利的には、予め定めた最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭは、１２と１６の間である。一つの実施例において、予め定めた最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭは、４ビットフレームパラメータである。現在の反復数、ＩＴＥＲ ＮＵＭが予め定めた最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭに等しい場合、システムはステップ３０８に進む。ステップ３０８で、システムはデータパケット上で復号反復を実行することを停止する。一方、現在の反復数、ＩＴＥＲ ＮＵＭが予め定めた最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭに等しくない場合、システムはステップ３１０に進む。
【００４４】
ステップ３１０において、システムはＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫと示された条件フラッグが１に等しいか否か（すなわち、フラッグが設定されているか否か）を決定する。有利には制御ユニットの復号モードレジスター(図示せず)中のフラッグである条件フラッグＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、有利には制御ニットにより書き込まれる。一つの実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の２つの反復が良いＣＲＣの結果であったことを示している。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の２つの反復に関するＣＲＣビットが同一であったことを示す。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の２つの反復に関するＣＲＣビットが同一であり、先行の二つの反復が良いＣＲＣの結果であったことを示す。他の実施例において、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、先行の反復に関するＣＲＣビットが良かったことと、全パケットが先行の反復での復号されたパケットに同一であることを示す。他の実施例において、ＣＯＮＶＥＲＧＥ ＤＥＴＥＣＴＥＤフラッグは、ＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグの代りに使用されることができる。１の値を有するＣＯＮＶＥＲＧＥ ＤＥＴＥＣＴＥＤフラッグは、全パケットが先行の反復での復号されたパケットに同一であることを示す。これは、例えば、復号器が誤った解に収束した時に有利であり、そして、復号する試みを継続する必要がない(すなわち、このモードでＣＲＣが無い)。他の実施例においては、１の値を有するＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグは、他の既知のエラー検出測定が先行の二つのデータパケットについて満たされているか否かを示している。
【００４５】
ステップ３１０において、ＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグが１に等しい場合、システムはステップ３０８に進み、データパケットに関する反復処理を終了する。一方、ＣＲＣ ＣＨＥＣＫ ＭＯＤＥ ＯＫフラッグが１に等しくない(すなわち、フラッグがゼロに等しいか、クリアされている) 場合、システムはステップ３１２に進む。
【００４６】
ステップ３１２において、システムは、現在の反復数、ＩＴＥＲ ＮＵＭが予め定めた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭに等しいか否かを決定する。現在の反復数、ＩＴＥＲ ＮＵＭが予め定めた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭに等しい場合、システムはステップ３１４に進む。一方、現在の反復数、ＩＴＥＲ ＮＵＭが予め定めた最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭに等しくない場合、システムはステップ３０２に戻り、他の復号反復を実行する。
【００４７】
ステップ３１４において、システムは、ＦＡＳＴ ＤＥＣＯＤＥで示されるハードウエア制御信号が１に等しいか否かを決定する。ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号が有利にはマルチ―ユーザー(multi-user)復号システムで使用され得る。そこでは信号は復調器(図示せず)により送られ、復号システムをスピードアップする。ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号は、有利には外部ＦＩＦＯにより形成され、最小反復数ＭＩＮ ＩＴＥＲ ＮＵＭが実行された後できるだけ早くパケットを復号することを終了するように復号システムに伝える。替わって、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号は、復号システムへ入力フレームバッフアのＦＩＦＯにより駆動されることができる。閾値は、ＦＩＦＯが閾値以下にあるレベルにパケットで満たされる場合、復号システムが最大反復数、ＭＡＸ ＩＴＥＲ ＮＵＭを続けることができるように、ＦＩＦＯに設定される。ＦＩＦＯがいっぱいに(full)に近い場合(即ち、閾値が到達或いは越える場合)、復号システムはただ最小反復数、ＭＩＮ ＩＴＥＲ ＮＵＭを続ける(run)。このように、ＦＩＦＯが、ＦＩＦＯの記憶容量の予め定めた割合内で満たされる場合、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号は駆動される。閾値レベルはこのように有利にはＦＩＦＯに設定され、該事象中のＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号を駆動し、復号システムは、それが入力フレームバッフアで待機する全てのパケットを取り扱えないことを理解する。
【００４８】
ステップ３１４において、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号が１に等しい場合、システムはステップ３０８に進み、データパケットに関する反復処理を停止する。一方、ＦＡＳＴ ＤＥＣＯＤＥハードウエア制御信号が１に等しくない(すなわち、ゼロに等しい) 場合、システムはステップ３０２に戻り、他の反復復号を実行する。
【００４９】
当業者には、図５の方法ステップが、例えば、ターボ復号器或いはターボ型復号器を含むいずれの反復器により実行され得ることが理解される。ターボ復号器の原理はイコライザーと復号器の間、或いは復調器と復号器との間での反復のために使用され得ることは良く知られている。このように、当業者には、図５の方法工程はターボ・イコライゼーション(復号器を含む)で実行され得ることが理解される。
【００５０】
このように、新規で、効果的な、反復復号器が開示された。当業者は、ここに開示された実施例と関連して開示され、種々説明された論理ブロックとアルゴリズムステップは、デジタル信号プロセッサー（ＤＳＰ）、応用用途集積回路（ＡＳＩＣ）、デイスクリート・ゲート或いはトランジスタ論理、ディスクリートハードウエア要素、例えばレジスターとＦＩＦＯ、１組のファームウエア構造を実行するプロセッサー、或いはいずれかの従前のプログラム可能なソフトウエアモジュールとプロセッサーとともに実行され得る。プロセッサーは、有利にはマイクロプロセッサーであり得るが、替わって、プロセッサーはいずれかの従前のプロセッサー、コントローラー、マイクロコントローラー、或いはステートマシーン(state machine)であり得ることを理解する。ソフトウエアモジュールは、ＲＡＭメモリ、フラッシュメモリー、レジスター、或いはいずれの他の形態の書き込み可能な既知の記憶媒体中に存在することができる。当業者は、さらに、上記開示を通して参照され得るデータ、指示、命令、情報、信号、ビット、記号、及びチップが有利には電圧、電流、電磁波、磁場或いは粒子、光場或いは粒子、或いはいずれかのそれらの結合により表されることを評価するであろう。
【００５１】
上記で開示された好ましい実施例は例として引用され、本発明の全スコープはクレームによりのみ規定される。
【図面の簡単な説明】
【図１】  本発明の一実施例による反復復号器を示すブロック図。
【図２】  本発明の一実施例において、パケットの復号を終了するかどうかを決定するために復号器が行う動作を示すフローチャート。
【図３】  本発明の別の実施例による反復復号器を示すブロック図。
【図４】  本発明の別の実施例において、パケットの復号を終了するかどうかを決定するために復号器が行う動作を示すフローチャート。
【図５】  本発明の別の実施例において、パケットの復号を終了するかどうかを決定するために復号器が行う動作を示すフローチャート。
【符号の説明】
５２…ＲＡＭ、５４…ＲＡＭ、６２…バッフア、６４…バッフア、８０…決定ユニット、８３…検査ユニット
【図１】
0004386588.tif 000002
【図２】
0004386588.tif 000003
【図３】
0004386588.tif 000004
【図４】
0004386588.tif 000005
【図５】
0004386588.tif 000006