(57)【特許請求の範囲】
【請求項１】
入力されるデータシンボル系列あるいはデータビット系列に対し、インターリーブ後の系列を所定のシンボル数あるいはビット数ごとに区切った部分系列をブロックとして、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てるための並べ替えデータが書き込まれた並べ替えテーブルにより与えられる並べ替えデータに従って、インターリーブ前のデータシンボル系列あるいはデータビット系列をセレクタを介して所定のブロックに割り当てる操作を行うことにより、入力される系列に対するインターリーブ操作の代わりとし、
上記セレクタを介してインターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てる際に、上記複数のメモリブロックにおいて、過去に当該ブロックに割り当てられたデータ及び現在割り当てられようとしているデータを引数とするブロック単位で実施される所定の演算を行うことを特徴とするインターリーブ処理方法。
【請求項２】
入力されるデータシンボル系列あるいはデータビット系列に対し、インターリーブ後の系列を所定のシンボル数あるいはビット数ごとに区切った部分系列をブロックとして、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てるための並べ替えデータが書き込まれた並べ替えテーブルと、
上記並べ替えテーブルにより与えられる並べ替えデータに従って、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てるセレクタと、
上記セレクタを介して上記データシンボル系列あるいはデータビット系列が割り当てられる複数のメモリブロックとからなり、
上記並べ替えテーブルにより与えられる並べ替えデータに従って、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てる操作を行うことにより、入力される系列に対するインターリーブ操作の代わりとし、
上記セレクタを介してインターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てる際に、上記複数のメモリブロックにおいて、過去に当該ブロックに割り当てられたデータ及び現在割り当てられようとしているデータを引数とするブロック単位で実施される所定の演算を行うことを特徴とするインターリーブインターリーブ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、並列連接畳み込み（Ｔｕｒｂｏ）符号あるいは、これに類する符号に用いられるインターリーブを用いパリティ分散伝送を行っている信号処理装置の符号化部及び復号化部に含まれるインターリーバに適用されるインターリーブ処理方法及びインターリーブ処理装置に関する。
【０００２】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、地上波又は衛星デジタル放送といった放送分野、記録媒体を介して情報の記録／再生を行う情報記録分野の研究が急速に進められているが、それに伴い、誤り訂正符号化及び復号の高効率化を目的として符号理論の研究も盛んに行われている。
【０００３】
誤り訂正符号の性能は、復号誤り率、符号化率、計算量などで評価され、その代表的論理的限界として、所謂シャノンの通信路符号化定理により与えられるシャノン限界が知られている。
【０００４】
このシャノン限界に近い性質を示す符号として、並列連接畳み込み（Ｔｕｒｂｏ）符号や低密度パリティ検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐｒｉｔｙ  Ｃｈｅｃｋ）符号が注目されている。
【０００５】
これらの符号はターボ符号やＬＤＰＣ符号は、複数の畳み込み符号化器とインターリーバとを組み合わせて構成される符号化装置により生成される。そして、復号側では、複数の軟出力（ｓｏｆｔ−ｏｕｔｐｕｔ）を出力する復号回路の間で入力データに関する情報を授受することにより最終的な復号結果を得ることができる。
【０００６】
ターボ符号の符号器と復号器の基本構成について、図３，図４を参照して説明する。
【０００７】
図３に示すようにターボ符号の符号器１００では、入力データ系列が第１のエンコーダ１０１に入力され、この第１のエンコーダ１０１にて第１のパリティビット列ＰＢ１が作られる。データ系列は、同時にインターリーバ１０２で並び替えられて、第２のエンコーダ１０３に入力され、この第２のエンコーダ１０３にて第２のパリティビット列ＰＢ２が作られる。第１及び第２のパリティビット列ＰＢ１，ＰＢ２は、第１の多重化器１０４にて間引きされながら多重化され、さらに第２の多重化器５にて入力データ系列と多重化され通信路に送出される。
【０００８】
また、ターボ符号の符号器２００は、図４に示すように、第１のデコーダ２０１、インターリーバ２０２、第２のデコーダ２０３及びデインターリーバ２０４から構成される。
【０００９】
第１のデコーダ２０１は、入力された受信データ系列に復号処理を施し、各種情報シンボルの復号結果とその信頼度情報を出力する。インターリーバ２０２は、入力された受信データ系列と上記第１のデコーダ２０１により得られた信頼度情報に並び替え処理を施す。第２のデコーダ２０３は、上記第１のデコーダ２０１から上記インターリーバ２０２を介して供給される信頼度情報と受信データ系列を用いて復号処理を行い信頼度情報を計算し、デインターリーバ２０４を介して第１のデコーダ２０１に送る。
【００１０】
２回目以降の繰り返しは、第１のデコーダ２０１は第２のデコーダ２０３からの信頼度情報と受信データ系列を用いて復号処理を実行する。これを数回から十数回繰り返した後、最終判定を行い最終的な復号結果として出力する。
【００１１】
復号器２００におけるインターリーバ２０２の並べ替えは符号器１００と同じである。復号器２００では、信頼度情報系列に加えて受信データ系列も並べ替える。これは、パリティビット列の順に信頼度情報系列と受信データ系列を並べ、第２のデコーダ２０３での処理の順に合わせるためである。デインターリーバ２０４は、インターリーバ２０２の並べ替えを元に戻す処理を行う。
【００１２】
ここで、従来の、例えばターボ符号あるいはＬＤＰＣ符号などで用いられるインターリーバは、入力データ系列を並べ替える操作のみを行っている。４０９６ビットのデータ系列に対して並べ替えを行うインターリーバ３１０と６４／６５シングルパリティ符号化回路３２０の構成例を図５に示す。
【００１３】
入力データ系列は、インターリーバ３１０において、４０９６ビットごとに区切られ、並べ替えテーブル３１１のデータにしたがって動作するセレクタ３１２により４０９６ビットごとに並べ替え処理が実施され、４０９６ビットのメモリ３１３に格納される。
【００１４】
６４／６５シングルパリティ符号化回路３２０は、排他的論理和回路３２１と、この排他的論理和回路３２１の出力をラッチするラッチ回路３２２からなり、インターリーバ３１０により並べ替えられた入力データ系列について、上記排他的論理和回路３２１にて入力データ系列と上記ラッチ回路３２２のラッチ出力との排他的論理和を取ることにより、６４／６５シングルパリティ符号を生成する。
【００１５】
【発明が解決しようとする課題】
ところで、ターボ符号あるいはＬＤＰＣ符号などで用いられる従来のインターリーバでは、並べ替えのための専用のハードウェアを用いる場合と、並べ替えの情報をストアしたテーブルを用いる場合があるが、それぞれ非常に複雑な回路と大きな回路規模を必要とし、実現するためのコストが多大となっている。
【００１６】
また、並べ替え以後、パンクチャ、あるいは演算によりデータ数が減少する場合に、保持する必要のないデータを保持していることになり、回路規模の増大を招いている。
【００１７】
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ターボ符号あるいはＬＤＰＣ符号などで用いられるインターリーバにおいて必要とされるメモリを削減し、少ないハードウエア量にて確実に並べ替え処理を行うことができるインターリーブ処理方法及びインターリーブ処理装置を提供することにある。
【００１８】
【課題を解決するための手段】
本発明に係るインターリーブ処理方法は、入力されるデータシンボル系列あるいはデータビット系列に対し、インターリーブ後の系列を所定のシンボル数あるいはビット数ごとに区切った部分系列をブロックとして、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てるための並べ替えデータが書き込まれた並べ替えテーブルにより与えられる並べ替えデータに従って、インターリーブ前のデータシンボル系列あるいはデータビット系列をセレクタを介して所定のブロックに割り当てる操作を行うことにより、入力される系列に対するインターリーブ操作の代わりとし、上記セレクタを介してインターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てる際に、上記複数のメモリブロックにおいて、過去に当該ブロックに割り当てられたデータ及び現在割り当てられようとしているデータを引数とするブロック単位で実施される所定の演算を行うことを特徴とする。
【００２１】
また、本発明に係るインターリーブ処理装置は、入力されるデータシンボル系列あるいはデータビット系列に対し、インターリーブ後の系列を所定のシンボル数あるいはビット数ごとに区切った部分系列をブロックとして、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てるための並べ替えデータが書き込まれた並べ替えテーブルと、上記並べ替えテーブルにより与えられる並べ替えデータに従って、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てるセレクタと、上記セレクタを介して上記データシンボル系列あるいはデータビット系列が割り当てられる複数のメモリブロックとからなり、上記並べ替えテーブルにより与えられる並べ替えデータに従って、インターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てる操作を行うことにより、入力される系列に対するインターリーブ操作の代わりとし、上記セレクタを介してインターリーブ前のデータシンボル系列あるいはデータビット系列を所定のブロックに割り当てる際に、上記複数のメモリブロックにおいて、過去に当該ブロックに割り当てられたデータ及び現在割り当てられようとしているデータを引数とするブロック単位で実施される所定の演算を行うことを特徴とする。
【００２４】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して詳細に説明する。
【００２５】
本発明は、ターボ符号あるいは、これに類する符号に用いられるインターリーブを用いパリティ分散伝送を行っている信号処理装置の符号化部及び復号化部に含まれるインターリーバに適用される。
【００２６】
本発明に係るインターリーバでは、ターボ符号あるいは、これに類する符号などで用いられるインターリーバの代わりに、次に述べるblock accumulating interleaverを用いてデータ系列の変換を行う。
【００２７】
すなわち、本発明では、入力されるデータシンボル系列、あるいはデータビット系列に対し、インターリーブ操作を実施する場合、インターリーブ後の系列を所定のシンボル数あるいはビット数ごとに区切った部分系列をブロックと呼び、インターリーブ後の系列はブロックの系列として取り扱う。そして、インターリーブ前のデータシンボル系列、あるいはデータビット系列を所定のブロックに割り当てる操作（この操作をBlock Accumulating Interleavingと呼ぶ）を用いることで、入力される系列に対するインターリーブ操作の代わりとする。
【００２８】
ここで、４０９６ビットのデータ系列に対して並べ替えを行うインターリーバを用いる場合を例とし、このとき、block accumulating interleaverを用いるインターリーバの構成の例を図１に示す。
【００２９】
この図１に示すインターリーバ１０は、それぞれ１ビットのメモリＭと排他的論理和回路ＥＸＯＲで構成される６４個のメモリブロックＭＢ１〜ＭＢ６４と、入力データ系列を所定のブロックに割り当てるセレクタＳＬと、入力データ系列を所定のブロックに割り当てるための並べ替えデータが書き込まれた並べ替えテーブルＴＢからなる。
【００３０】
ここでは、ブロック符号として６４／６５シングルパリティ符号を仮定する。６４／６５シングルパリティブロック符号では６４ビットのデータに対し、全６４ビットの排他的論理和をとった結果の１ビットを加えた６５ビットを符号語とする。ただし、ターボ符号、あるいはＬＤＰＣ符号ではパリティである１ビットのみを伝送し、残りの６４ビットのデータは所謂パンクチャすることにより伝送しない。４０９６ビットのデータ系列を所定の方法によりインターリーブした４０９６ビットの系列を仮定し、例えば６４ビットごとの部分系列をブロックと呼ぶ。つまり、インターリーブ後の系列は１ブロック（６４ビット）×６４個の４０９６ビットで成り立っている。
【００３１】
次に、本発明を具体的な系列例を用いて説明する。
【００３２】
入力される４０９６ビットのデータ系列を次のように定義する。
【００３３】
｛ａ０，ａ１，ａ２，ａ３，．．．，ａ４０９５｝
このデータ系列に対し、従来のインタリーブ手法を適用して並べ替えた結果を次のように定義する。
【００３４】
｛ｂ０，ｂ１，ｂ２，ｂ３，．．．，ｂ４０９５｝
つまり、系列｛ｂ０，ｂ１，ｂ２，ｂ３，．．．，ｂ４０９５｝は、データ系列｛ａ０，ａ１，ａ２，ａ３，．．．，ａ４０９５｝を所定の規則を用いて並べ替えたものである。所定の並べ替えを実現するためには次のような４０９６個のインデックスを持つ並べ替え回路が必要となる。
【００３５】
ａ０がｂ０からｂ４０９６のどのビットに並べ替えられるかを示すインデックス
ａ１がｂ０からｂ４０９６のどのビットに並べ替えられるかを示すインデックス
ａ２がｂ０からｂ４０９６のどのビットに並べ替えられるかを示すインデックス
：
ａ４０９５がｂ０からｂ４０９６のどのビットに並べ替えられるかを示すインデックス
系列｛ｂ０，ｂ１，ｂ２，ｂ３，．．．，ｂ４０９５｝に対して、６４／６５シングルパリティ符号を適用する場合、当該系列の先頭より、６４ビットごとにデータを区切り、次のような演算を実施する。
【００３６】
ｃ０＝（ｂ０＋ｂ１＋ｂ２＋ｂ３＋．．．＋ｂ６３）ｍｏｄ２
ｃ１＝（ｂ６４＋ｂ６５＋ｂ６６＋．．．＋ｂ１２７）ｍｏｄ２
：
ｃ６３＝（ｂ４０３２＋ｂ４０３３＋．．．＋ｂ４０９５）ｍｏｄ２
つまり、｛ｃ０，ｃ１，．．．，ｃ６３｝は、｛ｂ０，ｂ１，．．．，ｂ４０９５｝を先頭より６４ビットごとのブロックに区切り、それぞれのブロックに対して、２を法とする加算を実施、つまり全ビットの排他的論理和の演算を実施したものの系列となる。４０９６ビットの入力データ系列｛ａ０，ａ１，ａ２，ａ３，．．．，ａ４０９５｝に対して、６４ビットのパリティ系列｛ｃ０，ｃ１，．．．，ｃ６３｝を出力することになる。このとき、入力データ系列｛ａ０，ａ１，ａ２，ａ３，．．．，ａ４０９５｝を、一時的に系列｛ｂ０，ｂ１，ｂ２，ｂ３，．．．，ｂ４０９５｝に並べ替えることなしに、出力のパリティ系列｛ｃ０，ｃ１，．．．，ｃ６３｝を計算すれば、一時的な系列｛ｂ０，ｂ１，ｂ２，ｂ３，．．．，ｂ４０９５｝をストアするメモリ及び４０９６ビット並べ替えのためのセレクタの回路を削減することが可能となる。
【００３７】
そこで、本発明では次のようなグルーピングを行っている。このグルーピングが当発明におけるブロックである。一時的な系列
｛ｂ０，ｂ１，ｂ２，ｂ３，．．．，ｂ４０９５｝
を、６４／６５シングルパリティ符号を適用する６４ビットごとにグルーピングすると次のようになる。
【００３８】
｛｛ｂ０，ｂ１，ｂ２，．．．，ｂ６３｝，
｛ｂ６４，ｂ６５，．．．，ｂ１２７｝，
．．．，
｛ｂ４０３２，ｂ４０３３，．．．，ｂ４０９５｝｝
これらのグループに対して次のように名前を付ける。
【００３９】
｛group0，group1，．．．，group63｝
つまり、次のようにグルーピングしたことになる。
【００４０】
Group0＝｛ｂ０，ｂ１，．．．，ｂ６３｝
Group1＝｛ｂ６４，ｂ６５，．．．，ｂ１２７｝
：
Group63＝｛ｂ４０３２，ｂ４０３３，．．．，ｂ４０９５｝
このとき、一時的な並べ替えを次のように行う。
【００４１】
ａ０がGroup0からGroup63のどのブロックに並べ替えられるかを示すインデックス
ａ１がGroup0からGroup63のどのブロックに並べ替えられるかを示すインデックス
ａ２がGroup0からGroup63のどのブロックに並べ替えられるかを示すインデックス
：
ａ４０９５がGroup0からGroup63のどのブロックに並べ替えられるかを示すインデックス
さらに、各ブロックにおいて、上記６４／６５シングルパリティ符号を適用する。
【００４２】
続いて、図１に示したインターリーバ１０の動作の説明を行う。
【００４３】
１つのブロックに対して６４／６５シングルパリティ符号を適用する場合、実際に伝送されるのは１ビットのパリティデータのみである。そこで、１つのブロックに対して１ビットのメモリを割り当てればよい。入力される４０９６ビットのデータを６４個のブロックのうち、どのブロックに割り当てればよいかを示すテーブルを用いて、連続的に入力されるデータを割り当てられたブロックに入力する。各メモリブロックＭＢ１〜ＭＢ６４は、それぞで１ビットのメモリＭと排他的論理和演算回路ＥＸＯＲで成り立っている。このとき、各メモリブロックでは、直前にストアされていたデータと、新たに入力されるデータとの排他的論理和をとり、再び１ビットのメモリＭにストアする。このような構成とすることで、従来、４０９６ビット分のメモリと、並べ替えテーブル（１２ビット×４０９６個）を持つ必要があったが、本発明では６４ビット分のメモリと、並べ替えテーブル（６ビット×４０９６個）のみで実現可能である。
【００４４】
従来は、入力データ系列を並べ替えた系列を保持するためにメモリを必要としたが、本発明では伝送に必要とする符号系列を保持するためのメモリのみを必要とするために無駄な回路コストを削減することが可能となった。
【００４５】
発明の変形例
上述の実施の形態では符号化回路についてのみ例をあげたが、復号時のインターリーバに対しても同様の手法を利用することができる。
【００４６】
例えば、６４／６５シングルパリティ符号を用いた場合、４０９６個の信頼度情報の入力データ列を仮定し、６５個のデータを１つのブロックにグルーピングしたとき、ブロック毎の演算を入力される信頼度情報を用いたブロックの信頼度を計算する演算とすることで、block accumulating interleaverを構成することが可能である。
【００４７】
図２に復号器におけるインターリーバ２０の構成を示す。
【００４８】
この図２に示すインターリーバ２０は、それぞれ１つの信頼度情報をストアするメモリと信頼性情報より信頼度を演算する回路で構成される６４個のメモリブロックＭＢ１〜ＭＢ６４と、受信データ系列を所定のブロックに割り当てるセレクタＳＬと、受信データ系列を所定のブロックに割り当てるための並べ替えデータは書き込まれた並べ替えテーブルＴＢからなる。
【００４９】
また、上述の実施の形態では６４／６５シングルパリティ符号を用いたが、任意のブロック符号においても本発明を応用することが可能である。
【００５０】
【発明の効果】
以上述べたように、本発明によれば、従来のインターリーバと比較して、少ないハードウェア量で同様の機能を有する回路を実現できる。
【図面の簡単な説明】
【図１】本発明に係る符号器におけるインターリーバの構成例を示すブロック図である。
【図２】復号器におけるインターリーバの構成を示すブロック図である。
【図３】ターボ符号の符号器の基本構成を示すブロック図である。
【図４】ターボ符号の復号器の基本構成を示すブロック図である。
【図５】４０９６ビットのデータ系列に対して並べ替えを行うインターリーバと６４／６５シングルパリティ符号化回路の構成例を示すブロック図である。
【符号の説明】
１０，２０  インターリーバ、Ｍ  メモリＭ、ＥＸＯＲ  排他的論理和回路、ＭＢ１〜ＭＢ６４  メモリブロック、ＳＬ  セレクタ、ＴＢ  並べ替えテーブル
【図１】
0003896841.tif 000002
【図２】
0003896841.tif 000003
【図３】
0003896841.tif 000004
【図４】
0003896841.tif 000005
【図５】
0003896841.tif 000006