(57)【特許請求の範囲】
【請求項１】
２個以上の畳み込み符号化回路と、１個以上のインターリーブ回路とを有して構成されるターボ符号化装置であって、
上記インターリーブ回路は、入力されるデータにおける各データの置換位置をπiとしたとき、当該置換位置πiを演算する演算部を備え、
上記演算部は、
上記入力されるデータにおける各データの位置ｉに応じた上記置換位置πiを、上記インターリーブ回路のサイズをＮ、予め定められた整数をａ，ｂとして、πi＝（ａ・πi-1＋ｂ）modＮ（ただし、ｃを任意の整数として、π0＝ｃmodＮである）の式で求めることを特徴とするターボ符号化装置。
【請求項２】
上記１個以上のインターリーブ回路は、
上記入力データに対して順次インターリーブを行う第１〜第（ｍ−１）（ｍは２以上の整数）のインターリーブ回路を有し、
上記２個以上の畳み込み符号化回路は、
上記入力データに対して畳み込み符号化を行う第１の畳み込み符号化回路と、
上記第１〜第（ｍ−１）のインターリーブ回路の出力データに対してそれぞれ畳み込み符号化を行う第２〜第ｍの畳み込み符号化回路とを有することを特徴とする請求の範囲第１項に記載のターボ符号化装置。
【請求項３】
上記第１〜第ｍの畳み込み符号化回路の出力データの少なくともいずれかに対してインターリーブおよび畳み込み符号化を１回または複数回行う、１組以上のインターリーブ回路および畳み込み符号化回路の直列回路をさらに備えることを特徴とする請求の範囲第２項に記載のターボ符号化装置。
【請求項４】
上記２個以上の畳み込み符号化回路及び上記１個以上のインターリーブ回路は、入力データに対して畳み込み符号化を行う第１の畳み込み符号化回路と、
上記第１の畳み込み符号化回路の出力データに対してインターリーブおよび畳み込み符号化の処理を交互に行う第１〜第（ｍ−１）（ｍは２以上の整数）のインターリーブ回路および第２〜第ｍの畳み込み符号化回路の直列回路とを有することを特徴とする請求の範囲第１項に記載のターボ符号化装置。
【請求項５】
上記式の整数ｂが０である場合、上記式のａは、指数をpとしたとき、ａp≠１（２≦ｐ≦Ｎ−２）となるような整数であることを特徴とする請求の範囲第１項に記載のターボ符号化装置。
【請求項６】
上記整数ｂが０でない場合、上記インターリーブ回路のサイズＮより１だけ小さい数をＮ’とし、上記ａと上記ｂのそれぞれは、ｂとＮ’とは互いに素、ａ−１はＮ’を割り切る全ての素数の倍数、およびＮ’が４の倍数であればａ−１も４の倍数である、という条件を、πi＝（ａ・πi-1＋ｂ）modＮ’の式が満たすことを特徴とする請求の範囲第１項に記載のターボ符号化装置。
【請求項７】
上記演算部は、上記入力されるデータにおける各データの位置ｉに応じた置換位置πiをＭ系列発生回路で求めることを特徴とする請求の範囲第１項に記載のターボ符号化装置。
【請求項８】
畳み込み符号化を行う符号化工程と、インターリーブを行うインターリーブ工程とを有するターボ符号化方法であって、
上記インターリーブ工程では、
インターリーブすべきデータの各データの位置ｉに応じた置換位置をπiとしたとき、当該置換位置πiを、上記インターリーブのサイズをＮ、予め定められた整数をａ，ｂとして、πi＝（ａ・πi-1＋ｂ）modＮ（ただし、ｃを任意の整数として、π0＝ｃmodＮである）の式で求めることを特徴とするターボ符号化方法。
【請求項９】
上記インターリーブ工程は、
上記入力データに対して順次インターリーブを行うインターリーブ工程を有し、
上記符号化工程は、
入力データに対して畳み込み符号化を行う第１の符号化工程と、
上記インターリーブ工程で順次インターリーブされたデータに対してそれぞれ畳み込み符号化を行う第２の符号化工程とを有することを特徴とする請求の範囲第８項に記載のターボ符号化方法。
【請求項１０】
上記第１および第２の符号化工程で得られる複数の符号化データの少なくともいずれかに対してインターリーブおよび畳み込み符号化を１回または複数回行うインターリーブ／符号化工程をさらに有し、
上記インターリーブ／符号化工程におけるインターリーブでは、インターリーブすべきデータにおける各データの置換位置を演算によって求めることを特徴とする請求の範囲第９項に記載のターボ符号化方法。
【請求項１１】
上記インターリーブ工程及び上記符号化工程は、
入力データに対して畳み込み符号化を行う第１の符号化工程と、
上記第１の符号化工程で得られる符号化データに対してインターリーブおよび畳み込み符号化を１回または複数回行うインターリーブ／符号化工程とを有することを特徴とする請求の範囲第８項に記載のターボ符号化方法。
【請求項１２】
上記ｂが０である場合、上記式のａは、指数をpとしたとき、ａp≠１（２≦ｐ≦Ｎ−２）となるような整数であることを特徴とする請求の範囲第８項に記載のターボ符号化方法。
【請求項１３】
上記整数ｂが０でない場合、上記インターリーブ回路のサイズＮより１だけ小さい数をＮ’とし、上記ａと上記ｂのそれぞれは、ｂとＮ’とは互いに素、ａ−１はＮ’を割り切る全ての素数の倍数、およびＮ’が４の倍数であればａ−１も４の倍数である、という条件を、πi＝（ａ・πi-1＋ｂ）modＮ’の式が満たすことを特徴とする請求の範囲第８項に記載のターボ符号化方法。
【請求項１４】
上記インターリーブ工程では、上記インターリーブすべきデータの各データの位置ｉに応じた置換位置πiを、Ｍ系列発生で求めることを特徴とする請求の範囲第８項に記載のターボ符号化方法。
【発明の詳細な説明】
技術分野
この発明は、例えば衛星通信等で使用されるターボ符号の符号化を行う際に適用して好適なターボ符号化装置およびターボ符号化方法に関する。
背景技術
符号性能の理論的限界であるシャノンリミットに近い性能を示す符号として、ターボ符号が知られている。このターボ符号に関しては、複数の畳み込み符号化回路とインターリーブ回路（以下、「インターリーバ」という）を組み合わせた構成によって符号化を行うと共に、復号側では複数のソフトアウトプットを出力する復号回路の間で入力データに関する情報をやり取りして最終的な復号結果を得るものである。
第１５図は、従来のターボ符号化装置３００の構成を示している。このターボ符号化装置３００は、入力データＤ３０１に対して畳み込み符号化を行って符号化データＤ３０２-1を得る畳み込み符号化回路３０１-1と、この入力データＤ３０１に対して順次インターリーブを行うインターリーバ３０２-1〜３０２-(m-1)と、これらインターリーバ３０２-1〜３０２-(m-1)の出力データに対してそれぞれ畳み込み符号化を行って符号化データＤ３０２-2〜Ｄ３０２-mを得る畳み込み符号化回路３０１-2〜３０１-mとを有している。ここで、ｍは２以上の整数である。
畳み込み符号化回路３０１-1〜３０１-mは、入力されたデータに対して畳み込み演算を行い、演算結果をそれぞれ符号化データとして出力するものである。また、インターリーバ３０２-1〜３０２-(m-1)は、入力されたデータにおける各データの順序を交錯して出力するものである。
第１６図は、畳み込み符号化回路３０１-1〜３０１-mの一例を示している。第１６図に示す畳み込み符号化回路３１０は、拘束長３のフィードバック型畳み込み符号化回路である。この畳み込み符号化回路３１０は、２個のシフトレジスタ３１１-1，３１１-2と、３個のエクスクルーシブオア回路（以下、「ＥＸＯＲ回路」という）３１２-1〜３１２-3と、ターミネーション回路３１３とを有してなり、入力データＤ３１１から符号化データＤ３１２を生成するものである。
ここで、シフトレジスタ３１１-1，３１１-2は入力されたデータを１単位時間遅延させる遅延素子として機能し、またＥＸＯＲ回路３１２-1〜３１２-3は入力されたデータの排他的論理和を出力する。また、ターミネーション回路３１３は、入力データＤ３１１の全てを符号化し終わるまでは、入力データＤ３１１を出力し、符号化し終わった時点から２単位時間（シフトレジスタ数に対応した時間）だけフィードバックデータＤ３１３を出力する。入力データＤ３１１が全て符号化された後の処理は、ターミネーションと呼ばれるシフトレジスタ３１１-1，３１１-2の内容を全て０に戻すためのもので、復号側ではこの処理を前提に復号を行う。
第１７図は、インターリーバ３０２-1〜３０２-(m-1)の一例を示している。第１７図に示すインターリーバ３２０は、入力データ保持メモリ３２１と、データ置換回路３２２と、出力データ保持メモリ３２３と、置換データＲＯＭ（Read Only Memory）３２４とを有してなり、入力データＤ３２１における各データの順序を交錯して出力データＤ３２２を得るものである。
ここで、入力データＤ３２１は入力データ保持メモリ３２１に一旦格納された後、データ置換回路３２２によって順序が並べ換えられる。このデータの順序の並べ換えは、置換データＲＯＭ３２４の内容、つまり置換位置情報に基づいて行われる。そして、順序が並べ換えられたデータは出力データ保持メモリ３２３に格納され、その後出力データＤ３２２として出力される。
第１８図は、インターリーバ３２０のサイズが５で、置換データＲＯＭ３２４の内容が第１９図に示すものであるときのインターリーバ３２０の動作例を示している。すなわち、入力データＤ３２１が“１１０１０”であるとき、出力データＤ３２２として“００１１１”が得られる。
第１５図に示すターボ符号化装置３００の動作を説明する。入力データＤ３０１は畳み込み符号化回路３０１-1に供給される。そして、この畳み込み符号化回路３０１-1では入力データＤ３０１に対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ３０２-1が出力される。
また、入力データＤ３０１は、インターリーバ３０２-1〜３０２-(m-1)の直列回路に供給され、順次入力されたデータにおける各データの順序が交錯されて出力される。これらインターリーバ３０２-1〜３０２-(m-1)の出力データはそれぞれ畳み込み符号化回路３０１-2〜３０１-mに供給される。そして、これら畳み込み符号化回路３０１-2〜３０１-mでは、それぞれインターリーバ３０２-1〜３０２-(m-1)の出力データに対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ３０２-2〜Ｄ３０２-mが出力される。
第２０図は、ターボ符号化装置３００の入力データＤ３０１と符号化データＤ３０２-1〜Ｄ３０２-mとのビット数の関係を表したものである。入力されたｋビットのデータＤ３０１は、各畳み込み符号化回路３０１-1〜３０１-mによってターミネーションを含む符号化処理が行われ、（ｎ1＋ｔ1）〜（ｎm＋ｔm）ビットの符号化データＤ３０２-1〜Ｄ３０２-mとして出力される。
また、第２１図は、従来のターボ復号装置４００の構成を示している。このターボ復号装置４００は、ターボ符号化装置３００より出力される符号化データ（受信データ）の個数に対応した複数のソフトアウトプット復号回路４０１-1〜４０１-mを有してなるものである。ソフトアウトプット復号回路４０１-1〜４０１-mは、ＭＡＰ（Ｍaximum Ａposteriori Ｐrobability）デコーダおよびＳＯＶＡ（Ｓoft Ｏutput Ｖiterbi Ａlgorithm）デコーダ等の、符号化側での入力データが０または１である確率を算出する機能を持つ、いわゆるソフトアウトプット復号方式を用いて構成される。
第２１図に示すターボ復号装置４００の動作を説明する。受信データ（符号化データ）Ｄ４０１-1〜Ｄ４０１-mは、それぞれソフトアウトプット復号回路４０１-1〜４０１-mに供給される。そして、各復号回路４０１-1〜４０１-mでは、それぞれ符号化側でのターミネーションビットを除いた入力データに対する推定確率値データを互いに利用し、数回または数１０回の反復復号動作が行われる。そして、任意の復号回路（第２１図では復号回路４０１-1）より、最終的な復号データＤ４０２が出力される。
第２２図は、ターボ復号装置４００の受信データＤ４０１-1〜Ｄ４０１-m、推定確率値データおよび復号データＤ４０２のビット数の関係を表したものであり、第１５図のターボ符号化装置３００における各ビット数の関係と対応している。ソフトアウトプット復号回路４０１-1〜４０１-mは、それぞれ（ｎ1＋ｔ1）〜（ｎm＋ｔm）ビットの受信データＤ４０１-1〜Ｄ４０１-mより、ターミネーションビットを除いた入力データのｋビットの推定確率値データを算出する。そして、そのｋビットの推定確率値データを各復号回路間でやり取りし、最終的にｋビットの復号データＤ４０２を出力する。
ところで、上述したようなターボ符号化装置３００においては、インターリーバ３０２-1〜３０２-(m-1)のそれぞれに置換位置情報が記憶された置換データＲＯＭ３２４が必要となり、回路規模増大の原因となっている。
この発明の目的は、回路規模を小さくしたターボ符号化装置等を提供することにある。
発明の開示
この発明に係るターボ符号化装置は、２個以上の畳み込み符号化回路と、１個以上のインターリーブ回路とを有して構成されるターボ符号化装置であって、インターリーブ回路は、入力されるデータにおける各データの置換位置をπiとしたとき、当該置換位置πiを演算する演算部を備え、この演算部は、入力されるデータにおける各データの位置ｉに応じた置換位置πiを、インターリーブ回路のサイズをＮ、予め定められた整数をａ，ｂとして、πi＝（ａ・πi-1＋ｂ）modＮ（ただし、ｃを任意の整数として、π0＝ｃmodＮである）の式で求めることを特徴とするものである。例えば、入力データに対して畳み込み符号化を行う第１の畳み込み符号化回路と、入力データに対して順次インターリーブを行う第１〜第（ｍ−１）（ｍは２以上の整数）のインターリーブ回路と、この第１〜第（ｍ−１）のインターリーブ回路の出力データに対してそれぞれ畳み込み符号化を行う第２〜第ｍの畳み込み符号化回路とを有している。また例えば、入力データに対して畳み込み符号化を行う第１の畳み込み符号化回路と、この第１の畳み込み符号化回路の出力データに対してインターリーブおよび畳み込み符号化の処理を交互に行う第１〜第（ｍ−１）（ｍは２以上の整数）のインターリーブ回路および第２〜第ｍの畳み込み符号化回路の直列回路とを有している。
また、この発明に係るターボ符号化方法は、畳み込み符号化を行う符号化工程と、インターリーブを行うインターリーブ工程とを有するターボ符号化方法であって、インターリーブ工程では、インターリーブすべきデータの各データの位置ｉに応じた置換位置πiとしたとき、当該置換位置πiを、インターリーブのサイズをＮ、予め定められた整数をａ，ｂとして、πi＝（ａ・πi-1＋ｂ）modＮ（ただし、ｃを任意の整数として、π0＝ｃmodＮである）の式で求めることを特徴とするものである。例えば、入力データに対して畳み込み符号化を行う第１の符号化工程と、入力データに対して順次インターリーブを行うインターリーブ工程と、このインターリーブ工程で順次インターリーブされたデータに対してそれぞれ畳み込み符号化を行う第２の符号化工程とを有している。また例えば、入力データに対して畳み込み符号化を行う第１の符号化工程と、この第１の符号化工程で得られる符号化データに対してインターリーブおよび畳み込み符号化を１回または複数回行うインターリーブ／符号化工程とを有している。
この発明において、例えば、入力データに対して第１の畳み込み符号化回路で畳み込み演算が行われ、さらにターミネーションが行われて符号化データが出力される。また、入力データは第１〜第（ｍ−１）のインターリーブ回路の直列回路に供給され、各インターリーブ回路では入力されたデータにおける各データの順序が交錯されて出力される。そして、各インターリーブ回路の出力データに対して第２〜第ｍの畳み込み符号化回路でそれぞれ畳み込み演算が行われ、さらにターミネーションが行われて符号化データが出力される。
この場合、各インターリーブ回路では、置換データＲＯＭより置換位置情報を得るものではなく、演算によって置換位置が求められる。例えば、入力データにおける各データの位置ｉに応じた置換位置πiを、インターリーブ回路のサイズをＮ、予め定められた整数をａ，ｂとして、πi＝（ａ・πi-1＋ｂ）modＮ（ただし、ｃを任意を整数として、π0＝ｃmodＮである）の式で求める。さらに例えば、入力されるデータにおける各データの位置ｉに応じた置換位置πiをＭ系列発生回路で求めるものである。
このように各インターリーブ回路で置換位置を演算で求めることにより、各インターリーブ回路には置換位置情報が記憶された置換データＲＯＭ等が不要となり、回路規模を小さくすることが可能となる。
【図面の簡単な説明】
第１図は、実施の形態１としてのターボ符号化装置の構成を示すブロック図である。第２図は、実施の形態１におけるインターリーバの構成を示すブロック図である。第３図は、実施の形態１におけるインターリーバの動作例を示す図である。第４図は、Ｍ系列発生回路の構成例を示すブロック図である。第５図は、実施の形態２としての直列型のターボ符号化装置の構成を示すブロック図である。第６図は、直列型のターボ符号化装置に対応するターボ復号装置の構成を示すブロック図である。第７図は、実施の形態３としてのハイブリッド型のターボ符号化装置の構成を示すブロック図である。第８図は、ハイブリッド型のターボ符号化装置に対応するターボ復号装置の構成を示すブロック図である。第９図は、実施の形態４としてのターボ符号化装置の構成を示すブロック図である。第１０図は、実施の形態４におけるインターリーバの構成を示すブロック図である。第１１図は、実施の形態４におけるインターリーバの動作例を示す図である。第１２図は、実施の形態４における入力データと符号化データのビット数の関係を示す図である。第１３図は、実施の形態５としてのターボ復号装置の構成を示すブロック図である。第１４図は、実施の形態５における受信データ（符号化データ）、推定確率値データおよび復号データのビット数の関係を示す図である。第１５図は、従来のターボ符号化装置の構成を示すブロック図である。第１６図は、従来のターボ符号化装置における畳み込み符号化回路の構成を示すブロック図である。第１７図は、従来のターボ符号化装置におけるインターリーバの構成を示すブロック図である。第１８図は、従来のターボ符号化装置におけるインターリーバの動作例を示す図である。第１９図は、従来のターボ符号化装置におけるインターリーバを構成する置換データＲＯＭの内容例を示す図である。第２０図は、従来のターボ符号化装置の入力データと符号化データのビット数の関係を示す図である。第２１図は、従来のターボ復号装置の構成を示すブロック図である。第２２図は、従来のターボ復号装置における受信データ、推定確率値データおよび復号データのビット数の関係を示す図である。
発明を実施するための最良の形態
第１図は、実施の形態１としての並列型のターボ符号化装置１００の構成を示している。このターボ符号化装置１００は、入力データＤ１０１に対して畳み込み符号化を行って符号化データＤ１０２-1を得る畳み込み符号化回路１０１-1と、この入力データＤ１０１に対して順次インターリーブを行う（ｍ−１）個のインターリーバ１０２-1〜１０２-(m-1)と、これらインターリーバ１０２-1〜１０２-(m-1)の出力データに対してそれぞれ畳み込み符号化を行って符号化データＤ１０２-2〜Ｄ１０２-mを得る（ｍ−１）個の畳み込み符号化回路１０１-2〜１０１-mとを有している。ここで、ｍは２以上の整数である。
畳み込み符号化回路１０１-1〜１０１-mは、入力されたデータに対して畳み込み演算を行い、演算結果をそれぞれ符号化データとして出力するものである。また、インターリーバ１０２-1〜１０２-(m-1)は、入力されたデータにおける各データの順序を交錯して出力するものである。畳み込み符号化回路１０１-1〜１０１-mは、第１５図に示す従来のターボ符号化装置３００における畳み込み符号化回路３０１-1〜３０１-mと同様に構成される（第１６図参照）。
第２図は、インターリーバ１０２-1〜１０２-(m-1)の構成を示している。第２図に示すインターリーバ１２０は、入力データ保持メモリ１２１と、データ算術置換回路１２２と、出力データ保持メモリ１２３とを有してなり、入力データＤ１２１における各データの順序を交錯して出力データＤ１２２を得るものである。ここで、入力データＤ１２１は入力データ保持メモリ１２１に一旦格納された後、データ算術置換回路１２２によって順序が並べ換えられる。そして、順序が並べ換えられたデータは出力データ保持メモリ１２３に格納され、その後出力データＤ１２２として出力される。
上述したデータ算術置換回路１２２では、入力される各データの位置ｉに応じて、その位置ｉのデータを、（１）式で算出される位置πiに置換する。ここで、Ｎはインターリーバ１２０のサイズ、つまり入力データ保持メモリ１２１および出力データ保持メモリ１２３の大きさである。また、ａ，ｂは予め定められる値であり、ａはＮと互いに素な整数、ｂは任意の整数である。
πi＝（ａ・ｉ＋ｂ）modＮ                          ・・・（１）
第３図は、Ｎ＝５であり、（１）式でａ＝３、ｂ＝４として置換位置πiを求めたときのインターリーバ１２０の動作例を示している。すなわち、入力データＤ１２１が“１１０１０”であるとき、出力データＤ１２２として“００１１１”が得られる。つまり、第１８図に示すインターリーバ３２０の動作と同じ動作をする。
なお、データ算術置換回路１２２では、（１）式の代わりに、（２）式によって、置換位置πiを求めるようにしてもよい。
πi＝（ａ・πi-1＋ｂ）modＮ，（πo＝ｃmodＮ）      ・・・（２）
ここで、Ｎはインターリーバ１２０の大きさであり、定数ａ，ｂ，ｃは、予め定められる値である。ｂ＝０の場合、ａはａp≠１（２≦ｐ≦Ｎ−２）となるような整数、ｃは任意の整数である。ｂ≠０の場合、式中のＮを保持メモリのサイズより１だけ小さい数とし、ａ，ｂが下記の条件を満たすようにそれぞれ選択される。ｃは任意の整数である。
ｉ）ｂとＮが互いに素である。
ii）ａ−１がＮを割り切る全ての素数の倍数である。
iii）Ｎが４の倍数であれば、ａ−１も４の倍数である。
また、データ算術置換回路１２２では、インターリーバ１２０のサイズＮを任意の整数ｎに対して２n−１となるように選択した場合、第４図に示すＭ系列発生回路１３０によって入力データの置換位置を計算することも可能である。
Ｍ系列発生回路１３０は、複数のシフトレジスタ１３１-1〜１３１-nと、複数のＥＸＯＲ回路１３２-1〜１３２-(n-1)と、複数のアンド回路１３３-1〜１３３-nとを有しており、置換位置信号を順次生成する。予め設定される係数ａ1〜ａnは、多項式ａnｘn＋ａn-1ｘn-1＋・・・＋ａ2ｘ2＋ａ1ｘ１＋１が、ＧＦ（２）におけるｎ次の原始既約多項式になるように選択される。
シフトレジスタ１３１-1〜１３１-nは、入力データを１単位時間遅延させて出力し、ＥＸＯＲ回路１３２-1〜１３２-(n-1)は入力データの排他的論理和を、アンド回路１３３-1〜１３３-nは入力データの論理積を出力する。シフトレジスタ１３１-1〜１３１-nには、最初に全てが０ではないように値が設定され、その後に１単位時間毎に置換位置信号を出力する。データ算術置換回路１２２では、時間ｉにおける置換位置信号を、位置ｉの入力データの置換位置を２進数で表したものとして、入力データを順次指定された位置に置換する。
第１図に示すターボ符号化装置１００の動作を説明する。入力データＤ１０１は畳み込み符号化回路１０１-1に供給される。そして、この畳み込み符号化回路１０１-1では入力データＤ１０１に対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ１０２-1が出力される。
また、入力データＤ１０１は、インターリーバ１０２-1〜１０２-(m-1)の直列回路に供給され、順次入力されたデータにおける各データの順序が交錯されて出力される。これら、インターリーバ１０２-1〜１０２-(m-1)の出力データはそれぞれ畳み込み符号化回路１０１-2〜１０１-mに供給される。そして、これら畳み込み符号化回路１０１-2〜１０１-mでは、それぞれインターリーバ１０２-1〜１０２-(m-1)の出力データに対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ１０２-2〜１０２-mが出力される。
第１図に示すターボ符号化装置１００によれば、各インターリーバ１０２-1〜１０２-(m-1)では簡単な算術演算で置換位置を求めて入力されたデータの並べ換えを行っている。したがって、各インターリーバ１０２-1〜１０２-(m-1)には置換位置情報が記憶された置換データＲＯＭ等が不要となり、回路規模を小さくできる。
第５図は、実施の形態２としての直列型のターボ符号化装置５００の構成を示している。
このターボ符号化装置５００は、入力データＤ５０１に対して畳み込み符号化を行って符号化データＤ５０２-1を得る畳み符号化回路５０１-1と、この符号化データＤ５０２-1に対してインターリーブおよび畳み込み符号化を交互に行って符号化データＤ５０２-mを得る（ｍ−１）個のインターリーバ５０２-1〜５０２-(m-1)および（ｍ−１）個の畳み込み符号化回路５０２-2〜５０２-mとを有している。ここで、ｍは２以上の整数である。
畳み込み符号化回路５０１-1〜５０１-mは、入力されたデータに対して畳み込み演算を行い、演算結果をそれぞれ符号化データとして出力するものである。また、インターリーバ５０２-1〜５０２-(m-1)は、入力されたデータにおける各データの順序を交錯して出力するものである。
畳み込み符号化回路５０１-1〜５０１-mは、第１５図に示す従来のターボ符号化装置３００における畳み込み符号化回路３０１-1〜３０１-mと同様に構成される（第１６図参照）。また、インターリーバ５０２-1〜５０２-(m-1)は、第１図に示すターボ符号化装置１００におけるインターリーバ１０２-1〜１０２-(m-1)と同様に、入力データ保持メモリ、データ算術回路および出力データ保持メモリを有して構成される（第２図参照）。ただし、ターボ符号化装置１００におけるインターリーバ１０２-1〜１０２-(m-1)のそれぞれに供給される入力データのビット数は同じであるが、インターリーバ５０２-1〜５０２-(m-1)のそれぞれに供給される入力データのビット数は順次大きくなっていく。
第５図に示すターボ符号化装置５００の動作を説明する。入力データＤ５０１は畳み込み符号化回路５０１-1に供給される。そして、この畳み込み符号化回路５０１-1では入力データＤ５０１に対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ５０２-1が出力される。
この符号化データ５０２-1はインターリーバ５０２-1でデータの順序が交錯された後に畳み込み符号化回路５０１-2に供給される。そして、この畳み込み符号化回路５０１-2では入力データに対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ５０２-2が出力される。以下同様にして、インターリーバ５０２-2〜５０２-(m-1)および畳み込み符号化回路５０１-3〜５０１-mでインターリーブおよび畳み込み符号化が交互に行われ、畳み込み符号化回路５０１-mより最終的な符号化データＤ５０２-mが出力される。
第５図に示すターボ符号化装置５００によれば、第１図に示すターボ符号化装置１００と同様に、各インターリーバ５０２-1〜５０２-(m-1)では簡単な算術演算で置換位置を求めて入力されたデータの並べ換えが行われる。したがって、各インターリーバ５０２-1〜５０２-(m-1)には置換位置情報が記憶された置換データＲＯＭ等が不要となり、回路規模を小さくできる。
第６図は、第５図に示す直列型のターボ符号化装置５００に対応したターボ復号装置６００の構成を示している。このターボ復号装置６００は、ターボ符号化装置５００を構成する畳み込み符号化回路５０１-m〜５０１-1に対応したｍ個のソフトアウトプット復号回路６０１-m〜６０１-1が直列接続されて構成されている。ソフトアウトプット復号回路６０１-m〜６０１-1は、符号化側での入力データが０または１である確率を算出する機能を持つ、いわゆるソフトアウトプット復号方式を用いて構成されている。
このターボ復号装置６００においては、受信データＤ６０２-mに対してソフトアウトプット復号回路６０１-m〜６０１-1で順次復号動作が行われ、最終段のソフトアウトプット復号回路６０１-1より最終的な復号データＤ６０１が出力される。この場合、各ソフトアウトプット復号回路６０１-m〜６０１-1では、隣接するソフトアウトプット復号回路で算出される符号化側での入力データおよび出力データに対する推定確率値データを利用し、数回または数１０回の反復復号動作が行われる。なお、図示せずも、ソフトアウトプット復号回路６０１-m〜６０１-2の復号動作で得られる復号データは、符号化装置におけるインターリーブとは逆のデインターリープが行われて次段のソフトアウトプット復号回路６０１-(m-1)〜６０１-1に供給されている。
第７図は、実施の形態３としてのハイブリッド型のターボ符号化装置７００の構成を示している。
このターボ符号化装置７００は、入力データＤ７０１に対して畳み込み符号化を行って符号化データＤ７０２(1,1)を得る畳み符号化回路７０１(1,1)と、この符号化データＤ７０２(1,1)に対してインターリーブおよび畳み込み符号化を交互に行って符号化データＤ７０２(1,m2)を得る（ｍ２−１）個のインターリーバ７０２(1,1)〜７０２(1,m2-1)および（ｍ２−１）個の畳み込み符号化回路７０１(1,2)〜７０１(1,m2)とを有している。ここで、ｍ２は２以上の整数である。
また、ターボ符号化装置７００は、入力データＤ７０１に対して順次インターリーブを行う（ｍ１−１）個のインターリーバ７０２(1,0)〜７０２(m1-1,0)と、これらインターリーバ７０２(1,0)〜７０２(m1-1,0)の出力データに対してそれぞれ畳み込み符号化を行って符号化データＤ７０２(2,1)〜Ｄ７０２(m1,1)を得る（ｍ１−１）個の畳み込み符号化回路７０１(2,1)〜７０１(m1,1)とを有している。ここで、ｍ１は２以上の整数である。
畳み込み符号化回路７０１(1,1)〜７０１(1,m2)，７０１(2,1)〜７０１(m1,1)は、入力されたデータに対して畳み込み演算を行い、演算結果をそれぞれ符号化データとして出力するものである。また、インターリーバ７０２(1,1)〜７０２(1,m2-1)，７０２(1,0)〜７０２(m1-1,0)は、入力されたデータにおける各データの順序を交錯して出力するものである。
畳み込み符号化回路７０１(1,1)〜７０１(1,m2)，７０１(2,1)〜７０１(m1,1)は、第１５図に示す従来のターボ符号化装置３００における畳み込み符号化回路３０１-1〜３０１-mと同様に構成される（第１６図参照）。また、インターリーバ７０２(1,1)〜７０２(1,m2-1)，７０２(1,0)〜７０２(m1-1,0)は、第１図に示すターボ符号化装置１００におけるインターリーバ１０２-1〜１０２-(m-1)と同様に、入力データ保持メモリ、データ算術回路および出力データ保持メモリを有して構成される（第２図参照）。ただし、ターボ符号化装置１００におけるインターリーバ１０２-1〜１０２-(m-1)のそれぞれに供給される入力データのビット数は同じであるが、インターリーバ７０２(1,1)〜７０２(1,m2-1)のそれぞれに供給される入力データのビット数は順次大きくなっていく。
第７図に示すターボ符号化装置７００の動作を説明する。入力データＤ７０１は畳み込み符号化回路７０１(1,1)に供給される。そして、この畳み込み符号化回路７０１(1,1)では入力データＤ７０１に対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ７０２(1,1)が出力される。
この符号化データＤ７０２(1,1)はインターリーバ７０２(1,1)でデータの順序が交錯された後に畳み込み符号化回路７０１(1,2)に供給される。そして、この畳み込み符号化回路７０１(1,2)では入力データに対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ７０２(1,2)が出力される。以下同様にして、インターリーバ７０２(1,2)〜７０２(1,m2-1)および畳み込み符号化回路７０１(1,3)〜７０１(1,m2)でインターリーブおよび畳み込み符号化が交互に行われ、畳み込み符号化回路Ｄ７０２(1,m2)より最終的な符号化データＤ７０２(1,m2)が出力される。
また、入力データＤ７０１は、インターリーバ７０２(1,0)〜７０２(m1-1,0)の直列回路に供給され、順次入力されたデータにおける各データの順序が交錯されて出力される。これらインターリーバ７０２(1,0)〜７０２(m1-1,0)の出力データはそれぞれ畳み込み符号化回路７０１(2,1)〜７０１(m1,1)に供給される。そして、これら畳み込み符号化回路７０１(2,1)〜７０１(m1,1)では、それぞれインターリーバ７０２(1,0)〜７０２(m1-1,0)の出力データに対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ７０２(2,1)〜Ｄ７０２(m1,1)が出力される。
第７図に示すターボ符号化装置７００によれば、第１図に示すターボ符号化装置１００と同様に、各インターリーバ７０２(1,1)〜７０２(1,m2-1)，７０２(1,0)〜７０２(m1-1,0)では簡単な算術演算で置換位置を求めて入力されたデータの並べ換えが行われる。したがって、各インターリーバ７０２(1,1)〜７０２(1,m2-1)，７０２(1,0)〜７０２(m1-1,0)には置換位置情報が記憶された置換データＲＯＭ等が不要となり、回路規模を小さくできる。
なお、ハイブリッド型のターボ符号化装置としては、第７図に示すターボ符号化装置７００において、さらに畳み込み符号化回路７０１(2,1)〜７０１(m1,1)の一部および全部の後段に、畳み込み符号化回路７０１(1,1)の後段と同様に、１組または複数組のインターリーバおよび畳み込み符号化回路の組を接続した構成のものも考えられるが、インターリーバの構成を、第７図に示すターボ符号化装置７００におけるインターリーバの構成と同様に算術演算で置換位置を求める構成とすることで、置換位置情報が記憶された置換データＲＯＭ等が不要となり、回路規模を小さくできる。
第８図は、第７図に示すハイブリッド型のターボ符号化装置７００に対応したターボ復号装置８００の構成を示している。
このターボ復号装置８００は、ターボ符号化装置７００を構成する畳み込み符号化回路７０１(1,m2)〜７０１(1,1)に対応したｍ２個の直列接続されたソフトアウトプット復号回路８０１(1,m2)〜８０１(1,1)と、ターボ符号化装置７００を構成する畳み込み符号化回路７０１(2,1)〜７０１(m1,1)に対応した（ｍ１−１）個のソフトアウトプット復号回路８０１(2,1)〜８０１(m1,1)とを有して構成されている。ソフトアウトプット復号回路８０１(1,m2)〜８０１(1,1)，８０１(2,1)〜８０１(m1,1)は、符号化側での入力データが０または１である確率を算出する機能を持つ、いわゆるソフトアウトプット復号方式を用いて構成されている。
このターボ復号装置８００においては、ターボ符号化装置７００より出力される符号化データＤ７０２(1,m2)に対応した受信データＤ８０２(1,m2)に対してソフトアウトプット復号回路８０１(1,m2)〜８０１(1,1)で順次復号動作が行われる。この場合、各ソフトアウトプット復号回路８０１(1,m2)〜８０１(1,1)では、隣接するソフトアウトプット復号回路で算出される符号化側での入力データおよび出力データに対する推定確率値データを利用し、数回または数１０回の反復復号動作が行われる。図示せずも、復号回路８０１(1,m2)〜８０１(1,2)の復号動作で得られる復号データは、符号化装置におけるインターリーブとは逆のデインターリーブが行われて次段の復号回路８０１(1,m2-1)〜８０１(1,1)に供給されている。また、ターボ符号化装置７００より出力される符号化データＤ７０２(2,1)〜Ｄ７０２(m1,1)に対応した受信データＤ８０２(2,1)〜Ｄ８０２(m1,1)に対してそれぞれソフトアウトプット復号回路８０１(2,1)〜８０１(m1,1)で復号動作が行われる。そして、これら復号回路８０１(2,1)〜８０１(m1,1)および上述した復号回路８０１(1,1)では、それぞれ符号化側でのターミネーションビットを除いた入力データに対する推定確率値データを互いに利用し、数回または数１０回の反復復号動作が行われる。そして、任意の復号回路（第８図では復号回路８０１(1,1)）より最終的な復号データＤ８０１が出力される。
第９図は、実施の形態４としてのターボ符号化装置１５０の構成を示している。このターボ符号化装置１５０は、入力データＤ１５１に対して畳み込み符号化を行って符号化データＤ１５２-1を得る畳み込み符号化回路１５１-1と、この畳み込み符号化回路１５１-1でのターミネーションビットを含めた全ての入力データＤ１５３に対して順次インターリーブを行うインターリーバ１５２-1〜１５２-(m-1)と、これらインターリーバ１５２-1〜１５２-(m-1)の出力データに対してそれぞれ畳み込み符号化を行って符号化データＤ１５２-2〜Ｄ１５２-mを得る畳み込み符号化回路１５１-2〜１５１-mとを有している。ここで、ｍは２以上の整数である。
畳み込み符号化回路１５１-1〜１５１-mは、入力されたデータに対して畳み込み演算を行い、演算結果をそれぞれ符号化データとして出力するものである。また、インターリーバ１５２-1〜１５２-(m-1)は、入力されたデータにおける各データの順序を交錯して出力するものである。畳み込み符号化回路１５１-1は第１５図に示す従来のターボ符号化装置３００における畳み込み符号化回路３０１-1〜３０１-mと同様に構成されるが（第１６図参照）、畳み込み符号化回路１５１-2〜１５１-mはそのターミネーション回路が削減された構成とされる。第１０図は、インターリーバ１５２-1〜１５２-(m-1)の構成を示している。
第１０図に示すインターリーバ１７０は、入力データ保持メモリ１７１と、データ分配回路１７２と、複数のデータ置換回路１７３-1〜１７３-pと、データ統合回路１７４と、出力データ保持メモリ１７５とを有してなり、入力データＤ１７１における各データの順序を交錯して出力データＤ１７２を得るものである。
ここで、入力データＤ１７１は、入力データ保持メモリ１７１に一旦格納された後、データ分配回路１７２でその位置に応じて複数の部分に分割される。そして、この複数の部分（位置とデータの組み）はそれぞれデータ置換回路１７３-1〜１７３-pに送られる。データ置換回路１７３-1〜１７３-pでは、それぞれの部分内でデータの順序のみが交錯され、入力された位置と交錯されたデータの組みが出力される。
そして、データ置換回路１７３-1〜１７３-pより出力される複数の部分（位置とデータの組）はデータ統合回路１７４に送られる。データ統合回路１７４は、データ置換回路１７３-1〜１７３-pより出力される複数の部分の位置とデータに従って、出力データ保持メモリ１７５にデータを書き込む。
なお、データ統合回路１７４は、各データ置換回路１７３-1〜１７３-pから出力される複数の部分のデータ数が等しいとき、さらに各データ置換回路１７３-1〜１７３-pから出力される複数の部分間でデータと組みになっている位置を交換し、その後に交換された位置とデータに従って出力データ保持メモリ１７５にデータを書き込む。その後、出力データ保持メモリ１７５の内容が出力データＤ１７２として出力される。
第１０図に示すインターリーバ１７０のデータ置換回路１７３-1〜１７３-pとしては、第１１図に示す従来のターボ符号化装置３００で使用されているインターリーバ（第１７図参照）、第１図に示すターボ符号化装置１００で使用されているインターリーバ（第２図参照）等、全てのインターリーバが適用可能である。
第１１図は、インターリーバ１７０のサイズが６で、入力データＤ１７１がデータ分配回路１７２で２個ずつの位置とデータの組みでなる３個の部分に分配され、それぞれの部分が３個のデータ置換回路１７３-1〜１７３-3に送られる場合におけるインターリーバ１７０の動作例を示している。この場合、入力データＤ１７１が“１１０１０１”であるとき、出力データＤ１７２として“１１００１１”が得られる。
第９図に示すターボ符号化装置１５０の動作を説明する。入力データＤ１５１は畳み込み符号化回路１５１-1に供給される。そして、この畳み込み符号化回路１５１-1では入力データＤ１５１に対して畳み込み演算が行われ、続いてターミネーションが行われ、ターミネーションを含む符号化処理による符号化データＤ１５２-1が出力される。
また、畳み込み符号化回路１５１-1でのターミネーションビットを含めた全ての入力データＤ１５３は、インターリーバ１５２-1〜１５２-(m-1)の直列回路に供給され、順次入力されたデータの順序が交錯されて出力される。これら、インターリーバ１５２-1〜１５２-(m-1)の出力データはそれぞれ畳み込み符号化回路１５１-2〜１５１-mに供給される。そして、これら畳み込み符号化回路１５１-2〜１５１-mでは、それぞれインターリーバ１５２-1〜１５２-(m-1)の出力データに対して畳み込み演算が行われ、符号化データＤ１５２-2〜Ｄ１５２-mが出力される。
ここで、畳み込み符号化回路１５１-1〜１５１-mやインターリーバ１５２-1〜１５２-(m-1)が以下の条件を満たすように構成されている。
ｉ）  ｍ個の畳み込み符号化回路１５１-1〜１５１-mにおける畳み込み符号の生成多項式を同一のものとする。このとき、共通の生成多項式Ｈ（Ｄ）／Ｑ（Ｄ）のＱ（Ｄ）が、多項式１＋Ｄeを割り切る。
ii）  インターリーバ１５２-1〜１５２-(m-1)のサイズＮがｅの倍数である。
iii）  インターリーバ１５２-1〜１５２-(m-1)のデータ分配回路はデータ位置をｅで割ったときの余りが等しい位置のデータについて、その位置とデータの組みを同一のデータ置換回路に出力する。
iv）  入力データが直接与えられる畳み込み符号化回路１５１-1のターミネーション回路からの出力データを、ターミネーション処理時に出される出力も含めてインターリーブを行う。
v）  インターリーバ１５２-1〜１５２-(m-1)への入力データｄo，ｄ1，・・・，ｄN-1をＮ−１次の多項式の係数とした多項式ｄN-1ｘN-1＋ｄN-2ｘN-2＋・・・＋ｄ1ｘ＋ｄoが１＋ｘeによって割り切られるときに、データ統合回路からの出力を係数とする多項式もまた、１＋ｘeでによって割り切られるように、データ統合回路における位置の交換を行う。
これにより、畳み込み符号化回路１５１-2〜１５１-mでそれぞれインターリーバ１５２-1〜１５２-(m-1)の出力データに対して畳み込み演算をするとき、畳み込み符号化回路１５１-2〜１５１-mは自動的にターミネーションをする。つまり、ターミネーション処理によって畳み込み符号化回路１５１-1がターミネートすると同時に、畳み込み符号化回路１５１-2〜１５１-mもターミネートする。したがって、第９図に示すターボ符号化装置１５０によれば、上述したように、畳み込み符号化回路１５１-2〜１５１-mをターミネーション回路を削減した構成とすることができ、回路規模を小さくできる。
第１２図は、ターボ符号化装置１５０の入力データＤ１５１と、畳み込み符号化回路１５１-1のターミネーション回路の出力データ、つまりの畳み込み符号化回路１５１-1でのターミネーションビットを含めた全ての入力データＤ１５３と、符号化データＤ１５２-1〜Ｄ１５２-mのビット数の関係を示している。
入力されたｋビットのデータに対して畳み込み符号化回路１５１-1によってターミネーションを含む符号化処理が行われ、（ｎ1＋ｔ1）ビットの符号化データＤ１５２-1が得られる。次に、この畳み込み符号化回路内１５１-1のターミネーション回路の（ｋ＋ｔ）ビットの出力データがインターリーバ１５２-1〜１５２-(m-1)に供給され、これらインターリーバ１５２-1〜１５２-(m-1)の出力データに対して符号化回路１５１-1〜１５１-mによって符号化処理が行われ、（ｎ2＋ｔ2）〜（ｎm＋ｔm）ビットの符号化データＤ１５２-1〜Ｄ１５２-mが得られる。
なお、第１０図のインターリーバ１７０では、データ置換回路１７３-1〜１７３-pとデータ統合回路１７４の双方でデータの並べ換えを行うものを示したが、どちらか一方のみによるデータの並べ換えだけでもよい。ただし、双方でデータの並べ換えを行った方がよりデータの撹拌が行われるため符号性能が向上することとなる。
第１３図は、実施の形態５としてのターボ復号装置２００の構成を示している。このターボ復号装置２００は、第９図に示すターボ符号化装置１５０より出力される符号化データより復号データを得るものである。このターボ復号装置２００は、ターボ符号化装置１５０より出力される符号化データ（受信データ）の個数に対応した複数のソフトアウトプット復号回路２０１-1〜２０１-mを有してなるものである。ソフトアウトプット復号回路２０１-1〜２０１-mは、第２１図に示す従来のターボ復号装置４００のソフトアウトプット復号回路４０１-1〜４０１-mと同様に、ＭＡＰデコーダおよびＳＯＶＡデコーダ等の符号化側での入力データが０または１である確率を算出する機能を持つ、いわゆるソフトアウトプット復号方式を用いて構成される。
第１３図に示すターボ復号装置２００の動作を説明する。受信データ（符号化データ）Ｄ２０１-1〜Ｄ２０１-mは、それぞれソフトアウトプット復号回路２０１-1〜２０１-mに供給される。そして、各復号回路２０１-1〜２０１-mでは、それぞれ符号化側での入力データに対する推定確率値データを互いに利用し、数回または数１０回の反復復号動作が行われる。そして、任意の復号回路（第１３図では復号回路２０１-1）より最終的な復号データＤ２０２が出力される。ここで、第９図に示すターボ符号化装置１５０より出力される複数の符号化データは、上述したように、ターミネーション時のデータも含めて全て同じデータから生成されたものであり、各復号回路２０１-1〜２０１-mの間でターミネーションビットを含めた全ての入力データに対する推定確率値データのやり取りを行って符号化データの復号を行うことができる。これにより、第１３図に示すターボ復号装置２００は、第２１図に示す従来のターボ復号装置２００に比べて復号性能を高めることができる。
第１４図は、ターボ復号装置２００の受信データＤ２０１-1〜Ｄ２０１-m、推定確率値データおよび復号データＤ２０２のビット数の関係を表したものであり、第１２図のターボ符号化装置１５０における各ビット数の関係と対応している。ソフトアウトプット復号回路２０１-1〜２０１-mは、それぞれ（ｎ1＋ｔ1）〜（ｎm＋ｔm）ビットの受信データＤ２０１-1〜Ｄ２０１-mより、入力データとターミネーション時入力データに対する（ｋ＋ｔ）ビットの推定確率値データを算出する。そして、その（ｋ＋ｔ）ビットの推定確率値データを各復号回路間でやり取りし、最終的にｋビットの復号データＤ２０２を出力する。
以上説明したように、この発明によれば、ターボ符号化装置でのインターリーブ処理において入力される各データの置換位置を演算で求めるものであり、置換位置を保持するためのメモリを不要とでき、ターボ符号化装置の回路規模を小さくできる。
産業上の利用可能性
以上のように、この発明に係るターボ符号化装置、ターボ復号装置等は、衛星通信や移動体通信等における符号化装置、復号装置に適用して好適である。
【図１】
0004033245.tif 000002
【図２】
0004033245.tif 000003
【図３】
0004033245.tif 000004
【図４】
0004033245.tif 000005
【図５】
0004033245.tif 000006
【図６】
0004033245.tif 000007
【図７】
0004033245.tif 000008
【図８】
0004033245.tif 000009
【図９】
0004033245.tif 000010
【図１０】
0004033245.tif 000011
【図１１】
0004033245.tif 000012
【図１２】
0004033245.tif 000013
【図１３】
0004033245.tif 000014
【図１４】
0004033245.tif 000015
【図１５】
0004033245.tif 000016
【図１６】
0004033245.tif 000017
【図１７】
0004033245.tif 000018
【図１８】
0004033245.tif 000019
【図１９】
0004033245.tif 000020
【図２１】
0004033245.tif 000021
【図２０】
0004033245.tif 000022
【図２２】
0004033245.tif 000023