(57)【要約】【課題】ターボ符号のインタリーバサイズを選択する方法および装置を提供する。【解決手段】動作中、サイズＫの情報ブロックが受信される。Ｋ”に関連するインタリーバサイズＫ’が決定される。Ｋ”は、Ｋ”＝ａｐ×ｆ（ｐｍｉｎ≦ｐ≦ｐｍａｘ，ｆｍｉｎ≦ｆ≦ｆｍａｘ）を含む、サイズのセットに由来する。ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）。必要な場合、充填ビットを用いて、サイズＫの情報ブロックがサイズＫ’の入力ブロックへとパディングされる。元の入力ブロックおよびインタリーブされた入力ブロックを用いて符号化が実行され、ターボ符号器を用いる符号語ブロックが得られる。符号語ブロックはチャネルを通じて送信される。【選択図】      図５
2008092571.tif 000002
【特許請求の範囲】
【請求項１】
ターボ符号器を動作させる方法であって、
サイズＫの情報ブロックを受信する情報ブロック受信工程と、
Ｋ”に関連するインタリーバサイズＫ’を決定するインタリーバサイズ決定工程と、Ｋ”は、Ｋ”＝ａｐ×ｆ（ｐｍｉｎ≦ｐ≦ｐｍａｘ，ｆｍｉｎ≦ｆ≦ｆｍａｘ）を含む、サイズのセットに由来することと、ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）ことと、
サイズＫの情報ブロックをサイズＫ’の入力ブロックへとパディングするブロックパディング工程と、
サイズＫ’のインタリーバを用いて入力ブロックをインタリーブするブロックインタリーブ工程と、
元の入力ブロックおよびインタリーブされた入力ブロックを符号化して、符号語ブロックを取得するブロック符号化工程と、
チャネルを通じて符号語ブロックを送信するブロック送信工程と、からなる方法。
【請求項２】
インタリーバサイズ決定工程はＫ’＝Ｋ”を用いる工程を含む請求項１に記載の方法。
【請求項３】
インタリーバサイズ決定工程は、Ｋ”が（２ｍ−１）の倍数でないときＫ’＝Ｋ”を用い、Ｋ”が（２ｍ−１）の倍数であるときＫ’＝Ｋ”＋δ（Ｋ”）を用いる工程と、ｍは構成畳込み符号器のメモリ長さであり、δ（Ｋ”）は（２ｍ−１）の倍数に等しくない正または負の小さな整数であることと、を含む請求項１に記載の方法。
【請求項４】
ｍ＝３である請求項３に記載の方法。
【請求項５】
ｆｍａｘ＝ａ×ｆｍｉｎ−１である請求項１に記載の方法。
【請求項６】
ｆｍａｘ＝ａ×（ｆｍｉｎ−１）である請求項１に記載の方法。
【請求項７】
ブロックインタリーブ工程は無競合インタリーバを用いて入力ブロックをインタリーブする工程を含む請求項１に記載の方法。
【請求項８】
ブロックインタリーブ工程は、順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いる工程と、０≦ｉ≦Ｋ’−１はインタリーブ後のシンボル位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のシンボルインデックスであり、Ｋ’はシンボルでのインタリーバサイズであり、Ｐ０はＫ’と互いに素である数であり、Ａは定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）はｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式のディザベクトルであることと、α（・）およびβ（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルであることと、を含む請求項１に記載の方法。
【請求項９】
Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値は次のテーブルの１つ以上の行から得られる請求項８に記載の方法。
【表１】
2008092571.tif 000018
2008092571.tif 000019
【請求項１０】
ターボ符号器を動作させる装置であって、
サイズＫ’の入力ブロックを受信する受信回路と、
サイズＫ’のインタリーバおよび順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いて入力ブロックを符号化する符号器と、０≦ｉ≦Ｋ’−１はインタリーブ後のビット位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のビットインデックスであり、Ｐ０はＫ’と互いに素である数であり、Ａは３に等しい定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）はｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式のディザベクトルであることと、α（・）およびβ（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルであることと、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値は次のテーブルの１つ以上の行から得られることと、からなる装置。
【表２】
2008092571.tif 000020
2008092571.tif 000021
2008092571.tif 000022
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの符号化および復号に関する。詳細には、本発明はターボ符号化および復号の方法ならびに装置に関する。
【背景技術】
【０００２】
有線および無線リンクを通じるデジタルデータ伝送は、例えば、リンクもしくはチャネルにおけるノイズ、他の伝送からの干渉、または他の環境要因によって、損なわれることがある。チャネルによって導入される誤りに対処するため、多くの通信システムでは、通信を支援するための誤り訂正技術が用いられている。
【０００３】
誤り訂正のために利用される１つの技術は、チャネルを通じて送信される前に情報ブロックをターボ符号化することである。非特許文献１は、ターボ符号化について記載されている。そのような技術を利用して、通信システムの送信機内の符号器は、長さＫ’ビットの入力ブロック［ｕ］（以下、ベクトルは［］を付けて表記する）をＮビットの符号語ブロック［ｘ］へと符号化する。次いで、この符号語ブロックは、場合によってはさらなる処理（ＩＥＥＥ  ８０２．１６ｅ仕様に定義されているチャネルインタリーブなど）の後、チャネルを通じて送信される。受信機では、ターボ復号器は受信した長さＮの信号ベクトル［ｙ］を入力として取得し、ベクトル［ｕ］の推定
【０００４】
【数１】
2008092571.tif 000003
（以下、［＾ｕ］と表記する）を生成する。
【０００５】
通常、ターボ符号器は２つの要素畳込み符号器からなる。第１の要素符号器は入力として入力ブロック［ｕ］をその元の順序で取得し、第２の要素符号器は、ターボインタリーバπに［ｕ］を通過させた後、入力ブロック［ｕ］をそのインタリーブされた順序で取得する。ターボ符号器の出力［ｘ］は、システマティックビット（入力ブロック［ｕ］に等しい）と、第１の要素符号器からのパリティビットと、第２の要素符号器からのパリティビットとからなる。
【０００６】
これに対応して、通信システムの受信機内のターボ復号器は、各要素符号に対して１つずつ、２つの要素畳込み復号器からなる。要素復号器はインタリーバπおよび相当するデインタリーバπ−１によって分離されている。要素復号器間では、対数尤度比（ＬＬＲ）形式のメッセージが反復的に渡される。数回の反復後、決定［＾ｕ］が生成される。
【非特許文献１】３ＧＰＰ  ＴＳ  ２５．２１２  ｖ６．４．０  （２００５−０３）：「多重化およびチャネル符号化（Ｍｕｌｔｉｐｌｅｘｉｎｇ  ａｎｄ  Ｃｈａｎｎｅｌ  Ｃｏｄｉｎｇ）（ＦＤＤ）  第６リリース（Ｒｅｌｅａｓｅ  ６）」、２００５年３月。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ターボ符号の設計において、ターボインタリーバπは重要な構成要素である。ターボインタリーバπは偽似ランダムに入力ブロック［ｕ］をスクランブルする役割を担っているため、符号語［ｘ］に良好な重み分布を、したがって良好な誤り訂正機能を提供する。復号機能に加え、ターボインタリーバπの定義によって、受信機内のターボ復号器の実装には相当な影響が与えられる。メモリアクセスが競合することなく高水準の並行処理を可能とするために、ターボインタリーバπが無競合特性を有する必要が存在する。
【課題を解決するための手段】
【０００８】
上記問題点を解決するために、請求項１に記載の発明は、ターボ符号器を動作させる方法であって、サイズＫの情報ブロックを受信する情報ブロック受信工程と、Ｋ”に関連するインタリーバサイズＫ’を決定するインタリーバサイズ決定工程と、Ｋ”は、Ｋ”＝ａｐ×ｆ（ｐｍｉｎ≦ｐ≦ｐｍａｘ，ｆｍｉｎ≦ｆ≦ｆｍａｘ）を含む、サイズのセットに由来することと、ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）ことと、サイズＫの情報ブロックをサイズＫ’の入力ブロックへとパディングするブロックパディング工程と、サイズＫ’のインタリーバを用いて入力ブロックをインタリーブするブロックインタリーブ工程と、元の入力ブロックおよびインタリーブされた入力ブロックを符号化して、符号語ブロックを取得するブロック符号化工程と、チャネルを通じて符号語ブロックを送信するブロック送信工程と、からなることを要旨とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の方法において、インタリーバサイズ決定工程はＫ’＝Ｋ”を用いる工程を含むことを要旨とする。
請求項３に記載の発明は、請求項１に記載の方法において、インタリーバサイズ決定工程は、Ｋ”が（２ｍ−１）の倍数でないときＫ’＝Ｋ”を用い、Ｋ”が（２ｍ−１）の倍数であるときＫ’＝Ｋ”＋δ（Ｋ”）を用いる工程と、ｍは構成畳込み符号器のメモリ長さであり、δ（Ｋ”）は（２ｍ−１）の倍数に等しくない正または負の小さな整数であることと、を含むことを要旨とする。
【００１０】
請求項４に記載の発明は、請求項３に記載の方法において、ｍ＝３であることを要旨とする。
請求項５に記載の発明は、請求項１に記載の方法において、ｆｍａｘ＝ａ×ｆｍｉｎ−１であることを要旨とする。
【００１１】
請求項６に記載の発明は、請求項１に記載の方法において、ｆｍａｘ＝ａ×（ｆｍｉｎ−１）であることを要旨とする。
請求項７に記載の発明は、請求項１に記載の方法において、ブロックインタリーブ工程は無競合インタリーバを用いて入力ブロックをインタリーブする工程を含むことを要旨とする。
【００１２】
請求項８に記載の発明は、請求項１に記載の方法において、ブロックインタリーブ工程は、順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いる工程と、０≦ｉ≦Ｋ’−１はインタリーブ後のシンボル位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のシンボルインデックスであり、Ｋ’はシンボルでのインタリーバサイズであり、Ｐ０はＫ’と互いに素である数であり、Ａは定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）はｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式のディザベクトルであることと、α（・）およびβ（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルであることと、を含むことを要旨とする。
【００１３】
請求項９に記載の発明は、請求項８に記載の方法において、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値は次のテーブルの１つ以上の行から得られることを要旨とする。
請求項１０に記載の発明は、ターボ符号器を動作させる装置であって、サイズＫ’の入力ブロックを受信する受信回路と、サイズＫ’のインタリーバおよび順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いて入力ブロックを符号化する符号器と、０≦ｉ≦Ｋ’−１はインタリーブ後のビット位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のビットインデックスであり、Ｐ０はＫ’と互いに素である数であり、Ａは３に等しい定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）はｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式のディザベクトルであることと、α（・）およびβ（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルであることと、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値は次のテーブルの１つ以上の行から得られることと、からなることを要旨とする。
【発明を実施するための最良の形態】
【００１４】
データの符号化および復号について記載する前に、必要な背景を設定するため、次の定義を提供する：
・Ｋは、情報ブロックのサイズを表す。
・Ｋ’は、インタリーバのサイズ（すなわち、ターボ符号インタリーバが定義される入力ブロックサイズ）を表す。
・Ｋ”は、インタリーバサイズを決定するために用いることのできる補助変数を表す。
・Ｋｆｉｌｌｅｒは、情報ブロックに付加される充填ビットの数を表す。
・Ｒは、ターボ符号器の原符号レートを表す（例えば、３ＧＰＰターボ符号では、Ｒ＝１／３）。
・Ｒ−１は、ターボ符号器の原符号レートの逆数を表す（例えば、３ＧＰＰターボ符号では、Ｒ−１＝３）。
・ＮＴＢは、符号化されたブロックにおけるテイルビットの数である。特に、３ＧＰＰターボ符号において、
テイルビットを備えた３ＧＰＰターボ符号では、ＮＴＢ＝１２、
テイルバイティング要素畳込み符号を備えた３ＧＰＰターボ符号では、ＮＴＢ＝０。
・πはターボ符号内部インタリーバを表す。
・床演算
【００１５】
【数２】
2008092571.tif 000004
はｘより小さい最大の整数を表し、天井演算
【００１６】
【数３】
2008092571.tif 000005
はｘより大きい最小の整数を表す。
・［ｕ］は入力ブロックを表す。入力ブロックの長さはＫ’であり、送信機のターボ符号器へ送られる。［＾ｕ］は推定された入力ブロックを表す。推定された入力ブロックの長さはＫ’であり、受信機のターボ復号器によって生成される。なお、復号誤りが存在しない場合、［＾ｕ］＝［ｕ］であり、それ以外の場合、［＾ｕ］≠［ｕ］である。
【００１７】
ここで図面を参照する。図１は、送信機１００のブロック図である。示すように、送信機１００は、充填挿入回路１０９、ターボ符号器１０１、インタリーバサイズ決定回路１０３、インタリーバパラメータテーブル１０５、および送信機１０７を備える。符号器１０１は、好適には、レート１／３  ３ＧＰＰターボ符号器である。しかしながら、符号器１０１を動作させる本明細書に記載の技術は、以下に限定されないが、テイルビットを備えるまたは備えていないターボ符号器、テイルバイティングターボ符号器、バイナリまたはデュオ・バイナリターボ符号器、異なるレートマッチング・パンクチャリング技術を用いるターボ符号器などを含む、他の符号器に適用されてよい。回路１０３は、Ｋ”に関連するインタリーバサイズＫ’を決定する。ここで、Ｋ”は、Ｋ”＝ａｐ×ｆ（ｐｍｉｎ≦ｐ≦ｐｍａｘ，ｆｍｉｎ≦ｆ≦ｆｍａｘ）を含む、サイズのセットに由来する。ここで、ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）。
【００１８】
送信機１００の動作中、ターボ符号器１０１によってサイズＫの情報ブロックが符号化される必要がある。多数の異なるＫが用いられる一部の通信システムでは、すべての情報ブロックサイズＫに対し無競合（ＣＦ）のインタリーバを定義することは非効率的である（また、多くの場合には不可能である）。良く設計されたＣＦインタリーバの小さなセット（Ｋ’）によってすべての情報ブロックサイズがカバーされるならば、好適である。情報ブロックサイズＫが与えられると、回路１０３によって、サイズのセット（例えば、テーブル１０５に挙げられるインタリーバサイズ）から適切なインタリーバサイズＫ’が選択され得る。次いで、回路１０９によってサイズＫ’の入力ブロックへ情報ブロックがパディングされ、入力としてターボ符号器１０１へ送信される。典型的な構成では、（充填挿入回路１０９を介して）Ｋｆｉｌｌｅｒ個の充填ビットを情報ブロックにパディングする。なお、ブロックまたはベクトルの要素数を示すために、用語「サイズ」および「長さ」を区別せずに用いる。
【００１９】
回路１０３によってＫ’が選択されると、そのＫ’はターボ符号器１０１へ提供される。符号化中、無競合インタリーバが用いられてもよい（図１には示さず）。例えば、インタリーバは順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いることが可能である。ここで、０≦ｉ≦Ｋ’−１はインタリーブ後のシンボル位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のシンボルインデックスである。Ｋ’は、シンボルでのインタリーバサイズであり、Ｐ０はＫ’と互いに素である数であり、Ａは定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）は、ｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式の「ディザ」ベクトルである。ここで、α（・），β（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルである。一般に、シンボルは複数のビットからなってよく、インタリーブする工程は、シンボル内のビットの順列を変更する追加の工程を用いてよい。一般性を失うことなく、以下の説明では、シンボルが１ビットのみからなる典型的な場合を検討する（したがって、シンボル内のビットの順列を変更する必要はない）。また、用語「ビット」および「シンボル」を区別せずに用いることがある。
【００２０】
ターボ符号器１０１の出力は、符号語ブロック［ｘ］を含む。［ｘ］は送信機１０７へ送られ、チャネルを通じて送信される。送信機は、チャネルを通じて符号語ブロック［ｘ］を送信する前に、レートマッチング、チャネルインタリーブ、変調など、追加の処理を実行してよい。
【００２１】
図２は、図１の符号器１０１のブロック図である。示すように、符号器１０１は、インタリーバ２０１、符号化回路２０２、および符号化回路２０３を含む。インタリーバ２０１は、無競合インタリーバであってよい。インタリーバπ（ｉ）（０≦ｉ＜Ｋ’）は、ψ＝π（インタリーバ）およびψ＝π−１（デインタリーバ）の両方に対する次の制約を満たすとき、かつそのときに限り、ウィンドウサイズＷに対し無競合であると言える。
【００２２】
【数４】
2008092571.tif 000006
ここで、０≦ｊ＜Ｗ，０≦ｔであり、ｖ＜Ｍ（＝Ｋ’／Ｗ）であり、ｔ≠ｖである。必ずしも必要ではないが、効率的なターボ復号器設計のためには、通常、Ｍ個のウィンドウすべてが満たされる。ここで、Ｋ’＝ＭＷである。式（１）中の項は、反復的な復号中に出力メモリバンクに外部値を書き込むとき、Ｍ個のプロセッサによって同時にアクセスされるメモリバンクアドレスである。これらのメモリバンクアドレスがすべて各読出・書込動作中にユニークである場合、メモリアクセスに競合は存在しない。したがって、（デ）インタリーブする遅延を回避し、高速な復号器を実装することが可能である。
【００２３】
ターボ符号器１０１の動作中、長さＫ’ビットの入力ブロックが、インタリーバ２０１および符号化回路２０２の両方に入力される。インタリーバ２０１はサイズＫ’の無競合インタリーバであってよい。
【００２４】
インタリーバ２０１は入力ブロックをインタリーブし、インタリーブした順序で入力ブロックを符号化回路２０３へ渡す。次いで、符号化回路２０３はインタリーブされた入力ブロックを符号化する。同様にして、符号化回路２０２は元の入力ブロックを符号化する。符号語ブロック［ｘ］は、システマティックブロック（ＦＥＣ入力ブロックに等しい）、符号化回路２０２の出力、および符号化回路２０３の出力からなる。次いで、符号語ブロック［ｘ］は送信機１０７へ送られる。送信機１０７は、入力ブロックのコピーを直接受信することも可能である。
【００２５】
無競合インタリーバの例として、ほぼ規則的な順列置換（ＡＲＰ）のインタリーバは次の表現によって与えられる。
【００２６】
【数５】
2008092571.tif 000007
ここで、０≦ｉ≦Ｋ’−１はインタリーブ後のビット位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のビットインデックスである。Ｋ’はインタリーバサイズであり、Ｐ０はＫ’と互いに素である数であり、Ａは定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）は、ｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式の「ディザ」ベクトルである。ここで、α（・），β（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルである。このように構成された全体的なインタリーバπ（・）は、周期Ｃの疑似巡回性（すなわち、周期性）を有し、テイルバイティングターボ符号において用いられるとき、ターボ符号自身も疑似巡回性となり、単純化された符号設計手順を導く。
【００２７】
インタリーバ２０１が様々なＭの値において式（１）を満たすことが可能である場合、様々な平行度（各Ｍに対し１つずつ）を用いて復号器を実装することが可能である。したがって、様々な因子を有するＫ’を選択することが所望される。長さＫ’のＡＲＰインタリーバにおいては、メモリアクセスの競合なく高速な復号を行うために、Ｃの倍数およびＫ’の因子である任意のウィンドウサイズＷを用いることが可能である。このため、広範囲の平行度因子Ｍを許容することによって、復号器設計に柔軟性およびスケーラビリティが提供される。したがって、システム（またはユーザ要素のクラス）の要件に基づき、復号速度と複雑性との間で良好な妥協を得ることが可能である。
【００２８】
インタリーバサイズＫ’の選択：
上述のように、インタリーバサイズ決定回路１０３は、所与のＫに対するインタリーバサイズＫ’を決定する必要がある。この節では、ターボ符号インタリーバを定義できる限られた数のサイズ（すなわち、Ｋ’）を選択する手法について記載する。上述のように、任意の情報ブロックサイズＫを処理するために、充填挿入回路（また、パンクチャリングまたはレートマッチング法）が用いられてもよい。一般に、インタリーバサイズ選択では、充填ビットによる復号の負担および性能劣化を考慮に入れる必要がある。
【００２９】
入力ブロックを形成するために情報ブロックにパディングされる充填ビット数Ｋｆｉｌｌｅｒは、情報ブロックサイズＫのうちの小さな割合（例えば、約１０〜１３％）に制限されることが望ましい。これは、隣接したインタリーバサイズ、すなわち、隣接したＫ’の値の間の差を制限することによって達成される（利用可能なＫ’の値すべてが昇順に並べられていると仮定する）。Ｋ’≧Ｋとなるように、利用可能な最小のＫ’を選択することによって、充填ビット数は最小となる。充填ビット数は、Ｋｆｉｌｌｅｒ＝Ｋ’−Ｋである。しかしながら、所望の場合、Ｋ’≧Ｋとなる他の値も選択されてよい。
【００３０】
Ｋｍｉｎ〜Ｋｍａｘの情報サイズをカバーするように定義される次のサイズのセットを考える。
【００３１】
【数６】
2008092571.tif 000008
ここで、ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）。必ずしも必要ではないが、不要な任意のサイズを破棄しつつ、これらのパラメータをＫｍｉｎ＝ａｐｍｉｎ×ｆｍｉｎ，Ｋｍａｘ＝ａｐｍａｘ×ｆｍａｘとなるように選択することが可能である。ある範囲の情報ブロックサイズをカバーするように限られたサイズのセットを選択するこの方法は、半対数スライシングと呼ばれる。サイズＫの所与の情報ブロックにおいて、Ｋ”に関連するサイズＫ’は、半対数スライシングテーブル、および入力ブロックサイズＫに基づく（一般には必ずしも必要でないが、簡単のため、以降の説明では半対数スライシングの値は有効なインタリーバサイズすべてを含む（すなわち、Ｋ’＝Ｋ”）と仮定する）。
【００３２】
半対数スライシングは、例えば、音声コーデックに用いられるＡ則およびμ則圧縮伸張器など、大ダイナミックレンジの信号を圧縮するのに用いられる圧縮伸張演算と同様である。半対数スライシング規則によって、広範囲の情報ブロックサイズをカバーする効率的な設計が可能となる。
【００３３】
パラメータを選択する幾つかの手法のうち、ｆｍｉｎおよびｆｍａｘの値を選択する１つの手法は、互いに並び合う隣接したｐからＫ’を得ることである。すなわち、ａｐ×（ｆｍａｘ＋１）＝ａｐ＋１×ｆｍｉｎであり、したがって、
【００３４】
【数７】
2008092571.tif 000009
所与のｐの値に対し、２つの隣接したブロックサイズ間の分離はａｐによって与えられる。これは、グループｐにサイズＫの情報ブロックが存在する場合、最大でａｐ−１個の充填ビットが追加されることを意味する。したがって、情報ブロックサイズＫと充填ビットＫｆｉｌｌｅｒとの分数Ｋｆｉｌｌｅｒ／Ｋは、以下に示すように有界である。これは、ブロックサイズＫが（ｐ，ｆｍｉｎ）によって与えられるサイズよりわずかに大きく、（ｐ，ｆｍｉｎ＋１）によって与えられるＫ’を用いるときに生じる。
【００３５】
【数８】
2008092571.tif 000010
これに代えて、隣接したｐから得られるＫ’の値は、ａｐ×ｆｍａｘ＝ａｐ＋１×（ｆｍｉｎ−１）のように互いに並び合うことが可能であり、ｆｍａｘ＝ａ×（ｆｍｉｎ−１）が得られる。これは、同様のＫｆｉｌｌｅｒ／Ｋ拘束を与える。したがって、半対数スライシング用のパラメータは、サポートされるブロックサイズの範囲によって、また充填ビットの許容可能な分数に対し調整可能である。ｆｍｉｎの選択には、次の２つの要件の平衡が必要である。
・ｆｍｉｎは充填ビットの分数を減少させるように大きい必要がある。
・各ｐに対し定義されるブロックサイズの数がｆｍａｘ−ｆｍｉｎ＋１＝（ａ−１）×ｆｍｉｎであるので、ｆｍｉｎはインタリーバテーブルのサイズを制限するように小さい必要がある。
【００３６】
半対数スライスのサイズが定義される（Ｋ）と、例えば、以下によって、半対数スライスのサイズ（逸脱することはほぼない）からインタリーバサイズＫ’が得られる。
１．Ｋ’＝Ｋ”を用いる。
２．Ｋ”が（２ｍ−１）の倍数でないとき、Ｋ’＝Ｋ”を用いる。Ｋ”が（２ｍ−１）の倍数であるとき、Ｋ’＝Ｋ”＋δ（Ｋ”）を用いる。ここで、ｍは構成畳込み符号器のメモリ長さであり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない正または負の小さな整数である。これは、構成畳込み符号がテイルバイティングである場合、有用である。この場合、（２ｍ−１）の倍数は無効である。
【００３７】
インタリーバテーブルは、次を含む特別な場合を処理するようにさらに増強されてよい。
１．例えば、充填ビットを用いずに、或いは少数の充填ビットしか用いずに、処理の必要な任意の特別なブロックサイズをカバーするように定義される追加のインタリーバサイズのセットを用いること。
２．半対数スライスのサイズに小さな値を加算または減算することによって、インタリーバサイズを微調整可能であること。
【００３８】
任意のブロックサイズについて式（２）から計算されるＫ”に基づき、用いられるインタリーバサイズＫ’を容易に決定できるという点で、半対数スライシング法は非常に単純である。例えば、１つのスキームでは、有効なインタリーバサイズとして、半対数スライスのサイズが直接用いられてもよい。また、任意の特別なブロックサイズも非常に容易に処理可能である。
【００３９】
式（２）の半対数スライシング方法によって定義されるサイズは、ターボ符号化には不適切なインタリーバサイズを含むことがある。例えば、８状態の３ＧＰＰターボ符号器（ｍ＝３）のテイルバイティング型は、７（すなわち、２ｍ−１）の倍数である入力ブロックサイズ（すなわち、インタリーバサイズ）をサポートしない。そのような場合、式（２）によって２ｍ−１の倍数であるサイズが得られるときには、得られるサイズが２ｍ−１の倍数でなくなるように、小さな値が減算または加算される。
【００４０】
例えば、ａ＝２，ｆｍｉｎ＝８，ｆｍａｘ＝１５の場合、Ｋ’＝Ｋ”＝２ｐ×１４の形のインタリーバサイズは７の倍数であるため、テイルバイティング３ＧＰＰ  ＴＣを用いるときには無効なインタリーバサイズである。したがって、この場合、例えば、Ｋ”が７の倍数でないときにはＫ’＝Ｋ”を用い、Ｋ”が７の倍数であるときにはＫ’＝Ｋ”＋δ（Ｋ”）を用いるなど、若干の変更を伴って処理を行う必要がある。ここで、δ（Ｋ”）は７の倍数ではない正または負の小さな整数である。
【００４１】
ＡＲＰインタリーバにおいては無効な選択であるＫ”サイズに対して、関連するインタリーバサイズＫ’を決定する１つの単純な手法は、Ｋ”にｄ×Ｃを減算すること（加算も有効）である。ここで、ｄは７の倍数でない小さな正の整数であり、ＣはＫ’に近いブロックサイズに対し用いられるＡＲＰインタリーバサイクル長である（ＡＲＰインタリーバのブロックサイズがサイクル長Ｃの倍数であることを想起されたい）。換言すると、
【００４２】
【数９】
2008092571.tif 000011
ここで、Ｋ”は７の倍数である。通常、Ｃは４，８，１２，または１６など偶数であるので、この調整によって２つの利点が与えられる。すなわち、（ａ）Ｋ’は７の倍数ではなく、（ｂ）Ｋ’はＣの倍数であり、したがって、サイズＫ’に対するＡＲＰインタリーバの設計が可能である。
【００４３】
簡単のため、調整の必要なすべてのＫ”に対し、同じｄを選択することが可能である。ｄの選択における１つの重要な考慮は、式（３）または（４）によって得られるサイズがすべて相当数の因子を有することによって、そのために定義されるＣＦインタリーバにおいて広範囲の平行度をサポートすることである。
【００４４】
ＡＲＰインタリーバサイズ選択の例：
３ＧＰＰのＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）において情報ブロックサイズをカバーするのに適切なＣＦ  ＡＲＰインタリーバのセットをテーブル１に示す。テーブル１０５において利用可能なインタリーバサイズは、上述の半対数スライシング方法に基づき定義される。詳細には、
【００４５】
【数１０】
2008092571.tif 000012
であり、Ｋ’はＫ”から決定される。インタリーバサイズは次のように決定される：１２８〜７６８０のＫをカバーするために、ｐ＝４，５，６，７，８，９、かつ、ｆ＝８，９，１０，１１，１２，１３，１５には、Ｋ’＝Ｋ”を用い、ｐ＝４，５，６，７，８，９、かつ、ｆ＝１４には、Ｋ’＝Ｋ”−ｄＣを用いる。Ｋｍａｘ＝６１４４，Ｋｍｉｎ＝１２８となるように、ｐ＝９に相当する最後の３つのサイズ（ｆ＝１３，１４，１５）は除去される場合がある。テイルバイティングＴＣを処理するため、ｆ＝１４のとき、式（３）はｄ＝２として用いられる（すなわち、７の倍数であるインタリーバサイズを回避するため）。テーブル１には、これらのサイズを強調表示する。１０５においてインタリーバサイズが決定されると、各インタリーバサイズに対しＣＦインタリーバを設計することができる。
【００４６】
任意の情報ブロックサイズＫが与えられると、回路１０３は、Ｋ以上の最小のＫ’の値を１０５から選択することによって、Ｋに対し用いられるインタリーバサイズＫ’を決定することが可能である。Ｋ’が既知となり、ｆｍｉｎ＝２ｂ、ｆｍａｘ＝２ｂ＋１−１とすると、パラメータｐ，ｆは、次のように計算可能である。
【００４７】
【数１１】
2008092571.tif 000013
特に、式（５）におけるパラメータについて、
【００４８】
【数１２】
2008092571.tif 000014
パラメータｐ，ｆによって、式（２）または（５）を用いてブロックサイズＫ’を計算可能であり、さらに、テイルバイティング符号化が用いられるときに加え、ｆが７の倍数であるとき、式（３）または（４）を用いて計算されるインタリーバサイズが用いられてよい。次いで、サイズＫ’のインタリーバに関連したパラメータが、インタリーバパラメータ用の記憶手段１０５から参照される。通常、このパラメータは通信装置のメモリに格納される。
【００４９】
インタリーバパラメータ用の記憶手段１０５は、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値を用いて、ＡＲＰインタリーバパラメータを格納することができる。これらの値はテーブル１の１つ以上の行から得られる。インタリーバ２０１は、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値を用いて、ＡＲＰインタリーバを使用することができる。これらの値は次のテーブル１の１つ以上の行から得られる。なお、テーブルにおいて、ディザベクトルα（および同様にβ）は最左の値がα（０）（および同様にβ（０））に相当するように書かれている。
【００５０】
【表１】
2008092571.tif 000015
2008092571.tif 000016
2008092571.tif 000017
ＡＲＰインタリーバの特性：
インタリーバテーブルを修正するいくつかの手法が存在する。例えば、１より多くのインタリーバサイズに適用するＡＲＰパラメータのセットを用いることによって、記憶域を削減することが可能である。例えば、１０２４ビット、２０４８ビット、４０９６ビットのインタリーバはすべて、同じＡＲＰパラメータを用いることが可能である。別の変形では、必要な場合、テーブルの行のうちのいくつかは、異なるＣ値に基づき再設計されてよい。別の改良では、パラメータのエントリのうちの一部（例えば、α（０），β（０））は固定されてよい（例えば、常に０）。
【００５１】
以下は、テーブル１を得るために用いられるインタリーバ選択手続に関するさらなる注釈である。
１．記憶域を減少させるために、オフセット値Ａ＝３を選択する。
２．性能研究および記憶域に基づき、Ｋ’＜１０２４にはサイクル長Ｃ＝４を用い、Ｋ’≧１０２４にはＣ＝８を用いる。
３．各ブロックサイズにおいて、ＡＲＰインタリーバ性能（テイルバイティング符号化を備える）が３ＧＰＰターボ符号の仕様に規定されているインタリーバの性能以上であることを確認するために、シミュレーションを実行した。
４．式（５）に基づき、特定のインタリーバサイズのセット（例えば、１２８〜６１４４ビット）をカバーするように、テーブル１を定義した。好適な場合、他のインタリーバサイズを追加または削除することが可能である。
５．１０５に定義されるインタリーバはすべて、許容可能な性能劣化に応じて、テイルまたはテイルバイティングターボ符号に用いることが可能である。
【００５２】
図３は、レシーバ３００のブロック図である。入力では、充填処理回路３０２は、無線を介して送信され得る信号ベクトルを受信する。次いで、回路３０６はインタリーバサイズＫ’を決定する。これは、例えば、記憶域３０８のテーブル参照を実行することによって、または式（７），（８），（２）などの計算によって、上述と同様に実行可能である。したがって、情報ブロックサイズＫが与えられると、復号器３０４は符号器１０１によって用いられたのと同じインタリーバサイズＫ’を用いる。充填処理回路３０２は、受信した信号ベクトルと充填ビット位置とを適切に処理するために用いられる（例えば、充填ビット位置が既知である場合、復号中、相当するＬＬＲの大きさを非常に大きく設定することが可能である）。次いで、ターボ復号器３０４は復号を実行し、長さＫ’の入力ブロックの推定［＾ｕ］を取得する。最後に、情報ブロック抽出回路３１０は、推定された情報ブロックを［＾ｕ］から抽出する。説明を容易にするため、充填処理回路３０２をターボ復号器の外側に示すが、それら２つを組み合わせて実装することが可能である。
【００５３】
図４は、図３のターボ復号器のブロック図である。明らかなように、インタリーバ４０２およびデインタリーバ４０１は、復号回路４０３と復号回路４０４との間に存在する。当該技術分野において知られているように反復的な復号が行われるが、しかしながら、従来技術の復号器と異なり、インタリーバサイズＫ’はＫ”に関連している。ここで、Ｋ”は、Ｋ”＝ａｐ×ｆ（ｐｍｉｎ≦ｐ≦ｐｍａｘ，ｆｍｉｎ≦ｆ≦ｆｍａｘ）を含む、サイズのセットに由来する。ここで、ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）。
【００５４】
上述のように、一実施形態ではＫ’＝Ｋ”である。さらに別の実施形態では、Ｋ”が（２ｍ−１）の倍数でないとき、Ｋ’＝Ｋ”であり、Ｋ”が（２ｍ−１）の倍数であるとき、Ｋ’＝Ｋ”＋δ（Ｋ”）を用いる。ここで、ｍは構成畳込み符号器のメモリ長さであり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない正または負の小さな整数である。一実施形態ではｍ＝３である。
【００５５】
インタリーバ４０２は、順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いる。ここで、０≦ｉ≦Ｋ’−１はインタリーブ後のシンボル位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のシンボルインデックスである。Ｋ’は、シンボルでのインタリーバサイズであり、Ｐ０はＫ’と互いに素である数であり、Ａは定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）は、ｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式の「ディザ」ベクトルである。ここで、α（・），β（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルである。好適には、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値はテーブル１の行から得られる。
【００５６】
図５は、送信機１００の動作を示すフローチャートである。ロジックフローは工程５０１にて開始する。工程５０１にて、回路１０３はＫ”に関連するインタリーバサイズＫ’を決定する。ここで、Ｋ”は、Ｋ”＝ａｐ×ｆ（ｐｍｉｎ≦ｐ≦ｐｍａｘ，ｆｍｉｎ≦ｆ≦ｆｍａｘ）を含む、サイズのセットに由来する。ここで、ａは整数であり、ｆはｆｍｉｎ〜ｆｍａｘの連続する整数であり、ｐはｐｍｉｎ〜ｐｍａｘの整数値を取る（ａ＞１，ｐｍａｘ＞ｐｍｉｎ，ｐｍｉｎ＞１）。上述のように、一実施形態ではＫ’＝Ｋ”である。さらに別の実施形態では、Ｋ”が（２ｍ−１）の倍数でないとき、Ｋ’＝Ｋ”であり、Ｋ”が（２ｍ−１）の倍数であるとき、Ｋ’＝Ｋ”＋δ（Ｋ”）を用いる。ここで、ｍは構成畳込み符号器のメモリ長さであり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない正または負の小さな整数である。一実施形態ではｍ＝３である。
【００５７】
工程５０３にて、充填挿入回路１０９は、サイズＫの情報ブロックを受信し、サイズＫの情報ブロックをサイズＫ’の入力ブロック［ｕ］へとパディングし、入力ブロック［ｕ］を出力する。次いで、インタリーバ２０１はサイズＫ’の入力ブロックをインタリーブし（工程５０７）（好適には、無競合インタリーバを用いて）、サイズＫ’のインタリーブされたブロックを符号化回路２０３へ送信する（工程５０９）。最後に、工程５１１にて、元の入力ブロックおよびインタリーブされた入力ブロックが符号化される。
【００５８】
上述のように、入力ブロックをインタリーブする工程は、順列置換π（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄ  Ｋ’を用いる工程を含む。ここで、０≦ｉ≦Ｋ’−１はインタリーブ後のビット位置の連続的なインデックスであり、π（ｉ）は位置ｉに相当するインタリーブ前のビットインデックスであり、Ｋ’は、ビットのインタリーバサイズであり、Ｐ０はＫ’と互いに素である数であり、Ａは定数であり、ＣはＫ’を割る小さな数であり、ｄ（ｉ）は、ｄ（ｉ）＝α（ｉ  ｍｏｄ  Ｃ）＋Ｐ０×β（ｉ  ｍｏｄ  Ｃ）の形式の「ディザ」ベクトルである。ここで、α（・），β（・）は各々、０≦ｉ≦Ｋ’−１において周期的に適用される長さＣのベクトルである。好適には、Ｋ’，Ｃ，Ｐ０、α（・），β（・）の値はテーブル１から得られる。
【００５９】
図６は、図３の受信機の動作を示すフローチャートである。ロジックフローは工程６０１にて開始する。工程６０１にて、回路３０２はインタリーバサイズＫ’を決定する。工程６０３では、回路３０２は、受信した信号ベクトルに充填ビット情報を付加する。例えば、充填ビットおよび充填ビット位置が既知である場合、回路３０２は、ターボ復号器入力におけるそれらの位置の対数尤度比（Ｌｏｇ  Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏｓ）（ＬＬＲ）の大きさを、大きく設定する。工程６０７にて、ターボ復号器はサイズＫ’のインタリーバおよびデインタリーバを用いて入力ブロックを復号し、推定された長さＫ’の入力ブロックを出力する。工程６０９にて、情報ブロック抽出回路３１０は充填ビットを除去し、長さＫの情報ブロックの推定を取得する。
【００６０】
特定の実施形態に関して本発明を詳細に示し、記載しているが、本発明の精神および範囲から逸脱することなく、形態および詳細において本発明に様々な変更が行われ得ることが当業者には理解される。一例では、バイナリ入力のターボ符号器を仮定して本発明を記載しているが、ターボ符号器がシンボルを入力とするときも同じ原理を適用することが可能である。例えば、デュオ・バイナリターボ符号が２バイナリビットのシンボルを同時に取得し、ターボインタリーバがシンボルの順列を変更する（さらに、シンボル内のビットの交互化などのスクランブルを実行することもできる）。そのような場合、入力ブロックサイズはシンボルにより測定され、インタリーバサイズは入力ブロックのシンボル数に等しい。別の例として、上述の説明では、インタリーバサイズおよびインタリーバパラメータは参照テーブルに格納されると仮定しているが、代数計算など他の手段によって、それらが決定されてもよい。さらに別の例として、上述の記述ではターボ符号を仮定しているが、この方法は、例えば、低密度パリティ検査（ＬＤＰＣ）符号、リード・ソロモン（ＲＳ）符号などを含む他のＦＥＣスキームにも適用可能である。
【図面の簡単な説明】
【００６１】
【図１】送信機のブロック図。
【図２】図１のターボ符号器のブロック図。
【図３】受信機のブロック図。
【図４】図３のターボ復号器のブロック図。
【図５】図１の送信機の動作を示すフローチャート。
【図６】図３の受信機の動作を示すフローチャート。
【図１】
2008092571.tif 000023
【図２】
2008092571.tif 000024
【図３】
2008092571.tif 000025
【図４】
2008092571.tif 000026
【図５】
2008092571.tif 000027
【図６】
2008092571.tif 000028