(57)【特許請求の範囲】
【請求項１】
符号化方法であって、
１／物理量を表す２値シンボルの伝送に関する少なくとも１つの選択基準を考慮し、
２／少なくとも１つの選択基準に従って伝送パラメータを選択する工程を有し、前記選択される伝送パラメータは、
- 符号化される２値シンボルのシーケンスａi(i=1,・・・,K)の数を表わす１以上の数Ｋ、
- ２以上の整数Ｍ１、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ、および
- 乗数多項式ｆij（ｘ）、を含むパラメータのセットに属し、
３／２値データのシーケンスａi(i=1,・・・,K)の数Ｋを入力する工程を有し、各シーケンスａiは、
・多項式ｇi（ｘ）の倍数である多項式表記ａi（ｘ）および
・整数Ｍと整数Ｎ０の積に等しい数の２値データ項目であって、Ｎ０は多項式ｘN0＋１が各除数多項式ｇi（ｘ）で割り切れるような最小の整数、を有しており、
４／数Ｋ*Ｍ１のいわゆる「置換された」シーケンス、ａij*,(i=1,・・・,K;j=1,・・・,M1)に対する第１の生成工程であって、各シーケンスａij*が、
- 対応するシーケンスａiの前記インタリーバによる置換によって得られ、前記置換は、各シーケンスａiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
- 結果として多項式の積ｃij（ｘ）ｇij（ｘ）に等しい多項式表記ａij*（ｘ）を有しており、
- 少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっている、第１の生成工程を有し、
５／Ｍ１個の冗長シーケンスであって、その多項式表記がj=1,・・・,M1に対してΣｆij（ｘ）ｃij（ｘ）であり、各多項式ｆij（ｘ）の次数が、最大で添え字iおよびjが同じときに多項式ｇij（ｘ）の次数と等しい、Ｍ１個の冗長シーケンスに対する第２の生成工程を有する、
ことを特徴とする符号化方法。
【請求項２】
入力工程が、シーケンスａiを生成するために、Ｋ個のシーケンスｕi(i=1,・・・,K)それぞれに、いわゆる「追加」２値シンボルを加える加算工程を含んでいることを特徴とする請求項１に記載の符号化方法。
【請求項３】
加算工程において、各シーケンスｕiに、その数が、除数多項式ｇ（ｘ）の次数に等しく、これにより加算工程によって得られるシーケンスの多項式表記が除数多項式ｇ（ｘ）で割り切れることが保証される、いわゆる「詰め込み」追加データ項目が加えられることを特徴とする請求項２に記載の符号化方法。
【請求項４】
加算工程が、いわゆる「埋め込み」追加データ項目が加えられる埋め込み工程を含んでおり、そのデータ項目数が所定数であり、これにより埋め込み工程の結果として得られる２値シーケンスのシンボルの数ｎが、シーケンスｕiのシンボルの数をｎ’として、以下の条件、
- （ｎ’＋ｍ）以上であり、
- ｘN0＋１がｇ（ｘ）で割り切れるような最小の整数Ｎ０の倍数であり、
- 奇数である、
に合うことが保証されることを特徴とする請求項２または３に記載の符号化方法。
【請求項５】
符号化工程で得られたシーケンスの少なくとも１つはどんなインターリーブも受けず、符号化工程で得られ、どんなインターリーブも受けなかった少なくとも１つのシーケンスからデータ項目を取り除く工程を有していることを特徴とする請求項４に記載の符号化方法。
【請求項６】
入力工程が、シーケンスａiを生成するために、Ｋ個のシーケンスｕi(i=1,・・・,K)それぞれを読み取る工程を含んでいることを特徴とする請求項１に記載の符号化方法。
【請求項７】
伝送パラメータ選択工程において、符号化されるシンボルｕiのシーケンスｕの長さを考慮することを特徴とする請求項２から６のいずれか１項に記載の符号化方法。
【請求項８】
伝送パラメータ選択工程において、符号化されたシーケンスを伝送するチャネルを考慮することを特徴とする請求項１から７のいずれか１項に記載の符号化方法。
【請求項９】
伝送パラメータ選択工程において、符号化されたシーケンスを伝送するチャネルのＳ／Ｎ比を考慮することを特徴とする請求項８に記載の符号化方法。
【請求項１０】
伝送パラメータ選択工程において、符号化されるシンボルによって表されるデータのタイプを考慮することを特徴とする請求項１から９のいずれか１項に記載の符号化方法。
【請求項１１】
伝送パラメータ選択工程において、符号化されるシンボルの伝送のためのサービスの保証品質を考慮することを特徴とする請求項１から１０のいずれか１項に記載の符号化方法。
【請求項１２】
伝送パラメータ選択工程において、符号化効率を考慮することを特徴とする請求項１から１１のいずれか１項に記載の符号化方法。
【請求項１３】
Ｋ*Ｍ１個のいわゆる「置換された」シーケンスａij*,(j=1,・・・,K;j=1,・・・,M1)に対する第１の生成工程において、各シーケンスａij* は、ａij*（ｘ）＝ａi*（ｘeij），モジュロ（ｘn＋１）、に等しい多項式表記を有し、ここで、
- ｎは数Ｍと整数Ｎ０の積であり、
- ｅijはｎと互いに素な数であり、
- 多項式ｇij（ｘ）は、多項式ｇi（ｘeij）モジュロ（ｘN0＋１）を含む長さＮ０の最小巡回符号の生成多項式であることを特徴とする請求項１から１２のいずれか１項に記載の符号化方法。
【請求項１４】
伝送パラメータ選択工程において、指数の値ｅが少なくとも１つの選択基準に応じて選択されることを特徴とする請求項１３に記載の符号化方法。
【請求項１５】
インターリーバ生成工程を有しており、前記インターリーバは前記第１の生成工程で行われる置換を定義しており、前記インターリーバ生成工程において、インターリーバは所定数のモジュロにおける乗算工程の反復実施によって構成されることを特徴とする請求項１３または１４に記載の符号化方法。
【請求項１６】
１／
- Ｋの値が１に等しいこと、
- 「２乗のない多項式」ｇ1（ｘ）、
- ｇ1（ｘ）が多項式ｘN0＋１の除数であるような最小の整数Ｎ０、
- Ｎ０の奇数倍ｎ、
- 符号化すべきｎ個のシンボルｕiのシーケンスｕ、および
- ｅモジュロＮ０の剰余が１に等しい２の累乗ｅ、を考慮し、
２／
- 連続して構成された、いわゆる「連結」シーケンスｕｕ*の組み立て工程であって、一方のシンボルのシーケンスｕはｎ個のシンボルを有し、他方のシンボルのシーケンスｕ*は多項式表記、ｕ*（ｘ）＝ｕ（ｘe）モジュロｘn＋１、によって定義された工程と、
- いわゆる「チェック」シーケンスを形成するための連結シーケンスｕｕ*のｇ1（ｘ）での１回の除算を少なくとも含む符号化工程とを有していることを特徴とする請求項１から１５のいずれか１項に記載の符号化方法。
【請求項１７】
復号方法であって、
１／物理量を表す２値シンボルの伝送に関する少なくとも１つの選択基準を考慮し、
２／少なくとも１つの選択基準に従って伝送パラメータを選択する工程を有し、前記選択される伝送パラメータは、
- ２に等しい整数Ｍ１、
- 符号化される２値シンボルのシーケンスｖi(i=1,・・・,K+M1)の数を表わす１以上の数Ｋ、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ／逆インターリーバの対、および
- 乗数多項式ｆij（ｘ）、
を含むパラメータのセットに属し、
３／復号されるシンボルのシーケンスｖ'i(i=1,・・・,K+M1)の数Ｋ＋Ｍ１を入力する工程を有しており、
４／除数多項式ｇij（ｘ）を用いてＫ個のシンボルのシーケンスを復号する工程であって、該復号工程はＫ個のいわゆる「復号」シーケンスをもたらす工程を有しており、
５／前記インタリーバによる置換工程を有しており、該置換は、各シーケンスｖiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっている、
ことを特徴とする復号方法。
【請求項１８】
復号工程の次に、伝送された情報シーケンスｕiを生成するために、Ｋ個のシーケンスａi(i=1,・・・,K)それぞれから、いわゆる「追加」２値シンボルを取り除く除去工程を含んでいることを特徴とする請求項１７に記載の復号方法。
【請求項１９】
除去工程が、いわゆる「埋め込み」追加データ項目を取り除く工程を含んでおり、追加データ項目は、所定数であり、これにより埋め込み工程の結果として得られる２値シーケンスのシンボルの数ｎが、シーケンスｕiのシンボルの数をｎ’として、以下の条件、
- （ｎ’＋ｍ）以上であり、
- ｘN0＋１がｇ（ｘ）で割り切れるような最小の整数Ｎ０の倍数であり、
- 奇数である、
に合うことが保証されることを特徴とする請求項１８に記載の復号方法。
【請求項２０】
伝送パラメータ選択工程において、伝送されたシーケンスの長さを考慮することを特徴とする請求項１７から１９のいずれか１項に記載の復号方法。
【請求項２１】
伝送パラメータ選択工程において、符号化されたシーケンスを伝送するチャネルを考慮することを特徴とする請求項１７から２０のいずれか１項に記載の復号方法。
【請求項２２】
伝送パラメータ選択工程において、符号化されたシーケンスを伝送するチャネルのＳ／Ｎ比を考慮することを特徴とする請求項２１に記載の復号方法。
【請求項２３】
伝送パラメータ選択工程において、符号化されるシンボルによって表されるデータのタイプを考慮することを特徴とする請求項１７から２２のいずれか１項に記載の復号方法。
【請求項２４】
伝送パラメータ選択工程において、符号化されるシンボルの伝送のためのサービスの保証品質を考慮することを特徴とする請求項１７から２３のいずれか１項に記載の復号方法。
【請求項２５】
伝送パラメータ選択工程において、符号化効率を考慮することを特徴とする請求項１７から２４のいずれか１項に記載の復号方法。
【請求項２６】
Ｋ*Ｍ１個のいわゆる「置換された」シーケンスａij*,(j=1,・・・,K;j=1,・・・,M1)に対する第１の生成工程において、各シーケンスａij* は、ａij*（ｘ）＝ａi*（ｘeij），モジュロ（ｘn＋１）、に等しい多項式表記を有し、ここで、
- ｎは数Ｍと整数Ｎ０の積であり、
- ｅijはｎと互いに素な数であり、
- 多項式ｇij（ｘ）は、多項式ｇi（ｘeij）モジュロ（ｘN0＋１）を含む長さＮ０の最小巡回符号の生成多項式であることを特徴とする請求項１７から２５のいずれか１項に記載の復号方法。
【請求項２７】
伝送パラメータ選択工程において、指数の値ｅが少なくとも１つの選択基準に応じて選択されることを特徴とする請求項２６に記載の復号方法。
【請求項２８】
インターリーバ生成工程を有しており、前記インターリーバは前記第１の生成工程で行われる置換を定義しており、前記インターリーバ生成工程において、インターリーバは所定数のモジュロにおける乗算工程の反復実施によって構成されることを特徴とする請求項２６または２７に記載の復号方法。
【請求項２９】
１／
- Ｋの値が１に等しいこと、
- 「２乗のない多項式」ｇ1（ｘ）、
- ｇ1（ｘ）が多項式ｘN0＋１の除数であるような最小の整数Ｎ０、
- Ｎ０の奇数倍ｎ、
- 符号化すべきｎ個のシンボルｕiのシーケンスｕ、および
- ｅモジュロＮ０の剰余が１に等しい２の累乗ｅ、
を考慮し、
２／シーケンスｕをシーケンスｕ* に置換する前記工程が、多項式表記、ｕ*（ｘ）＝ｕ（ｘe）モジュロｘn＋１、によって定義されることを特徴とする請求項１７から２８のいずれか１項に記載の復号方法。
【請求項３０】
符号化装置であって、
１／物理量を表す２値シンボルの伝送に関する少なくとも１つの選択基準を考慮し、
２／少なくとも１つの選択基準に従って伝送パラメータを選択し、前記選択される伝送パラメータは、
- 符号化される２値シンボルのシーケンスａi(i=1,・・・,K)の数を表わす１以上の数Ｋ、
- ２以上の整数Ｍ１、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ、および
- 乗数多項式ｆij（ｘ）、
を含むパラメータのセットに属し、
３／２値データのシーケンスａi(i=1,・・・,K)の数Ｋを受信し、各シーケンスａiは、
・多項式ｇi（ｘ）の倍数である多項式表記ａi（ｘ）および
・整数Ｍと整数Ｎ０の積に等しい数の２値データ項目であって、Ｎ０は多項式ｘN0＋１が各除数多項式ｇi（ｘ）で割り切れるような最小の整数、を有しており、
４／数Ｋ*Ｍ１のいわゆる「置換された」シーケンス、ａij*,(i=1,・・・,K;j=1,・・・,M1)を生成し、各シーケンスａij*が、
- 対応するシーケンスａiの前記インタリーバによる置換によって得られ、前記置換は、各シーケンスａiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
- 結果として多項式の積ｃij（ｘ）ｇij（ｘ）に等しい多項式表記ａij*（ｘ）を有しており、
- 少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっており、
５／Ｍ１個の冗長シーケンスであって、その多項式表記がj=1,・・・,M1に対してΣｆij（ｘ）ｃij（ｘ）であり、各多項式ｆij（ｘ）の次数が、最大で添え字iおよびjが同じときに多項式ｇij（ｘ）の次数と等しい、Ｍ１個の冗長シーケンスを生成する、
ように構成された処理手段を有することを特徴とする符号化装置。
【請求項３１】
復号装置であって、
１／物理量を表す２値シンボルの伝送に関する少なくとも１つの選択基準を考慮し、
２／少なくとも１つの選択基準に従って伝送パラメータを選択し、前記選択される伝送パラメータは、
- ２に等しい整数Ｍ１、
- 符号化される２値シンボルのシーケンスｖi(i=1,・・・,K+M1)の数を表わす１以上の数Ｋ、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ／逆インターリーバの対、および
- 乗数多項式ｆij（ｘ）、を含むパラメータのセットに属し、
３／復号されるシンボルのシーケンスｖ'i(i=1,・・・,K+M1)の数Ｋ＋Ｍ１を受信し、
４／除数多項式ｇij（ｘ）を用いてＫ個のシーケンスのいわゆる「復号」シンボルを復号、
５／各シーケンスｖiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果である前記インタリーバによる置換を実行し、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっている、
ことを特徴とする復号装置。
【請求項３２】
所定の多項式の倍数で表される第１のシーケンスを入力とし、第２のシーケンスを生成する第１の符号化手段と、
前記第１のシーケンスを置換し、前記所定の多項式の倍数で表される置換シーケンスを生成する置換手段と、
前記置換シーケンスを入力とし、第３のシーケンスを生成する第２の符号化手段と、
前記置換手段の置換処理を、前記所定の多項式に応じて変化する前記第１のシーケンスのデータ長に基づいて変更する制御手段とを具備することを特徴とする情報処理装置。
【請求項３３】
前記制御手段は更に、前記第１のシーケンスに含まれる情報の種類に基づいて前記置換手段の置換処理を変更することを特徴とする請求項３２に記載の情報処理装置。
【請求項３４】
前記制御手段は更に、伝送状況に基づいて前記置換手段の置換処理を変更することを特徴とする請求項３２または３３に記載の情報処理装置。
【請求項３５】
前記情報処理装置は、前記第１のシーケンスをターボ符号化することを特徴とする請求項３２から３４のいずれか１項に記載の情報処理装置。
【請求項３６】
所定の多項式の倍数で表される第１のシーケンスを入力とし、第２のシーケンスを生成する第１の符号化ステップと、
前記第１のシーケンスを置換し、前記所定の多項式の倍数で表される置換シーケンスを生成する置換ステップと、
前記置換シーケンスを入力とし、第３のシーケンスを生成する第２の符号化ステップと、
前記置換ステップにおける置換処理を、前記所定の多項式に応じて変化する前記第１のシーケンスのデータ長に基づいて変更する制御ステップとを具備することを特徴とする情報処理方法。
【請求項３７】
所定の多項式の倍数で表される第１のシーケンスを入力とし、第２のシーケンスを生成する第１の符号化ステップと、
前記第１のシーケンスを置換し、前記所定の多項式の倍数で表される置換シーケンスを生成する置換ステップと、
前記置換シーケンスを入力とし、第３のシーケンスを生成する第２の符号化ステップと、
前記置換ステップにおける置換処理を、前記所定の多項式に応じて変化する前記第１のシーケンスのデータ長に基づいて変更する制御ステップとを実行するためのプログラムを記憶したことを特徴とするコンピュータで読み取り可能な記憶媒体。
【請求項３８】
第１のシーケンスと所定の多項式の倍数で表される第２のシーケンスとを入力とする第１の復号手段と、
前記第１の復号手段の出力を置換する第１の置換手段と、
前記第１の置換手段の出力と前記所定の多項式の倍数で表される第３のシーケンスとを入力とする第２の復号手段と、
前記第２の復号手段の出力を置換し、その結果を前記第１の復号手段に供給する第２の置換手段と、
前記第１の置換手段の置換処理と前記第２の置換手段の置換処理とを、前記所定の多項式に応じて変化する前記第１のシーケンスのデータ長に基づいて変更する制御手段とを具備することを特徴とする情報処理装置。
【請求項３９】
前記制御手段は更に、前記第１のシーケンスに含まれる情報の種類に基づいて前記第１の置換手段の置換処理と前記第２の置換手段の置換処理とを変更することを特徴とする請求項３８に記載の情報処理装置。
【請求項４０】
前記制御手段は更に、伝送状況に基づいて前記第１の置換手段の置換処理と前記第２の置換手段の置換処理とを変更することを特徴とする請求項３８または３９に記載の情報処理装置。
【請求項４１】
前記情報処理装置は、前記第１のシーケンスをターボ復号することを特徴とする請求項３８から４０のいずれか１項に記載の情報処理装置。
【請求項４２】
第１のシーケンスと所定の多項式の倍数で表される第２のシーケンスとを入力とする第１の復号ステップと、
前記第１の復号ステップの出力を置換する第１の置換ステップと、
前記第１の置換ステップの出力と前記所定の多項式の倍数で表される第３のシーケンスとを入力とする第２の復号ステップと、
前記第２の復号ステップの出力を置換し、その結果を前記第１の復号ステップに供給する第２の置換ステップと、
前記第１の置換ステップにおける置換処理と前記第２の置換ステップにおける置換処理とを、前記所定の多項式に応じて変化する前記第１のシーケンスのデータ長に基づいて変更する制御ステップとを具備することを特徴とする情報処理方法。
【請求項４３】
第１のシーケンスと所定の多項式の倍数で表される第２のシーケンスとを入力とする第１の復号手順と、
前記第１の復号手順の出力を置換する第１の置換手順と、
前記第１の置換手順の出力と前記所定の多項式の倍数で表される第３のシーケンスとを入力とする第２の復号手順と、
前記第２の復号手順の出力を置換し、その結果を前記第１の復号手順に供給する第２の置換手順と、
前記第１の置換手順における置換処理と前記第２の置換手順における置換処理とを、前記所定の多項式に応じて変化する前記第１のシーケンスのデータ長に基づいて変更する制御手順とを実行するためのプログラムを記憶したことを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体関するものである。
【０００２】
【従来の技術】
近年、誤り訂正符号化技術とそれに対応する誤り訂正復号技術の一つとして「ターボ符号化器(turbocoder)」と呼ばれる符号化器と「ターボ復号器(turbodecoder)」と呼ばれる反復復号器が研究されている。
【０００３】
このような研究について、参考とされる文献には例えば、１９９３年に「ＩＣＣ’９３」会議のレポートのページ１０６４から１０７０で発表された、C.BERROU, A.GLAVIEUX および P.THITIMAJSHIMA による「シャノン限界近傍誤り訂正符号化および復号化：ターボ符号（Near Shannon limit error-correcting coding and decoding:turbocodes）」という題名の論文と、１９９６年１０月にIEEE Transactions on CommunicationのCOM-44、ページ１２６１から１２７１で発表された、C.BERROUおよび A.GLAVIEUX による「最適近傍誤差補正符号化および復号化：ターボ符号（Near Optimum error-correcting coding and decoding:turbo-codes）」という題名の論文がある。
【０００４】
しかしながら、従来のターボ符号化器の持つ置換装置の構造は、完全にすぐれたものからはほど遠い。一般的に、この装置は１行ずつ書き込まれ１列ずつ読み出される正矩形または矩形の行列を使用する。これらの行列は概して非常に大きく、例えば２５６×２５６サイズである。
【０００５】
１９９５年８月１５日に、Jet Propulsion Laboratiry より発行された「TDA Progress Report」４２−１２２号の、DOLINARおよびDIVSALARによる「ランダムおよび非ランダム置換を用いたターボ符号の重み付け分布（Weight distributions for turbo-codes using random and nonrandom permutations）」という題名の論文に記載された、別の方法によれば、０からｋ−１までのｋ個の情報項目位置に番号を付け、「適切に選択された」ｅおよびｆの値に対して、位置ｉから位置ｅｉ＋ｆまでに位置する２値情報項目を移動する。
【０００６】
この文献において、彼らはｋが２の累乗である１つの例しか示していない。更に、彼らは置換装置の選択と、ターボ符号化器（３，１）によって作成される複数の符号化シーケンスを生成するのに使用される２つの要素的畳み込み符号化器（２，１）の選択とで起こり得る相互の影響について検討していない。
【０００７】
このようなターボ符号化器の評価は、伝送チャネルにおいて異なった値のＳ／Ｎ比でその使用をシミュレートし、２値でのエラー確率が所定の値となるＳ／Ｎ比の最小値を測定することからなる。
【０００８】
【発明が解決しようとする課題】
しかしながら、評価ツールとしてのシミュレーションの使用は、いくつかの問題を引き起こす可能性がある。
【０００９】
例えば、ｋ＝６５５３６＝２５６×２５６の上述の置換装置について、この装置を使用するターボ符号化器の性能のシュミレートのために所定のエラー確率として１０-5が選択された場合について考察する。結果として、２値における２５６×２５６ブロックに対するエラーの平均数は１となるが、２値の情報の各項が同じエラー確率であるか否かを知ることはできない。このエラー確率は、置換装置において「不幸な」位置にある２値については極めて高くなり、より「幸運な」位置にある２値についてはかなり低くなるであろう。
【００１０】
この状況に対処する可能な方法の１つは、置換装置における２値情報の位置に応じて、復号後の２値情報のエラー率の適当な均一性を保証するために、置換装置と２つの畳み込み符号化器を調和がとれた連合的な設計とすることである。
【００１１】
別の問題は置換装置を特定する代数的ツールの欠如に関連する。あらゆる置換装置を組合わせた性能を有する置換装置の中から特定のものを選択することを可能とする手段があれば有効であろう。
【００１２】
本発明は基本的に２値シンボルシーケンス、
ｕ＝（ｕ0，ｕ1，・・・，ｕk-1）、
によって表される情報の伝送に関し、
この列は「情報シーケンス」と呼ばれ、ａ，ｂおよびｃの各々が独立してシーケンスｕを表す、２値シーケンスの３つ組、
ｖ＝（ａ，ｂ，ｃ），
に符号化される。
【００１３】
以下において、シーケンスｕを表すのに、ｕ＝（ｕ0，ｕ1，・・・，ｕk-1）、および関連する多項式、
ｕ（ｘ）＝ｕ0ｘ0＋ｕ1ｘ1＋・・・＋ｕk-1ｘk-1、
を区別せずに使用する。
【００１４】
同等の表記を、シーケンスａ，ｂおよびｃに対しても使用する。この第２の表現を用いると、以下のようにして３つ組ｖ＝（ａ，ｂ，ｃ）を決定するのが分かる。即ち、
- ａ（ｘ）＝ｕ（ｘ）を選択すること、
- ｂ（ｘ）＝ｕ（ｘ）・ｈ1（ｘ）／ｇ（ｘ）を選択すること、
ここで、ｇ（ｘ）は多項式であり、例えば、シーケンス（１，１，０，１）で表されるシーケンスに対応する多項式、ｇ（ｘ）＝１＋ｘ＋ｘ3、であり、ｈ1（ｘ）は、例えばシーケンス（１，１，１，１）に対応する多項式、ｈ1（ｘ）＝１＋ｘ＋ｘ2＋ｘ3、であり、
- シーケンスａの２値データ項目の置換によって形成されたシーケンスａ*、を参照して、ｃ（ｘ）＝ａ*（ｘ）・ｈ2（ｘ）／ｇ（ｘ）、を選択することであり、
ここで、ｈ2（ｘ）は、例えば、シーケンス（１，０，１，１）で表されるシーケンスに対応する多項式、ｈ2（ｘ）＝（１＋ｘ2＋ｘ3）である。
【００１５】
多項式ｇ（ｘ）、ｈ1（ｘ）、ｈ2（ｘ）の選択およびシーケンスａの置換シーケンスａ* に関するインターリーバ（interleaver）を特定する置換処理の選択はいずれも「ターボ符号化器」と呼ばれる符号化器を特定する。特定されたターボ符号化器によって生成され得るシーケンスの組を「ターボ符号」と呼ぶ。
【００１６】
以下において、シーケンスｂを生成する再帰的畳み込み符号化器を「第１の符号化器」と呼び、シーケンスｃを生成する再帰的畳み込み符号化器を「第２の符号化器」と呼ぶ。
【００１７】
使用される多項式の除算は、当業者には周知の昇順累乗型による除算である。
これらは、モジュロ(modulo)２の算術演算を用いる。シーケンスａ，ｂおよびｃは２値のシーケンスであり、一般的にｂおよびｃを定義する除算には剰余がある。
【００１８】
このタイプの符号化方法は、それほど複雑でなくあまり高価でない効果的な反復的復号化をもたらすという利点がある。
【００１９】
これを実現するには以下のような多数の疑問が生じる。すなわち、
Ｉ/ どのように多項式ｇ（ｘ）、ｈ1（ｘ）およびｈ2（ｘ）を選択するのか、
II/ どのようにシーケンスａ* を生成するシーケンスａの項を置換する処理を選択するのか。
【００２０】
提案された選択肢の中から、インターリーバの３つの例、換言するとシーケンスａ* を生成するシーケンスａの項を置換する演算器を以下に示す。
【００２１】
Ａ）第１の例では、矩形テーブルにａの項を配列した後に、連続して１行ずつ、各行に対して左から右へ、１列ずつ各列に対して上から下へ順に項を取り出してシーケンスａ* を形成する。例えば、２行３列のテーブルを使用する６つの項のシーケンスの場合、インターリーバはシーケンスａ＝（ａ0，ａ1，ａ2，ａ3，ａ4，ａ5）をシーケンスａ* ＝（ａ0，ａ3，ａ1，ａ4，ａ2，ａ5）に変換する。
【００２２】
Ｂ）第２の例では、ａ* のｉ番目の項（ｉ＝０，１，２，・・・）ａ*iとして、ｓおよびｔを数数、ｊをｊ＝ｓ・ｉ＋ｔを計算したシーケンスａの項の数のモジュロとして、シーケンスａの項ａjを選択する。例えば、シーケンスａの項の数が６であり、ｓ＝５かつｔ＝３であれば、インターリーバはシーケンスａ＝（ａ0，ａ1，ａ2，ａ3，ａ4，ａ5）をシーケンスａ* ＝（ａ3，ａ2，ａ1，ａ0，ａ5，ａ4）に変換する。
【００２３】
Ｃ）第３の例では、置換はランダムに選択される。
【００２４】
III/ どうやってｂ（ｘ）を定義する除算で剰余がでることを回避できるのか。そして、
IＶ/ どうやってｃ（ｘ）を定義する除算で剰余がでることを回避できるのか。
【００２５】
最後の２つの疑問に答えることは、ターボ符号に関する文献でしばしば述べられている問題、即ち、ｂおよびｃを定義する基本的畳み込み符号化器の「零回帰状態（return to zero state）」の問題に答えることとなる。即ち、ターボ符号化器は２つの基本的回帰符号化器を有し、その第２のものはシーケンスａを置換したシーケンスａ* を用いるので、情報シーケンスｕ（ｘ）を表す多項式ａ（ｘ）およびａ*（ｘ）は、共にｇ（ｘ）で割り切れることが望ましい。ここで、ａ（ｘ）についてのこの可除性を保証することは、ｇ（ｘ）の次数に等しい数の埋め込み（stuffing）シンボルでｕ（ｘ）を補充して、ａ（ｘ）をｕ（ｘ）から構成することで充分であるので、単純であるが、その唯一の機能はａ（ｘ）からｂ（ｘ）を生成するのに使用する除算で剰余が出ないことのみを保証することである。
【００２６】
他方、ａ*（ｘ）のｇ（ｘ）による可除性とこのように特定されたターボ符号の良好なエラー訂正性能との両方を保証するように、ａ（ｘ）からａ*（ｘ）を生成する置換処理を選択することはより困難な問題である。
【００２７】
この問題は、ｕ（ｘ）を構成する異なるビットの復号化の後のエラー確率の不均衡を引き起こす。
【００２８】
１９９５年１月５日の雑誌「Electonics Letters」Volume 31, No.1 に記載されたBARBULESCUおよびPIETROBON の論文には、シーケンスａの各項を、多項式ｇ（ｘ）の次数に１を加えた数に等しい数のシーケンス分、連続的かつ循環して配列することにより、インターリーバを記載することができること、およびこの場合、このように形成されたシーケンスの内部置換が、シーケンスｂを定義する除算の剰余とシーケンスｃを定義する除算の剰余との等価性をもたらすことを述べている。
【００２９】
しかしながら、この論文で述べられていることに反して、この説は多項式ｇ（ｘ）が、Σi=0 to mｘiの形式である場合のみ正しい。
【００３０】
１９９６年８月にInstitute of Technology in Lund(Sweden)(Department of Applied Electronics)によって開催された「ターボ符号化」セミナーのレポート共に発行された、C.BERROU, S.EVANO およびG.BATTAIL による「ターボブロック符号」という題名の論文には、シーケンスｕの項を、ｇ（ｘ）で割り切れる正の最低次数ｘn−１のタイプの多項式の次数Ｎ０の倍数に等しい数の列に巡回的に配列することにより、形成された各列の内部置換がシーケンスｂを定義する除算の剰余とシーケンスｃを定義する除算の剰余との和が、これらシーケンスの連結がｇによって割り切れるように、零となることを述べている。
【００３１】
従って、この文献は、その前に述べた文献と同様に、インターリーバの選択を、シーケンスａの項のサブセットについて独立して作用し、それらに内部置換を適用する特定の形式に限定するものである。しかしながら、これはａ（ｘ）およびａ*（ｘ）個々がｇ（ｘ）で割り切れることを保証するものではない。唯一保証されるのは、２つのシーケンスａおよびａ* の端と端をつないだ連結（ａ，ａ* ）を表す多項式がｇ（ｘ）で割り切れることである。
【００３２】
この結果として、ｂの計算の終了およびｃの計算の開始をマークする時点の符号化器の状態が復号器に知らされないので、復号器の効率が低下する可能性がある。
【００３３】
上記の引用した論文はいずれもインターリーバの効果的な選択を提案していない。
【００３４】
これらの欠点を克服するために、発明者らは、第１の時点において、符号化されるシーケンスだけでなく冗長なシーケンス各々についても、零への回帰を保証する解決策を完全なものとした。以下、この解決策を説明する。
【００３５】
１／３の効率のターボ符号化器は、第１の符号化器が符号化すべきシンボルのシーケンスｕからチェックシーケンスを生成し、第２の符号化器がシーケンスｕをインターリーブして得られたインターリーブシーケンスｕ* からチェックシーケンスを生成するような、所定の多項式の除数を有する組織的畳み込み符号化器の対（図１参照）として見なせる。この範疇において、２つの符号化器の同時の零への回帰は古典的問題である。これを解決する１つの方法を以下に要約する。
【００３６】
今、ｇ（ｘ）をターボ符号化器の多項式の除数とする。多項式ｇ（ｘ）の次数をｍとし、ｇ（ｘ）が多項式ｘN0＋１の除数となるような最小の整数をＮ０とする。この数Ｎ０は、ｇ（ｘ）の「周期」と呼ぶ。以下に記載する理由により、ｇ（ｘ）は「２乗のない多項式」であると見なされ、これはＮ０が奇数であることを意味する。
【００３７】
ｎをＮ０の奇数倍であるとする。即ち、ｎ＝ＭＮ０、である。
【００３８】
シンボルのシーケンスｕは従って、２値係数を有する次数ｎ−ｍ−１の多項式表記ｕ（ｘ）で表され、この多項式ｕ（ｘ）は、
ａ（ｘ）＝ｕ（ｘ）＋Σi=n-m to n-1 ａiｘi
に予備符号化され、ここで、ｍ個の２値シンボルａiは、ａ（ｘ）がｇ（ｘ）の倍数となるように選択される。この予備符号化の結果、およびパラメータの選択された値として、ａ（ｘ）がｇ（ｘ）の倍数であると、２の累乗であるあらゆる値ｅに対して、ａ*（ｘ）＝ａ（ｘe）モジュロｘn＋１もｇ（ｘ）の倍数となる。
【００３９】
以下の記載において、このタイプの置換およびインターリーバを「ｘからｘeタイプ」と呼ぶ。
【００４０】
ここで、一般的に、ａ*（ｘ）はｇ（ｘ）の既約因数によってのみ割り切れることが保証されているので、ｇ（ｘ）が倍数因数をもたないとみなすことが必要である。
【００４１】
従って、ｕを符号化したバージョンは、ｖ＝［ａ，ａｈ1／ｇ1，ａ*ｈ2／ｇ］となり、ここで全ての要素は多項式であり、特に、ａ*ｈ2／ｇはａ* の定義および２の累乗としてのｅの選択による多項式である。
【００４２】
より一般的に説明すると、第１の符号化器からのチェックシーケンスだけでなく第２の符号化器に起因するチェックシーケンスの零への回帰を保証するインターリーバは、以下の条件を満たす必要があることを見出した。すなわち、
各「置換された」シーケンス、ａij*,(i=1,・・・,K;j=1,・・・,M1)が対応するシーケンスａiの置換によって得られ、該置換が、各シーケンスａiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、Ｎ０は各除数多項式ｇi（ｘ）がｘN0＋１を分割する最小の整数であり、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０で生成多項式（generator polynomial）ｇi（ｘ）の巡回符号を、ｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）の等価な巡回符号に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換である。
【００４３】
この方法は、基本的符号化器の各々が適切に零にリセットされることを可能とする、所与の長さのブロックに適用される。しかしながら、入力シーケンスは、除数多項式または使用される多項式のみに応じたある一定の長さでなければならない。これは数Ｎ０の倍数である必要がある。
【００４４】
ここでは、上記で述べた教示の「ｘからｘe」タイプのインターリーバを有するこの特定の具体例において、符号化すべきシーケンスの長さは奇数でなくてはならないが、一般的な場合、偶数であり得る。
【００４５】
符号化すべきシンボルのシーケンスがこの数に一致していない時（即ち、符号化すべきシンボルのシーケンスに、所定の多項式によって、結果として得られるシーケンスの多項式表記の可除性を保証する、いわゆる「詰め込み(padding)」シンボルを追加して、Ｎ０の倍数ではない長さであり、特定の具体例ではＮ０の奇数倍であるとき）発明者らの初期の教示は直接使えない。シーケンスの長さが各シーケンスで異なっているときにも同様である。
【００４６】
更に、伝送状態、所望の効率、データのタイプ、伝送チャネルのタイプ、またはチャネルのＳ／Ｎ比は、発明者らによって作り出された発明の第１の時点において考慮されていない。この第１の時点は本発明に対する従来技術を構成するものではなく、それとは逆に基本的特徴をもたらすものである。
【００４７】
また、ターボ符号化器において、メモリのサイズは、異なったブロック長を考慮した伝送モードにあわせて容易に変更できるものではない。
【００４８】
従来の擬似ランダムインターリーバを用いたターボ符号化器では、使用する可能性のある全てのインターリーバを記憶する必要があり、必要なメモリサイズが大きくなるという問題がある。
【００４９】
本発明はこれらの欠点に対処することを目的とする。
【００５０】
【課題を解決するための手段】
上記目的を達成するために、符号化方法に関連する本発明の第１の態様は、以下の点を特徴とする。即ち、
１／物理量を表す２値シンボルの伝送に関する少なくとも１つの選択基準を考慮し、
２／少なくとも１つの選択基準に従って伝送パラメータを選択する工程を有し、前記選択される伝送パラメータは、
- 符号化される２値シンボルのシーケンスａi(i=1,・・・,K)の数を表わす１以上の数Ｋ、
- ２以上の整数Ｍ１、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ、および
- 乗数多項式ｆij（ｘ）、
を含むパラメータのセットに属し、
３／２値データのシーケンスａi(i=1,・・・,K)の数Ｋを入力する工程を有し、各シーケンスａiは、
・多項式ｇi（ｘ）の倍数である多項式表記ａi（ｘ）および
・整数Ｍと整数Ｎ０の積に等しい数の２値データ項目であって、Ｎ０は多項式ｘN0＋１が各除数多項式ｇi（ｘ）で割り切れるような最小の整数、を有しており、
４／数Ｋ*Ｍ１のいわゆる「置換された」シーケンス、ａij*,(i=1,・・・,K;j=1,・・・,M1)に対する第１の生成工程であって、各シーケンスａij*が、
- 対応するシーケンスａiの置換によって得られ、前記置換は、各シーケンスａiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
- 結果として多項式の積ｃij（ｘ）ｇij（ｘ）に等しい多項式表記ａij*を有しており、
- 少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっている、第１の生成工程を有し、
５／その多項式表記がj=1,・・・,M1に対してΣｆij（ｘ）ｃij（ｘ）であり、各多項式ｆij（ｘ）の次数が、最大で添え字iおよびjが同じときに多項式ｇij（ｘ）の次数と等しい、Ｍ１個の冗長シーケンスに対する第２の生成工程を有する。
【００５１】
これにより、ターボ符号化器を実現するパラメータは、シンボルの伝送に対して、それらの数または伝送条件を適合され得る。従って、符号化および／または復号の容易さに関する妥協、復号化の速度、パスバンド、１秒当たり正確に伝送されるシンボルまたはフレームの換算数、および各シンボルの伝送時間が、考慮された選択基準に従って最適化され得る。
【００５２】
本発明をよりよく理解するために、極めて特別な具体例を以下に記載する。例において選択基準は符号化すべきシンボルのシーケンスの長さであるとき、その顕著な多項式は「周期Ｎ０」の多項式ｇ（ｘ）であり、両方の基本的符号化器において累乗根を使用しない（インターリーブの前と後の基本的符号化器において、当業者には「除数」多項式としても知られる、フィードバック多項式ｇ（ｘ）に同じものを使用して説明を単純にするために仮定する）、所与の符号化多項式に対して、本発明の実施は以下の段階を有する。
【００５３】
１／シーケンスの長さを最初に解析し、Ｎ０の倍数でありこの長さより大きい値ｎを決定する。
【００５４】
２／伝送装置において、結果として得られるシーケンスの多項式表記が、フィードバックまたは「除数」多項式ｇ（ｘ）で割り切れるように、いわゆる「詰め込み」ビットを入力シーケンスに加える。
【００５５】
３／結果として得られるシーケンスの長さがｎとなるように、このシーケンスにヌル埋め込みビットを加える。
【００５６】
４／ｎの関数として選択されたパラメータと共にインターリーバが生成される。
【００５７】
５／シーケンスは「ターボ符号化」される。
【００５８】
６／符号化されるシーケンスと同じシーケンスから埋め込みビットが取り除かれる。
【００５９】
７／シーケンスが、それ自体が変調されて伝送装置と受信装置とを接続する伝送チャネルで伝送される、無線フレームに閉じ込められる。
【００６０】
８／受信装置は受信信号を復調し、無線フレームから閉じ込められた信号を取り出し、このシーケンスの長さｎを解析し、それから埋め込みビットの数およびターボ符号化器のパラメータを推定する。
【００６１】
９／ｎの関数として選択されたパラメータと共にインターリーバおよび逆インターリーバが生成される。
【００６２】
１０／埋め込みビットが加えられた受信シーケンスが復号される。
【００６３】
１１／埋め込みおよび詰め込みビットが取り除かれ、入力シーケンスを推定したものがその宛て先へ送られる。
【００６４】
埋め込み方法をより理解したい方は、以下の論文を参照するとよい。それは、
１９９７年にフランスのBrestで開催されたターボ符号に関する国際シンポジウムで、KooraおよびFingerによって著された「ブロック長可変用ターボ復号器の全ての配列の新たな方法（A new scheme to terminate all trellis of turbo decoder for variable block length）」である。
【００６５】
従って本発明は、入力シーケンスの長さのような、各選択基準に対するターボ符号化器および復号器の動的適応を可能とする。
【００６６】
特定の特徴によれば、加算工程において、詰め込みビット加算工程の結果として得られるシーケンスａに、いわゆる「詰め込み」追加データ項目が加えられる。その数は、除数多項式ｇ（ｘ）の次数に等しく、これにより加算工程によって得られるシーケンスの多項式表記が除数多項式ｇ（ｘ）で割り切れることが保証される。
【００６７】
このように、詰め込み工程は符号化器のそれぞれにおいて零への回帰を保証する。結果としてターボ符号化器の性能が最適化される。
【００６８】
特定の特徴によれば、加算工程は、詰め込みビット加算工程の結果として得られるシーケンスａに、いわゆる「埋め込み」追加データ項目が加えられる追加の埋め込み工程を含んでいる。その数は所定数であり、これにより埋め込み工程の結果として得られる２値シーケンスのシンボルの数ｎが、以下の条件に合うことが保証される。すなわち、
- （ｎ’＋ｍ）以上であり、
- ｘN0＋１がｇ（ｘ）で割り切れるような最小の整数Ｎ０の倍数であり、
- 奇数である。
【００６９】
これにより、インターリーバの要素の数はここではＮ０の奇数倍である必要があり、符号化されるシンボルのシーケンスの長さはＮ０の倍数でも奇数でもない可能性があるので、本発明に関する方法によりシンボルシーケンスの長さの全ての値に対する適応がもたらされる。
【００７０】
特定の特徴によれば、符号化工程で得られたシーケンスの少なくとも１つはどんなインターリーブも受けず、符号化工程で得られ、どんなインターリーブも受けなかった少なくとも１つのシーケンスからデータ項目を取り除く工程を有している。
【００７１】
このようにして、伝送チャネルで伝送されるシンボルの数が削減される。
【００７２】
特定の特徴によれば、Ｋ*Ｍ１個のいわゆる「置換された」シーケンスａij*,(j=1,・・・,K;j=1,・・・,M1)に対する第１の生成工程において、各シーケンスａij* は、ａij*（ｘ）＝ａi*（ｘeij），モジュロ（ｘn＋１）、に等しい多項式表記を有し、ここで、
- ｎは数Ｍと整数Ｎ０の積であり、
- ｅijはｎと互いに素な数であり、
- 多項式ｇij（ｘ）は、多項式ｇi（ｘeij）モジュロ（ｘN0＋１）を含む長さＮ０の最小巡回符号の生成多項式である。
【００７３】
これらの規定による利点は、簡単なアルゴリズムで容易に「動作中の」生成に適応される、いわゆる「ｘからｘe」インターリーバが得られることである。更に、これらのアルゴリズムは簡単な論理回路やマイクロプロセッサによって実行することができるので、本発明をこのタイプのターボ符号化器と組合わせて実施すると有利である。
【００７４】
更にまた、「ｘからｘe」タイプのインターリーバが十分定義され、値ｅおよびｎから簡単に生成されるので、本発明は使用するメモリを削減することを可能とする。
【００７５】
これにより、本発明は実施するのが簡単であり、Ｓ／Ｎ比に応じてビットおよびフレームのエラー率に関して良好な性能を有する。
【００７６】
特定の特徴によれば、伝送パラメータ選択工程において、指数の値ｅが少なくとも１つの選択基準に応じて選択される。これにより、「ｘからｘe」タイプのインターリーバの特定のパラメータが、ターボ符号化器の性能を最適化するために、上記選択基準に適応される。
【００７７】
特定の特徴によれば、上記で簡単に述べた本発明に関する符号化方法は、インターリーバ生成工程を有しており、前記インターリーバは第１の生成工程で行われる置換を定義しており、前記生成工程において、インターリーバは所定数のモジュロとの加算工程の反復実施によって構成される。
【００７８】
このように、単純な加算およびモジュロｎは、生成が簡単でその期間を比較的減少することのできる、インターリーバの生成を可能とする。
【００７９】
特定の特徴によれば、本発明に関する方法は、上記に簡単に述べたように、
１／
- Ｋの値が１に等しいこと、
- 「２乗のない多項式」ｇ1（ｘ）、
- ｇ1（ｘ）が多項式ｘN0＋１の除数であるような最小の整数Ｎ０、
- Ｎ０の奇数倍ｎ、
- 符号化すべきｎ個のシンボルｕiのシーケンスｕ、および
- ｅモジュロＮ０の剰余が１に等しい２の累乗ｅ、
を考慮し、
２／
- 連続して構成された、いわゆる「連結」シーケンスｕｕ*の組み立て工程であって、一方のシンボルのシーケンスｕはｎ個のシンボルを有し、他方のシンボルのシーケンスｕ*は多項式表記、ｕ*（ｘ）＝ｕ（ｘe）モジュロｘn＋１、によって定義された工程と、
- いわゆる「チェック」シーケンスを形成するための連結シーケンスｕｕ*のｇ1（ｘ）での１回の除算を少なくとも含む符号化工程とを有している。
【００８０】
これにより、詰め込みビットの追加は不要となる。従って、効率が向上し本発明の実施が簡単になる。
【００８１】
第２の態様によれば、本発明は復号方法に関し、以下の点を特徴とする。即ち、
１／物理量を表す２値シンボルの伝送に関する少なくとも１つの選択基準を考慮し、
２／少なくとも１つの選択基準に従って伝送パラメータを選択する工程を有し、前記選択される伝送パラメータは、
- ２に等しい整数Ｍ１、
- 符号化される２値シンボルのシーケンスｖi(i=1,・・・,K+M1)の数を表わす１以上の数Ｋ、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ／逆インターリーバの対、および
- 乗数多項式ｆij（ｘ）、
を含むパラメータのセットに属し、
３／復号されるシンボルのシーケンスｖ'i(i=1,・・・,K+M1)の数Ｋ＋Ｍ１を入力する工程を有しており、
４／除数多項式ｇij（ｘ）を用いてＫ個のシンボルのシーケンスを復号する工程であって、該復号工程はＫ個のいわゆる「復号」シーケンスをもたらす工程を有しており、
５／置換工程を有しており、該置換は、各シーケンスｖiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっている。
【００８２】
本発明はまた、上記した方法を実行するためのプログラムを記憶したことを特徴とするコンピュータで読み取り可能な記憶媒体に関する。
【００８４】
これらの符号化および復号装置、これらの符号化および復号方法、これらの信号処理、データ伝送、およびシーケンス処理装置ならびにネットワークは、上記で簡単に記載した符号化方法と同様の特定の特徴および利点を有しており、これら特定の特徴および利点についてはここでは省略する。
【００８５】
本発明の他の利点、目的、および特徴は、添付図面を参照して以下に記載する実施の形態の説明から明らかであろう。
【００８６】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。
【００８７】
図１は並列ターボ符号化器の基本構成を示しており、該符号化器は主に以下のように構成される。
- 入力１０１は、伝送すべきまたは「符号化すべき」複数の２値シンボルからなるシーケンスａを出力する不図示のソースからの、符号化すべきシンボルである。
- 第１の符号化器１０２は、シーケンスａから、シーケンスａを表すシンボルからなるシーケンスｖ1およびｖ2の２つを出力する。
- インターリーバ１０３は、シーケンスａから、シーケンスａのシンボルであるが順番が異なる、インターリーブされたシーケンスａ* を出力する。
- 第２の符号化器１０４は、インターリーブされたシーケンスａ* から、シーケンスａを表す第３のシーケンスｖ3を出力する。
【００８８】
３つのシーケンスｖ1、ｖ2およびｖ3は次に復号されるべく送信される。
【００８９】
以下においては、「ｘからｘe」タイプのインターリーバについてのみ記載するが、本発明はこのタイプのインターリーバに限定されるものではなく、より一般的に、以下のような全てのインターリーバに関する。すなわち、
１／以下のもの、すなわち、
・多項式ｇi（ｘ）の倍数である多項式表記ａi（ｘ）および
・整数Ｍと整数Ｎ０の積に等しい数の２値データ項目であって、Ｎ０は多項式ｘN0＋１が各除数多項式ｇi（ｘ）で割り切れるような最小の整数、を有するシーケンスａiから、
２／いわゆる「置換された」シーケンス、ａij*,(i=1,・・・,K;j=1,・・・,M1)を生成し、各シーケンスａij*が、
- 対応するシーケンスａiの置換によって得られ、前記置換は、各シーケンスａiの２値データ項目が、Ｎ０列Ｍ行のテーブルに１行ずつ書き込まれた形式で表され、いくつかの数のいわゆる基本的置換の結果であり、その各々が、
・いずれかが、長さＮ０の巡回符号と生成多項式ｇi（ｘ）を、等価な巡回符号とｇi（ｘ）に等しくてもよい生成多項式ｇij（ｘ）に変換する特性を有し、ａiを表すテーブルのＮ０列の置換によって行われ、
・あるいは前記テーブルの列のいずれかのシンボルの置換であり、
- 結果として多項式の積ｃij（ｘ）ｇij（ｘ）に等しい多項式表記ａij*を有しており、
- 少なくとも１つの置換シーケンスａij*は対応するシーケンスａiと異なっており、
３／その多項式表記がj=1,・・・,M1に対してΣｆij（ｘ）ｃij（ｘ）であり、各多項式ｆij（ｘ）の次数が、最大で添え字iおよびjが同じときに多項式ｇij（ｘ）の次数と等しい。
【００９０】
尚、以下の実施形態では、単一のシーケンスを符号化する場合について説明するが、いくつかのシンボルからなる複数のシーケンスを連続してまたは同時に符号化する場合にも本発明を適用できる。
【００９１】
又、以下の実施形態では、並列ターボ符号化器について説明するが、当業者のなしうる範囲の変更を加えれば、シリアル方式のターボ符号化器および（シリアルターボ符号化部および並列ターボ符号化部を有する）ハイブリッド方式のターボ符号化器にも適用できる。
【００９２】
ここで使用される第１の符号化器１０２は、組織的符号化器であり、シーケンスｖ1はシーケンスａに等しい。
【００９３】
最終的に、「周期Ｎ０」で次数ｍの多項式ｇ（ｘ）が両方の基本的符号化器１０２、１０４において、除数多項式として使用される。
【００９４】
図２は本発明の第１の実施形態によるターボ符号化器を適用した送信装置およびターボ復号器を適用した受信装置の機能ブロック図であり、シンボルソース２０１は複数の２値シンボルからなるシーケンスｕを出力する。このような「情報ソース」は、符号化される複数のシンボルからなるシーケンスを出力し、ｎ’はこれから符号化を検討するシーケンスの長さを表わしている。
【００９５】
このシーケンスは長さ解析器２０２で長さを解析され、長さ解析器２０２はシーケンスｕを構成する２値シンボルの数ｎ’を決定し、このｎ’に基づいてターボ符号化器の全ての操作パラメータを決定する。操作パラメータは、
- 符号化される複数の２値シンボルからなるシーケンスｕi(i=1,・・・,K)の数を表わす１以上の数Ｋ、
- １に等しい整数Ｍ１、
- 除数多項式ｇi（ｘ）、
- 整数Ｍ、
- インターリーバ、
- 乗数多項式ｆij（ｘ）、および
- シーケンス長ｎ、である。
【００９６】
数ｎの決定に関して、多項式ｇ（ｘ）の次数ｍ−１が解れば、この数ｎは以下の条件に合致する。すなわち、
- （ｎ’＋ｍ）以上であり、
- ｘN0＋１がｇ（ｘ）で割り切れるような最小の整数Ｎ０の倍数であり、
- 奇数である。
【００９７】
好ましくは、ｎはこれらの条件を満たす最小の数である。
【００９８】
次に、回路２１６が生成するインターリーバのパラメータを選択する工程について例を挙げて説明する。図示し説明する実施形態においては、「ｘからｘe」タイプのインターリーバを使用する。ここで値ｅはｎを決定することによって選択される。
【００９９】
このため、取りうる値ｎのそれぞれに対して最適な値ｅを与えるテーブルが前もって組み立てられる。従って、後述する不揮発性メモリ（ＲＯＭ）にあるこのテーブルから正しい値ｅを読み出すだけでよい。
【０１００】
本実施の形態では、例えば、取りうる値ｎの全てに対して、例えば３２などの同じ値ｅを選択することができる。
【０１０１】
又、本実施形態によれば、回路２０２において、伝送パラメータの選択基準は、符号化されるシーケンスｕの長さｎ’に限らず、以下の中から選ばれる１つ以上の基準（伝送条件ともいう）からなる。すなわち、
- 符号化される複数のシンボルｕiからなるシーケンスｕの長さ、
- 符号化されたシーケンスの伝送チャネル、
- 符号化されたシーケンスの伝送チャネルのＳ／Ｎ比、
- 符号化される複数のシンボルが表すデータのタイプ（音声データ、映像データ、コンピュータ用のファイルデータ、その他）、
- 符号化される複数のシンボルを伝送するためのサービスの保証品質、および
- 符号化効率、
である。これらの選択基準を考慮して、上述のパラメータを選択することによって、符号化および／または復号化処理の簡略化、復号の処理速度、パスバンド幅、１秒当たり正確に伝送されるシンボルまたはフレームの数、および各シンボル当たりの伝送時間を最適化することができる。
【０１０２】
この場合、符号化に使用した基準を復号にも使用する必要がある。このため、構成によっては、これらの基準が符号化装置２２０および復号装置２２１の両方において固定されることも、または無線フレームを解析（下記の回路２０９の工程を参照）することによって復号の際にこれらの基準が直接決定されることも、もしくは適切な情報項目の伝送が受信装置２２１が使用する特定の基準を通知することもできる。例えば、無線フレームヘッダはこの情報（即ち選択基準）を含んでいてもよい。
【０１０３】
回路２１６の生成するインターリーバは代数的に構成されており、このインターリーバは、簡単な手順からなる回路の計算によって定義される。従って回路２１６は、取り得る長さそれぞれに対応するインターリーブのテーブル（図５〜８参照）を格納する必要はない。インターリーバが定義されると、本実施形態のターボ符号化器を具備する送信装置２２０は以下の手順に従って符号化動作を行う。即ち、
- 回路２０３の詰め込み工程において、生成されたシーケンスａに関する多項式が多項式ｇ（ｘ）で割り切れるようにするために、ｍビットを付加する。
【０１０４】
- 回路２０４の埋め込み工程において、詰め込み工程からのシーケンス（即ち、ａ）にｓ個のヌルビットを加え、長さｎのシーケンスａ'を生成する。ここで、ｓ＝（ｎ−ｎ’−ｍ）となる。
【０１０５】
- 回路２０５のターボ符号化工程において、一方では、除数多項式および乗数多項式によって、第１および第２の符号化器１０２、１０４の構成を決定し、他方では、インターリーバ１０３（図示した実施形態ではいくつかの乗数多項式は同一）の構成を決定する。
【０１０６】
回路２０５のターボ符号化工程の後で、以下の工程が行われる。すなわち、
- 回路２０６で除去工程を行う。ここでは、
・回路２０４の埋め込み工程において加えられたｓ個のヌルビットがシーケンスｖ1から取り除かれる。ここで第１の符号化器１０２は組織的であるので、シーケンスｖ'1はシーケンスａ'と同じである。この除去工程によって得られるシーケンスをｖ'1と呼び、その長さはｎ−ｓである。
【０１０７】
・回路２０４の埋め込み工程においてシーケンスｖ1に加えられたヌルビットに対応する、シーケンスｖ2のｓ個のパリティビットを取り除き、長さｎ−ｓのｖ'2を生成する。
【０１０８】
- 回路２０７の変調工程において、各シーケンス（即ち、ｖ'1、ｖ'2、ｖ3）を無線フレームにフレーム化し、このフレームを変調し伝送チャネル２０８で伝送する。
【０１０９】
- 回路２０９の復調工程では、チャネル２０８から信号を受信し、復調器２０９の構造および／または無線フレームに属する情報を使用して、無線通信の当業者に周知の方法によってフレーム化されたシーケンスの全長を決定する。このシーケンスの長さは（３ｎ−２ｓ）に等しく、ｓは好ましくは０から（２Ｎ０−１）までであり、３ｎは３Ｎ０の倍数であり奇数である（３ｎ−２ｓ）以上の最小の整数である。この数は容易に求めることができ、ｎおよびｓはそこから簡単に導出できる。
【０１１０】
回路２０９の復調工程において、受信装置２２１は受信信号を復調し、無線フレームにフレーム化されたシーケンスを取り出し、このシーケンスの長さｎを解析し、そこから埋め込みビットの数（即ち、ｓ）および送信装置２２０の具備するターボ符号化器のパラメータを導出する。以下の記載においては、装置２２１が推定するシーケンスおよびそのシーケンスを推定する手順を記載する。
【０１１１】
本実施形態によれば、回路２０９の工程において、例えば無線フレームのヘッダからターボ符号化器を含む送信装置２２０で使用された基準の少なくともいくつかを表す情報項目を検索する。
【０１１２】
受信装置２２１において、「埋め込み」工程を実施する回路２１０は、推定シーケンスｖ'1のｓ個の埋めこみビット、およびシーケンスｖ'2の対応するｓ個のパリティビットを回復する。ここで、数ｓは回路１０９の工程において決定されるシーケンス長ｎの関数である。ターボ復号は、受信したシンボルそれぞれの信頼性を表す「軟入力」を用いて実施される。埋め込みビットおよび対応するパリティビットにはヌルの「ハードビット」に対応した最も高い信頼性が割り当てられる。
【０１１３】
回路２１５の復号工程において、インターリーバおよびその逆のインターリーバ（逆インターリーバと呼ぶ）は、符号化器側の回路２１６で実施したのと同様な方法でシーケンス長（ｎ）の関数として構成される。ここで、「ｘからｘe」インターリーバが、ｅ＝２iモジュロｎで定義される場合、これと同じタイプの逆インターリーバは、「ｘからｘe'」でｅ'＝２-iモジュロｎで定義される。
【０１１４】
以下の記載において、ｅ-1はこの値ｅ'である。
【０１１５】
ターボ復号器２１１は、フレームをインターリーバおよび逆インターリーバで復号する（図３参照）。次にｓ個の埋め込みビットおよびｍ個の詰め込みビットが取り除かれ（それぞれ回路２１２の埋め込みビット除去工程および回路２１３の詰め込みビット除去工程において）、シーケンス（即ち、ｕ）はデータ宛先２１４に送信される。
【０１１６】
ここで数値例を示すと、ｎ’＝１３９、ｇ（ｘ）＝１＋ｘ＋ｘ3である。これから、ｍ＝３、Ｎ０＝７、ｎ＝１４７、およびｓ＝５が導出される。ｎ＝１４７に対して、２５に等しいｅが選択される。
【０１１７】
図３では、ターボ復号器２１１が主に以下の要素から構成されることを説明する。すなわち、
- ３つの入力３０１、３０２および３０３は、シーケンスｖ1、ｖ2およびｖ3である。
- 第１の復号器３０４は、符号化器１０２（図１）に対応し、シーケンスｖ1およびｖ2並びに後述する付帯的情報シーケンスｗ4を受信して、帰納的な推定シーケンスｗ1を出力する。
- インターリーバ３０５は、ターボ符号化器２０５で使用されたインターリーバ１０３と同じであり、シーケンスｗ1を受信してｗ2にインターリーブする。
- 第２の復号器３０６は、符号化器１０４に対応し、シーケンスｗ2およびｖ3を受信して、帰納的な推定シーケンスｗ3と推定シーケンスａ'を出力する。
- 逆インターリーバ３０７は、インターリーバ３０５の逆であり、シーケンスｗ3を受信してｗ4を出力する。
【０１１８】
推定シーケンスａ'は、所定数の反復のみを考慮している（上記の引用論文「シャノン限界近傍誤り訂正符号化および復号化：ターボ符号（Near Shannon limit error-correcting coding and decoding:turbocodes）」を参照）。
【０１１９】
本発明によれば、復号器３０４および３０６は、符号化器１０２および１０４それぞれがヌルの初期状態および最終状態を有することを考慮して初期化される。
【０１２０】
図４では、図２の各回路から出力されるシーケンス及び無線フレームの構成を説明する。上から下に順に並んだ行毎に説明する。
【０１２１】
- シーケンスｕは、長さｎ’の符号化される複数のシンボルからなる。
【０１２２】
- シーケンスａは、シーケンスｕ、およびシーケンスａの多項式表記が除数多項式ｇ（ｘ）で割り切れることを保証する、いわゆる「詰め込み」ビットからなる。
【０１２３】
- シーケンスａ、および該シーケンスの長さが奇数でＮ０の倍数とする、いわゆる「埋め込み」ビットからなる、シーケンスｖ1と同じ、シーケンスａ'、
- シーケンスｖ2、ｖ3は、ｖ1を符号化した結果である。
【０１２４】
- シーケンスｖ'1、ｖ'2およびｖ3（ｖ'1はシーケンスａと同一）。そして
- 無線フレームは、ペイロードにシーケンスｖ'1、ｖ'2およびｖ3を含む。
【０１２５】
図５は、送信装置２２０の必要とする情報を保持する不揮発性メモリ（ＲＯＭ）、および送信装置２２０で生成された情報を保持するランダムアクセスメモリ（ＲＡＭ）について説明する図である。図５に示すＲＯＭには、上述の置換処理によって配列される各シンボルの位置と、上述の置換シーケンスの各位置との対応関係（即ち、インターリーバΠ）がｎの取り得る値それぞれについて格納されている。
【０１２６】
同様に、図６は、受信装置２２１の必要とする情報を保持する不揮発性メモリ（ＲＯＭ）、および受信装置２２１で生成された情報を保持するランダムアクセスメモリ（ＲＡＭ）について説明する図である。図６に示すＲＯＭには、上述の置換処理によって配列される各シンボルの位置と、上述の置換シーケンスの各位置との対応関係（即ち、インターリーバΠ）が、ｎの取り得る値それぞれについて格納されている。又、上述の逆置換処理によって配列される各シンボルの位置と、上述のシーケンスの各位置との対応関係（即ち、逆インターリーバΠ-1）が、ｎの取り得る値それぞれについて格納されている。
【０１２７】
又、より好ましい実施の形態では、図７および図８に示すように、
- 送信装置２２０の必要とする情報を保持する不揮発性メモリ（ＲＯＭ）に、ｎの取り得る値に対するｅの値を示すテーブルを格納し、
- 受信装置２２１の必要とする情報を保持する不揮発性メモリ（ＲＯＭ）に、ｎの取り得る値に対応するｅの値と関連するｅ-1の値とを示すテーブルを格納するように構成することもできる。このように構成することによって、送信装置２２０のインターリーバ生成器２１６は、符号化されるシーケンスの長さｎに応じて最適となるインターリーバΠを生成することができる。又、受信装置２２１のインターリーバ生成器２１５は、符号化されるシーケンスの長さｎに応じて最適となるインターリーバΠ及び逆インターリーバΠ-1を生成することができる。
【０１２８】
図９は、本実施形態のターボ符号化器を適用したネットワークステーションまたはコンピュータ符号化ステーションの構成を示すブロック図である。このステーションは、キーボード９１１、表示器９０９、外部情報ソース９１０（図２のシンボルソース２０１に相当する）、無線送信機９０６とを有し、それらは、処理手段９０１の具備する入／出力ポート９０３に共通に接続されている。
【０１２９】
処理手段９０１は、図２の送信装置２２０と共に、アドレスおよびデータバス９０２によって相互接続された、
- 中央処理ユニット（ＣＰＵ）９００、
- ランダムアクセスメモリ（ＲＡＭ）９０４、
- 不揮発性メモリ（ＲＯＭ）９０５、および
- 入／出力ポート９０３、を有している。
【０１３０】
図９に示した各要素の中には、マイクロコンピュータおよび伝送システム、より一般的には情報処理システムの当業者にとって周知な技術を含む。従って、これら一般的要素については、その説明を省略する。
【０１３１】
- 情報ソース９１０は、例えば、周辺インターフェース、センサ、復調器、外部メモリ、または不図示の他の情報処理システムであり、好ましくは、２値データからなる複数のシーケンスの形式で、音声、サービスメッセージ、またはマルチメディアデータを表すシーケンスを提供する。
【０１３２】
- 無線送信機９０６は、無線チャネルでのパケット伝送プロトコルを実行可能であり、上述の無線フレームをパケット化し、上記チャネルを介して送信する。
【０１３３】
更に、本明細書においてメモリ９０４および９０５内の「レジスタ」という単語は、（いくつかの２値データ項目を格納する）小さな容量のメモリ領域および（プログラム全体を格納することができる）大きな容量のメモリ領域の両方を表すものとする。
【０１３４】
ランダムアクセスメモリ９０４は、データ、変数および中間処理結果を、本明細書上の各種データと同じ名前のメモリレジスタに格納する。ランダムアクセスメモリ９０４は、特に図７に示したデータに対応したレジスタを具備する。即ち、
- 符号化されるデータからなるシーケンスの長さに応じて計算されたｎの値を格納するレジスタ「ｎ」、
- 不揮発性メモリ９０５を使用してｎの値に応じて計算された値ｅを格納するレジスタ「ｅ」、
- ｅの値に応じてインターリーバを定義するテーブルを格納するレジスタ「インターリーバ」、
- 符号化されるデータからなるシーケンスｕ、上述の詰め込み工程で得られたシーケンスａ、および上述の埋め込み工程で得られたシーケンスａ'をそれぞれ格納するレジスタ「ｕ」、「ａ」および「ａ'」、
- シーケンスａ、ａ'および上述のターボ符号化処理によって得られたシーケンスをそれぞれ格納するレジスタ「ｖ1」、「ｖ'1」、「ｖ2」、「ｖ'2」および「ｖ3」、
- Ｎ０の値を格納するレジスタ「Ｎ０」、
- Ｍの値を格納するレジスタ「Ｍ」、および
- 送信する無線フレーム（図４参照）全体を格納するレジスタ「無線フレーム」、を有している。
【０１３５】
不揮発性メモリ９０５は、データを便宜上同じ名前を有するレジスタに格納する。即ち、
- 中央処理ユニット９００の動作プログラムをレジスタ「プログラム」に、
- シーケンスｇをレジスタ「ｇ」に、
- シーケンスｈをレジスタ「ｈ」に、
- ｎの取り得る値に対応する値ｅを示すテーブルをレジスタ「ｅのテーブル」に、格納する。
【０１３６】
ｎのいくつかの取り得る値に対応するｅの値を示すテーブルの例を示すと、
0004553330.tif 000002
となる。
【０１３７】
中央処理ユニット９００は、図１１に示すフローチャートを実施するように構成されている。
【０１３８】
図１０は、本実施形態のターボ復号器を適用したネットワークステーションまたはコンピュータ符号化ステーションの構成を示すブロック図である。このステーションは、キーボード１０１１、表示器１００９、外部情報宛先１０１０（図２のデータ宛先２１４に相当する）、無線受信機１００６を有し、それらは、処理手段１００１の具備する入／出力ポート１００３に共通に接続されている。
【０１３９】
処理手段１００１は、図２の受信装置２２１と共に、アドレスおよびデータバス１００２によって相互接続された、
- 中央処理ユニット（ＣＰＵ）１０００、
- ランダムアクセスメモリ（ＲＡＭ）１００４、
- 不揮発性メモリ（ＲＯＭ）１００５、および
- 入／出力ポート１００３、を有している。
【０１４０】
図１０に示した各要素の中には、マイクロコンピュータおよび伝送システム、より一般的には情報処理システムの当業者にとって周知な技術を含む。従って、これら一般的要素については、その説明を省略する。
【０１４１】
- 情報宛先１０１０は、例えば、周辺インターフェース、センサ、復調器、外部メモリ、または不図示の他の情報処理システムであり、好ましくは、２値データからなる複数のシーケンスの形式で、音声、サービスメッセージ、またはマルチメディアデータを表すシーケンスを受信する。
【０１４２】
- 無線受信機１００６は、無線チャネルでのパケット伝送プロトコルを実行可能であり、上述の無線フレームを含むパケットを上記チャネルを介して受信する。
【０１４３】
更に、本明細書においてメモリ１００４および１００５内の「レジスタ」という単語は、（いくつかの２値データ項目を格納する）小さな容量のメモリ領域および（プログラム全体を格納することができる）大きな容量のメモリ領域の両方を表すものとする。
【０１４４】
ランダムアクセスメモリ１００４は、データ、変数および中間処理結果を本明細書上の各種のデータと同じ名前のメモリレジスタに格納する。ランダムアクセスメモリ１００４は、特に図８に示したデータに対応したレジスタを具備する。
即ち、
- 符号化されるデータからなるシーケンスの長さに応じて計算されたｎの値を格納するレジスタ「ｎ」、
- 不揮発性メモリ１００５を使用してｎの値に応じて計算された値ｅを格納するレジスタ「ｅ」、
- 不揮発性メモリ１００５を使用してｎの値に応じて計算された値ｅ-1を格納するレジスタ「ｅ-1」、
- ｅの値に応じてインターリーバを定義するテーブルを格納するレジスタ「インターリーバ」、
- ｅ-1の値に応じて逆インターリーバを定義するテーブルを格納するレジスタ「逆インターリーバ」、
- 受信したシーケンスをそれぞれ格納するレジスタ「ｖ'1」、「ｖ'2」および「ｖ'3」、
- 上述の中間復号シーケンスをそれぞれ格納するレジスタ「ｗ1」、「ｗ2」、「ｗ3」および「ｗ4」、
- 復号されたシーケンスを格納するレジスタ「ａ'」、
- 中間処理変数ｉの値を格納するレジスタ「ｉ」
- Ｎ０の値を格納するレジスタ「Ｎ０」、
- Ｍの値を格納するレジスタ「Ｍ」、および
- 受信した無線フレーム（図４参照）全体を格納するレジスタ「無線フレーム」、を有している。
【０１４５】
不揮発性メモリ１００５は、データを便宜上同じ名前を有するレジスタに格納する。即ち、
- 中央処理ユニット１０００の動作プログラムをレジスタ「プログラム」に、
- シーケンスｇをレジスタ「ｇ」に、
- シーケンスｈをレジスタ「ｈ」に、
- ｎの取り得る値に対応する値ｅを示すテーブルをレジスタ「ｅのテーブル」に、
- ｎの取り得る値に対応する値ｅ-1を示すテーブルをレジスタ「ｅのテーブル」に、格納する。
【０１４６】
ｎのいくつかの取り得る値に対応するｅの値を示すテーブルの例を示すと、
0004553330.tif 000003
となる。
【０１４７】
ｎのいくつかの取り得る値に対応するｅ-1の値を示すテーブルの例を示すと、
0004553330.tif 000004
となる。
【０１４８】
中央処理ユニット１０００は、図１２に示すフローチャートを実施するように構成されている。
【０１４９】
図１１に示すように、ＣＰＵを有するシステムの当業者には既知のタイプの初期化工程１１０１の後に、工程１１０２においてＣＰＵ９００は、情報ソース９１０から処理手段９０１に送信される、符号化される複数のシンボルからなるシーケンスを待つ。ここでこのシーケンスの最後は、別のシンボルが送信される前の極めて長い遅延、あるいはシーケンスの完了を示す特定の値を有する情報項目のいずれかによってマークされている。
【０１５０】
次に、工程１１０３において、ＣＰＵ９００は、送信されたシーケンスのシンボルの数ｎ'を測定し、既知の手順に従って、送信が意図されていないシンボルを取り出す。
【０１５１】
そして、工程１１０４において、ＣＰＵ９００は、最終的に送信される複数のシンボルからなるシーケンスに、このシーケンスの多項式表記が多項式ｇ（ｘ）によって割り切れるように、除数多項式ｇ（ｘ）の次数の数に等しくなるまで２値シンボルを加える詰め込み工程を実行する。
【０１５２】
そして、埋め込み工程１１０５とインターリーバ生成工程１１０６とを並列に実行する。
【０１５３】
- 埋め込み工程１１０５は、最終的なシーケンスの２値シンボルの数ｎが、ｘN0＋１が多項式ｇ（ｘ）で割り切れる場合に最小値となるＮ０の奇数倍となるように、値がヌルの２値シンボルを詰め込み工程によって得られたシーケンスの最後に付加する。
【０１５４】
- インターリーバ生成工程１１０６は、不揮発性メモリ９０５の長さの値ｎに対する数ｅを考慮して、図１３好ましくは図１４に記載された手順のいずれかに従う処理を実行する。
【０１５５】
次に、ターボ符号化工程１１０７において、埋め込み工程１１０６で得られたシーケンスが、工程１１０６で生成されたインターリーバ、除数多項式ｇ（ｘ）および乗数多項式ｈ（ｘ）を用いてターボ符号化される。
【０１５６】
そして、埋め込みビット除去工程１１０８において、
- シーケンスｖ1の最後からの埋め込みビットの取り除き、および
- シーケンスｖ2の最後からのシーケンスｖ1の埋め込みビットに対応するパリティビットの取り除きが、
シーケンスｖ'1およびｖ'2をそれぞれ形成するために行われる。
【０１５７】
最後に、工程１１０９において、シーケンスｖ'1、ｖ'2およびｖ3が無線フレームに挿入され、それらは電気磁気信号を変調し無線チャネルで伝送される。
【０１５８】
その後工程１１０２以下の処理が、次のシーケンスに対して繰り返される。
【０１５９】
図１２に示すように、ＣＰＵを有するシステムの当業者には既知のタイプの初期化工程１２０１の後に、工程１２０２においてＣＰＵ１０００は、送信装置によってそれに送信される無線フレームを待つ。ここで無線フレームの最後は、特定の値を有する情報項目によってマークされている。
【０１６０】
次に、工程１２０３において、ＣＰＵ１０００は復号される無線フレームのシンボルの数３ｎ−２ｓを決定し、既知の手順に従って復号が意図されていないシンボルを取り出す。
【０１６１】
同じ工程１２０３において、ＣＰＵ１０００は、ｎが７の奇数倍でありｓ＜１４であることを考慮してｎおよびｓの値を決定する。
【０１６２】
そして、工程１２０４と工程１２０５とを並列に実行する。
【０１６３】
- 埋め込み工程１２０４は、ＣＰＵ１０００が、復号される最初の２つのシーケンス（即ち、ｖ'1、ｖ'2）に、得られるシーケンス（即ち、ｖ1、ｖ2）の長さがｎとなるように、埋め込みビットとヌルのハードビットに対応する最も高い信頼性を与えうるパリティビットとを付加する。
【０１６４】
- 工程１２０５は、ＣＰＵ１０００が、不揮発性メモリ１００５の値ｎに関連するｅおよびｅ-1の値を考慮して、インターリーバおよび逆インターリーバの生成を行う。
【０１６５】
次に、ターボ復号工程１２０６において、埋め込み工程１２０４からの２つのシーケンス（即ち、ｖ1、ｖ2）と工程１２０３からのシーケンス（即ち、ｖ3）との３つのシーケンスが、工程１２０５において生成されたインターリーバ、逆インターリーバ、除数多項式ｇ（ｘ）および乗数多項式ｈ（ｘ）を用いて復号される。この工程によりシーケンスａ'が推定される。
【０１６６】
そして、工程１２０７において、送信されたシーケンスｕを形成するために、埋め込み工程１２０４で加えられたシンボル（即ち、埋め込みビット）と、符号化側での詰め込み工程（工程１１０４参照）において、除数多項式ｇ（ｘ）の次数の数と等しくなるように付加されたシンボル（即ち、詰め込みビット）とを、シーケンスａ'から取り除く。最後に、送信されたシーケンスｕが情報宛先１２１０に送られ、工程１２０２以下の処理が、次の無線フレームに対して繰り返される。
【０１６７】
図１３は、図１１および図１２のインターリーバ生成工程１１０６、１２０５内部の動作の一例を示すフローチャートである。ＣＰＵ９００、１０００は最初に初期化工程１３０１で、レジスタ「インターリーバ」の全ての値並びに中間変数ｉを零にセットし、ｎの値および不揮発性メモリ９０５、１００５に格納されたテーブル中からｎの値に対応するｅの値を取り込む。
【０１６８】
次に、工程１３０２において、インターリーバに格納されたｉ番目のデータ項目の値が、ｉとｅの乗算結果に対するモジュロｎの値と等しいとして計算される。次に、工程１３０３において、ＣＰＵ９００、１０００は変数ｉの値を１だけインクリメントする。そして、工程１３０４において、ＣＰＵ９００、１０００は変数ｉがｎ−１に等しいか否かを判定する。
【０１６９】
工程１３０４のテスト結果が否であれば、工程１３０２が繰り返される。工程１３０４のテスト結果が肯定であれば、インターリーバ生成工程１１０６、１２０５は完了する。
【０１７０】
図１４は、図１１および図１２に示したインターリーバ生成工程１１０６、１２０５の内部の動作の他の例を示すフローチャートである。ここに示す手順は、実行される計算の複雑さを図１３に示す手順に比べて低減し、従って本発明の実施に必要な計算能力を低減するものである。
【０１７１】
図１４に示した工程は、工程１３０２の代わりに行う工程１４０２以外は、図１３に示した工程と同一であり、該工程ではインターリーバの（ｉ＋１）番目の位置の内容が、インターリーバのｉ番目の内容にモジュロｎが実行されたｅを加えたものと等しいとして計算される。
【０１７２】
ここでは乗算を単純な加算で置き換えることにより工程１４０２を単純化でき、工程１３０２に比べてその時間をかなり短縮することができる。
【０１７３】
本実施形態によれば、零への回帰および生成多項式を保証するインターリーバの選択に使用される選択基準は、入力シーケンスの長さ（ｎ）に限らず、符号化装置および復号装置の間で使用される伝送チャネルのタイプ、このチャネルの品質、保証すべき伝送品質、符号化される複数のシンボルによって表されるデータのタイプ（音響、映像、データ等）等である。
【０１７４】
例として、チャネルの品質が低い（Ｓ／Ｎ比が低い）場合、あるいは保証品質を高くする必要がある場合、（乗数または除数の）生成多項式（ｇ（ｘ）、ｈ（ｘ））の少なくとも１つの次数が、選択基準の平均値に対して高く選択される。
【０１７５】
又、本実施の形態によれば、ｎの取りうる値全てに対して、例えば３２などの同じ値のｅを選択してもよい。
【０１７６】
又、本実施の形態によれば、符号化処理を以下の手順で連結的に処理してもよい。すなわち、
- ｇ（ｘ）をターボ符号化器の除数多項式として求め、
- Ｎ０をｇ（ｘ）が多項式ｘN0＋１の除数となるような最小の整数として求め、更に、
- ｎをＮ０の奇数倍、すなわちｎ＝ＭＮ０、となるように求める。
【０１７７】
ここで、ｇ（ｘ）は「除数の２乗のない多項式」であり、Ｎ０は奇数である。
【０１７８】
この場合、除数多項式ｇ（ｘ）および乗数多項式ｈ（ｘ）は、
- ｎ個の２値シンボルｕiからなるシーケンスｕと、
- インターリーブされたシーケンスｕ* からなる、いわゆる「連結」シーケンスに作用する。
【０１７９】
インターリーブされたシーケンスｕ* は、次の規則に従って生成される。即ち、２の累乗のｅのあらゆる値に対して、ｕ*（ｘ）＝ｕ（ｘe）モジュロｘn＋１であり、ｅモジュロＮ０の剰余が１に等しく、従って、その多項式表記が、ｕｕ*（ｘ）＝ｕ（ｘ）＋ｘnｕ*（ｘ）、で定義される。
【０１８０】
ここで、このタイプのターボ符号化では、乗数多項式ｈ（ｘ）の次数は、好ましくはｇ（ｘ）の次数以下であることに留意されたい。
【０１８１】
以上説明したように本発明の実施の形態によれば、ターボ符号化器およびターボ復号器を実現する各種のパラメータを符号化されるシーケンスの長さに応じて最適化することができる。これにより、符号化及び復号の効率を向上させ、使用するメモリを削減することができ、回路規模の削減とコストの低減とを実現することができる。
【０１８２】
又、本発明の実施の形態によれば、上記の選択基準（伝送条件ともいう）に従って、ターボ符号化器およびターボ復号器を実現する各種のパラメータを最適化することもできる。ここで、操作パラメータとは即ち、
- 除数多項式ｇ（ｘ）、
- 乗数多項式ｈ（ｘ）、
- ｅの値、
- シーケンスｕの長さｎ、
である。
【０１８３】
これにより、符号化及び復号の効率化、使用するメモリを含む回路規模の削減、コストの低減を実現するだけでなく、符号化および／または復号処理の簡略化、復号の処理速度、パスバンド幅、１秒当たり正確に伝送されるシンボル数または無線フレーム数、各シンボル当たりの伝送時間等を上記の選択基準に従って最適化することもできる。
【０１８４】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１８５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図１１、図１２、図１３および/または図１４に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１８８】
【発明の効果】
以上詳細に説明したように本発明によれば、ターボ符号化器およびターボ復号器を実現する各種のパラメータを、符号化されるシーケンスの長さに応じて最適化することができる。
【０１８９】
又、本発明によれば、ターボ符号化器およびターボ復号器を実現する各種のパラメータを、伝送するシーケンスの長さだけでなく、各種の伝送条件（選択基準）に応じて最適化することもできる。
【図面の簡単な説明】
【図１】ターボ符号化器の基本構成を示すブロック図である。
【図２】伝送するシンボルの数の関数をパラメータとした、本発明の第１の実施形態によるターボ符号化装置およびターボ復号装置の機能ブロック図である。
【図３】本発明の第１の実施形態のターボ復号装置のブロック図である。
【図４】本発明の第１の実施形態で使用されるシーケンスおよびフレームの形式を示す図である。
【図５】ターボ符号化装置およびターボ復号装置のメモリのレジスタの例を示す第１のの図である。
【図６】ターボ符号化装置およびターボ復号装置のメモリのレジスタの例を示す第２のの図である。
【図７】ターボ符号化装置およびターボ復号装置のメモリのレジスタの例を示す第３のの図である。
【図８】ターボ符号化装置およびターボ復号装置のメモリのレジスタの例を示す第４のの図である。
【図９】本発明の第１の実施形態を実施するように構成された符号化装置の構成要素を示すブロック図である。
【図１０】本発明の第１の実施形態を実施するように構成された復号装置の構成要素を示すブロック図である。
【図１１】図９に示した符号化装置の処理を示すフローチャートである。
【図１２】図１０に示した復号装置の処理を示すフローチャートである。
【図１３】図１１および図１２に示した処理で実施されるインターリーバ生成工程の第１の例を示すフローチャートである。
【図１４】図１１および図１２に示した処理で実施されるインターリーバ生成工程の第２の例を示すフローチャートである。
【符号の説明】
１０１  入力シーケンス
１０２、１０４  符号化器
１０３  インターリーバ
２０１  データソース
２０２  長さ解析
２０３  詰め込み
２０４  埋め込み
２０５  ターボ符号化器
２０６  埋め込みビット除去
２０７  ＲＦ変調器
２０８  チャネル
２０９  ＲＦ復調器
２１０  埋め込みビット追加
２１１  ターボ復号器
２１２  埋め込みビット除去
２１３  詰め込みビット除去
２１４  データ宛先
３０１、３０２、３０３  入力シーケンス
３０４、３０６  復号器
３０５  インターリーバ
３０７  逆インターリーバ
【図１】
0004553330.tif 000005
【図２】
0004553330.tif 000006
【図３】
0004553330.tif 000007
【図４】
0004553330.tif 000008
【図５】
0004553330.tif 000009
【図６】
0004553330.tif 000010
【図７】
0004553330.tif 000011
【図８】
0004553330.tif 000012
【図９】
0004553330.tif 000013
【図１０】
0004553330.tif 000014
【図１１】
0004553330.tif 000015
【図１２】
0004553330.tif 000016
【図１３】
0004553330.tif 000017
【図１４】
0004553330.tif 000018