(57)【要約】  ビットインターリーブ方法は、Ｑビットの巡回ブロックＮ個で構成されるＱＣ  ＬＤＰＣ符号語に対してビットパーミュテーション処理を施し、処理が施された符号語をＭ個のビットよりなり複数のコンステレーション語に分割する方法であり、符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、各コンステレーション語はＦ×Ｎ／Ｍ個のフォルディングセクションのいずれかと関連付けられており、ビットパーミュテーション処理は、コンステレーション語が、関連付けられているフォルディングセクション中のＭ／Ｆ個の異なる巡回ブロックそれぞれのＦビットからなるように行われる。
2012157283.tif 000002
【特許請求の範囲】
【請求項１】
疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーブ方法であって、
前記ビットインターリーブ方法は、
それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信する受信ステップと、
前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施すビットパーミュテーションステップと、
前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２M個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割する分割ステップと、
を有し、
前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、
前記ビットパーミュテーションステップは、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う
ことを特徴とするビットインターリーブ方法。
【請求項２】
前記ビットパーミュテーションステップは、
Ｆ×Ｎ／Ｍ個の前記フォルディングセクションを互いに独立に、各前記フォルディングセクションのビットに対して当該フォルディングセクションのビットの並び順を換えるフォルディングセクションパーミュテーション処理を施すフォルディングセクションパーミュテーションステップ
を有することを特徴とする請求項１に記載のビットインターリーブ方法。
【請求項３】
前記フォルディングセクションパーミュテーションステップは、
前記巡回ブロックのＱ個のビットが、当該巡回ブロックに対応する前記フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語の同一のロバストレベルを有するビットにマッピングされるように、前記フォルディングセクションパーミュテーション処理を行う
ことを特徴とする請求項２に記載のビットインターリーブ方法。
【請求項４】
Ｆは、前記コンステレーションの同一のロバストレベルを有するビットの数と等しい
ことを特徴とする請求項１に記載のビットインターリーブ方法。
【請求項５】
Ｆ＝２であり、前記コンステレーションはＱＡＭコンステレーションである
ことを特徴とする請求項１に記載のビットインターリーブ方法。
【請求項６】
前記フォルディングセクションパーミュテーションステップは、
前記セクションのＭ／Ｆ×Ｑ個のビットに対して当該Ｍ／Ｆ×Ｑ個のビットの並び順を換えるカラム−ロウパーミュテーション処理を施すカラム−ロウパーミュテーションステップを有する
ことを特徴とする請求項２に記載のビットインターリーブ方法。
【請求項７】
前記カラム−ロウパーミュテーション処理は、Ｍ／Ｆ×Ｑ個のビットをＱ列Ｍ／Ｆ行の行列の行方向に書き込み、列方向にＭ×Ｑ／Ｆ個のビットを読み出すことと等価な処理である
ことを特徴とする請求項６に記載のビットインターリーブ方法。
【請求項８】
疑似巡回低密度パリティチェック符号を用いる通信システムにおいてビットストリームをビットデインターリーブするビットデインターリーブ方法であって、
Ｎ×Ｑ個のビットからなるビット列を受信する受信ステップと、
前記疑似巡回低密度パリティチェック符号の符号語を復元するために、受信した前記ビット列のビットに対して当該ビット列のビットの並び順を換える逆ビットパーミュテーション処理を施す逆ビットパーミュテーションステップと、
を有し、
前記逆ビットパーミュテーション処理は、請求項１に記載のビットインターリーブ方法における前記ビットパーミュテーション処理で換えられた並び順を元に戻す処理である
ことを特徴とするビットデインターリーブ方法。
【請求項９】
疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーバであって、
前記ビットインターリーバは、
それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信し、前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施し、前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２M個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割されるように出力するビットパーミュテーション部
を備え、
前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、
前記ビットパーミュテーション部は、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う
ことを特徴とするビットインターリーバ。
【請求項１０】
前記ビットパーミュテーション部は、
Ｆ×Ｎ／Ｍ個の前記フォルディングセクションを互いに独立に、各前記フォルディングセクションのビットに対して当該フォルディングセクションのビットの並び順を換えるフォルディングセクションパーミュテーション処理を施すフォルディングセクションパーミュテーション部
を有することを特徴とする請求項９に記載のビットインターリーバ。
【請求項１１】
前記フォルディングセクションパーミュテーション部は、
前記巡回ブロックのＱ個のビットが、当該巡回ブロックに対応する前記フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語の同一のロバストレベルを有するビットにマッピングされるように、前記フォルディングセクションパーミュテーション処理を行う
ことを特徴とする請求項１０に記載のビットインターリーバ。
【請求項１２】
Ｆは、前記コンステレーションの同一のロバストレベルを有するビットの数と等しい
ことを特徴とする請求項９に記載のビットインターリーバ。
【請求項１３】
Ｆ＝２であり、前記コンステレーションはＱＡＭコンステレーションである
ことを特徴とする請求項９に記載のビットインターリーバ。
【請求項１４】
前記フォルディングセクションパーミュテーション部は、
前記セクションのＭ／Ｆ×Ｑ個のビットに対して当該Ｍ／Ｆ×Ｑ個のビットの並び順を換えるカラム−ロウパーミュテーション処理を施す
ことを特徴とする請求項１０に記載のビットインターリーバ。
【請求項１５】
疑似巡回低密度パリティチェック符号を用いる通信システムにおいてビットストリームをビットデインターリーブするビットデインターリーバであって、
Ｎ×Ｑ個のビットからなるビット列を受信し、前記疑似巡回低密度パリティチェック符号の符号語を復元するために、受信した前記ビット列のビットに対して当該ビット列のビットの並び順を換える逆ビットパーミュテーション処理を施す逆ビットパーミュテーション部を備え、
前記逆ビットパーミュテーション処理は、請求項９に記載のビットインターリーバによって実施される前記ビットパーミュテーション処理で換えられた並び順を元に戻す処理である
ことを特徴とするビットデインターリーバ。
【請求項１６】
疑似巡回低密度パリティチェック符号を用いるビットインターリーブ符号化変調システム用のデコーダであって、
対応するビットが０であるか１であるかの確率を示すソフトビット列を生成するコンステレーションデマッパと、
前記ソフトビット列をビットデインターリーブする請求項１５に記載のビットデインターリーバと、
ビットデインターリーブされた前記ソフトビット列をデコードする低密度パリティチェックデコーダと、
を備えることを特徴とするデコーダ。
【請求項１７】
前記低密度パリティチェックデコーダの出力から前記低密度パリティチェックデコーダの入力を減算する減算部と、
前記減算部の減算結果を前記コンステレーションデマッパにフィードバックする請求項９に記載のビットインターリーバと、
をさらに備えることを特徴とする請求項１６に記載のデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル通信分野に関し、より詳細には、疑似巡回低密度パリティチェック符号を用いたビットインターリーブ符号化変調システム用のビットインターリーバに関する。
【背景技術】
【０００２】
近年、デジタル通信分野において、ビットインターリーブ符号化変調（bit-interleaved coding and modulation：ＢＩＣＭ）システムが用いられている（例えば、非特許文献１参照）。【０００３】
ＢＩＣＭシステムでは、一般に、次の３つのステップが行われる。【０００４】
（１）データブロックを例えば疑似巡回低密度パリティチェック（quasi-cyclic low-density parity check：ＱＣ  ＬＤＰＣ）符号を用いて符号語に符号化する。【０００５】
（２）符号語のビットをビットインターリーブする。【０００６】
（３）ビットインターリーブされた符号語をコンステレーションのビット数からなるコンステレーション語に分割し、コンステレーション語をコンステレーションにマッピングする。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ＥＴＳＩ  ＥＮ  ３０２  ７５５  Ｖ１．２．１（ＤＶＢ−Ｔ２規格）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一般に、疑似巡回低密度パリティチェック符号の符号語に施すインターリーブの効率化が望まれている。【０００９】
本発明は、疑似巡回低密度パリティチェック符号の符号語に施すインターリーブの効率化を実現できるインターリーブ方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明のビットインターリーブ方法は、疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーブ方法であって、前記ビットインターリーブ方法は、それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信する受信ステップと、前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施すビットパーミュテーションステップと、前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２M個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割する分割ステップと、を有し、前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、前記ビットパーミュテーションステップは、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う。
【発明の効果】
【００１１】
本発明のビットインターリーブ方法によれば、疑似巡回低密度パリティチェック符号の符号語に施すインターリーブの効率化を実現できる。
【図面の簡単な説明】
【００１２】
【図１】一般的なＢＩＣＭエンコーダを含むトランスミッタの構成を示すブロック図。
【図２】符号化率が１／２である疑似巡回低密度パリティチェック（quasi-cyclic low-density parity check：ＱＣ  ＬＤＰＣ）符号のパリティチェック行列の一例を示す図。
【図３】符号化率が２／３であるリピートアキュミュレート疑似巡回低密度パリティチェック（repeat-accumulate quasi-cyclic low-density parity check：ＲＡ  ＱＣ  ＬＤＰＣ）符号のパリティチェック行列の一例を示す図。
【図４】行パーミュテーション後の図３のＲＡ  ＱＣ  ＬＤＰＣ符号のパリティチェック行列を示す図。
【図５】行パーミュテーションおよびパリティパーミュテーション後の図３のＲＡ  ＱＣ  ＬＤＰＣ符号のパリティチェック行列を示す図。
【図６】８ＰＡＭシンボルにおいて符号化されたビットが互いに異なるロバストレベルを有することを説明する図。
【図７】巡回係数Ｑ＝８、１つの低密度パリティチェック符号語の巡回ブロック数Ｎ＝１２、１つのコンステレーションのビット数Ｍ＝４に対応する一般的なビットインターリーバの構成を示すブロック図。
【図８】（ａ）ＤＶＢ−Ｔ２規格で用いられるＤＶＢ−Ｔ２モジュレータの構成を示すブロック図であり、（ｂ）は（ａ）に示すＤＶＢ−Ｔ２モジュレータのＢＩＣＭエンコーダの構成を示すブロック図。
【図９】（ａ）１２列のカラム‐ロウインターリーバによって行われる１６Ｋ符号（ＬＤＰＣ符号語長が１６２００ビットであるＬＤＰＣ符号）の符号語のビットの書き込み処理を示す図であり、（ｂ）はカラム‐ロウインターリーバによって行われる（ａ）で書き込まれた符号語のビットの読み出し処理を示す図。
【図１０】（ａ）８列のカラム‐ロウインターリーバによって行われる１６Ｋ符号の符号語のビットの書き込み処理を示す図であり、（ｂ）はカラム‐ロウインターリーバによって行われる（ａ）で書き込まれた符号語のビットの読み出し処理を示す図。
【図１１】ＤＶＢ−Ｔ２規格に準じた、１６ＱＡＭで１６Ｋ符号用のビット‐セルデマルチプレクサの構成を示すブロック図。
【図１２】ＤＶＢ−Ｔ２規格に準じた、６４ＱＡＭで１６Ｋ符号用のビット‐セルデマルチプレクサの構成を示すブロック図。
【図１３】ＤＶＢ−Ｔ２規格に準じた、２５６ＱＡＭで１６Ｋ符号用のビット‐セルデマルチプレクサの構成を示すブロック図。
【図１４】８列のＤＶＢ−Ｔ２ビットインターリーバにおいて１６Ｋ符号に対して起こり得る問題を示す図。
【図１５】１２列のＤＶＢ−Ｔ２ビットインターリーバにおいて１６Ｋ符号に対して起こり得る問題を示す図。
【図１６】８列のＤＶＢ−Ｔ２ビットインターリーバにおいて１６Ｋ符号にカラムツイスト処理を適用する場合に起こり得る問題を示す図。
【図１７】１２列のＤＶＢ−Ｔ２ビットインターリーバにおいて１６Ｋ符号にカラムツイスト処理を適用する場合に起こり得る問題を示す図。
【図１８】（ａ）は発明者が鋭意研究した結果見つけた非常に効率的なインターリーバの提供を可能にする１つ目の条件を説明する図であり、（ｂ）は２つ目の条件を説明する図。
【図１９】本発明の一実施形態に係るインターリーバによるマッピングの機能を示す図。
【図２０】本発明の一実施形態に係るインターリーバの構成を示すブロック図。
【図２１】（ａ）は図２０のセクションパーミュテーションを実施するセクションパーミュテーションユニットの一構成例を示すブロック図であり、（ｂ）は（ａ）のセクションパーミュテーションユニットによるマッピングの機能を示す図。
【図２２】（ａ）は図２０のセクションパーミュテーションを実施するセクションパーミュテーションユニットの他の構成例を示すブロック図であり、（ｂ）は（ａ）のセクションパーミュテーションユニットによるマッピングの機能を示す図。
【図２３】本発明の他の実施形態に係るインターリーバの構成を示すブロック図。
【図２４】図２３のビットインターリーバの一構成例を示すブロック図。
【図２５】本発明のさらに他の実施形態に係るトランスミッタの一構成例を示すブロック図。
【図２６】本発明のさらに他の実施形態に係るＢＩＣＭエンコーダの一実装例を示すブロック図。
【図２７】本発明のさらに他の実施形態に係る非反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図。
【図２８】本発明のさらに他の実施形態に係る反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図。
【図２９】本発明のさらに他の実施形態に係る反復ＢＩＣＭデコーダの一実装例を示すブロック図。
【図３０】並列インターリーバの対象の巡回ブロックと対象外の巡回ブロックの一例を示す図。
【図３１】（ａ）は発明者が鋭意研究した結果見つけた非常に効率的なインターリーバの提供を可能にする１つ目の条件を説明する図であり、（ｂ）は２つ目の条件を説明する図。
【図３２】本発明のさらに他の実施形態に係るインターリーバの構成を示すブロック図。
【図３３】（ａ）はフォルディングなし（Ｆ＝１）に対応するマッピングの機能を示す図であり、（ｂ）はフォルディングあり（Ｆ＝２）に対応するマッピングの機能を示す図。
【図３４】（ａ）はフォルディングなし（Ｆ＝１）に対応する（フォルディング）セクションパーミュテーションユニットの一構成例を示すブロック図であり、（ｂ）はフォルディングあり（Ｆ＝２）に対応するフォルディングセクションパーミュテーションユニットの一構成例を示すブロック図。
【図３５】本発明のさらに他の実施形態に係るインターリーバの構成を示すブロック図。
【図３６】図３５のインターリーバの一構成例を示すブロック図。
【図３７】本発明のさらに他の実施形態に係るトランスミッタの一構成例を示すブロック図。
【図３８】本発明のさらに他の実施形態に係る非反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図。
【図３９】本発明のさらに他の実施形態に係る反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図。
【図４０】Ｆ＝２のフォルディング用のＬＬＲメモリロケーションと１番目のコンステレーション語のビット配置を示す図。
【図４１】ハイブリッドＱＰＳＫ＋１６ＱＡＭに関するコンステレーションブロックのマッピングの略図。
【図４２】本発明のさらに他の実施形態に係るインターリーバの機能を説明するための図。
【図４３】本発明のさらに他の実施形態に係るインターリーバの一構成例を示すブロック図。
【発明を実施するための形態】
【００１３】
≪発明をするに至った経緯≫
図１は、一般的なビットインターリーブ符号化変調（bit-interleaved coding and modulation：ＢＩＣＭ）エンコーダを含むトランスミッタの構成を示すブロック図である。図１に示すトランスミッタ１００は、入力プロセシングユニット１１０、ＢＩＣＭエンコーダ（低密度パリティチェック（low-density parity check：ＬＤＰＣ）エンコーダ１２０、ビットインターリーバ１３０、コンステレーションマッパ１４０を含む）、およびモジュレータ１５０を備える。
【００１４】
入力プロセシングユニット１１０は、入力ビットストリームを所定長の複数ブロックに変換する。ＬＤＰＣエンコーダ１２０は、ＬＤＰＣ符号を用いてブロックを符号語に符号化し、符号語をビットインターリーバ１３０に送信する。ビットインターリーバ１３０は、ＬＤＰＣ符号語に対してインターリーブ処理を施し、インターリーブ処理を施した後、セル語（コンステレーション語）の列に分割する。コンステレーションマッパ１４０は各セル語（コンステレーション語）をコンステレーション（例えば、ＱＡＭ）の列にマッピングする。出力端の一般的なモジュレータ１５０は、ＢＩＣＭエンコーダの出力からＲＦ（Radio Frequency）電力増幅器までのすべての処理ブロックを含む。
【００１５】
ＬＤＰＣ符号は、パリティチェック行列（Parity-check Matrix：ＰＣＭ）により完全に定義される線形誤り訂正符号である。ＰＣＭは２値の疎行列であり、符号語ビット（変数ノードとも称される）とパリティチェック（検査ノードとも称される）の連結（connection）を示す。ＰＣＭの列および行は、それぞれ、変数ノードおよび検査ノードに対応する。変数ノードと検査ノードの結合は、ＰＣＭにおいて、「１」という要素で示されている。
【００１６】
ＬＤＰＣ符号には、疑似巡回低密度パリティチェック（quasi-cyclic low-density parity check：ＱＣ  ＬＤＰＣ）符号と呼ばれる種類が存在する。ＱＣ  ＬＤＰＣ符号は、特にハードウェア実装に適した構成を有する。事実、今日の規格のほとんどにおいてＱＣ  ＬＤＰＣ符号が用いられている。ＱＣ  ＬＤＰＣ符号のＰＣＭは、複数の巡回行列を有する特別な構成となっている。巡回行列とは、各行がその直前の行の要素を１つ巡回シフトした形になっている正方行列であり、重ね合わされた斜めの列（folded diagonal）が１つ、２つ、または、それ以上存在し得る。各巡回行列のサイズはＱ×Ｑである。ここでＱはＱＣ  ＬＤＰＣ符号の巡回係数（cyclic factor）と称される。上記のような疑似巡回の構造により、Ｑ個の検査ノードを並列処理することができ、ＱＣ  ＬＤＰＣ符号は効率的なハードウェア実装を行うために明らかに有利な符号である。
【００１７】
図２は、一例として、巡回係数Ｑ＝８であるＱＣ  ＬＤＰＣ符号のＰＣＭを示す図である。なお、図２および後述する図３から図５において、最も小さな四角の１つがＰＣＭの１つの要素を表しており、そのうち黒塗りの四角の要素は「１」、それ以外の要素は「０」である。このＰＣＭは、重ね合わされた斜めの列が１つまたは２つある巡回行列を有する。このＱＣ  ＬＤＰＣ符号は８×６＝４８ビットのブロックを８×１２＝９６ビットの符号語に符号化する。従って、このＱＣ  ＬＤＰＣ符号の符号化率は４８／９６＝１／２である。符号語ビットはＱビットを有する複数のブロックに分割される。巡回係数Ｑビットのブロックを本明細書では巡回ブロック（または、巡回グループ）と称する。
【００１８】
ＱＣ  ＬＤＰＣ符号には、リピートアキュミュレート疑似巡回低密度パリティチェック（repeat-accumulate quasi-cyclic low-density parity check：ＲＡ  ＱＣ  ＬＤＰＣ）符号という特別な種類が存在する。ＲＡ  ＱＣ  ＬＤＰＣ符号は、符号化が容易であることで知られており、数多くの規格（例えば、ＤＶＢ−Ｓ２規格、ＤＶＢ−Ｔ２規格、ＤＶＢ−Ｃ２規格といった第二世代ＤＶＢ規格）において採用されている。ＰＣＭの右側はパリティビットに対応し、その部分における「１」の要素の配置は階段構造となっている。図３に符号化率が２／３であるＲＡ  ＱＣ  ＬＤＰＣ符号のＰＣＭを例示する。
【００１９】
なお、ＤＶＢ−ＴはDigital Video Broadcasting - Terrestrialの略であり、ＤＶＢ−Ｓ２はDigital Video Broadcasting - Second Generation Satelliteの略であり、ＤＶＢ−Ｔ２はDigital Video Broadcasting - Second Generation Terrestrialの略であり、ＤＶＢ−Ｃ２はDigital Video Broadcasting - Second Generation Cableの略語である。
【００２０】
図３に示すＰＣＭに対してこの行の並び順を換える簡単な行パーミュテーションを施すことによって、図４に示すように、パリティ部分を除いたＲＡ  ＱＣ  ＬＤＰＣ符号の擬似巡回構造が明らかになる。行パーミュテーションは単にグラフ上の表現を変更することを意味し、符号の定義には一切の影響を与えない。
【００２１】
行パーミュテーションが施された図４に示すＰＣＭのパリティビットのみにビットの並び順を換える適切なパーミュテーションを施すことにより、ＰＣＭのパリティ部分も疑似巡回構造を有するようになる。この手法は当技術分野で周知であり、ＤＶＢ−Ｔ２規格等ではパリティインターリーブまたはパリティパーミュテーションという名称で用いられている。図４に示すＰＣＭに対してパリティパーミュテーションを施した結果得られるＰＣＭを図５に示す。
【００２２】
通常、ＬＤＰＣ符号語はビット毎に重要度が異なり、また、コンステレーションはビット毎にロバストレベルが異なる。ＬＤＰＣ符号語のビットを直接、即ちインターリーブせずにコンステレーションにマッピングすると、最適な性能には至らない。このため、ＬＤＰＣ符号語のビットをコンステレーションにマッピングする前にＬＤＰＣ符号語のビットがインターリーブされる必要がある。
【００２３】
この目的のために、図１に示すように、ＬＤＰＣエンコーダ１２０とコンステレーションマッパ１４０の間にビットインターリーバ１３０が設けられている。ビットインターリーバ１３０を入念に設計することによって、ＬＤＰＣ符号語のビットとコンステレーションにより符号化されるビットとの関連性が向上し、受信性能の改善に繋がる。その性能は、通常、ＳＮ比（Signal to Noise Ratio：ＳＮＲ）の関数としての符号誤り率（Bit Error Rate：ＢＥＲ）を用いて測定される。
【００２４】
ＬＤＰＣ符号語のビット毎に重要度が異なる主な理由は、全てのビットに対して同じ回数のパリティチェックが施されるとは限らないことである。符号語ビット（変数ノード）に施されるパリティチェックの回数（検査ノードの数）が多いほど、反復ＬＤＰＣ復号処理において符号語ビットの重要度は高くなる。もう一つの理由は、ＬＤＰＣ符号のタナーグラフ表現における巡回に対する連結性（connectivity）が変数ノード毎に異なることである。このために、符号語ビットに同じ回数のパリティチェックが施されたとしても、符号語ビットの重要度が異なる可能性がある。これらの見解は当技術分野で周知である。原則として、変数ノードと連結する検査ノードの数が大きくなると、その変数ノードの重要度は増す。
【００２５】
特にＱＣ  ＬＤＰＣ符号の場合、Ｑビットの巡回ブロックに含まれる全てのビットは、同じ回数のパリティチェックが施され、タナーグラフにおける巡回に対する連結性が同じであるため、同じ重要度を有する。
【００２６】
同様に、コンステレーションにおいて符号化されたビットのロバストレベルが異なることも周知の事実である。例えば、複素直交振幅変調（quadrature amplitude modulation：ＱＡＭ）コンステレーションは２つのそれぞれ独立したパルス振幅変調（pulse amplitude modulation：ＰＡＭ）シンボルから成り、そのうち１つが実数部に対応し、もう１つが虚数部に対応する。２つのＰＡＭシンボルはそれぞれ同じ数Ｍのビットを符号化する。グレイ符号を用いた８ＰＡＭシンボルを示す図６に示されるように、１つのＰＡＭシンボルにおいて符号化されたビットのロバストレベルは互いに異なる。このようにロバストレベルが互いに異なるのは、各ビット（０または１）によって定義される２つのサブセット間の距離が、ビット毎に異なるためである。この距離が大きいほど、そのビットのロバストレベルまたは信頼度は高い。図６では、ビットｂ３のロバストレベルが最も高く、ビットｂ１のロバストレベルが最も低い。
【００２７】
従って、１６ＱＡＭコンステレーションは４個のビットを符号化し、２つのロバストレベルを有する。６４ＱＡＭコンステレーションは６個のビットを符号化し、３つのロバストレベルを有する。２５６ＱＡＭコンステレーションは８個のビットを符号化し、４つのロバストレベルを有する。
【００２８】
本明細書では、説明のために、以下のパラメータを用いる。
【００２９】
巡回係数：Ｑ＝８
１つのＬＤＰＣ符号語の巡回ブロック数：Ｎ＝１２
１つのコンステレーションのビット数：Ｍ＝４、即ち１６ＱＡＭ
上記パラメータでは、１つのＬＤＰＣ符号語がマッピングされるコンステレーション数はＱ×Ｎ／Ｍ＝２４である。通常、パラメータＱおよびＮの選択は、システムがサポートする全てのコンステレーションについて、Ｑ×ＮがＭの倍数となるように行われなければならない。
【００３０】
図７は上記パラメータに対応する一般的なインターリーバの構成を示すブロック図である。図７において、ＱＢ１、・・・、ＱＢ１２は１２個の巡回ブロックであり、Ｃ１、・・・、Ｃ２４は２４個のコンステレーション語である。図７の例では、ビットインターリーバ７１０は、ＬＤＰＣ符号語の９６ビットをインターリーブする。
【００３１】
従来のビットインターリーバとして、ＤＶＢ−Ｔ２規格（ＥＴＳＩ  ＥＮ  ３０２  ７５５）のものが知られている。ＤＶＢ−Ｔ２規格はテレビジョン規格であるＤＶＢ−Ｔ規格を改良したものであり、デジタル地上テレビジョン放送用の第２世代ベースライン送信システムについて記載されている。ＤＶＢ−Ｔ２規格には、デジタルテレビジョンサービスや一般的なデータを送信するためのチャネル符号化変調システムについて詳述されている。
【００３２】
図８（ａ）は、ＤＶＢ−Ｔ２規格で用いられるモジュレータ（ＤＶＢ−Ｔ２モジュレータ）の構成を示すブロック図である。図８（ａ）に示すＤＶＢ−Ｔ２モジュレータ８００は、入力プロセッシングユニット８１０、ＢＩＣＭエンコーダ８２０、フレームビルダー８３０、およびＯＦＤＭジェネレータ８４０を備える。
【００３３】
入力プロセシングユニット８１０は、入力ビットストリームを所定長の複数ブロックに変換する。ＢＩＣＭエンコーダ８２０は、入力に対してＢＩＣＭ処理を施す。フレームビルダー８３０は、ＢＩＣＭエンコーダ８２０からの入力等を用いてＤＶＢ−Ｔ２方式の伝送フレーム構成を生成する。ＯＦＤＭジェネレータ８４０はＤＶＢ−Ｔ２方式の伝送フレーム構成に対して、パイロット付加、高速逆フーリエ変換、ガードインターバル挿入などを行い、ＤＶＢ−Ｔ２方式の送信信号を出力する。
【００３４】
ＤＶＢ−Ｔ２規格で用いられるＢＩＣＭは、ＥＴＳＩ規格  ＥＮ  ３０２  ７５５の第６章で説明されている。当規格は本明細書において援用されおり、以下にその説明を記す。
【００３５】
図８（ｂ）は、図８（ａ）に示すＤＶＢ−Ｔ２モジュレータのＢＩＣＭエンコーダ８２０の構成を示すブロック図である。ただし、図８（ｂ）では、ＢＣＨ外符号化、コンステレーション回転、セルインターリーバ、時間インターリーバなどを省略している。
【００３６】
ＢＩＣＭエンコーダ８２０は、ＬＤＰＣエンコーダ８２１、ビットインターリーバ（パリティインターリーバ８２２、カラム‐ロウインターリーバ８２３を含む）、ビット−セルデマルチプレクサ８２４、およびＱＡＭマッパ８２５を備える。
【００３７】
ＬＤＰＣエンコーダ８２１は、ＬＤＰＣ符号を用いてブロックを符号語に符号化する。ビットインターリーバ（パリティインターリーバ８２２、カラム‐ロウインターリーバ８２３）は、符号語のビットに対してその並び順を換えるインターリーブ処理を施す。ビット−セルデマルチプレクサ８２４は、インターリーブ処理が施された符号語のビットをセル語（コンステレーション語）に多重分離する。ＱＡＭマッパ８２５は、セル語（コンステレーション語）を複素ＱＡＭシンボルにマッピングする。なお、複素ＱＡＭシンボルはセルとも称される。事実、ビット−セルデマルチプレクサ８２４は、ビットインターリーバの一部であるとみなされてもよい。この場合、ＤＶＢ−Ｔ２規格に基づくＢＩＣＭエンコーダは、図１に示される標準構成を備えるとみなすことができる。
【００３８】
ＤＶＢ−Ｔ２規格において用いられるＬＤＰＣ符号は、巡回係数Ｑ＝３６０を有するＲＡ  ＱＣ  ＬＤＰＣ符号である。ＤＶＢ−Ｔ２規格では、符号語長として１６２００ビットと６４８００ビットの２つが定義されている。符号語長が１６２００ビットであるＬＤＰＣ符号および符号語長が６４８００ビットであるＬＤＰＣ符号を、本明細書では、１６Ｋ符号（または、１６Ｋ  ＬＤＰＣ符号）および６４Ｋ符号（または、６４Ｋ  ＬＤＰＣ符号）と称する。１つの符号語に含まれる巡回ブロック数は、１６Ｋ符号の場合は４５個、６４Ｋ符号の場合は１８０個である。これらの２つのブロック長（符号語長）に対応する使用可能な符号は、ＤＶＢ−Ｔ２規格であるＥＴＳＩ  ＥＮ  ３０２  ７５５の表Ａ．１〜表Ａ．６に列挙されている。
【００３９】
ビットインターリーバは、ＱＰＳＫより大きいコンステレーションに対してのみ利用され、パリティインターリーバ８２２、カラム‐ロウインターリーバ８２３、およびビット‐セルデマルチプレクサ８２４を備える。なお、ＤＶＢ−Ｔ２規格の定義では、ビット‐セルデマルチプレクサ８２４はビットインターリーバに含まれない。しかしながら、本発明は、コンステレーションマッピング前にＬＤＰＣ符号に施すインターリーブに関するものであるので、ビット‐セルデマルチプレクサ８２４もビットインターリーブの一部として取り扱うものとする。
【００４０】
パリティインターリーバ８２２は、上述したように（図４および図５参照）、パリティビットの疑似巡回構造を明らかにするため、符号語のパリティビットの並び順を換えるパリティパーミュテーションを行う。
【００４１】
カラム‐ロウインターリーバ８２３は、概念的には、ＬＤＰＣ符号語のビットを、インターリーバ行列の列に沿って書き込み、行に沿って読み出すことによって機能する。ＬＤＰＣ符号語に含まれる最初のビットが最初に書き込まれ、最初に読み出される。カラム‐ロウインターリーバ８２３は、ＬＤＰＣ符号語のビットを書き込んだ後、ビットの読み出しを開始する前に、その列に対してビットを所定数の位置だけ巡回的にずらす。これはＤＶＢ−Ｔ２規格においてカラムツイスト（column twisting）と呼ばれる。上記２つのＬＤＰＣ符号語長と様々なコンステレーションサイズとに対応するインターリーバ行列の列数Ｎｃと行数Ｎｒを以下の表１に示す。
【００４２】
【表１】
2012157283.tif 000003
２５６ＱＡＭコンステレーションで１６Ｋ符号の場合を除き、列数Ｎｃは、１つのコンステレーションのビット数の２倍である。この例外の理由は、ＬＤＰＣ符号語長である１６２００は、１６、即ち２５６ＱＡＭコンステレーションにおけるビット数の２倍、の倍数でないためである。
【００４３】
カラム‐ロウインターリーバ８２３の１６Ｋ符号の符号語のビットの書き込み処理および読み出し処理を、列数が１２の場合について図９（ａ）、（ｂ）に、列数が８の場合について図１０（ａ）、（ｂ）に示す。各図において、小さな四角はそれぞれＬＤＰＣ符号語の１ビットに対応し、黒塗りの四角はＬＤＰＣ符号語の先頭ビットを示す。矢印は、ビットがインターリーバ行列に書き込まれ、インターリーバ行列から読み出される順序を示す。例えば、インターリーバ行列の列数が１２の場合、１６Ｋ符号の符号語のビットは、図９（ａ）に示すように、（行１、列１）、（行２、列１）、・・・、（行１３５０、列１）、（行１、列２）、・・・、（行１３５０、列１２）の順序で書き込まれ、図９（ｂ）に示すように、（行１、列１）、（行１、列２）、・・・、（行１、列１２）、（行２、列１）、・・・、（行１３５０、列１２）の順序で読み出される。なお、カラムツイスト処理は図９（ａ）、（ｂ）および図１０（ａ）、（ｂ）には示されていない。
【００４４】
ＱＡＭマッピングに先立ち、ビット‐セルデマルチプレクサ８２４は、各ＬＤＰＣ符号語を多重分離することで複数の並列ビットストリームを得る。ストリームの数は、２５６ＱＡＭコンステレーションで１６Ｋ  ＬＤＰＣ符号の場合を除き、１つのＱＡＭコンステレーションにおいて符号化されるビット数Ｍの２倍、即ち２×Ｍである。また、２５６ＱＡＭコンステレーションで１６Ｋ  ＬＤＰＣ符号の場合、ストリームの数は、１つのＱＡＭコンステレーションにおいて符号化されるビット数Ｍである。１つのコンステレーションにおいて符号化されるＭビットを、セル語（または、コンステレーション語）と称する。以下のように、１６Ｋ  ＬＤＰＣ符号では、１つの符号語から得られるセル語の数は１６２００／Ｍである。
【００４５】
ＱＰＳＫの場合、８１００セル
１６ＱＡＭの場合、４０５０セル
６４ＱＡＭの場合、２７００セル
２５６ＱＡＭの場合、２０２５セル
上記の表１によると、ＱＰＳＫより大きなコンステレーションについては、並列ストリームの数はカラム‐ロウインターリーバの列数に等しい。１６Ｋ  ＬＤＰＣ符号について、１６ＱＡＭコンステレーション、６４ＱＡＭコンステレーション、２５６ＱＡＭコンステレーションに対応するビット‐セルデマルチプレクサを、それぞれ、図１１、図１２、図１３に示す。なお、ビットの表記はＤＶＢ−Ｔ２規格で用いられているものである。
【００４６】
ビット‐セルデマルチプレクサは、図１１（図１２、図１３）に示すように、シンプルデマルチプレクサ１１１０（１２１０、１３１０）とデマルチパーミュテーションユニット１１２０（１２２０、１３２０）を備える。
【００４７】
ビット‐セルデマルチプレクサは、シンプルデマルチプレクサ１１１０（１２１０、１３１０）によって、インターリーブ処理が施されたＬＤＰＣ符号語を単に多重分離することに加え、デマルチパーミュテーションユニット１１２０（１２２０、１３２０）によって、多重分離された並列ビットストリームに対してその並び順を換えるパーミュテーション処理を行う。
【００４８】
ただし、カラム‐ロウインターリーバが用いられている場合（１６ＱＡＭコンステレーション以上）、並列ビットストリームの数はカラム‐ロウインターリーバの列数と同一であるため、ビットストリームのパーミュテーションはカラム‐ロウインターリーバの列に対してその並び順を換えるパーミュテーションと同等である点を認識することが重要である。これが、ビット‐セルデマルチプレクサによるパーミュテーションをビットインターリーバの一部とみなすことができる、理由である。
【００４９】
本質的に、ＤＶＢ−Ｔ２規格において用いられるビットインターリーバには２つの問題が付随する。
【００５０】
１つ目の問題は、ＬＤＰＣ符号語における巡回ブロックの数がビットインターリーバ行列の列数の倍数でない場合、並列性が損なわれるという問題である。並列性が低下するとレイテンシが増大する。これは特にレシーバにおいて反復ＢＩＣＭ復号が用いられている場合に問題となる。この状況は、ＤＶＢ−Ｔ２規格の場合、ＬＤＰＣ符号語長とコンステレーションのサイズの組み合わせのいくつかで起こる。
【００５１】
図１４および図１５は、１６Ｋ  ＬＤＰＣ符号において、それぞれインターリーバ行列の列数が８および１２である場合に起こる上記の状況を示す図である。１６ＱＡＭコンステレーションおよび２５６ＱＡＭコンステレーションでは、８列のインターリーバ行列が使用される。６４ＱＡＭコンステレーションでは、１２列のインターリーバ行列が使用される。グリッドはＬＤＰＣ符号語を表し、小さな四角はＬＤＰＣ符号語の１ビットを表し、行は巡回ブロックに対応し、列は複数の巡回ブロックにおいて互いに同一のビットインデックスを有するビットに対応する。黒塗りの四角は、インターリーバ行列の先頭行における８ビットおよび１２ビットを表している。なお、分かり易くするため、１つの巡回ブロックのビット数を３６０から７２に減らして図示しているものの、これにより理解度に影響が及ぶことはない。
【００５２】
２つ目の問題は、ＤＶＢ−Ｔ２規格において、可能なビットインターリーバの構成の数が、ビットインターリーバ行列の列数によって制限されることである。
【００５３】
ＤＶＢ−Ｔ２ビットインターリーバのさらなる問題は、カラムツイスト処理によって、パーミュテーションの規則性および並列性がさらに損なわれるということである。図１６および図１７は、それぞれ図１４および図１５と同様の状況を示しているが、カラムツイスト処理が適用されている点が異なる。１６Ｋ  ＬＤＰＣ符号でインターリーバ行列が８列の場合に、ＤＶＢ−Ｔ２ビットインターリーバにおいて用いられる列毎のカラムツイスト値は（０，０，０，１，７，２０，２０，２１）である。また、１６Ｋ  ＬＤＰＣ符号でインターリーバ行列が１２列の場合に、ＤＶＢ−Ｔ２ビットインターリーバにおいて用いられる列毎のカラムツイスト値は、（０，０，０，２，２，２，３，３，３，６，７，７）である。
【００５４】
したがって、レイテンシを低減し並列性を高めたビットインターリーバを提供する必要がある。これらの特性は、特に反復ＢＩＣＭ復号において重要である。
【００５５】
≪発明者が得た知見≫
発明者は、鋭意研究を行った結果、以下の２つの条件が満たされるとき、非常に効率的なインターリーバが提供できるという知見を得た。
【００５６】
（条件１）
各コンステレーション語のＭ個のビットが、ＬＤＰＣ符号語のＭ個の異なる巡回ブロックにマッピングされる。これは、ＬＤＰＣ符号語のＭ個の異なる巡回ブロックから１ビットずつコンステレーション語にマッピングする、ことと等価である。この概要を図１８（ａ）に示す。
【００５７】
（条件２）
Ｍ個の巡回ブロックにマッピングされるすべてのコンステレーション語が、当該Ｍ個の巡回ブロックのみにマッピングされる。これは、ＱビットからなるＭ個の異なる巡回ブロックのＭ×Ｑ個のビットの全ては、Ｑ個のコンステレーション語にのみマッピングされる、ことと等価である。この概要を図１８（ｂ）に示す。
【００５８】
上記条件では、ちょうどＱ個のコンステレーション語は、各Ｍ個の巡回ブロックにマッピングされていることになる。
【００５９】
≪実施の形態（その１）≫
以下、上記の条件１、条件２を満たすビットインターリーバ（並列ビットインターリーバ）の詳細について説明する。なお、以下において、実質的に同じ処理内容、および、同じ処理内容を行う構成ユニットには同じ符号を付す。
【００６０】
本明細書では、Ｍ個の巡回ブロックよりなるグループのそれぞれ、または、Ｑ個のコンステレーション語よりなるグループのそれぞれを、セクション（または、インターリーバセクション）と呼ぶ。
【００６１】
図１９および図２０は、本発明の一実施形態に係る、上記パラメータ（Ｑ＝８、Ｍ＝４、Ｎ＝１２）に対応する条件１、条件２を満たすビットインターリーバによるマッピングの機能を示す図および当該ビットインターリーバの一構成例を示すブロック図である。
【００６２】
図１９および図２０では、ＱＣ−ＬＤＰＣ符号の符号語は、それぞれがＱ＝８個のビットからなるＮ＝１２個の巡回ブロックＱＢ１〜ＱＢ１２で構成されている。２４個のコンステレーション語はそれぞれＭ＝４個のビットからなり、それぞれが２M＝１６個のコンステレーションポイントのいずれか１つを示す。ビットインターリーバは、Ｎ／Ｍ＝３個のセクションに分けられ、２４個のコンステレーション語はＮ／Ｍ＝３個のセクションのいずれか１つに関連付けられる。
【００６３】
ビットインターリーバ２０００は、ビットパーミュテーションユニット２０１０を有し、ビットパーミュテーションユニット２０１０は互いに独立して（互いに依存せずに）動作するＮ／Ｍ（＝３）個のセクションパーミュテーションユニット２０２１、２０２２、２０２３を有する。なお、セクションパーミュテーションユニットを３つ備えるようにする代わりに、例えば１つのセクションパーミュテーションユニットを用いて処理対象を時系列に切り替えながら後述する３つのセクションパーミュテーション処理を行うようにしてもよい。
【００６４】
セクションパーミュテーションユニット（２０２１、２０２２、２０２３）は、互いに独立して（互いに依存せずに）、８個のコンステレーション語（Ｃ１〜Ｃ８、Ｃ９〜Ｃ１６、Ｃ１７〜Ｃ２４）の各々に、４個の巡回ブロック（ＱＢ１〜ＱＢ４、ＱＢ５〜ＱＢ８、ＱＢ９〜ＱＢ１２）のそれぞれから１ビットずつマッピングされるように、４個の巡回ブロックの計３２個のビットに対してその並び順を換えるセクションパーミュテーション処理を施す。
【００６５】
上述の２つの条件１、条件２は、単に、ビットインターリーバがＮ／Ｍ個の並列セクションに分けられることを保証するだけのものである。これらの並列セクションに対して施すセクションパーミュテーション処理に、互いに同じパーミュテーション規則が適用されてもよいし、互いに異なるパーミュテーション規則が適用されてもよいし、一部だけが互いに同じパーミュテーション規則が適用されてもよい。
【００６６】
例えば、セクションパーミュテーションユニットは、巡回ブロックのＱ個のビット（ＬＤＰＣ復号処理において重要度が互いに等しい）を、Ｑ個のコンステレーション語の同じビットインデックスのビット（ロバストレベルが互いに等しい）にマッピングするようにしてもよい。それぞれの巡回ブロックにおいて、Ｑ個のビットは、順に、あるいはパーミュテーションされた順に並べることができる。後者を図２１（ａ）、（ｂ）を用いて、前者を図２２（ａ）、（ｂ）を用いて説明する。
【００６７】
図２１（ａ）は、図２０のセクションパーミュテーションユニットの一構成例を示す図である。
【００６８】
セクションパーミュテーションユニット２１０１は、巡回ブロック内パーミュテーションユニット２１１１〜２１１４、およびカラム‐ロウパーミュテーションユニット２１３１を有する。なお、巡回ブロック内パーミュテーションユニットを４つ備えるようにする代わりに、例えば１つの巡回ブロック内パーミュテーションユニットを用いて処理対象を時系列に切り替えながら後述する４つの巡回ブロック内パーミュテーション処理を行うようにしてもよい。
【００６９】
巡回ブロック内パーミュテーションユニット（２１１１〜２１１４）は、巡回ブロック（ＱＢ１〜ＱＢ４）のＱ個（８個）のビットに対してその並び順を換える巡回ブロック内パーミュテーション処理を施す。１つのセクション内の巡回ブロックに対して施す巡回ブロック内パーミュテーション処理に、例えば、互いに同じパーミュテーション規則が適用されてもよいし、互いに異なるパーミュテーション規則が適用されてもよいし、一部だけが互いに同じパーミュテーション規則が適用されてもよい。
【００７０】
カラム‐ロウパーミュテーションユニット２１３１は、Ｍ×Ｑ個（３２個）のビットに対してこの並び順を換えるカラム‐ロウパーミュテーション処理を施す。詳述すれば、カラム‐ロウパーミュテーションユニット２１３１は、Ｍ×Ｑ個（３２個）のビットをＱ列Ｍ行（８列４行）の行列の行方向に書き込み、書き込んだＭ×Ｑ個（３２個）のビットを列方向に読み出すことと等価なカラム‐ロウパーミュテーション処理を行う。なお、カラム‐ロウパーミュテーションユニット２１３１によるカラム‐ロウパーミュテーション処理は、図９（ａ）、（ｂ）の１２列１３５０行がＱ列Ｍ行に置き換わり、書き込み処理が列方向から行方向に、読み出し処理が行方向から列方向に換わったものである。
【００７１】
図２１（ｂ）は、図２１（ａ）のセクションパーミュテーションユニットによるマッピングの機能を示す図である。図２１（ｂ）では、各コンステレーション語のＭ＝４個のビットがｂ１〜ｂ４で示されている。
【００７２】
ただし、セクションパーミュテーション処理において巡回ブロック内パーミュテーション処理が実施されなくてもよい。
【００７３】
図２０のセクションパーミュテーションの別の例である、巡回ブロック内パーミュテーション処理を実施しないセクションパーミュテーションユニットの一構成例およびこのセクションパーミュテーションユニットによるマッピングの機能を図２２（ａ）および図２２（ｂ）に示す。セクションパーミュテーションユニット２２０１は、カラム‐ロウパーミュテーションユニット２１３１を有し、カラム‐ロウパーミュテーション処理のみ行う。図２２（ｂ）では、各コンステレーション語のＭ＝４個のビットがｂ１〜ｂ４で示されている。
【００７４】
ただし、巡回ブロックＱＢ５〜ＱＢ８、ＱＢ９〜ＱＢ１２に対して、図２１および図２２でそれぞれ説明したセクションパーミュテーションが行われるようにしてもよい。
【００７５】
本発明の他の実施の形態では、ビットインターリーバは、セクションパーミュテーション処理を行う前に、付加的にＮ個の巡回ブロックに対してその並び順を換える巡回ブロックパーミュテーション処理を行う。付加的に巡回ブロックパーミュテーション処理を施すビットインターリーバの一構成例を図２３に示す。ここでの巡回ブロックパーミュテーションは、ＤＶＢ−Ｔ２規格におけるビット‐セルデマルチプレクサによるパーミュテーションと同様の役割を果たすものである。
【００７６】
図２３に示すビットインターリーバ２３００は、巡回ブロックパーミュテーションユニット２３１０と、ビットパーミュテーションユニット２０１０（セクションパーミュテーションユニット２０２１〜２０２３を含む）を備える。
【００７７】
巡回ブロックパーミュテーションユニット２３１０は、巡回ブロックＱＢ１〜ＱＢ１２に対してその並び順を換える巡回ブロックパーミュテーション処理２３１１〜２３１８を施す。なお、巡回ブロックパーミュテーション処理２３１１〜２３１８で用いられるパーミュテーション規則は互いに同じである。
【００７８】
Ｎ個の巡回ブロックに対して施す巡回ブロックパーミュテーションは、それによりＬＤＰＣ符号語のビットをコンステレーションのビットに最適にマッピングすることが可能となり、受信性能の最適化につながるため、特に有益である。
【００７９】
図２４は、図２３のビットインターリーバの一構成例を示すブロック図である。図２４のビットインターリーバ２４００は、下記のステージＡ、Ｂ、Ｃの３つのパーミュテーション処理を実施する。
【００８０】
ステージＡ：巡回ブロック（間）パーミュテーション
ステージＢ：巡回ブロック内パーミュテーション
ステージＣ：カラム‐ロウパーミュテーション
ここで、巡回ブロック（間）パーミュテーションは符号語を構成するＮ個の巡回ブロックの並び順を換えるパーミュテーションであり、巡回ブロック内パーミュテーションは巡回ブロックを構成するＱ個のビットの並び順を換えるパーミュテーションであり、カラム‐ロウパーミュテーションは、セクションを構成するＭ×Ｑ個のビットの並び順を換えるパーミュテーションである。
【００８１】
図２４に示すビットインターリーバ２４００は、巡回ブロックパーミュテーションユニット２３１０と、ビットパーミュテーションユニット２０１０（セクションパーミュテーションユニット２１０１〜２１０３）を備える。セクションパーミュテーションユニット２１０１（２１０２、２１０３）は、巡回ブロック内パーミュテーションユニット２１１１〜２１１４（２１１５〜２１１８、２１１９〜２１２２）と、カラム‐ロウパーミュテーションユニット２１３１（２１３２、２１３３）を備える。
【００８２】
ビットインターリーバ２４００は、巡回ブロックパーミュテーションユニット２３１０によって巡回ブロック（間）パーミュテーションを行い（ステージＡ）、巡回ブロック内パーミュテーションユニット２１１１〜２１２２によって巡回ブロック内パーミュテーションを行い（ステージＢ）、カラム‐ロウパーミュテーションユニット２１３１〜２１３３）によってカラム‐ロウパーミュテーションを行う（ステージＣ）。
【００８３】
図２４に示すビットインターリーバから巡回ブロック内パーミュテーションユニット２１１１〜２１２２を取り除いて、巡回ブロック内パーミュテーションを行わないように、ビットインターリーバを構成してもよい。また、ビットインターリーバは、巡回ブロック内パーミュテーションを、巡回ブロック（間）パーミュテーションの後に実施する代わりに、巡回ブロック（間）パーミュテーションの前に実施してもよく、巡回ブロック（間）パーミュテーションの前後で実施するようにしてもよい。
【００８４】
なお、複数の巡回ブロック内パーミュテーションユニットは互いに同様の構成であってもよい。このため、複数の巡回ブロック内パーミュテーションユニットは同一の機能リソース（ハードウェアブロックなど）によって実装可能である。また、複数の巡回ブロック内パーミュテーションは巡回的なシフト処理からなっていてもよく、この場合、バレルシフタを用いた効率的なハードウェア実装が可能となる。ＬＤＰＣデコーダに用いているバレルシフタを利用して実装することも可能である。
【００８５】
以下、条件１、条件２を満たすビットインターリーブ処理を行うビットインターリーバを含むトランスミッタの一構成例について図２５を用いて説明する。
【００８６】
図２５は、本発明のさらに他の実施形態に係るトランスミッタの一構成例を示すブロック図である。図２５に示すトランスミッタ２５００は、ＢＩＣＭエンコーダ（ＬＤＰＣエンコーダ２５１０、ビットインターリーバ２５２０、コンステレーションマッパ２５３０を含む）と、モジュレータ２５４０を備える。
【００８７】
ＬＤＰＣエンコーダ２５１０は、入力ブロックをＱＣ−ＬＤＰＣ符号を用いて符号語に符号化し、符号語をビットインターリーバ２５２０へ出力する。
【００８８】
ビットインターリーバ２５２０は、ＬＤＰＣエンコーダ２５１０からＱＣ−ＬＤＰＣ符号の符号語を受け取る。この符号語は、Ｎ＝１２個の巡回ブロックからなり、各巡回ブロックはＱ＝８個のビットからなる。そして、ビットインターリーバ２５２０は、符号語のビットに対してその並び順を換えるビットインターリーブ処理を施す。ビットインターリーバ２５２０は、ビットインターリーブ処理が施された符号語を、それぞれＭ＝４個のビットよりなり、それぞれが２M＝１６個の所定のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割してコンステレーションマッパ２５３０へ出力する。ただし、ビットインターリーバ２５２０は、ビットインターリーブ処理として、例えば図１９から図２２で説明した、または、その変形として説明したビットパーミュテーション処理を行う。または、ビットインターリーバ２５２０は、ビットインターリーブ処理として、ビットパーミュテーション処理に加えて、例えば図２３から図２４で説明した、または、その変形として説明した巡回ブロックパーミュテーション処理を追加的に行ってもよい。
【００８９】
コンステレーションマッパ２５３０は、ビットインターリーバ２５２０からコンステレーション語を受け取り、受け取ったコンステレーション語に対してコンステレーションマッピング処理を行う。
【００９０】
モジュレータ２７４０は、直交周波数分割多重（orthogonal frequency division multiplexing：ＯＦＤＭ）変調などを行って送信信号を生成する。
【００９１】
以下、条件１、条件２を満たすビットインターリーブ処理を行うビットインターリーバを含むＢＩＣＭエンコーダの一実装例について図２６を用いて説明する。
【００９２】
図２６は、本発明のさらに他の実施の形態に係るＢＩＣＭエンコーダの一実装例を示すブロック図である。図２６のＢＩＣＭエンコーダ２６００は、上記パラメータ（Ｑ＝８、Ｎ＝１２、Ｍ＝４）に対応するものである。
【００９３】
図２６に示すＢＩＣＭエンコーダ２６００は、メインメモリ２６０１、ＬＤＰＣコントローラ２６１１、ローテータ２６１２、検査ノードプロセッサ群２６１３、デローテータ２６１４、ＱＢカウンタ２６３１、テーブル２６３２、インターリーバ２６３３、レジスタ群２６３４、インターリーバ２６３５、およびマッパ群２６５１を備える。
【００９４】
図２６では、Ｑ＝８であることを考慮して、メインメモリ２６０１の読み出しが８ビットずつ行われ、検査ノードプロセッサ群２６１３には８個の検査ノードプロセッサがあり、マッパ群２６５１には８個のマッパが存在する。また、Ｍ＝４であることを考慮して、レジスタ群２６３４には４個のレジスタがある。
【００９５】
メインメモリ２６０１は、送信すべきビット列を例えば入力プロセシングユニット（不図示）から受け取り、受け取ったビット列を保持する。
【００９６】
ＬＤＰＣコントローラ２６１１は、メインメモリ２６０１に対して読み出しアドレスを出力し、これによりメインメモリ２６０１はビット列の先頭から８ビットずつローテータ２６１２へ出力する。ローテータ２６１２は、ＬＤＰＣコントローラ２６１１による制御を受けて、メインメモリ２６０１から供給される８ビットを所定数巡回シフトし、巡回シフト後の８ビットを検査ノードプロセッサ群２６１３の各検査ノードプロセッサに対して１ビットずつ出力する。各検査ノードプロセッサ群２６１３の各検査ノードプロセッサは、ＬＤＰＣコントローラ２６１１による制御を受けて、入力された１ビットに対して検査ノード処理を行い、１ビットの処理結果をデローテータ２６１４へ出力する。デローテータ２６１４は、ＬＤＰＣコントローラ２６１１による制御を受けて、検査ノードプロセッサ群２６１３から受け取った８ビットをローテータ２６１２による巡回シフトを打ち消すように所定数巡回シフトし、巡回シフト後の８ビットをメインメモリ２６０１へ出力する。ＬＤＰＣコントローラ２６１１は、メインメモリ２６０１に対して書き込みアドレスを出力し、これによりメインメモリ２６０１はデローテータ２６１４から供給される８ビットを保持する。ただし、ＬＤＰＣコントローラ２６１１、ローテータ２６１２、検査ノードプロセッサ群２６１３、およびデローテータ２６１４が、図２５におけるＢＩＣＭエンコーダのＬＤＰＣエンコーダ２５１０を構成する。
【００９７】
ＱＢカウンタ２６３１は０から１１までカウントするものであり、カウンタ値をテーブル２６３２へ出力する。なお、ＱＢカウンタ２６３１によるカウント動作はＮ＝１２を考慮したものである。
【００９８】
テーブル２６３２は、巡回ブロックパーミュテーションの規則を記憶した単純なルックアップテーブルである。つまり、テーブル２６３２は、Ｎ＝１２個の巡回ブロックの読み出し順序の情報（ＱＢカウンタ２６３１による１２個のカウンタ値にそれぞれ異なる巡回ブロックを対応付けた情報）を保持している。テーブル２６３２は、ＱＢカウンタ２６３１から供給されるカウンタ値に対応した巡回ブロック１個分のビット（Ｑ＝８個のビット）がメインメモリ２６０１からインターリーバ２６３３へ供給されるように、メインメモリ２６０１に対して読み出しアドレスを出力する。これにより、メインメモリ２６０１はＱＢカウンタ２６３１のカウンタ値に対応した巡回ブロック１個分のビットをインターリーバ２６３３へ出力する。なお、このテーブル２６３２の処理によって巡回ブロックパーミュテーション（ステージＡ）が実現される。
【００９９】
インターリーバ２６３３は、メインメモリ２６０１から供給された巡回ブロック１個分のビットを所定数巡回シフトさせて、レジスタ群２６３４の１段目のレジスタに出力する。なお、このインターリーバ２６３３の処理によって巡回ブロック内パーミュテーション（ステージＢ）が実現される。ただし、レジスタ群２６３４の各レジスタは制御パルスを受けたタイミングで巡回ブロック１個分のビットを保持し、保持した巡回ブロック１個分のビットを次に制御パルスを受け取るまで出力し続ける。
【０１００】
ＱＢカウンタ２６３１のカウンタ値「０」〜「３」に対して上記の処理内容が実施されると、インターリーバ２６３５には巡回ブロック４個分のビット（３２個のビット）が入力される。このタイミングで、インターリーバ２６３５は、入力された巡回ブロック４個分のビットに対してインターリーブ処理を施してマッパ群２６５１の各マッパにコンステレーション語の１個分のビット（Ｍ＝４個のビット）を出力する。インターリーブ処理により、各マッパには、レジスタ群２６３４の４個のレジスタのそれぞれから１ビットずつ計４ビットが供給される。なお、インターリーバ２６３５の処理によってカラム−ロウパーミュテーション（ステージＣ）が実現される。
【０１０１】
ただし、ＱＢカウンタ２６３１、テーブル２６３２、インターリーバ２６３３、レジスタ群２６３４、及びインターリーバ２６３５が、図２５におけるＢＩＣＭエンコーダのビットインターリーバ２５２０を構成する。
【０１０２】
マッパ群２６５１の各マッパはインターリーバ２６３５から供給された４個のビットをコンステレーションにマッピングし、マッピング結果を出力する。ただし、マッパ群２６５１が、図２５におけるＢＩＣＭエンコーダのコンステレーションマッパ２５３０を構成する。
【０１０３】
１つの符号語に対して、上記一連の処理がＱＢカウンタ２６３１のカウンタ値「０」から「３」、「４」から「７」、「８」から「１１」の計３回行われる。
【０１０４】
なお、図２６の一実装例では、並列に動作するＱ個のマッパを含むが、より並列度を低く、又は、高くして、ＢＩＣＭエンコーダを実装することも可能である。例えば、ビットインターリーバにおける並列インターリーバセクションの数、すなわち、Ｎ／Ｍを増加させることによって、並列性を簡単に上げることができることは容易に分かる。このような手法では、Ｑ×Ｎ／Ｍ個のマッパを並列にすることによって並列化を最大化することができる。ビットインターリーバにはそのような並列性を何の障害もなく実現することができるというメリットがある。
【０１０５】
以下、条件１、条件２を満たすビットインターリーブ処理を施すビットインターリーバを含むトランスミッタからの信号を受信するレシーバについて図面を用いて説明する。
【０１０６】
図２７は、本発明のさらに他の実施の形態に係る非反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図である。レシーバは、トランスミッタと逆の動作を行う。
【０１０７】
図２７に示すレシーバ２７００は、モジュレータ２７１０、および非反復ＢＩＣＭデコーダ（コンステレーションデマッパ２７２０、およびビットデインターリーバ２７３０、ＬＤＰＣデコーダ２７４０を含む）を備える。
【０１０８】
デモジュレータ２７１０は、ＯＦＤＭなどによる復調処理を行い、復調処理結果を出力する。
【０１０９】
非反復ＢＩＣＭデコーダのコンステレーションデマッパ２７２０は、モジュレータ２７１０からの入力に対してデマッピング処理を施して所謂ソフトビット列を生成し、生成したソフトビット列をコンステレーションデマッパ２７３０へ出力する。各ソフトビットは各ビットが０になるか１になるかの確率を示す尺度である。通常、ソフトビットは対数尤度比（ｌｏｇｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏｓ：  ＬＬＲｓ）で表され、以下のように定義される。
【０１１０】
ＬＬＲ（ｂ）＝ｌｎ［ｐ（ｂ＝０）／ｐ（ｂ＝１）］
ｐ（ｂ＝０）はビットｂが０である確率を示し、ｐ（ｂ＝１）はビットｂが１である確率を示す。ただし、ｐ（ｂ＝０）＋ｐ（ｂ＝１）＝１が成り立つ。
【０１１１】
ビットデインターリーバ２７３０は、コンステレーションデマッパ２７２０から出力されるソフトビット列に対して、図２５のトランスミッタ内のビットインターリーバがビット列に対して施したビットインターリーブ処理を打ち消して元の並びに戻すインターリーブ処理（ビットデインターリーブ処理）を行う。
【０１１２】
ＬＤＰＣデコーダ２７４０は、ビットデインターリーバ２７３０からビットデインターリーブが施されたソフトビット列を受け取り、受け取ったソフトビット列を用いてＬＤＰＣ復号処理を行う。
【０１１３】
顕著な受信性能の向上が得られる技法の一つとして、反復ＢＩＣＭ復号処理がある。反復ＢＩＣＭデコーダについて図２８を用いて説明する。
【０１１４】
図２８は、本発明のさらに他の実施の形態に係る反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図である。レシーバは、トランスミッタと逆の動作を行う。
【０１１５】
図２８に示すレシーバ２８００は、モジュレータ２７１０、および反復ＢＩＣＭデコーダ（コンステレーションデマッパ２７２０、ビットデインターリーバ２７３０、ＬＤＰＣデコーダ２７４０、減算ユニット２７６０、ビットインターリーバ２７５０）を備える。
【０１１６】
図２８のレシーバ２８００は、コンステレーションデマッパ２７２０によってコンステレーションデマッピング処理、ビットデインターリーブ２７３０によるビットデインターリーブ処理、ＬＤＰＣデコーダ２７４０によるＬＤＰＣ復号処理を行う。
【０１１７】
ＬＤＰＣ復号の反復処理を１回または複数回実行した後、減算ユニット２７６０がＬＤＰＣデコーダ２７４０の出力からＬＤＰＣデコーダ２７４０の入力を減算し、減算の結果得られた外部情報（extrinsic information）をビットインターリーバ２７５０へ出力する。ビットインターリーバ２７５０は、外部情報に対して、図２５のトランスミッタ内のビットインターリーバがビット列に対して施したビットインターリーブ処理と同じインターリーブ規則のインターリーブ処理を行う。そして、ビットインターリーバ２７５０は、インターリーブ処理を施した外部情報をコンステレーションデマッパ２７２０へフィードバックする。コンステレーションデマッパ２７２０は、フィードバックされた外部情報を事前情報（a-priori information）として用いて、より信頼性の高いＬＬＲ値を算出する。そして、ビットデインターリーバ２７３０は、新たに算出されたＬＬＲ値に対して図２５のトランスミッタ内のビットインターリーバがビット列に対して施したビットインターリーブ処理を打ち消して元の並びに戻すインターリーブ処理（ビットデインターリーブ処理）を行う。ＬＤＰＣデコーダ２７４０は、ビットデインターリーブ処理が施されたＬＬＲ値を用いてＬＤＰＣ復号処理を行う。
【０１１８】
図２８に示すように、反復復号のループは、四つの要素、すなわち、コンステレーションデマッパ２７２０、ビットデインターリーバ２７３０、ＬＤＰＣデコーダ２７４０、およびビットインターリーバ２７５０からなる。ビットデインターリーバ２７３０とビットインターリーバ２７５０は、レイテンシが非常に低く、理想的にはゼロであって、かつ簡易な構成であれば、レシーバの効率的な実装が可能となる。上述したビットデインターリーバ２７３０とビットインターリーバ２７５０は両方の条件を満たす。
【０１１９】
非常に効率的な並列実装を実現する反復ＢＩＣＭデコーダの一実装例について図２９を用いて説明する。
【０１２０】
図２９は、本発明のさらに他の実施の形態に係るＢＩＣＭデコーダの一実装例を示すブロック図である。図２９のＢＩＣＭデコーダ２９００は、上記パラメータ（Ｑ＝８、Ｎ＝１２、Ｍ＝４）に対応するものである。
【０１２１】
図２９に示すＢＩＣＭデコーダ２９００は、メインＬＬＲメモリ２９０１、バッファＬＬＲメモリ２９０２、ＬＤＰＣコントローラ２９１１、ローテータ２９１２、検査ノードプロセッサ群２９１３、デローテータ２９１４、ＱＢカウンタ２９３１、テーブル２９３２、減算ユニット２９３３、インターリーバ２９３４、レジスタ群２９３５、インターリーバ２９３６、デマッパ群２９３７、デインターリーバ２９３８、レジスタ群２９３９、デインターリーバ２９４０、および遅延ユニット２９４１を備える。
【０１２２】
図２９では、Ｑ＝８であることを考慮して、メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２の読み出しが８個のＬＬＲ値ずつ行われ、検査ノードプロセッサ群２９１３には８個の検査ノードプロセッサがあり、デマッパ群２９５１には８個のデマッパが存在する。また、Ｍ＝４であることを考慮して、レジスタ群２９３５、２９７２には４個のレジスタがある。
【０１２３】
デマッパ群２９３７の各デマッパは、デモジュレータ（不図示）の出力を用いてデマッピング処理を行い、これにより得られたＬＬＲ値をデインターリーバ２９３８へ出力する。ただし、デマッパ群２９３７が、図２８における反復ＢＩＣＭデコーダのコンステレーションデマッパ２７２０を構成する。
【０１２４】
デインターリーバ２９３８は、ＬＬＲ値に対してデインターリーブ処理（トランスミッタによるステージＣによるインターリーブを打ち消すインターリーブ処理）を施し、デインターリーブ後のＬＬＲ値をレジスタ群２９３９の各レジスタに出力する。ただし、レジスタのそれぞれには巡回ブロック１個分のＬＬＲ値（８個のＬＬＲ値）が格納される。レジスタ群２９３９では、レジスタに保持された巡回ブロック１個分のＬＬＲ値が順次後段に出力され、各レジスタの保持内容が順次更新されていく。デインターリーバ２９４０は、供給される巡回ブロック１個分のＬＬＲ値（８個のＬＬＲ値）に対してインターリーブ処理（トランスミッタによるステージＢによるインターリーブを打ち消すインターリーブ処理）を施し、テーブル２９３２の保持内容（後述）に従ってメインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２に書き込む。なお、テーブル２９３２の保持内容に従うメインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２への書き込みより、トランスミッタによるステージＡによるインターリーブを打ち消すインターリーブ処理が実現される。
【０１２５】
このようにして、メインＬＬＲメモリ２９０１は、デインターリーブ処理後のＬＬＲ値を記憶し、ＬＤＰＣデコーダ（ＬＤＰＣコントローラ２９１１、ローテータ２９１２、検査ノードプロセッサ群２９１３、デローテータ２９１４）によっても用いられる。ＬＤＰＣ復号処理は、１または複数の反復によりなる反復処理である。ＬＤＰＣ復号処理の各反復において、メインＬＬＲメモリ２９０１内のＬＬＲ値が更新される。反復ＢＩＣＭ復号処理に必要な外部情報を算出するため、古いＬＬＲ値はバッファＬＬＲメモリ２９０２に保持される。
【０１２６】
ここで、ＬＤＰＣデコーダの処理を記載する。
【０１２７】
ＬＤＰＣコントローラ２９１１は、ＬＤＰＣ符号のパリティチェック行列に従ってメインＬＬＲメモリ２９０１に対して読み出しアドレスを出力し、これによりメインＬＬＲメモリ２９０１は巡回ブロック１個分ずつＬＬＲ値をローテータ２９１２へ順次出力する。ローテータ２９１２は、ＬＤＰＣコントローラ２９１１による制御を受けて、メインＬＬＲメモリ２９０１から順次供給される巡回ブロック１個分のＬＬＲ値を所定数巡回シフトし、巡回シフト後のＬＬＲ値を検査ノードプロセッサ群２９１３の各検査ノードプロセッサに対して１個ずつ順次出力する。各検査ノードプロセッサ群２９１３の各検査ノードプロセッサは、ＬＤＰＣコントローラ２９１１による制御を受けて、順次入力された一連のＬＬＲ値に対して検査ノード処理を行う。次に、検査ノードプロセッサ群２９１３の各検査ノードプロセッサは、ＬＤＰＣコントローラ２９１１による制御を受けて、検査ノード処理の結果である一連のＬＬＲ値を順次出力する。デローテータ２９１４は、ＬＤＰＣコントローラ２９１１による制御を受けて、検査ノードプロセッサ群２９１３から順次受け取った巡回ブロック１個分の処理結果をローテータ２９１２による巡回シフトを打ち消すように所定数巡回シフトし、巡回シフト後の処理結果をメインＬＬＲメモリ２９０１へ順次出力する。ＬＤＰＣコントローラ２９１１は、ＬＤＰＣ符号のパリティチェック行列に従ってメインＬＬＲメモリ２９０１に対して書き込みアドレスを出力し、これによりメインＬＬＲメモリ２９０１はデローテータ２９１４から順次供給される巡回ブロック１個分の処理結果を保持する。ＬＤＰＣコントローラ２９１１は、ＬＤＰＣ符号のパリティチェック行列に従って、以上の処理を繰り返して実行する。
【０１２８】
ＬＤＰＣ反復処理を所定の回数実行した後、ＢＩＣＭ反復処理が実行される。ＬＤＰＣおよびＢＩＣＭ反復処理を、それぞれ、内的反復処理および外的反復処理とも呼ぶ。なお、これら二種類の反復処理をオーバーラップさせて実装することも可能である。これにより、収束のスピードを上げることができる。ＢＩＣＭおよびＬＤＰＣ復号処理は、当技術分野において周知であるため、詳細な説明は省略する。
【０１２９】
ＱＢカウンタ２９３１は０から１１までカウントするものであり、カウンタ値をテーブル２９３２へ出力する。なお、ＱＢカウンタ２９３１によるカウント動作はＮ＝１２を考慮したものである。
【０１３０】
テーブル２９３２は、巡回ブロックパーミュテーションの規則を記憶した単純なルックアップテーブルである。つまり、テーブル２９３２は、Ｎ＝１２個の巡回ブロックの読み出し順序（書き込み順序）の情報（ＱＢカウンタ２６３１による１２個のカウンタ値にそれぞれ異なる巡回ブロックを対応付けた情報）を保持している。テーブル２９３２は、ＱＢカウンタ２９３１から供給されるカウンタ値に対応した巡回ブロック１個分のＬＬＲ値がメインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２から減算ユニット群２９３３へ供給されるように、メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２に対して読み出しアドレスを出力する。これにより、メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２はそれぞれＱＢカウンタ２９３１のカウンタ値に対応した巡回ブロック１個分のＬＬＲ値を減算ユニット２９３４へ出力する。ここで、メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２からのＬＬＲ値の読み出し位置と、メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２への当該ＬＬＲ値の書き込み位置とが一致するように、遅延ユニット２９４１よる遅延調整が施される。なお、このテーブル２９３２の処理によって巡回ブロックパーミュテーション（ステージＡ）に相当するパーミュテーションが実現される。
【０１３１】
減算ユニット群の各減算ユニット２９３３は、メインＬＬＲメモリ２９０１の出力からからバッファＬＬＲメモリ２９０２の出力を減算し、減算の結果得られた巡回ブロック１個分の外部情報（８個の外部情報）をインターリーバ２９３４に出力する。
【０１３２】
インターリーバ２９３４は、減算ユニット２９３３から供給された巡回ブロック１個分の外部情報を、所定数巡回シフトさせて、レジスタ群２９３５の１段目のレジスタに出力する。なお、このインターリーバ２９３４の処理によって巡回ブロック内パーミュテーション（ステージＢ）に相当する処理が実現される。ただし、レジスタ群２９３５の各レジスタは制御パルスを受けて８個のビットを保持し、保持した８個のビットを次に制御パルスを受け取るまで出力し続ける。
【０１３３】
ＱＢカウンタ２９３１のカウンタ値「０」〜「３」に対して上記の処理内容が実施されると、インターリーバ２９３６には巡回ブロック４個分の外部情報（３２個の外部情報）が入力される。このタイミングで、インターリーバ２９３６は、入力された巡回ブロック４個分の外部情報に対してインターリーブ処理を施して、デマッパ群２９３７の各デマッパにコンステレーション語の１個分の外部情報（Ｍ＝４個の外部情報）を出力する。インターリーブ処理により、デマッパ群２９５１の各デマッパには、レジスタ群２９３５の４個のレジスタのそれぞれから１個ずつ計４個の外部情報が供給される。なお、インターリーバ２９３６の処理によってカラム−ロウパーミュテーション（ステージＣ）に相当する処理が実現される。
【０１３４】
ただし、ＱＢカウンタ２９３１、テーブル２９３２、インターリーバ２９３４、レジスタ群２９３５、及びインターリーバ２９３６が、図２８におけるＢＩＣＭデコーダのビットインターリーバ２７５０を構成する。
【０１３５】
デマッパ群２９３７の各デマッパは、インターリーバ２９３６から供給された４個の外部情報を事前情報として用いてデマッピング処理を行い、新たなＬＬＲ値をデインターリーバ２９３８へ出力する。
【０１３６】
デインターリーバ２９３８は、ＬＬＲ値に対してデインターリーブ処理（トランスミッタによるステージＣによるインターリーブを打ち消すインターリーブ処理）を施し、デインターリーブ後のＬＬＲ値をレジスタ群２９３９の各レジスタに出力する。ただし、レジスタのそれぞれには巡回ブロック１個分のＬＬＲ値（８個のＬＬＲ値）が格納される。レジスタ群２９３９では、レジスタに保持された巡回ブロック１個分のＬＬＲ値が順次後段に出力され、各レジスタの保持内容が順次更新されていく。デインターリーバ２９４０は、供給される巡回ブロック１個分のＬＬＲ値（８個のＬＬＲ値）に対してデインターリーブ処理（トランスミッタによるステージＢによるインターリーブを打ち消すインターリーブ処理）を施し、メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２に出力する。メインＬＬＲメモリ２９０１およびバッファＬＬＲメモリ２９０２は、テーブル２９３２から遅延ユニット２９４１を介して書き込みアドレスを受け取り、受け取った書き込みアドレスに従い、デインターリーバ２９４０から受け取った巡回ブロック１個分のＬＬＲ値（８個のＬＬＲ値）を保持する。テーブル２９３２に従った書き込み処理により、トランスミッタによるステージＡによるインターリーブを打ち消すインターリーブ処理（デインターリーブ処理）が実現される。
【０１３７】
１つの符号語に対して、上記一連の処理がＱＢカウンタ２９３１のカウンタ値「０」から「３」、「４」から「７」、「８」から「１１」の計３回行われる。
【０１３８】
ただし、ＱＢカウンタ２９３１、テーブル２９３２、デインターリーバ２９３８、レジスタ群２９３９、及びデインターリーバ２９４０が、図２８におけるＢＩＣＭデコーダのビットデインターリーバ２７３０を構成する。
【０１３９】
インターリーバ２９３４およびデインターリーバ２９４０は再構成可能であり、一定のハードウェアコストがかかるが、コストは入念な設計によって最小限に抑えることができる。インターリーバ２９３６およびデインターリーバ２９３８は、カラム‐ロウパーミュテーションを実装するものであり、このパーミュテーションは所定のコンステレーションサイズについて一定である。したがって、実装コストは小さい。
【０１４０】
なお、図２９の一実装例では、並列に動作するＱ個のデマッパを含むが、より並列度を低く、又は、高くして、反復ＢＩＣＭデコーダを実装することも可能である。例えば、ビットインターリーバにおける並列インターリーバセクションの数、すなわち、Ｎ／Ｍを増加させることによって、並列性を簡単に上げることができることは容易に分かる。このような手法では、Ｑ×Ｎ／Ｍ個のデマッパを並列にすることによって並列化を最大化することができる。上述したビットインターリーバにはそのような並列性を何の障害もなく実現することができるというメリットがある。
【０１４１】
≪発明者によるさらなる検討≫
上述した条件１、条件２を満たすインターリーバ（並列インターリーバ）では、コンステレーション語のビット数Ｍが巡回ブロック数Ｎの約数になることを前提としている。しかしながら、常に、ＭがＮの約数になるとは限らない。例として、ＤＶＢ−Ｔ２規格で使用される１６Ｋ  ＬＤＰＣ符号を挙げることができ、１６Ｋ  ＬＤＰＣ符号の符号語はＮ＝４５個の巡回ブロックを有する。ＭがＮの約数にならない場合、Ｍが偶数であるＱＡＭコンステレーションなどの正方形コンステレーションに対するマッピングは容易ではない。
【０１４２】
従って、Ｎ個の巡回ブロックから１以上の巡回ブロックを除外し、残った巡回ブロックのみに対して上記の実施の形態（その１）で説明したインターリーバ（並列インターリーバ）を適用することは、特有の解決方法であると言える。
【０１４３】
言い換えると、ビットインターリーバは、Ｎ個の巡回ブロックの中からコンステレーション語のビット数Ｍの倍数となるＮ’個の巡回ブロックを選択する。ビットインターリーバは、選択したＮ’個の巡回ブロックを、それぞれがＭ個の巡回ブロックを含むように、Ｎ’／Ｍ個のセクションに分割し、各セクションに対してセクションパーミュテーションを施す。除外された（選択されなかった）巡回ブロックのビットは、インターリーブされなくてもよいし、インターリーブされてもよい。
【０１４４】
例えば、除外される巡回ブロックは、変数ノードの重みが最も小さい巡回ブロックであってもよい。ＲＡ  ＱＣ  ＬＤＰＣ符号（図５参照）の場合、例えば、除外される巡回ブロックは、バリティ部分（重み２の変数ノードを有する）の巡回ブロックであってもよく、この場合、例えば符号語の最後から１以上の巡回ブロックであってもよい。
【０１４５】
図３０は、実施の形態（その１）で説明したインターリーブ方法を適用する適用対象の巡回ブロックと適用しない適用対象外の巡回ブロック（除外される巡回ブロック）を示す図である。但し、図３０は、符号がＤＶＢ−Ｔ２規格で定義されている１６Ｋ  ＬＤＰＣ符号であり、コンステレーションが１６ＱＡＭコンステレーションである場合に対する図である。図３０の例では、適用対象の巡回ブロックは４４個の巡回ブロック（１、・・・、４４）であり、適用対象外の巡回ブロック（除外される巡回ブロック）はその最終行の１個の巡回ブロック４５のみである。また、４個の黒四角が１番目のコンステレーション語の４ビットを表す。
【０１４６】
一般に、インターリーバセクション（Ｍ個の巡回ブロックからなるセクション）の数は、ｆｌｏｏｒ（Ｎ／Ｍ）であり、除外される巡回ブロックの数はｒｅｍ（Ｎ，Ｍ）である。ここで、ｆｌｏｏｒ（Ｎ／Ｍ）はＮ／Ｍ以下の最大の整数値を返す関数であり、ｒｅｍ（Ｎ，Ｍ）は、ＮをＭで割った剰余値を返す関数である。
【０１４７】
表２に、ＤＶＢ−Ｔ２規格における１６Ｋ  ＬＤＰＣ符号（Ｎ＝４５個の巡回ブロックを有する）に関する、様々なコンステレーションサイズ（コンステレーションのビット数Ｍ）に対するセクション数と除外される巡回ブロック数を示す。
【０１４８】
【表２】
2012157283.tif 000004
上記に説明した条件１、条件２を満たすインターリーブ方法では、各コンステレーション語はＭ個の巡回ブロックにマッピングされる。しかしながら、大きなサイズのコンステレーション（コンステレーションポイント数が多いコンステレーション）に対して、条件１、条件２を満たすインターリーブ方法を適用する場合、非常に多い遅延レジスタが必要となる（図２６及び図２９で説明した実装例を参照）。非常に多い遅延レジスタの使用は、回路面積および消費電力の増大につながる。加えて、コンステレーション語がマッピングされる巡回ブロック数を減少させることは、外（ＢＩＣＭ）のイタレーションと内（ＬＤＰＣ）のイタレーション間のオーバーラッピングを増大させるために有益であり、全体のＢＩＣＭ復号のレイテンシを減少させる。
【０１４９】
各コンステレーション語の２ビット以上を同じ巡回ブロックにマッピングすることによって、コンステレーション語がマッピングされる巡回ブロックの数を減少させることができる。同じ巡回ブロックにマッピングされるコンステレーション語のビットの数をフォルディング係数と称し、Ｆと記す。例えば、コンステレーションが１６ＱＡＭコンステレーションであり、Ｆ＝２の場合、コンステレーション語は４個の巡回ブロックの代わりに２個の巡回ブロックにのみマッピングされる。唯一の制約は、フォルディング係数Ｆ（１より大きい整数）がＭとＱの約数でなければならない、ということである。なお、Ｆ＝１は、フォルディングなし、つまり、実施の形態（その１）に対応する。
【０１５０】
複素ＱＡＭコンステレーションシンボルは、２つの等しい実ＰＡＭ（pulse-amplitude modulation）シンボルに分離することができる。従って、ＱＡＭコンステレーションのＭビットは、２つの等しい実ＰＡＭシンボルのＭ／２ビットのセットに分割することができ、コンステレーション語のビットは同じＭ／２個の巡回ブロックにマッピングすることができる。Ｆ＝２であるフォルディング係数は、ＱＡＭコンステレーションにとって有益である。
【０１５１】
実数分解できない複素コンステレーション、例えばＤＶＢ−Ｓ２規格で使用されるような、８ＰＳＫ（phase shift keying）、１６ＡＰＳＫ（amplitude phase shift keying）、３２ＡＰＳＫなどでは、フォルディング手法の利用は容易ではない。しかしながら、ＦがＭの約数であれば、フォルディングの手法の利用は可能である。しかしながら、各巡回ブロックのビットの全てがコンステレーションの同一のロバストレベルのビットにのみマッピングされることをもはや保証することはできない。
【０１５２】
フォルディングを用いる手法では、例えば、各巡回ブロックのビットの全てがコンステレーションの同一のロバストレベルのビットにマッピングされることは望ましい。
【０１５３】
フォルディングは、除外される巡回ブロックの数を減らし、又は、除外される巡回ブロックの数を０にする付加的な利点を持つ。上記説明したように、実施の形態（その１）で説明したインターリーバ（並列インターリーバ）を適用するためには、符号語を構成する巡回ブロックのいくつかを除外する必要がある。
【０１５４】
フォルディングなし（Ｆ＝１）の場合、Ｍ個の巡回ブロックからなるグループの数（セクション数）はｆｌｏｏｒ（Ｎ／Ｍ）であり、除外される巡回ブロック数はｒｅｍ（Ｎ，Ｍ）である。一方、フォルディングありの場合、Ｍ／Ｆ個の巡回ブロックからなるグループの数はｆｌｏｏｒ（Ｎ／（Ｍ／Ｆ））であり、除外される巡回ブロック数はｒｅｍ（Ｎ，Ｍ／Ｆ）である。この具体的な数値の例として、ＤＶＢ−Ｔ２規格に使用されるＬＤＰＣ符号について表３に示す。
【０１５５】
【表３】
2012157283.tif 000005
発明者は、フォルディング（Ｆが２以上の整数）を行うためには、条件１、条件２を、下記の条件１Ａ、条件２Ａに変更する必要があるとの知見を得た。
【０１５６】
（条件１Ａ）
各コンステレーション語のＭ個のビットが、ＬＤＰＣ符号語のＭ／Ｆ個の異なる巡回ブロックにマッピングされる。これは、ＬＤＰＣ符号語のＭ／Ｆ個の異なる巡回ブロックからＦ個のビットずつコンステレーション語にマッピングする、ことと等価である。この概要を図３１（ａ）に示す。
【０１５７】
（条件２Ａ）
Ｍ／Ｆ個の巡回ブロックにマッピングされるすべてのコンステレーション語が、当該Ｍ／Ｆ個の巡回ブロックのみにマッピングされる。これは、ＱビットからなるＭ／Ｆ個の異なる巡回ブロックのＭ×Ｑ／Ｆ個のビットの全ては、Ｑ／Ｆ個のコンステレーション語にのみマッピングされる、ことと等価である。この概要を図３１（ｂ）に示す。
【０１５８】
なお、Ｆ＝１はフォルディングなしであり、条件１Ａ、条件２Ａは、条件１、条件２と同一になる。
【０１５９】
≪実施の形態（その２）≫
以下、上記の条件１Ａ、条件２Ａを満たすビットインターリーバ（並列ビットインターリーバ）の詳細について説明する。なお、以下において、実質的に同じ処理内容、および、同じ処理内容を行う構成ユニットには同じ符号を付す。
【０１６０】
本明細書では、Ｍ／Ｆ個の巡回ブロックよりなるグループのそれぞれ、または、Ｑ／Ｆ個のコンステレーション語よりなるグループのそれぞれを、フォルディングセクション（または、フォルディングインターリーバセクション）と呼ぶ。
【０１６１】
なお、Ｆ＝１の場合（フォルディングなし）、フォルディングインターリーバセクションはインターリーバセクションと一致し、ビットインターリーバは実施の形態（その１）のビットインターリーバと同一構成になる。
【０１６２】
Ｆが１より大きい整数の場合がフォルディングありであり、実施の形態（その２）ではフォルディングありの一例としてＦ＝２の場合を説明する。
【０１６３】
図３２は、本発明のさらに他の実施形態に係る、Ｑ＝８、Ｍ＝４、Ｎ＝１２、Ｆ＝２に対応する条件１Ａ、条件２Ａを満たすビットインターリーバの一構成例を示すブロック図である。
【０１６４】
図３２では、ＱＣ−ＬＤＰＣ符号の符号語は、それぞれがＱ＝８個のビットからなるＮ＝１２個の巡回ブロックＱＢ１〜ＱＢ１２で構成されている。２４個のコンステレーション語はそれぞれＭ＝４個のビットからなり、それぞれが２M＝１６個のコンステレーションポイントのいずれか１つを示す。ビットインターリーバは、Ｆ×Ｎ／Ｍ＝６個のフォルディングセクションに分けられ、２４個のコンステレーション語はＦ×Ｎ／Ｍ＝６個のフォルディングセクションのいずれか１つに関連付けられる。
【０１６５】
ビットインターリーバ２０００Ａは、ビットパーミュテーションユニット２０１０Ａを有し、ビットパーミュテーションユニット２０１０Ａは互いに独立して（互いに依存せずに）動作するＦ×Ｎ／Ｍ＝６個のフォルディングセクションパーミュテーションユニット２０２１Ａ〜２０２６Ａを有する。なお、フォルディングセクションパーミュテーションユニットを６つ備えるようにする代わりに、１つのフォルディングセクションパーミュテーションユニットを用いて処理対象を時系列に切り替えながら後述する６つのフォルディングセクションパーミュテーション処理を行うようにしてもよい。
【０１６６】
フォルディングセクションパーミュテーションユニット（２０２１Ａ、２０２２Ａ、２０２３Ａ、２０２４Ａ、２０２５Ａ、２０２６Ａ）は、互いに独立して（互いに依存せずに）、４個のコンステレーション語（Ｃ１〜Ｃ４、Ｃ５〜Ｃ８、Ｃ９〜Ｃ１２、Ｃ１３〜Ｃ１６、Ｃ１７〜Ｃ２０、Ｃ２１〜Ｃ２４）の各々に、Ｍ／Ｆ＝２個の巡回ブロック（ＱＢ１〜ＱＢ２、ＱＢ３〜ＱＢ４、ＱＢ５〜ＱＢ６、ＱＢ７〜ＱＢ８、ＱＢ９〜ＱＢ１０、ＱＢ１１〜ＱＢ１２）のそれぞれからＦ＝２個のビットずつマッピングされるように、２個の巡回ブロックの計１６個のビットに対してその並び順を換えるフォルディングセクションパーミュテーション処理を施す。
【０１６７】
上述の２つの条件１Ａ、条件２Ａは、単に、ビットインターリーバがＦ×Ｎ／Ｍ個の並列フォルディングセクションに分けられることを保証するだけのものである。これらの並列フォルディングセクションに対して施すフォルディングセクションパーミュテーション処理に、互いに同じパーミュテーション規則が適用されてもよいし、互いに異なるパーミュテーション規則が適用されてもよいし、一部だけが互いに同じパーミュテーション規則が適用されてもよい。
【０１６８】
例えば、フォルディングセクションパーミュテーションユニットは、巡回ブロックのＱ個のビットを、Ｑ／Ｆ個のコンステレーション語の同一のロバストレベルを有するビットにマッピングするようにしてもよい。これについて、Ｑ＝８、Ｍ＝４を例に挙げて、図３３及び図３４を用いて説明する。
【０１６９】
図３４（ａ）は、Ｆ＝１（フォルディングなし）の（フォルディング）セクションパーミュテーションユニットの一構成例を示すブロック図であり、図２２（ａ）と同一構成である。
【０１７０】
図３４（ｂ）は、図３２のうちの、Ｆ＝２（フォルディングあり）の場合の２つのフォルディングセクションパーミュテーションユニットの一構成例を示すブロック図である。
【０１７１】
但し、図３４（ｂ）の例では、コンステレーションが１６ＱＡＭコンステレーションである。このため、コンステレーションのビットには２つのロバストレベルがあり、ビットｂ１とビットｂ３が同一のロバストレベル、ビットｂ２とビットｂ４が同一のロバストレベルである。
【０１７２】
フォルディングセクションパーミュテーションユニット２２０１Ａ（２２０２Ａ）は、カラム‐ロウパーミュテーションユニット２１３１Ａ（２１３２Ａ）を有する。
【０１７３】
カラム‐ロウパーミュテーションユニット２１３１Ａ（２１３２Ａ）は、巡回ブロックＱＢ１〜ＱＢ２（ＱＢ３〜ＱＢ４）のＱ×Ｍ／Ｆ＝１６個のビットに対してこの並び順を換えるカラム‐ロウパーミュテーション処理を施す。詳述すれば、カラム‐ロウパーミュテーションユニット２１３１Ａ（２１３２Ａ）は、Ｑ×Ｍ／Ｆ＝１６個のビットをＱ列Ｍ／Ｆ行＝８列２行の行列の行方向に書き込み、書き込んだ１６個のビットを列方向に読み出すことと等価なカラム‐ロウパーミュテーション処理を行う。なお、カラム‐ロウパーミュテーションユニット２１３１Ａ、２１３２Ａによるカラム‐ロウパーミュテーション処理は、図９（ａ）、（ｂ）の１２列１３５０行がＱ列Ｍ／Ｆ行に置き換わり、書き込み処理が列方向から行方向に、読み出し処理が行方向から列方向に換わったものである。
【０１７４】
なお、フォルディング係数Ｆのフォルディングによって、１つのコンステレーション語にマッピングされる巡回ブロック数が減少する。これにより、カラム‐ロウパーミュテーションにおける行列の行数はＭからＭ／Ｆに減少する。
【０１７５】
図３３（ａ）は、図３４（ａ）の（フォルディング）セクションパーミュテーションユニットによるマッピングの機能を示す図であり、図３３（ｂ）は、図３４（ａ）の２つのフォルディングセクションパーミュテーションユニットによるマッピングの機能を示す図である。図３３（ａ）、（ｂ）では、各コンステレーション語のＭ＝４個のビットがｂ１〜ｂ４で示されている。なお、太線で囲っている部分はコンステレーション語Ｃ１についてのマッピングを表している。
【０１７６】
図３３（ａ）、図３４（ａ）の例では、１つの巡回ブロックの８ビット（同じ重要度を有する）は、８個のコンステレーション語の同一ビットインデックスを有するビット（同じロバストレベルを有する）にマッピングされている。また、図３３（ｂ）、図３４（ｂ）の例では、１つの巡回ブロックの８ビット（同じ重要度を有する）は、４個のコンステレーション語の同じロバストレベルのビットにマッピングされている。
【０１７７】
ただし、巡回ブロックＱＢ５〜ＱＢ６、ＱＢ７〜ＱＢ８、ＱＢ９〜ＱＢ１０、ＱＢ１１〜ＱＢ１２に対して、図３４（ｂ）で説明したフォルディングセクションパーミュテーションが行われるようにしてもよい。
【０１７８】
なお、図３４（ａ）、（ｂ）のフォルディングセクションパーミュテーションユニットにおいて、カラム‐ロウパーミュテーションの前段に巡回ブロックＱＢ１〜ＱＢ４のビットに対してその並び順を換える巡回ブロック内パーミュテーションを行うユニットを追加してもよい。
【０１７９】
本発明のさらに他の実施の形態では、ビットインターリーバは、フォルディングセクションパーミュテーション処理を行う前に、付加的にＮ個の巡回ブロックに対してその並び順を換える巡回ブロックパーミュテーション処理を行う。付加的に巡回ブロックパーミュテーション処理を施すビットインターリーバの一構成例を図３５に示す。
【０１８０】
図３５に示すビットインターリーバ２３００Ａは、巡回ブロックパーミュテーションユニット２３１０と、ビットパーミュテーションユニット２０１０Ａ（フォルディングセクションパーミュテーションユニット２０２１Ａ〜２０２６Ａを含む）を備える。
【０１８１】
図３６は、図３５のビットインターリーバの一構成例を示すブロック図である。
【０１８２】
図３６のビットインターリーバ２４００Ａは、巡回ブロックパーミュテーションユニット２３１０と、ビットパーミュテーションユニット２２００Ａ（フォルディングセクションパーミュテーションユニット２２０１Ａ〜２２０６Ａを含む）を有する。
【０１８３】
フォルディングセクションパーミュテーションユニット２２０１Ａ〜２２０６Ａは、それぞれ、カラム‐ロウパーミュテーションユニット２１３１Ａ〜２１３６Ａを備える。カラム‐ロウパーミュテーションユニット２１３３Ａ〜２１３６Ａは、それぞれ、カラム‐ロウパーミュテーションユニット２１３３Ａ〜２１３２Ａと実質的に同じパーミュテーション処理を行う。
【０１８４】
なお、図３５、図３６のビットインターリーバにおいて、巡回ブロックパーミュテーションの前段または後段に巡回ブロックＱＢ１〜ＱＢ１２のビットに対してその並び順を換える巡回ブロック内パーミュテーションを行うユニットを追加してもよい。
【０１８５】
以下、条件１Ａ、条件２Ａを満たすビットインターリーブ処理を行うビットインターリーバを含むトランスミッタの一構成例について図３７を用いて説明する。
【０１８６】
図３７は、本発明のさらに他の実施形態に係るトランスミッタの一構成例を示すブロック図である。図３７に示すトランスミッタ２５００Ａは、図２５のトランスミッタ２５００のビットインターリーバ２５２０がビットインターリーバ２５２０Ａに置き換わった構成である。
【０１８７】
ビットインターリーバ２５２０Ａは、ＬＤＰＣエンコーダ２５１０からＱＣ−ＬＤＰＣ符号の符号語を受け取る。この符号語は、Ｎ＝１２個の巡回ブロックからなり、各巡回ブロックはＱ＝８個のビットからなる。そして、ビットインターリーバ２５２０Ａは、符号語のビットに対してその並び順を換えるビットインターリーブ処理を施す。ビットインターリーバ２５２０Ａは、ビットインターリーブ処理が施された符号語を、それぞれＭ＝４個のビットよりなり、それぞれが２M＝１６個の所定のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割してコンステレーションマッパ２５３０へ出力する。ただし、ビットインターリーバ２５２０Ａは、ビットインターリーブ処理として、例えば図３２から図３４で説明した、または、その変形として説明したビットパーミュテーション処理を行う（Ｆ＝１を除く）。または、ビットインターリーバ２５２０Ａは、ビットインターリーブ処理として、ビットパーミュテーション処理に加えて（Ｆ＝１を除く）、例えば図３５および図３６で説明した、または、その変形として説明した巡回ブロックパーミュテーション処理を追加的に行ってもよい。
【０１８８】
以下、条件１Ａ、条件２Ａを満たすビットインターリーブ処理を施すビットインターリーバを含むトランスミッタからの信号を受信するレシーバについて図面を用いて説明する。
【０１８９】
図３８は、本発明のさらに他の実施の形態に係る非反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図である。レシーバは、トランスミッタと逆の動作を行う。図３８に示すレシーバ２７００Ａは、図２７のレシーバ２７００のビットデインターリーバ２７３０がビットデインターリーバ２７３０Ａに置き換わった構成である。
【０１９０】
ビットデインターリーバ２７３０Ａは、コンステレーションデマッパ２７２０から出力されるソフトビット列に対して、トランスミッタ２５００Ａ内のビットインターリーバ２５２０Ａがビット列に対して施したビットインターリーブ処理を打ち消して元の並びに戻すインターリーブ処理（ビットデインターリーブ処理）を行う。
【０１９１】
図３９は、本発明のさらに他の実施の形態に係る非反復ＢＩＣＭデコーダを有するレシーバの一構成例を示すブロック図である。レシーバは、トランスミッタと逆の動作を行う。図３９に示すレシーバ２８００Ａは、図２８のレシーバ２８００のビットデインターリーバ２７３０およびビットインターリーバ２７５０がビットデインターリーバ２７３０Ａおよびビットデインターリーバ２７５０Ａに置き換わった構成である。
【０１９２】
ビットインターリーバ２７５０Ａは、外部情報（extrinsic information）に対して、トランスミッタ２５００Ａ内のビットインターリーバ２５２０Ａがビット列に対して施したビットインターリーブ処理と同じインターリーブ規則のインターリーブ処理を行う。
【０１９３】
ハードウェアの実装の観点から、例えば、フォルディングは１つのコンステレーション語のビットがより少ないＬＬＲメモリロケーションに配置されるようにしてもよい。通常、デコーダにおけるＬＬＲメモリは、Ｇ×Ｎ個のアドレス指定可能なロケーションを有し、各ロケーションはＱ／Ｇ個のＬＬＲ値を保持することが可能になっている。Ｇは、Ｑの約数である実装パラメータであり、メモリ粒度（granularity）と称する。デコーダ内のＬＬＲメモリロケーションと、Ｍ＝４、Ｆ＝２、Ｑ＝１２、Ｇ＝１〜１２に対応する１番目のコンステレーション語のＬＬＲ値の配置箇所を図４０に示す。
【０１９４】
メモリロケーションにおけるＬＬＲ値の数、すなわち、Ｑ／Ｇは、Ｆの倍数である必要があり、各コンステレーションのＬＬＲ値が、メモリの全ロケーションにおいて同じ位置に格納される。これは、いずれのコンステレーション語におけるＬＬＲ値も、Ｍ／Ｆ個のメモリロケーションに格納されることを保証する。これに反する例が図４０のＧ＝４に示され、各メモリロケーションは１２／４＝３個のＬＬＲ値を格納する。２番目と５番目のコンステレーション語のＬＬＲ値は２つのメモリロケーションの代わりに４つのメモリロケーションに保持される。
【０１９５】
Ｆ＝２のフォルディングが適用される得る単純なＱＡＭコンステレーションの場合に加えて、２以上のコンステレーションシンボルが結合復号（jointly decode）されるときにフォルディングは非常に有用である。結合復号は、例えば、ブロック符号（時空間符号、周波数空間符号など）の最尤復号または２次元以上の回転コンステレーションに対して必要となる。
【０１９６】
一般に、ブロック符号は、２以上の入力シンボル（ｘ1、・・・、ｘK）を２以上の出力シンボル（ｙ1、・・・、ｙL）に符号化する。ここで、ＬはＫ以下である。ブロック符号は、Ｌ行Ｋ列の生成行列によってモデル化される。ここで、入力信号ベクトルＸに生成行列Ｇを左乗算することによって、出力信号ベクトルＹが得られる（Ｙ＝ＧＸ）。
【０１９７】
入力信号ベクトルＸおよび出力信号ベクトルＹの要素は、生成行列Ｇの要素と同じく、実数または複素数となり得る。符号の種類によっては、出力信号ベクトルＹは、異なる時間スロット或いは異なる周波数スロットで送信され、異なるアンテナを用いて送信され、又は、異なる時間スロット或いは異なる周波数スロットおよび異なるアンテナを用いて送信されることがある。
【０１９８】
レシーバでは、入力信号ベクトルＸの全要素の復号のために、最尤復号が要求される。ＭＩＭＯ(multiple-input multiple-output)通信システム用のブロック符号として、アラモウチ（Alamouti）符号、Ｇｏｌｄｅｎ符号、および空間多重が挙げられる。
【０１９９】
Ｋ個のシンボルが同じブロックに符号化されている場合、フォルディング係数はＫまで使用可能であることは明らかである。さらに、シンボルがＱＡＭシンボル（２つの分離可能なＰＡＭシンボルを含む）ならば、使用可能なフォルディング係数は２×Ｋまで増加し得る。
【０２００】
本発明のさらに他の実施形態によれば、異なるサイズのコンステレーション、すなわち、ハイブリッドコンステレーションが結合符号化されている場合には、２つのコンステレーションは互いに異なるロバストレベルを有しているので、例えば、一方のコンステレーション語のビットにマッピングする巡回ブロックと他方のコンステレーション語のビットにマッピングする巡回ブロックは互いに異なるようにする。
【０２０１】
ここで、２つの送信アンテナを用いた符号空間多重ＭＩＭＯシステムを例に挙げて説明する。符号化前の複素信号をＸ＝［ｘ1  ｘ2］とする。ここでｘ1はＱＰＳＫが施された信号であり、ｘ2は１６ＱＡＭが施された信号である。符号化後の複素信号をＹ＝［ｙ1  ｙ2］とする。ここでｙ1およびｙ2はそれぞれ第１アンテナおよび第２アンテナにより送信される信号である。Ｙは、Ｘに２行２列の生成行列Ｇ（要素は、実数でも複素数でもよい）を左乗算することにより得られる（Ｙ＝ＧＸ）。
【０２０２】
例えば、ＱＰＳＫシンボルと１６ＱＡＭシンボルとを同じブロック符号に多重化する場合、フォルディング係数Ｆ＝２に対するマッピングの一例を図４１に示す。図４１では、巡回ブロックにおける最初の７ビットだけを示している。２つの複素シンボルｘ1およびｘ2は次のような構造を有する。
【０２０３】
ｘ1は実数部がｂ１、虚数部がｂ２で与えられるＱＰＳＫシンボルである。
【０２０４】
ｘ2は実数部がｂ３、ｂ４、虚数部がｂ５、ｂ６で与えられる１６ＱＡＭシンボルである。
【０２０５】
２つのシンボルは、レシーバで結合復号され、これにより、いわゆるコンステレーションブロックあるいは生成されたブロックが作られる。
【０２０６】
全体の６ビットのコンステレーションブロックは、３つのロバストレベルを有することとなる。
【０２０７】
レベル１：ＱＰＳＫのｂ１とｂ２はＱＢ１にマッピングされる。
【０２０８】
レベル２：１６ＱＡＭのｂ３とｂ５はＱＢ２にマッピングされる。
【０２０９】
レベル３：１６ＱＡＭのｂ４とｂ６はＱＢ３にマッピングされる。
【０２１０】
なお、一方のコンステレーションのビット数をＭ１、他方のコンステレーションのビット数をＭ２とした場合、Ｎ個の巡回グループを、Ｍ１個の巡回ブロックからなる１以上のグループと、Ｍ２個の巡回ブロックからなる１以上のグループに分割して、ビットインターリーブ処理を施す。
【０２１１】
≪実施の形態（その３）≫
以下、ＮがＭの倍数ではなく、フォルディングを行う場合のインターリーバの一例について記載する。
【０２１２】
図４２は、一例として、Ｆ＝２のインターリーブ処理を適用する適用対象の巡回ブロックと適用しない適用対象外の巡回ブロック（除外される巡回ブロック）を示す図である。但し、図４２は、符号がＤＶＢ−Ｔ２規格で定義されている１６Ｋ  ＬＤＰＣ符号であり、コンステレーションが１６ＱＡＭコンステレーションである場合に対する図である。図４２の例では、適用対象の巡回ブロックは４４個の巡回ブロック（１、・・・、４４）であり、適用対象外の巡回ブロック（除外される巡回ブロック）はその最終行の１個の巡回ブロック４５のみである。また、４個の黒四角が１番目のコンステレーション語の４ビットを表す。
【０２１３】
図４３は、ＮがＭの倍数ではなく、フォルディングを行う場合のビットインターリーバの一構成例を示すブロック図である。説明を簡単にするために、Ｎ＝１３、Ｑ＝８、Ｍ＝４、Ｆ＝２とする。
【０２１４】
フォルディングセクション数はｆｌｏｏｒ（Ｎ／（Ｍ／Ｆ））＝６、除外される巡回ブロック数はｒｅｍ（Ｎ、Ｍ／Ｆ）＝１である。
【０２１５】
ビットインターリーバ２０００Ｂは、巡回ブロックＱＢ１〜ＱＢ１３のうち、１３−１＝１２個の巡回ブロックＱＢ１〜ＱＢ１２を条件Ａ１、条件Ａ２を満たすインターリーバを適用する巡回ブロックに選択する。そして、ビットインターリーバ２０００Ｂ内のビットパーミュテーションユニット２０１０Ａは選択した１２個の巡回ブロックに対して図３２を用いて説明したパーミュテーション処理を行う。なお、巡回ブロックＱＢ１３のビットは、インターリーブされずにコンステレーション語にマッピングされるようになっているが、インターリーブしてからコンステレーション語にマッピングされるようにしてもよい。
【０２１６】
なお、ＮがＭの倍数ではなく、フォルディングを行わないインターリーバの一例として、図４３のビットパーミュテーションユニット２０１０Ａを図２０のビットパーミュテーションユニット２０１０に置き換えた構成を挙げることができる。
【０２１７】
≪補足１≫
本発明は上記の実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。
【０２１８】
（１）上記の実施の形態（その１）では、パラメータとしてＮ＝１２、Ｑ＝８、Ｍ＝４を例に挙げて説明したが、パラメータＮ、Ｍ、Ｑの値はこれに限定されるものではなく、ＮがＭの倍数であればよい。なお、ＮがＭの２以上の倍数である場合には、ビットインターリービングの処理を、複数のセクションに分割して実行することが可能になる。
【０２１９】
（２）フォルディングあり（Ｆが２以上の整数）の実施の形態（その２）では、パラメータとしてＮ＝１２、Ｑ＝８、Ｍ＝４を、フォルディング係数としてＦ＝２を例に挙げて説明したが、パラメータＮ、Ｍ、Ｑの値やフォルディング係数Ｆの値はこれに限定されるものではない。ＦがＭおよびＱのそれぞれの約数であり、ＮがＭ／Ｆの倍数であればよい。
【０２２０】
（３）フォルディングありの実施の形態（その２）では、Ｆの値を１６ＱＡＭコンステレーションの同一のロバストレベルを有するビット数「２」として説明したが、これに限定されるものではない。Ｆの値はコンステレーションの同一のロバストレベルを有するビット数とする他、Ｆの値をコンステレーションの同一のロバストレベルのビット数以外にしてもよい。
【０２２１】
（４）フォルディングありの実施の形態（その２）では、フォルディング係数Ｆ＝２でＱＡＭコンステレーションが１６ＱＡＭコンステレーションであるとして説明したが、これに限定されるものではなく、Ｆ＝２で、ＱＡＭコンステレーションが１６ＱＡＭコンステレーション以外のＱＡＭコンステレーション（例えば、６４ＱＡＭコンステレーション、２５６ＱＡＭコンステレーション）などであってもよい。
【０２２２】
（５）上記の各実施の形態では、コンステレーションとして１６ＱＡＭ（Ｍ＝４）を例に挙げて説明したが、コンステレーションとして、ＱＰＳＫやＱＡＭなどのような特定の変調方式の他に、例えば、ＤＶＢ−Ｓ２規格において利用される円形コンステレーションや、多次元コンステレーションなど様々な変調方式を用いることができる。
【０２２３】
（６）上記の実施形態で説明した方法または装置を、ソフトウェアによって実現してもよいし、ハードウェアによって実現してもよく、特定の形態に限定されるものではない。具体的には、上記の実施形態は、コンピュータ、マイクロプロセッサ、マイクロコントローラなどが上記の実施形態で説明した方法や装置のすべてのステップを実行できるようなコンピュータ実行可能命令を、コンピュータ読み取り可能媒体上で具現化した形態で実施してもよい。また、上記の実施形態は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）や、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）の形態で実施してもよい。
【０２２４】
≪補足２≫
本発明に係るビットインターリーブ方法、ビットインターリーバ、ビットデインターリーブ方法、ビットデインターリーバ、およびデコーダとその効果について説明する。
【０２２５】
本発明の一態様である第１のビットインターリーブ方法は、疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーブ方法であって、前記ビットインターリーブ方法は、それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信する受信ステップと、前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施すビットパーミュテーションステップと、前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２M個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割する分割ステップと、を有し、前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、前記ビットパーミュテーションステップは、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う。
【０２２６】
本発明の一態様である第１のビットインターリーバは、疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーバであって、前記ビットインターリーバは、それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信し、前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施し、前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２M個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割されるように出力するビットパーミュテーション部を備え、前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、前記ビットパーミュテーション部は、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う。
【０２２７】
これらによれば、高い並列性を持つビットインターリーブ処理の実施が可能になるのに加えて、回路面積および消費電力の削減が達成される。
【０２２８】
本発明の一態様である第２のビットインターリーブ方法は、第１のビットインターリーブ方法において、前記ビットパーミュテーションステップは、Ｆ×Ｎ／Ｍ個の前記フォルディングセクションを互いに独立に、各前記フォルディングセクションのビットに対して当該フォルディングセクションのビットの並び順を換えるフォルディングセクションパーミュテーション処理を施すフォルディングセクションパーミュテーションステップを有する。
【０２２９】
本発明の一態様である第２のビットインターリーバは、第１のビットインターリーバにおいて、前記ビットパーミュテーション部は、Ｆ×Ｎ／Ｍ個の前記フォルディングセクションを互いに独立に、各前記フォルディングセクションのビットに対して当該フォルディングセクションのビットの並び順を換えるフォルディングセクションパーミュテーション処理を施すフォルディングセクションパーミュテーション部を有する。
【０２３０】
これらによれば、複数のフォルディングセクションパーミュテーションの並列実行が可能になる。
【０２３１】
本発明の一態様である第３のビットインターリーブ方法は、第２のビットインターリーブ方法において、前記フォルディングセクションパーミュテーションステップは、前記巡回ブロックのＱ個のビットが、当該巡回ブロックに対応する前記フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語の同一のロバストレベルを有するビットにマッピングされるように、前記フォルディングセクションパーミュテーション処理を行う。
【０２３２】
本発明の一態様である第３のビットインターリーバは、第２のビットインターリーバにおいて、前記フォルディングセクションパーミュテーション部は、前記巡回ブロックのＱ個のビットが、当該巡回ブロックに対応する前記フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語の同一のロバストレベルを有するビットにマッピングされるように、前記フォルディングセクションパーミュテーション処理を行う。
【０２３３】
これらによれば、符号語の重要度が同じビットが、コンステレーション語のロバストレベルが同じビットにマッピングされ、重要度とロバストレベルの合致が得られる。例えば、符号語の最も重要度が高いビットがコンステレーション語の最もロバストレベルが高いビットにマッピングされるようにしてもよく、この場合、受信時に符号語の重要度が高いビットに対して高い信頼度が得られ、高い受信性能が得られる。
【０２３４】
本発明の一態様である第４のビットインターリーブ方法は、第１のビットインターリーブ方法において、Ｆは、前記コンステレーションの同一のロバストレベルを有するビットの数と等しい。
【０２３５】
本発明の一態様である第４のビットインターリーバは、第１のビットインターリーバにおいて、Ｆは、前記コンステレーションの同一のロバストレベルを有するビットの数と等しい。
【０２３６】
これらによれば、ハードウェア実装を効率的に実施できる。
【０２３７】
本発明の一態様である第５のビットインターリーブ方法は、第１のビットインターリーブ方法において、Ｆ＝２であり、前記コンステレーションはＱＡＭコンステレーションである。
【０２３８】
本発明の一態様である第５のビットインターリーバは、第１のビットインターリーバにおいて、Ｆ＝２であり、前記コンステレーションはＱＡＭコンステレーションである。
【０２３９】
これらによれば、ハードウェア実装を効率的に実施できる。
【０２４０】
本発明の一態様である第６のビットインターリーブ方法は、第２のビットインターリーブ方法において、前記フォルディングセクションパーミュテーションステップは、前記セクションのＭ／Ｆ×Ｑ個のビットに対して当該Ｍ／Ｆ×Ｑ個のビットの並び順を換えるカラム−ロウパーミュテーション処理を施すカラム−ロウパーミュテーションステップを有する。
【０２４１】
本発明の一態様である第７のビットインターリーブ方法は、第６のビットインターリーブ方法において、前記カラム−ロウパーミュテーション処理は、Ｍ／Ｆ×Ｑ個のビットをＱ列Ｍ／Ｆ行の行列の行方向に書き込み、列方向にＭ×Ｑ／Ｆ個のビットを読み出すことと等価な処理である。
【０２４２】
本発明の一態様である第６のビットインターリーバは、第２のビットインターリーバにおいて、前記フォルディングセクションパーミュテーション部は、前記セクションのＭ／Ｆ×Ｑ個のビットに対して当該Ｍ／Ｆ×Ｑ個のビットの並び順を換えるカラム−ロウパーミュテーション処理を施す。
【０２４３】
これらによると、フォルディングセクションパーミュテーションにカラム‐ロウパーミュテーションを用いることによって非常に効率的にフォルディングセクションパーミュテーションの実施が可能になる。
【０２４４】
本発明の一態様である第１のビットデインターリーブ方法は、疑似巡回低密度パリティチェック符号を用いる通信システムにおいてビットストリームをビットデインターリーブするビットデインターリーブ方法であって、Ｎ×Ｑ個のビットからなるビット列を受信する受信ステップと、前記疑似巡回低密度パリティチェック符号の符号語を復元するために、受信した前記ビット列のビットに対して当該ビット列のビットの並び順を換える逆ビットパーミュテーション処理を施す逆ビットパーミュテーションステップと、を有し、前記逆ビットパーミュテーション処理は、第１のビットインターリーブ方法における前記ビットパーミュテーション処理で換えられた並び順を元に戻す処理である。
【０２４５】
本発明の一態様である第１のビットデインターリーバは、疑似巡回低密度パリティチェック符号を用いる通信システムにおいてビットストリームをビットデインターリーブするビットデインターリーバであって、Ｎ×Ｑ個のビットからなるビット列を受信し、前記疑似巡回低密度パリティチェック符号の符号語を復元するために、受信した前記ビット列のビットに対して当該ビット列のビットの並び順を換える逆ビットパーミュテーション処理を施す逆ビットパーミュテーション部を備え、前記逆ビットパーミュテーション処理は、第１のビットインターリーバによって実施される前記ビットパーミュテーション処理で換えられた並び順を元に戻す処理である。
【０２４６】
本発明の一態様である第１のデコーダは、疑似巡回低密度パリティチェック符号を用いるビットインターリーブ符号化変調システム用のデコーダであって、
対応するビットが０であるか１であるかの確率を示すソフトビット列を生成するコンステレーションデマッパと、前記ソフトビット列をビットデインターリーブする第１のビットデインターリーバと、ビットデインターリーブされた前記ソフトビット列をデコードする低密度パリティチェックデコーダと、を備える。
【０２４７】
本発明の一態様である第２のデコーダは、第１のデコーダにおいて、前記低密度パリティチェックデコーダの出力から前記低密度パリティチェックデコーダの入力を減算する減算部と、前記減算部の減算結果を前記コンステレーションデマッパにフィードバックする第１のビットインターリーバと、をさらに備える。
【０２４８】
これらによれば、高い並列性を持つビットデインターリーブ処理の実施が可能になる。
【産業上の利用可能性】
【０２４９】
本発明は、疑似巡回型低密度パリティ符号を用いたビットインターリーブ符号化変調システムにおけるビットインターリーバおよび当該ビットインターリーバに対応するビットデインターリーバに利用することができる。
【符号の説明】
【０２５０】
２０００Ａ  ビットインターリーバ
２０１０Ａ  ビットパーミュテーションユニット
２０２１Ａ  フォルディングセクションパーミュテーションユニット
２１３１Ａ、２１３２Ａ  カラム‐ロウパーミュテーションユニット
２５００Ａ  トランスミッタ
２５１０  ＬＤＰＣエンコーダ
２５２０Ａ  ビットインターリーバ
２５３０  コンステレーションマッパ
２７００Ａ、２８００Ａ  レシーバ
２７１０  コンステレーションデマッパ
２７２０Ａ  ビットデインターリーバ
２７３０  ＬＤＰＣデコーダ
２７４０  減算ユニット
２７５０Ａ  ビットインターリーバ
【図１】
2012157283.tif 000006
【図２】
2012157283.tif 000007
【図３】
2012157283.tif 000008
【図４】
2012157283.tif 000009
【図５】
2012157283.tif 000010
【図６】
2012157283.tif 000011
【図７】
2012157283.tif 000012
【図８】
2012157283.tif 000013
【図９】
2012157283.tif 000014
【図１０】
2012157283.tif 000015
【図１１】
2012157283.tif 000016
【図１２】
2012157283.tif 000017
【図１３】
2012157283.tif 000018
【図１４】
2012157283.tif 000019
【図１５】
2012157283.tif 000020
【図１６】
2012157283.tif 000021
【図１７】
2012157283.tif 000022
【図１８】
2012157283.tif 000023
【図１９】
2012157283.tif 000024
【図２０】
2012157283.tif 000025
【図２１】
2012157283.tif 000026
【図２２】
2012157283.tif 000027
【図２３】
2012157283.tif 000028
【図２４】
2012157283.tif 000029
【図２５】
2012157283.tif 000030
【図２６】
2012157283.tif 000031
【図２７】
2012157283.tif 000032
【図２８】
2012157283.tif 000033
【図２９】
2012157283.tif 000034
【図３０】
2012157283.tif 000035
【図３１】
2012157283.tif 000036
【図３２】
2012157283.tif 000037
【図３３】
2012157283.tif 000038
【図３４】
2012157283.tif 000039
【図３５】
2012157283.tif 000040
【図３６】
2012157283.tif 000041
【図３７】
2012157283.tif 000042
【図３８】
2012157283.tif 000043
【図３９】
2012157283.tif 000044
【図４０】
2012157283.tif 000045
【図４１】
2012157283.tif 000046
【図４２】
2012157283.tif 000047
【図４３】
2012157283.tif 000048
【手続補正書】
【提出日】平成24年9月24日(2012.9.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーブ方法であって、
前記ビットインターリーブ方法は、
それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信する受信ステップと、
前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施すビットパーミュテーションステップと、
前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２Ｍ個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割する分割ステップと、
を有し、
前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、
前記ビットパーミュテーションステップは、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う
ことを特徴とするビットインターリーブ方法。
【請求項２】
前記ビットパーミュテーションステップは、
Ｆ×Ｎ／Ｍ個の前記フォルディングセクションを互いに独立に、各前記フォルディングセクションのビットに対して当該フォルディングセクションのビットの並び順を換えるフォルディングセクションパーミュテーション処理を施すフォルディングセクションパーミュテーションステップ
を有することを特徴とする請求項１に記載のビットインターリーブ方法。
【請求項３】
前記フォルディングセクションパーミュテーションステップは、
前記巡回ブロックのＱ個のビットが、当該巡回ブロックに対応する前記フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語の同一のロバストレベルを有するビットにマッピングされるように、前記フォルディングセクションパーミュテーション処理を行う
ことを特徴とする請求項２に記載のビットインターリーブ方法。
【請求項４】
Ｆは、前記コンステレーションの同一のロバストレベルを有するビットの数と等しい
ことを特徴とする請求項１に記載のビットインターリーブ方法。
【請求項５】
Ｆ＝２であり、前記コンステレーションはＱＡＭコンステレーションである
ことを特徴とする請求項１に記載のビットインターリーブ方法。
【請求項６】
前記フォルディングセクションパーミュテーションステップは、
前記セクションのＭ／Ｆ×Ｑ個のビットに対して当該Ｍ／Ｆ×Ｑ個のビットの並び順を換えるカラム−ロウパーミュテーション処理を施すカラム−ロウパーミュテーションステップを有する
ことを特徴とする請求項２に記載のビットインターリーブ方法。
【請求項７】
前記カラム−ロウパーミュテーション処理は、Ｍ／Ｆ×Ｑ個のビットをＱ列Ｍ／Ｆ行の行列の行方向に書き込み、列方向にＭ×Ｑ／Ｆ個のビットを読み出すことと等価な処理である
ことを特徴とする請求項６に記載のビットインターリーブ方法。
【請求項８】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号を用いる通信システムにおいてビットストリームをビットデインターリーブするビットデインターリーブ方法であって、
Ｎ×Ｑ個のビットからなるビット列を受信する受信ステップと、
受信した前記ビット列のビットに対して当該ビット列のビットの並び順を換える逆ビットパーミュテーション処理を施す逆ビットパーミュテーションステップと、
を有し、
前記逆ビットパーミュテーション処理は、請求項１に記載のビットインターリーブ方法における前記ビットパーミュテーション処理で換えられた並び順を元に戻す処理である
ことを特徴とするビットデインターリーブ方法。
【請求項９】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号を用いる通信システムにおけるビットインターリーバであって、
前記ビットインターリーバは、
それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される前記疑似巡回低密度パリティチェック符号の符号語を受信し、前記符号語のビットに対して当該符号語のビットの並び順を換えるビットパーミュテーション処理を施し、前記ビットパーミュテーション処理が施された符号語を、それぞれがＭ個のビットよりなり、それぞれが所定のコンステレーションの２Ｍ個のコンステレーションポイントのいずれか１つを示す複数のコンステレーション語に分割されるように出力するビットパーミュテーション部
を備え、
前記ビットパーミュテーション処理が施される前の前記符号語はＦ×Ｎ／Ｍ個のフォルディングセクションに分割され、Ｆは１より大きい整数であり、各前記フォルディングセクションはＭ／Ｆ個の前記巡回ブロックからなり、各前記コンステレーション語はＦ×Ｎ／Ｍ個の前記フォルディングセクションのうちのいずれか１つと関連付けられており、
前記ビットパーミュテーション部は、各前記コンステレーション語が、関連付けられている前記フォルディングセクション中のＭ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットから構成され、各前記フォルディングセクションのすべてのビットが当該フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語にのみにマッピングされるように、前記ビットパーミュテーション処理を行う
ことを特徴とするビットインターリーバ。
【請求項１０】
前記ビットパーミュテーション部は、
Ｆ×Ｎ／Ｍ個の前記フォルディングセクションを互いに独立に、各前記フォルディングセクションのビットに対して当該フォルディングセクションのビットの並び順を換えるフォルディングセクションパーミュテーション処理を施すフォルディングセクションパーミュテーション部
を有することを特徴とする請求項９に記載のビットインターリーバ。
【請求項１１】
前記フォルディングセクションパーミュテーション部は、
前記巡回ブロックのＱ個のビットが、当該巡回ブロックに対応する前記フォルディングセクションに関連付けられているＱ／Ｆ個の前記コンステレーション語の同一のロバストレベルを有するビットにマッピングされるように、前記フォルディングセクションパーミュテーション処理を行う
ことを特徴とする請求項１０に記載のビットインターリーバ。
【請求項１２】
Ｆは、前記コンステレーションの同一のロバストレベルを有するビットの数と等しい
ことを特徴とする請求項９に記載のビットインターリーバ。
【請求項１３】
Ｆ＝２であり、前記コンステレーションはＱＡＭコンステレーションである
ことを特徴とする請求項９に記載のビットインターリーバ。
【請求項１４】
前記フォルディングセクションパーミュテーション部は、
前記セクションのＭ／Ｆ×Ｑ個のビットに対して当該Ｍ／Ｆ×Ｑ個のビットの並び順を換えるカラム−ロウパーミュテーション処理を施す
ことを特徴とする請求項１０に記載のビットインターリーバ。
【請求項１５】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号を用いる通信システムにおいてビットストリームをビットデインターリーブするビットデインターリーバであって、
Ｎ×Ｑ個のビットからなるビット列を受信し、受信した前記ビット列のビットに対して当該ビット列のビットの並び順を換える逆ビットパーミュテーション処理を施す逆ビットパーミュテーション部を備え、
前記逆ビットパーミュテーション処理は、請求項９に記載のビットインターリーバによって実施される前記ビットパーミュテーション処理で換えられた並び順を元に戻す処理である
ことを特徴とするビットデインターリーバ。
【請求項１６】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号を用いるビットインターリーブ符号化変調システム用のデコーダであって、
対応するビットが０であるか１であるかの確率を示すソフトビット列を生成するコンステレーションデマッパと、
前記ソフトビット列をビットデインターリーブする請求項１５に記載のビットデインターリーバと、
ビットデインターリーブされた前記ソフトビット列をデコードする低密度パリティチェックデコーダと、
を備えることを特徴とするデコーダ。
【請求項１７】
前記低密度パリティチェックデコーダの出力から前記低密度パリティチェックデコーダの入力を減算する減算部と、
前記減算部の減算結果を前記コンステレーションデマッパにフィードバックする請求項９に記載のビットインターリーバと、
をさらに備えることを特徴とする請求項１６に記載のデコーダ。
【手続補正書】
【提出日】平成25年10月16日(2013.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号の符号語をインターリーブするビットインターリーブ方法であって、
前記ビットインターリーブ方法は、
それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される符号語の各ビットを、それぞれがＭ個のビットで構成されるＱ×Ｎ／Ｍ個のコンステレーション語に割り当てる割り当てステップ、
を有し、
ＮはＭ／Ｆの倍数であり、
Ｆは１より大きい整数であり、且つＭとＱの約数であり、
前記割り当てステップは、
それぞれがＭ／Ｆ個の前記巡回ブロックから構成されるＦ×Ｎ／Ｍ個のフォルディングセクションそれぞれにおいて、Ｑ／Ｆ個のコンステレーション語のそれぞれに、Ｍ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットを割り当てる処理を行う
ことを特徴とするビットインターリーブ方法。
【請求項２】
リピートアキュミュレート疑似巡回低密度パリティチェック符号を含む疑似巡回低密度パリティチェック符号の符号語をインターリーブするビットインターリーバであって、
前記ビットインターリーバは、
それぞれがＱ個のビットからなるＮ個の巡回ブロックで構成される符号語の各ビットを、それぞれがＭ個のビットで構成されるＱ×Ｎ／Ｍ個のコンステレーション語に割り当てる割り当て部、
を備え、
ＮはＭ／Ｆの倍数であり、
Ｆは１より大きい整数であり、且つＭとＱの約数であり、
前記割り当て部は、
それぞれがＭ／Ｆ個の前記巡回ブロックから構成されるＦ×Ｎ／Ｍ個のフォルディングセクションそれぞれにおいて、Ｑ／Ｆ個のコンステレーション語のそれぞれに、Ｍ／Ｆ個の異なる前記巡回ブロックのそれぞれのＦ個のビットからなる計Ｍ個のビットを割り当てる処理を行う、
ことを特徴とするビットインターリーバ。
【請求項３】
デコード方法であって、
請求項１記載のビットインタリーブ方法により各コンスタレーション語に割り当てられたＭ個のビットを変調して送信された信号を復調して復調信号を生成する復調ステップと、
前記復調信号をデコードして、前記疑似巡回低密度パリティチェック符号による符号化前のデータを生成するデコードステップと、
を有することを特徴とするデコード方法。
【請求項４】
デコーダであって、
請求項２記載のビットインタリーバにより各コンスタレーション語に割り当てられたＭ個のビットを変調して送信された信号を復調して復調信号を生成する復調部と、
前記復調信号をデコードして、前記疑似巡回低密度パリティチェック符号による符号化前のデータを生成するデコード部と、
を備えることを特徴とするデコード方法。
【国際調査報告】
2012157283.tif 000049
2012157283.tif 000050
2012157283.tif 000051
2012157283.tif 000052