(57)【要約】  ＦＥＣエンコーダとＦＥＣデコーダとを備える光コヒーレント通信システム中に前方誤り訂正機構を実装する方法を開示する。ＦＥＣエンコーダは、クライアント・ビットにＦＥＣコードを適用することによって計算されたパリティ・ビットを追加することによって、クライアント・ビットのブロックをコードワードに符号化する。その上、ＦＥＣデコーダは、各コードワードを、それに反復メッセージ・パッシング・アルゴリズムを適用することによって復号し、メッセージ・パッシング・アルゴリズムの各反復は、ＦＥＣコードを定義するパリティ検査行列を評価するステップを備える。ＦＥＣエンコーダにおいて、ＦＥＣコードのコーディング・レートは、コードワードごとにクライアント・ビットの数を変更するおよび／またはコードワードごとにパリティ・ビットの数を変更することによって変更され得る。ＦＥＣデコーダにおいて、パリティ検査行列は、メッセージ・パッシング・アルゴリズムの各反復において列ごとに評価される。ＦＥＣデコーダの計算複雑性は、有利には、コーディング・レートにわずかに関係し、場合によっては、完全に無関係である。【選択図】図２
2019520758.tif 000002
【特許請求の範囲】
【請求項１】
光コヒーレント通信システム（ＣＳ）において前方誤り訂正（ＦＥＣ）機構を実装するための方法であって、
ａ）前記システム（ＣＳ）のＦＥＣエンコーダ（ＦＥ）において、送信されるべきｎ個のクライアント・ビットにＦＥＣコードを適用することによって計算されるｋ個のパリティ・ビットを追加することによって、前記ｎ個のクライアント・ビットのブロックをｎ＋ｋビットのコードワードに符号化するステップと、
ｂ）前記システム（ＣＳ）のＦＥＣデコーダ（ＦＤ）において、各コードワードを、それに反復メッセージ・パッシング・アルゴリズムを適用することによって復号するステップであって、前記メッセージ・パッシング・アルゴリズムの各反復が、前記ＦＥＣコードを定義するパリティ検査行列を評価することを備える、ステップと
を備え、
ステップａ）が、コードワードごとにクライアント・ビットの前記数ｎを変更することによっておよび／またはコードワードごとにパリティ・ビットの前記数ｋを変更することによって前記ＦＥＣコードのコーディング・レートを変更するステップを備え、
ステップｂ）が、前記メッセージ・パッシング・アルゴリズムの各反復において、列ごとに前記パリティ検査行列を評価するステップを備える、方法。
【請求項２】
ステップａ）が、ｋ０個のパリティ・ビットを追加することによってｎ０個のクライアント・ビットのブロックをｎ０＋ｋ０ビットのコードワードに符号化することによって取得される最大開始値Ｒ０から、ｋＮ個のパリティ・ビットを追加することによってｎＮ個のクライアント・ビットのブロックをｎＮ＋ｋＮビットのコードワードに符号化することによって取得される新しい値ＲＮ＜Ｒ０に、前記コーディング・レートを低減するステップを備える、請求項１に記載の方法。
【請求項３】
ステップａ）が、コードワードごとのクライアント・ビットの前記数をｎ０からｎＮ＜ｎ０に低減することによって、前記コーディング・レートを前記最大開始値Ｒ０から前記新しい値ＲＮ＜Ｒ０に低減するステップを備える、請求項２に記載の方法。
【請求項４】
ステップａ）が、情報短縮技法を適用するステップを備える、請求項３に記載の方法。
【請求項５】
ステップａ）が、コードワードごとのパリティ・ビットの前記数をｋ０からｋＮ＞ｋ０に増加することによって、前記コーディング・レートを前記最大開始値Ｒ０から前記新しい値ＲＮ＜Ｒ０に低減するステップを備える、請求項２に記載の方法。
【請求項６】
ステップａ）が、コードワードごとのパリティ・ビットの前記数をｋ０からｋＮ＞ｋ０に増加し、コードワードごとのビットの前記数が一定に保たれる、すなわち、ｎ０＋ｋ０＝ｎＮ＋ｋＮになるようにｎＮおよびｋＮを選択することによって、前記コーディング・レートを前記最大開始値Ｒ０から前記新しい値ＲＮ＜Ｒ０に低減するステップを備える、請求項３または４に記載の方法。
【請求項７】
ステップａ）が、コード拡張技法を適用するステップを備える、請求項５または６に記載の方法。
【請求項８】
ステップｂ）において、前記反復メッセージ・パッシング・アルゴリズムが確率伝搬アルゴリズムである、請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
ステップｂ）において、前記確率伝搬アルゴリズムが、最小和アルゴリズムである、請求項８に記載の方法。
【請求項１０】
ステップｂ）において、前記メッセージ・パッシング・アルゴリズムが数Ｓ≧２の反復を備え、前記メッセージ・パッシング・アルゴリズムの各反復が、コードワードごとに、
−  前記コードワードの前記クライアント・ビットおよび前記パリティ・ビットのための事前確率Ｉｖを受信するステップであって、ｖが、１からｎ＋ｋの範囲のインデックスである、ステップと、
−  前記メッセージ・パッシング・アルゴリズムの前の反復において計算された前記コードワードの前記クライアント・ビットおよび前記パリティ・ビットのための外部情報Ｌｃｖ（ｉ−１）を受信するステップであって、ｖは、１からｎ＋ｋの範囲のインデックスであり、ｃは、１からｋの範囲のインデックスである、ステップと
を備える、請求項８または９に記載の方法。
【請求項１１】
ステップｂ）において、前記メッセージ・パッシング・アルゴリズムの各中間反復が、
−  前記事前確率Ｉｖと、前記メッセージ・パッシング・アルゴリズムの前記前の反復において計算された前記外部情報Ｌｃｖ（ｉ−１）とに基づいて、前記コードワードの前記クライアント・ビットおよび前記パリティ・ビットのための更新された外部情報Ｌｃｖ（ｉ）を計算するステップであって、ｖは、１からｎ＋ｋの範囲のインデックスであり、ｃは、１からｋの範囲のインデックスである、ステップと、
−  前記メッセージ・パッシング・アルゴリズムの次の反復に前記事前確率Ｉｖと前記更新された外部情報Ｌｃｖ（ｉ）とを転送するステップと
を備える、請求項１０に記載の方法。
【請求項１２】
前記更新された外部情報Ｌｃｖ（ｉ）を前記計算するステップが、前記ＦＥＣコードを表すタナー・グラフ中の前記コードワードのクライアント・ビットまたはパリティ・ビットを表すｎ＋ｋ個の変数ノードのそれぞれについて、
−  前記タナー・グラフ中の前記変数ノードと接続されたチェック・ノードのセットＭ（ｖ）を識別するステップと、
−  前記セットＭ（ｖ）のチェック・ノードごとに、前記メッセージ・パッシング・アルゴリズムの前記前の反復において計算された、前記タナー・グラフ中の前記チェック・ノードと接続された変数ノードのセットＮ（ｃ）からの変数−チェック・メッセージＬｃｖ（ｉ−１）のコンテンツに基づいて前記チェック・ノードから前記変数ノードへのチェック−変数メッセージＲｃｖ（ｉ）のコンテンツを計算するステップと、
−  前記事前確率Ｉｖと、前記セットＭ（ｖ）の前記チェック・ノードから前記変数ノードへの前記チェック−変数メッセージＲｃｖ（ｉ）の前記コンテンツとに基づいて、前記変数ノードから前記セットＭ（ｖ）の前記チェック・ノードへの前記変数−チェック・メッセージＬｃｖ（ｉ）の更新されたコンテンツを計算するステップと
−  を行うことによって、前記可変ノードから前記セットＭ（ｖ）の前記チェック・ノードへの変数−チェック・メッセージの前記更新されたコンテンツＬｃｖ（ｉ）として、前記更新された外部情報Ｌｃｖ（ｉ）を計算するステップと
を備える、請求項１１に記載の方法。
【請求項１３】
ステップｂ）において、前記メッセージ・パッシング・アルゴリズムの最後の反復が、
−  前記コードワードの少なくとも前記クライアント・ビットのための事後確率ＬＶ（ｉ）を計算するステップであって、ｖが、１からｎ＋ｋの範囲のインデックスである、計算するステップと、
−  前記コードワードの各クライアント・ビットについて「０」または「１」を決定するために前記事後確率ＬＶ（ｉ）を使用して硬判定ブロックに前記事後確率ＬＶ（ｉ）を転送するステップと
を備える、請求項１０乃至１２のいずれか１項に記載の方法。
【請求項１４】
前記事後確率ＬＶ（ｉ）を前記計算するステップが、前記ＦＥＣコードを表す前記タナー・グラフ中の前記コードワードのクライアント・ビットを表すｎ個の変数ノードのそれぞれについて、
−  前記タナー・グラフ中の前記変数ノードと接続されたチェック・ノードのセットＭ（ｖ）を識別するステップと、
−  前記セットＭ（ｖ）のチェック・ノードごとに、前記メッセージ・パッシング・アルゴリズムの前記前の反復において計算された、前記タナー・グラフ中の前記チェック・ノードと接続された変数ノードのセットＮ（ｃ）からの変数−チェック・メッセージＬｃｖ（ｉ−１）のコンテンツに基づいて前記チェック・ノードから前記変数ノードへのチェック−変数メッセージＲｃｖ（ｉ）のコンテンツを計算するステップと、
−  前記事前確率Ｉｖと、前記セットＭ（ｖ）の前記チェック・ノードから前記変数ノードへの前記チェック−変数メッセージＲｃｖ（ｉ）の前記コンテンツとに基づいて、前記事後確率Ｌｖ（ｉ）を計算するステップと
−  を行うことによって前記事後確率Ｌｖ（ｉ）を計算するステップと
を備える、請求項１３に記載の方法。
【請求項１５】
光コヒーレント通信システム（ＣＳ）であって、
−  送信されるべきｎ個のクライアント・ビットにＦＥＣコードを適用することによって計算されるｋ個のパリティ・ビットを追加することによって前記ｎ個のクライアント・ビットのブロックをｎ＋ｋビットのコードワードに符号化するように構成されたＦＥＣエンコーダ（ＦＥ）を備える光送信機（ＴＸ）と、
−  各コードワードを、それに反復メッセージ・パッシング・アルゴリズムを適用することによって復号するように構成されたＦＥＣデコーダ（ＦＤ）を備える光コヒーレント受信機（ＲＸ）であって、前記メッセージ・パッシング・アルゴリズムの各反復が、前記ＦＥＣコードを定義するパリティ検査行列を評価することを備える、光コヒーレント受信機（ＲＸ）と
を備え、
前記ＦＥＣエンコーダ（ＦＥ）が、コードワードごとにクライアント・ビットの前記数ｎを変更することによって、および／またはコードワードごとにパリティ・ビットの前記数ｋを変更することによって前記ＦＥＣコードのコーディング・レートを変更するように構成され、
前記ＦＥＣデコーダ（ＦＤ）が、前記メッセージ・パッシング・アルゴリズムの各反復において、列ごとに前記パリティ検査行列を評価するように構成された、光コヒーレント通信システム（ＣＳ）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、通信ネットワークの分野に関する。詳細には、本発明は、通信ネットワークにおいて可変コーディング・レートを有する前方誤り訂正（ＦＥＣ）機構を実装するための方法、および本方法を実施するように構成された光コヒーレント通信システムに関する。
【背景技術】
【０００２】
知られているように、前方誤り訂正（ＦＥＣ）は、デジタル通信ネットワーク、たとえば、波長分割多重（ＷＤＭ）通信ネットワークのネットワーク要素間のデジタル・データ送信における誤りを検出し、場合によっては訂正するための技法である。
【０００３】
ＦＥＣによれば、送信側において、送信されるべきデジタル・データは、冗長性を追加する誤り訂正符号を使用して符号化される。受信側において、冗長性は、元のデータの誤りを検出し、場合によっては訂正するために使用される。
【０００４】
ブロック・コードおよび畳み込みコードを含む様々なタイプの誤り訂正符号が知られている。ブロック・コードでは、送信されるべきデジタル・データが、ｎ個のクライアント・ビットの固定サイズのブロックに分割され、各ブロックは、ｋ個の冗長ビットを追加することによってｎ＋ｋビットのそれぞれのコードワードに別々に符号化される。
【０００５】
ブロック・コードは、ｎ個のクライアント・ビットから始まるｋ個の冗長ビットを計算するためのルールのセットによって定義される。たとえば、パリティ検査コードでは、ｋ個の冗長ビットの各々が、ｎ個のクライアント・ビットのあるサブセットのパリティ（すなわち、モジュロ２加算）として計算され、したがって「パリティ・ビット」とも呼ばれる。各ルールは、パリティ・ビットのモジュロ２加算およびそれを計算するために使用されるｎ個のクライアント・ビットのサブセットが０に等しくなるのかどうかを確認することを基本的に行う、それぞれのパリティ・チェックに対応する。コードワードは、すべてのパリティ・チェックが満たされる場合のみ有効である。
【０００６】
パリティ検査コードはまた、ｋ個のパリティ・チェックに対応するｋ個の行とコードワードのｎ＋ｋビットに対応するｎ＋ｋ個の列とをもつバイナリ行列（パリティ検査行列とも呼ばれる）の形態で表され得る。
【０００７】
パリティ検査コードの中で、低密度パリティ検査（ＬＤＰＣ）コードが、知られており、現在ＷＤＭ通信ネットワークにおいて広く使用されている。ＬＤＰＣ符号は、極めて小数の非ゼロ・エンティティのみを含んでいるパリティ検査マトリックスを有する（すなわち、それらはスパース行列である）。パリティ検査行列のスパース性は、コード長さに対して直線的にのみ増加する復号複雑性とコードの長さに対して同じく直線的に増加する最小距離との両方を保証する。
【０００８】
ＬＤＰＣコードは、しばしば、タナー・グラフによってグラフ形式で表される。タナー・グラフは、基本的に、「変数ノード」と呼ばれるｎ＋ｋ個のノードの第１の列と「チェック・ノード」と呼ばれるｋ個のノードの第２の列とからなる。各変数ノードは、それぞれのコードワード・ビット（クライアント・ビットまたはパリティ・ビットのいずれか）に対応し、一方、各チェック・ノードは、それぞれのパリティ・チェックに対応する。グラフ中で、あるパリティ・チェックに関与するコードワード・ビットは、それらの変数ノードをそのパリティ・チェックのチェック・ノードに参加させる。これは、ＬＤＰＣコードを定義するパリティ・チェックの直観的な図式表現を与える。
【０００９】
ＬＤＰＣコードは、一般に、「メッセージ・パッシング・アルゴリズム」として知られる反復アルゴリズムを使用して復号され、ここにおいて、変数ノードおよびチェック・ノードは、反復的にメッセージを交換し、それらの状態を更新する状態機械のように働く。様々なタイプのメッセージ・パッシング・アルゴリズムが知られており、それは、交換されるメッセージのコンテンツならびに変数ノードおよびチェック・ノードにおいて実行される処理によって異なる。
【００１０】
メッセージ・パッシング・アルゴリズムの特定のクラスは、いわゆる「確率伝搬アルゴリズム」のクラスであり、ここにおいて、あるコードワード・ビットに対応する変数ノードと隣接チェック・ノードとの間で交換されるメッセージは、コードワード・ビットが値１または０を有する確率を備える。１または０に等しくなるコードワード・ビットの確率は、しばしば、いわゆる「対数尤度比」（または、手短に、ＬＬＲ）として、すなわち、次式のように表される。
【００１１】
【数１】
2019520758.tif 000003
ここで、ｐ（０）およびｐ（１）は、コードワード・ビットがそれぞれ０および１に等しくなる確率である。ＬＬＲ＞０は、コードワード・ビットがおそらく１ではなく０であることを示し、一方、ＬＬＲ＜０は、コードワード・ビットがおそらく０ではなく１であることを示す。その上、ＬＬＲ＝０は、コードワード・ビットが１または０である確率が同じであることを示す。ＬＬＲを利用する例示的な確率伝搬アルゴリズムは、たとえば、「積和」アルゴリズム（ＳＰＡ）および「最小和」アルゴリズム（ＭＳＡ）である。
【００１２】
確率伝搬アルゴリズムにより、各変数ノードは、第１に、入力として、受信機の前の構成要素、典型的には、復調器によってそれに与えられるそれのコードワード・ビットの事前確率を受信する。次いで、各変数ノードは、事前確率とそれの隣接チェック・ノードによって与えられた外部情報との両方を考慮に入れるそれのコードワード・ビットの事後確率を計算する。各コードワード・ビットの事後確率は、変数ノードからそれらの隣接チェック・ノードへの事後確率の送信、更新された外部情報を生じるチェック・ノードによる受信事後確率の処理、チェック・ノードから隣接変数ノードへの更新された外部情報の送信、更新された事後確率を生じる変数ノードにおける更新された外部情報の処理を含む一連のステップを反復することによって徐々に改良される。あらかじめ定義された数の反復の後に、アルゴリズムは、終了し、事後確率の最終値が、コードワード・ビット（すなわち、それに値０または１を割り当てること）に関して硬判定を行うために使用され得る。
【００１３】
実装の観点から、メッセージ・パッシング・アルゴリズムは、一般に、アルゴリズムの各反復ごとに１つずつ、いくつかのカスケード復号ブロックを備えるＦＥＣデコーダによって実装される。各復号ブロックは、前のブロックから事後確率または前の反復において計算された外部情報を受信し、新しい、改良された事後確率または新しい、改良された外部情報を計算する。最後の復号ブロックは、次いで、コードワード・ビットごとに硬判定を行う硬判定ブロックに事後確率をパスし得る。
【００１４】
知られているように、ＬＤＰＣ復号収束を行うために必要な反復の数を低減する（したがって、ＦＥＣデコーダにおいて必要とされる復号ブロックの数を低減する）ために、階層化復号方式が使用され得る。階層化ＬＤＰＣ復号方式は、行階層化または列階層化のいずれかであり得る。
【００１５】
行階層化ＬＤＰＣ復号方式によれば、各反復において更新するメッセージは、行ごとにパリティ検査行列を走査することによって実行される。言い換えれば、メッセージ・パッシング・アルゴリズムの各反復は、一連のｋ個のステップに分割され、各ステップがチェック・ノードとそれに接続された変数ノードとの状態の更新を備える。
【００１６】
その上、列階層化ＬＤＰＣ復号方式によれば、各反復において更新するメッセージは、列ごとにパリティ検査行列を走査することによって実行される。言い換えれば、メッセージ・パッシング・アルゴリズムの各反復は、一連のｎ＋ｋ個のステップに分割され、各ステップが変数ノードとそれに接続されたチェック・ノードとの状態の更新を備える。
【００１７】
知られているように、パリティ・チェック・コードについて（特に、ＬＤＰＣコードについて）、コーディング・レートＲは、次のように定義され得る。
【００１８】
【数２】
2019520758.tif 000004
ここで、ｎは、コードワードごとのクライアント・ビットの数であり、ｋは、コードワードごとのパリティ・ビットの数である。コーディング・レートＲはまた、次のように表され得る。
【００１９】
【数３】
2019520758.tif 000005
ここで、ｆＣ＝ｎ／Ｔは、クライアント・ビットレートであり、ｆＰ＝ｋ／Ｔは、パリティ・ビットレートであり、ｆＬは、ｆＬ＝ｆＣ＋ｆＰ＝（ｎ＋ｋ）／Ｔとして定義される回線ビットレートであり、Ｔは、コードワード期間である。したがって、あるクライアント・ビットレートｆＣについて、パリティ・ビットレートｆＰが高くなればなるほど、コーディング・レートＲは低くなり、コードの誤り検出および訂正能力は高くなる。
【００２０】
情報短縮およびコード拡張など、ＬＤＰＣコードのコーディング・レートを変更するための技法、特に、それを最大開始値Ｒ０から低下させるための技法が知られている。
【００２１】
知られている情報短縮技法によれば、ｎ０個のクライアント・ビットのブロックに対して計算されたｋ０個のパリティ・チェックによって定義されたＬＤＰＣコードのコーディング・レートＲ０は、ｋ０に等しいパリティ・ビットの数を保ちながら、コードワードごとのクライアント・ビットの数をｎ０からｎＮ＜ｎ０に低減することによって新しい値ＲＮに低減される。この目的のために、コードワードのｎＮ個のクライアント・ビットとｎＮ−ｎ０個のゼロとを含むｎ０個のビットに対してｋ０個のパリティ・チェックを適用することによって計算されるｎＮ個のクライアント・ビットとｋ０個のパリティ・ビットとを備えるコードワードが形成される。ｎＮ−ｎ０個の０は送信されない。デコーダにおいて、ｎＮ−ｎ０個の送信されないゼロに対応するｎＮ−ｎ０個の変数ノードに無限確率が割り当てられ、次いで、上記で説明した確率伝搬アルゴリズムが、コードワードのｎＮ個のクライアント・ビットの誤りを検出し、訂正するために適用される。
【００２２】
知られているコード拡張技法によれば、ｎ０個のクライアント・ビットのブロックに対して計算されたｋ０個のパリティ・チェックによって定義されたＬＤＰＣコードのコーディング・レートＲ０は、ｎ０に等しいクライアント・ビットの数を保ちながら、ｋＮ＞ｋ０である状態でｋ０からｋＮにコードワードごとのパリティ・ビットの数を低減することによって新しい値ＲＮに低減される。この目的のために、ｎ０個のクライアント・ビットと、ｎ０個のクライアント・ビットに対してｋ０個のパリティ・チェックを適用することによって計算されたｋ０個のパリティ・ビットと、ｎ０個のクライアント・ビットに対してｋＮ−ｋ０個のさらなるパリティ・チェックを適用することによって計算されたｋＮ−ｋ０個のさらなるパリティ・ビットとを備えるコードワードが形成される。
【００２３】
したがって、情報短縮とコード拡張との両方によれば、ＬＤＰＣコードのコーディング・レートＲ０は、コードワードのペイロード（クライアント・ビット）とオーバーヘッド（パリティ・ビット）との相対サイズの変更を導入することによって新しい値ＲＮに減少される。そのような変更は、どちらの場合も、パリティ・ビットレートの変更を伴い、これは、次に、クライアント・ビットレートの変更および／または回線ビットレートの変更を生じ得る。
【００２４】
特に、情報短縮とコード拡張との両方によれば、コーディング・レートは、以下の式に従ってクライアント・ビットレートｆＣおよびパリティ・ビットレートｆＰに対して変化する。
【００２５】
【数４】
2019520758.tif 000006
ここで、ｆＣ０、ｆＰ０およびｆＬ０は、元のコーディング・レートＲ０におけるクライアント・ビットレート、パリティ・ビットレートおよび回線ビットレートであり（ここで、ｆＬ０＝ｆＣ０＋ｆＰ０）、一方、ｆＣＮ、ｆＰＮおよびｆＬＮは、新しい、減少したコーディング・レートＲＮ＜Ｒ０におけるクライアント・ビットレート、パリティ・ビットレートおよび回線ビットレートである（ここで、ｆＬＮ＝ｆＣＮ＋ｆＰＮ）。
【発明の概要】
【００２６】
本発明者は、光コヒーレント送信のための次世代のデバイスである光コヒーレント受信機が、単一のモノリシック・チップ（ＤＳＰチップ）中に１００Ｇｂｐｓの典型的なビットレートでいくつかのクライアント・チャネルをホストするＣＭＯＳデバイスとして実装されることになることに気づいた。
【００２７】
各クライアント・チャネルのＦＥＣ復号を実行するために、ＤＳＰチップは、ＤＳＰチップ全体の計算複雑性および電力消費量の大きな要因を表すいくつかのＦＥＣデコーダ（特に、ＬＤＰＣ復号器）を備え得る。
【００２８】
一方、本発明者は、光コヒーレント送信のためのデバイスの傾向が、デバイスにますます多くの柔軟性を与えるものであり、これは、同じＤＳＰチップが、異なる動作条件の下で、すなわち、異なるクライアント・ビットレートおよび／または異なる回線ビットレートで動作するように再構成可能であり得ることを意味することに気づいた。特に、ＤＳＰチップは、各動作条件でＦＥＣコードの誤り検出および訂正能力を最大にするようにＦＥＣコードのコーディング・レートＲを調整することが可能であり得る。
【００２９】
特に、以下の２つの異なるシナリオが想定され得る。
（ｉ）回線ビットレートｆＬが固定され、クライアント・ビットレートｆＣが可変である。この場合、クライアント・ビットレートｆＣが減少する場合、パリティ・ビットレートｆＰは、ＦＥＣの誤り検出および訂正能力を増加させる目的で未使用のまま残された回線ビットレートｆＬを活用するように増加され得る（すなわち、コーディング・レートＲが減少され得る）。または、
（ｉｉ）クライアント・ビットレートｆＣが固定され、回線ビットレートｆＬが可変である。この場合、回線ビットレートｆＣが減少する場合、パリティ・ビットレートｆＰは、ＦＥＣの誤り検出および訂正能力を増加させる目的で増加した回線ビットレートｆＬを活用するように増加され得る（すなわち、コーディング・レートＲが減少され得る）。
【００３０】
その上、本発明者は、次世代の光コヒーレント送信のためのデバイスが、すでに展開されているレガシー・デバイスに適合し得ることに気づいた。
【００３１】
原則として、ＬＤＰＣコードのコーディング・レートを変更するための上記で説明した技法（情報短縮およびコード拡張）は、レガシー・デバイスとのそれらの相互運用性を維持しながら上記のフレキシビリティを光コヒーレント送信のためのＤＳＰチップに与えることができる。
【００３２】
しかしながら、本発明者は、情報短縮および／またはコード拡張に従って可変のコーディング・レートでＬＤＰＣコードを復号することが可能なＦＥＣ３０デコーダを実装することが他の問題に関与することに気づいた。
【００３３】
特に、本発明者は、行階層化ＬＤＰＣ復号方式を使用して確率伝搬アルゴリズムを実装するＦＥＣデコーダが、受信コードワードごとに、アルゴリズムの各反復において一連のｋ個の動作を実行し、各動作が、上記で説明したようにパリティ検査行列のそれぞれの行を評価することにあることに気づいた。したがって、受信コードワードごとの動作の数として定義される、知られている行階層化ＦＥＣデコーダの計算複雑性は以下のように表され得る。
【００３４】
【数５】
2019520758.tif 000007
ここで、Ｔは、コードワード期間であり、Ｒは、ＬＤＰＣコードのコーディング・レートであり、ｆＣは、クライアント・ビットレートであり、ｆＰは、パリティ・ビットレートである。したがって、複雑性は、基本的にパリティ・ビットレートに依存する。
【００３５】
したがって、コーディング・レートが情報短縮またはコード拡張のいずれかを使用して変更されるＬＤＰＣコードに行階層化復号方式を適用するＦＥＣデコーダの計算複雑性は、次のようにコーディング・レートに対して変化する。
【００３６】
【数６】
2019520758.tif 000008
ここで、ｆＣ０、ｆＰ０およびｆＬ０は、元のコーディング・レートＲ０におけるクライアント・ビットレート、パリティ・ビットレートおよび回線ビットレートであり、ｆＣＮ、ｆＰＮおよびｆＬＮは、新しい、減少したコーディング・レートＲＮ＜Ｒ０におけるクライアント・ビットレート、パリティ・ビットレートおよび回線ビットレートである。
【００３７】
式６から、コーディング・レートが減少するにつれて、行階層化復号方式を適用するＦＥＣデコーダの計算複雑性が著しく増加することが明らかである。これは、計算複雑性がパリティ・ビットレートに対して変化するからであり、計算複雑性は、コードワードごとのクライアント・ビットの数を低減すること（情報短縮）によって、あるいは、コードワードごとのパリティ・ビットの数を増加する（コード拡張）ことによってコーディング・レートが減少する。
【００３８】
これは、コードワードごとのパリティ・ビットの数をｋ０に等しく保ちながら、回線ビットレートｆＬが固定され、ｎ０からｎＮにコードワードごとのクライアント・ビットの数を低減することによってコーディング・レートが増加される例示的なシナリオを示す図１に概略的に示されている。コードワード長さがｎ０＋ｋ０からｎＮ＋ｋ０に低減され、回線ビットレートｆＬが固定されるので、コードワード期間もＴ０からＴＮに低減されることを諒解され得る。これは、コードワードごとのパリティ・ビットの数がｋ０に等しく保たれる場合でも、ｆＰ０＝ｋ０／Ｔ０からｆＰＮ＝ｋ０／ＴＮへのパリティ・ビットレートの増加を伴う。したがって、ＦＥＣデコーダの計算複雑性は、式６に従って増加する。
【００３９】
したがって、低いコーディング・レートを用いるＬＤＰＣコードに行階層化復号方式を適用することは、最大１Ｔｂ／ｓで動作する光コヒーレント送信のための次世代のデバイスのためのＤＳＰチップ上への実装には法外であり得る。
【００４０】
上記に鑑みて、上記の欠点を解決する可変コーディング・レートを有する前方誤り訂正（ＦＥＣ）機構を実装するための方法および光コヒーレント通信システムを提供することが本発明の目的である。
【００４１】
特に、可変コーディング・レートを有する前方誤り訂正（ＦＥＣ）機構を実装するための方法および光コヒーレント通信システムを提供することが本発明の目的であり、ここにおいて、ＦＥＣデコーダの計算複雑性は、実質的にコーディング・レートとは無関係であり、極めて低いコーディング・レート（たとえば０．５）でも単一のＤＳＰチップ上へのＦＥＣデコーダの実装を可能にするのに十分低い。
【００４２】
第１の態様によれば、本発明は、光コヒーレント通信システム中にＦＥＣ機構を実装するための方法であって、
ａ）システムのＦＥＣエンコーダにおいて、送信されるべきｎ個のクライアント・ビットにＦＥＣコードを適用することによって計算されるｋ個のパリティ・ビットを追加することによって前記ｎ個のクライアント・ビットのブロックをｎ＋ｋビットのコードワードに符号化するステップと、
ｂ）システムのＦＥＣデコーダにおいて、各コードワードを、それに反復メッセージ・パッシング・アルゴリズムを適用することによって復号するステップであって、メッセージ・パッシング・アルゴリズムの各反復が、ＦＥＣコードを定義するパリティ検査行列を評価することを備える、ステップと
を備え、
ステップａ）が、コードワードごとにクライアント・ビットの数ｎを変更することによっておよび／またはコードワードごとにパリティ・ビットの数ｋを変更することによってＦＥＣコードのコーディング・レートを変更するステップを備え、
ステップｂ）が、メッセージ・パッシング・アルゴリズムの各反復において、列ごとにパリティ検査行列を評価するステップを備える、方法を提供する。
【００４３】
好ましくは、ステップａ）は、ｋ０個のパリティ・ビットを追加することによってｎ０個のクライアント・ビットのブロックをｎ０＋ｋ０ビットのコードワードに符号化することによって取得される最大開始値Ｒ０から、ｋＮ個のパリティ・ビットを追加することによってｎＮ個のクライアント・ビットのブロックをｎＮ＋ｋＮビットのコードワードに符号化することによって取得される新しい値ＲＮ＜Ｒ０に、コーディング・レートを低減するステップを備える。
【００４４】
好ましくは、ステップａ）は、コードワードごとのクライアント・ビットの数をｎ０からｎＮ＜ｎ０に低減することによって、コーディング・レートを最大開始値Ｒ０から新しい値ＲＮ＜Ｒ０に低減するステップを備える。
【００４５】
好適な変形形態によれば、ステップａ）は、情報短縮技法を適用するステップを備える。
【００４６】
好ましくは、ステップａ）は、コードワードごとのパリティ・ビットの数をｋ０からｋＮ＞ｋ０に増加することによって、コーディング・レートを最大開始値Ｒ０から新しい値ＲＮ＜Ｒ０に低減するステップを備える。
【００４７】
好ましくは、ステップａ）は、コードワードごとのパリティ・ビットの数をｋ０からｋＮ＞ｋ０に増加し、コードワードごとのビットの数が一定に保たれる、すなわち、ｎ０＋ｋ０＝ｎＮ＋ｋＮになるようにｎＮおよびｋＮを選択することによって最大開始値Ｒ０から前記新しい値ＲＮ＜Ｒ０にコーディング・レートを低減するステップを備える。
【００４８】
好適な変形形態によれば、ステップａ）は、コード拡張技法を適用するステップを備える。
【００４９】
好ましくは、ステップｂ）において、反復メッセージ・パッシング・アルゴリズムは、確率伝搬アルゴリズムである。
【００５０】
好適な変形形態によれば、ステップｂ）において、確率伝搬アルゴリズムは、最小和アルゴリズムである。
【００５１】
好ましくは、ステップｂ）において、メッセージ・パッシング・アルゴリズムは数Ｓ≧２の反復を備え、メッセージ・パッシング・アルゴリズムの各反復は、コードワードごとに、
−  コードワードのクライアント・ビットおよびパリティ・ビットのための事前確率Ｉｖを受信するステップであって、ｖが、１からｎ＋ｋの範囲のインデックスである、ステップと、
−  メッセージ・パッシング・アルゴリズムの前の反復において計算されたコードワードのクライアント・ビットおよびパリティ・ビットのための外部情報Ｌｃｖ（ｉ−１）を受信するステップであって、ｖは、１からｎ＋ｋの範囲のインデックスであり、ｃは、１からｋの範囲のインデックスである、ステップと
を備える。
【００５２】
好ましくは、ステップｂ）において、メッセージ・パッシング・アルゴリズムの各中間反復は、
−  事前確率Ｉｖと、前記メッセージ・パッシング・アルゴリズムの前の反復において計算された外部情報Ｌｃｖ（ｉ−１）とに基づいて、コードワードのクライアント・ビットおよびパリティ・ビットのための更新された外部情報Ｌｃｖ（ｉ）を計算するステップであって、ｖは、１からｎ＋ｋの範囲のインデックスであり、ｃは、１からｋの範囲のインデックスである、ステップと、
−  メッセージ・パッシング・アルゴリズムの次の反復に事前確率Ｉｖと更新された外部情報Ｌｃｖ（ｉ）とを転送するステップと
を備える。
【００５３】
好ましくは、更新された外部情報Ｌｃｖ（ｉ）を計算するステップは、ＦＥＣコードを表すタナー・グラフ中のコードワードのクライアント・ビットまたはパリティ・ビットを表すｎ＋ｋ個の変数ノードのそれぞれについて、
−  タナー・グラフ中の前記変数ノードと接続されたチェック・ノードのセットＭ（ｖ）を識別するステップと、
−  セットＭ（ｖ）のチェック・ノードごとに、メッセージ・パッシング・アルゴリズムの前の反復において計算された、タナー・グラフ中のチェック・ノードと接続された変数ノードのセットＮ（ｃ）からの変数−チェック・メッセージＬｃｖ（ｉ−１）のコンテンツに基づいてチェック・ノードから変数ノードへのチェック−変数メッセージＲｃｖ（ｉ）のコンテンツを計算するステップと、
−  事前確率Ｉｖと、セットＭ（ｖ）のチェック・ノードから変数ノードへのチェック−変数メッセージＲｃｖ（ｉ）のコンテンツとに基づいて、変数ノードからセットＭ（ｖ）のチェック・ノードへの変数−チェック・メッセージＬｃｖ（ｉ）の更新されたコンテンツを計算するステップと
−  を行うことによって可変ノードから前記セットＭ（ｖ）のチェック・ノードへの変数−チェック・メッセージの更新されたコンテンツＬｃｖ（ｉ）として、更新された外部情報Ｌｃｖ（ｉ）を計算するステップと
を備える。
【００５４】
好ましくは、ステップｂ）において、メッセージ・パッシング・アルゴリズムの最後の反復は、
−  コードワードの少なくともクライアント・ビットのための事後確率ＬＶ（ｉ）を計算するステップであって、ｖが、１からｎ＋ｋの範囲のインデックスである、計算するステップと、
−  コードワードの各クライアント・ビットについて「０」または「１」を決定するために事後確率ＬＶ（ｉ）を使用して硬判定ブロックに事後確率ＬＶ（ｉ）を転送するステップと
を備える。
【００５５】
好ましくは、事後確率ＬＶ（ｉ）を計算するステップは、ＦＥＣコードを表すタナー・グラフ中のコードワードのクライアント・ビットを表すｎ個の変数ノードのそれぞれについて、
−  タナー・グラフ中の変数ノードと接続されたチェック・ノードのセットＭ（ｖ）を識別するステップと、
−  セットＭ（ｖ）のチェック・ノードごとに、メッセージ・パッシング・アルゴリズムの前の反復において計算された、前記タナー・グラフ中のチェック・ノードと接続された変数ノードのセットＮ（ｃ）からの変数−チェック・メッセージＬｃｖ（ｉ−１）のコンテンツに基づいてチェック・ノードから変数ノードへのチェック−変数メッセージＲｃｖ（ｉ）のコンテンツを計算するステップと、
−  事前確率Ｉｖと、セットＭ（ｖ）のチェック・ノードから変数ノードへのチェック−変数メッセージＲｃｖ（ｉ）のコンテンツとに基づいて、事後確率Ｌｖ（ｉ）を計算するステップと
−  を行うことによって事後確率Ｌｖ（ｉ）を計算するステップと
を備える。
【００５６】
第２の態様によれば、本発明は、光コヒーレント通信システムであって、
−  送信されるべきｎ個のクライアント・ビットにＦＥＣコードを適用することによって計算されるｋ個のパリティ・ビットを追加することによってｎ個のクライアント・ビットのブロックをｎ＋ｋビットのコードワードに符号化するように構成されたＦＥＣエンコーダを備える光送信機と、
−  各コードワードを、それに反復メッセージ・パッシング・アルゴリズムを適用することによって復号するように構成されたＦＥＣデコーダを備える光コヒーレント受信機であって、メッセージ・パッシング・アルゴリズムの各反復が、ＦＥＣコードを定義するパリティ検査行列を評価することを備える、光コヒーレント受信機と
を備え、
ＦＥＣエンコーダが、コードワードごとにクライアント・ビットの数ｎを変更することによっておよび／またはコードワードごとにパリティ・ビットの数ｋを変更することによってＦＥＣコードのコーディング・レートを変更するように構成され、ＦＥＣデコーダが、メッセージ・パッシング・アルゴリズムの各反復において、列ごとにパリティ検査行列を評価するように構成された、光コヒーレント通信システムを提供する。
【００５７】
本発明の実施形態は、添付の図面を参照しながら読まれるべき、限定ではなく例として与えられた以下の発明を実施するための形態を読むことによってより良く理解されよう。
【図面の簡単な説明】
【００５８】
【図１】知られている情報短縮技法によるコーディング・レートの増加を図式的に示す図である（上記で説明）。
【図２】本発明の実施形態による、光コヒーレント通信システムを図式的に示す図である。
【図３】図１に示した光コヒーレント受信機中に含まれるＦＥＣデコーダの復号ブロックをさらに詳細に示す図である。
【図４】図３に示した復号ブロックの動作のフロー・チャートである。
【図５】固定クライアント・ビットレートを用いた場合および固定回線ビットレートを用いた場合の計算複雑性の増加対コーディング・レートの変化の２つのグラフである。
【発明を実施するための形態】
【００５９】
図２に、本発明の実施形態による、光コヒーレント通信システムＣＳを示す。
【００６０】
通信システムＣＳは、好ましくは、光送信機ＴＸと、光コヒーレント受信機ＲＸと、光送信機ＴＸおよび光コヒーレント受信機ＲＸを接続する光リンクＯＬとを備える。
【００６１】
光送信機ＴＸは、好ましくは、たとえば、ＷＤＭ（波長分割多重）技法を使用して光リンクＯＬ上で数Ｍのクライアント・チャネルを送信するように構成される。クライアント・チャネルごとに、光送信機ＴＸは、好ましくはＦＥＣエンコーダと、変調器と、レーザー源とを含む構成要素のカスケードを備える。簡単のために、図２では、単一のカスケードのＦＥＣエンコーダＦＥのみが概略的に示されている。
【００６２】
光コヒーレント受信機ＲＸは、光リンクＯＬからＭ個のクライアント・チャネルを受信するように構成される。クライアント・チャネルごとに、光コヒーレント受信機ＲＸは、好ましくは、アナログ・ユニットと、アナログ・デジタル変換器と、デジタル・ユニットとを含む構成要素のカスケードを備える。デジタル・ユニットは、一般に、少なくとも復調器とＦＥＣデコーダとを備えるＤＳＰチップとして実装される。簡単のために、図２では、単一のカスケードのＦＥＣデコーダＦＤのみが概略的に示されている。
【００６３】
送信機ＴＸにおいて、ＦＥＣエンコーダＦＥは、それのクライアント・チャネル上で送信されるべきクライアント・ビットのストリームにＦＥＣコード（好ましくは、ＬＤＰＣコード）を適用するように構成される。ＦＥＣエンコーダＦＥによって出力されたビット（クライアント・ビットおよびパリティ・ビット）のストリームは、次いで、ＦＥＣエンコーダＦＣ（図２に図示せず）とカスケード接続された変調器に供給され、変調器は、それをあらかじめ定義された変調方式（たとえばＱＡＭ、ＱＰＳＫなど）に従って決定された変調シンボルのストリームに変換する。変調シンボルの位相および振幅は、次いで、変調器（図２に図示せず）とカスケード接続されたレーザー源によって生成された光搬送波を変調するために使用される。変調光信号は、次いで、光リンクＯＬを介して送信される。
【００６４】
受信機ＲＸにおいて、アナログ・ユニット（図２に図示せず）は、光信号を受信し、それを２つのローカル復調キャリアと混合し、混合の結果を処理し、それを２つのアナログ電気信号に変換する。アナログ・ユニットとカスケード接続されたアナログ・デジタル変換器（図２に図示せず）は、それらを２つのデジタル電気信号に変換し、デジタル・ユニットは、次いで、最初に送信されたクライアント・ビットのストリームを取り出すためにこれを処理する。特に、復調器は、クライアント・ビットおよびパリティ・ビットの事前確率（「チャネル確率」とも呼ばれる）をＦＥＣデコーダＦＤに与えるために２つのデジタル電気信号を処理する。ＦＥＣデコーダＦＤは、好ましくは、クライアント・ビットごとに「０」または「１」を決定するのを最終的に可能にする事後確率を与えるために受信した事前確率に反復メッセージ・パッシング・アルゴリズムを適用する。
【００６５】
再びＦＥＣエンコーダＦＥを参照すると、ＦＥＣエンコーダＦＥは、好ましくは、ｋ個のパリティ・チェックに従って計算されるｋ個のパリティ・ビットを追加することによってｎ＋ｋビットのコードワードにｎ個のクライアント・ビットのブロックを符号化するように構成される。したがって、ＦＥＣエンコーダＦＣによって適用されるＬＤＰＣコーディングのコーディング・レートは、上記の式２に従ってＲ＝ｎ／（ｎ＋ｋ）となる。
【００６６】
好ましくは、ＦＥＣエンコーダＦＥによって適用されるＦＥＣコードのコーディング・レートは、コードワードごとのクライアント・ビットの数および／またはコードワードごとのパリティ・ビットの数を調節することによって調整可能である。特に、ＦＥＣエンコーダＦＥによって適用されるＦＥＣコードのコーディング・レートは、
（ｉ）最大値ｎ０から新しい値ｎＮ＜ｎ０にコードワードごとのクライアント・ビットの数を低減すること、および／または
（ｉｉ）最小値ｋ０から新しい値ｋＮ＞ｋ０にコードワードごとのパリティ・ビットの数を増加すること
を行うことによって上限Ｒ０を有する範囲に調整可能である。
【００６７】
好ましくは、ｎ０から新しい値ｎＮ＜ｎ０へのコードワードごとのクライアント・ビットの数の低減は、知られている情報短縮技法を適用することによって実行される。さらに、好ましい実施形態によれば、ｋ０からｋＮ＞ｋ０へのコードワードごとのパリティ・ビットの数の増加は、知られているコード拡張技法を適用することによって実行される。
【００６８】
第１の実施形態によれば、ＦＥＣエンコーダＦＥによって適用されるＬＤＰＣコードのコードワード・レートは、コードワードの長さに関するいかなる制約もなしに知られている情報短縮技法を適用することによってｎ０から新しい値ｎＮ＜ｎ０にコードワードごとのクライアント・ビットの数を低減することによってＲ０からＲＮに低減される。したがって、コードワード長さは、コーディング・レートによって変化する。特に、ｎ０からｎＮにコードワードごとのクライアント・ビットの数を低減することによってコーディング・レートがＲ０からＲＮに低減されるとき、コードワード長さも（ｎ０＋ｋ０）から（ｎＮ＋ｋ０）に低減される。
【００６９】
この第１の実施形態によれば、コーディング・レートは、０．６〜０．８の範囲で変更され得る。さらに低いコーディング・レートを達成するために、コードワード長さは、本明細書中に後で詳細に説明するように一定に保たれることになろう。
【００７０】
ＦＥＣデコーダＦＤに関して、それは、好ましくは、数Ｓ≧２のカスケード復号ブロックを備え、各ブロックは、メッセージ・パッシング・アルゴリズム、好ましくは、確率伝搬アルゴリズムのそれぞれの反復を実行するように構成される。非限定的な例として、図１に示したＦＥＣデコーダＦＤは、ＤＥＣ１、ＤＥＣ２、ＤＥＣ３の３つの復号ブロックを備える。ただし、これは限定するものではない。より一般的には、カスケード復号ブロックの数Ｓは、追加の反復がアルゴリズムの結果の精度の無視できる改善を伴う反復の数として決定される。いずれの場合も、Ｓの上限は、ＦＥＣデコーダＦＤが実装されるＤＳＰチップ上で利用可能なエリアによって、および電力消費量の制約によって決定される。
【００７１】
ＦＥＣデコーダＦＤのすべての復号ブロックＤＥＣ１、ＤＥＣ２、ＤＥＣ３は、好ましくは、図３に概略的に示す同じ構造を有する。特に、図３に、復号ブロックＤＥＣｉを概略的に示し、ここにおいて、ｉ＝１、２、３である。
【００７２】
復号ブロックＤＥＣｉは、好ましくは、チャネル・メモリ・ユニットＣＭと、チェック・ノード・メモリ・ユニットＣＮＭと、処理ユニットＰＵとを備える。
【００７３】
チャネル・メモリ・ユニットＣＭは、好ましくは、処理ユニットＰＵと単方向に接続され、一方、チェック・ノード・メモリ・ユニットＣＮＭは、好ましくは、フィードバック構成に従って処理ユニットＰＵと接続される。
【００７４】
チャネル・メモリ・ユニットＣＭは、好ましくは、復号ブロックＤＥＣｉの第１の入力と第１の出力とに接続される。チェック・ノード・メモリ・ユニットＣＮＭは、好ましくは、復号ブロックＤＥＣｉの第２の入力に接続され、一方、処理ユニットＰＵは、復号ブロックＤＥＣｉの第２の出力に接続される。
【００７５】
ＦＥＣエンコーダＦＥがｎ個のクライアント・ビットとｋ個のパリティ・ビットとをもつコードワードを与えるＬＤＰＣコードを適用しているという仮定の下で、復号アルゴリズムのｉ番目の反復を実装する復号ブロックＤＥＣｉは、好ましくは、前の復号ブロックから、
−  ＦＥＣデコーダＦＤに先行する復調器によって与えられるコードワードのすべてのコードワード・ビット（クライアント・ビットおよびパリティ・ビット）の事前確率Ｉｖ（またはチャネル確率）であって、ｖは、１からｎ＋ｋの範囲のインデックスである、事前確率Ｉｖ（またはチャネル確率）と、
−  前の復号ブロックによって（すなわち、アルゴリズムの前の反復において）計算されたすべてのコードワード・ビットのための外部情報Ｌｃｖ（ｉ−１）であって、ｖは、１からｎ＋ｋの範囲のインデックスであり、ｃは、１からｋの範囲のインデックスである、外部情報Ｌｃｖ（ｉ−１）と
を受信する。第１の復号ブロックＤＥＣ１において、外部情報は受信されない（ＦＥＣ復号はまだ開始されていない）。
【００７６】
復号ブロックＤＥＣｉは、好ましくは、チャネル・メモリ・ユニットＣＭ中に事前確率Ｉｖを記憶し、チェック・ノード・メモリ・ユニットＣＮＭ中に外部情報Ｌｃｖ（ｉ−１）を記憶する。
【００７７】
次いで、ＤＥＣｉがＦＥＣデコーダの最後の復号ブロックでない場合、それの処理ユニットＰＵは、好ましくは、コードワード・ビットのための更新された外部情報Ｌｃｖ（ｉ）を計算するために事前確率Ｉｖおよび外部情報Ｌｃｖ（ｉ−１）を使用する。復号ブロックＤＥＣｉは、次いで好ましくは、次の復号ブロックに、
−  コードワード・ビットの事前確率Ｉｖと、
−  コードワード・ビットの更新された外部情報Ｌｃｖ（ｉ）と
を送る。
【００７８】
そうではなく、ＤＥＣｉがＦＥＣデコーダＦＤの最後の復号ブロックである場合、それの処理ユニットＰＵは、好ましくは、コードワード・ビットのための、特に、コードワードのクライアント・ビットのための事後確率Ｌｖ（ｉ）を計算するために事前確率Ｉｖおよび外部情報Ｌｃｖ（ｉ−１）を使用する。事後確率Ｌｖ（ｉ）は、次いで、硬判定ブロックに転送される。
【００７９】
好ましい実施形態によれば、コードワード・ビットの事前確率、外部情報および事後確率は、ＬＬＲに関して表され、復号ブロックＤＥＣｉによって実装される確率伝搬アルゴリズムは、知られている最小和アルゴリズム（ＭＳＡ）である。代替的に、知られている積和アルゴリズム（ＳＰＡ）が使用され得る。
【００８０】
コードワード・ビットの更新された外部情報Ｌｃｖ（ｉ）または事後確率Ｌｖ（ｉ）を計算するために、復号ブロックＤＥＣｉの処理ユニットＰＵは、好ましくは、列ごとにＦＥＣエンコーダＦＥによって適用されるＬＤＰＣコーディングを定義するパリティ検査行列を走査する。
【００８１】
より詳細には、図４のフロー・チャートを参照すると、処理ユニットＰＵは、好ましくは、ＦＥＣエンコーダＦＥによって適用されるＬＤＰＣコードを表すタナー・グラフのｎ＋ｋ個の変数ノードのそれぞれに以下のプロシージャを反復する。
【００８２】
第１に、処理ユニットＰＵは、好ましくは、タナー・グラフ中のｖ番目の変数ノードと接続されたチェック・ノードのセットＭ（ｖ）を識別する（ステップ４０１）。
【００８３】
次いで、処理ユニットＰＵは、好ましくは、セットＭ（ｖ）のチェック・ノードからｖ番目の変数ノードに送られるべきチェック−変数メッセージＲｃｖ（ｉ）のコンテンツを計算する（ステップ４０２）。好ましい実施形態によれば、セットＭ（ｖ）のｃ番目のチェック・ノードからｖ番目の変数ノードに送られるべきチェック−変数メッセージＲｃｖ（ｉ）のコンテンツは、以下の式に従って計算される。
【００８４】
【数７】
2019520758.tif 000009
ここで、ｓｇｎ（・）は、符号関数であり、Ｎ（ｃ）は、タナー・グラフ中のｃ番目のチェック・ノードと接続された変数ノードのセットであり、ｎは、セットＮ（ｃ）内の範囲のインデックスであり、ｎ∈Ｎ（ｎ）をもつＬｃｎ（ｉ）は、ｉ番目の反復においてｃ番目のチェック・ノードにセットＮ（ｃ）の変数ノードによって送られる変数−チェック・メッセージのコンテンツ（すなわち、外部情報）である。処理ユニットＰＵが、復号アルゴリズムの第１の反復を実行している（すなわち、それが復号ブロックＤＥＣ１中に含まれる）場合、ステップ４０２において使用されるべき変数−チェック・メッセージのコンテンツＬｃｎ（０）は、好ましくは、それぞれの事前確率ｌｎで初期化され、ここで、ｎは、変数ノードＮ（ｃ）のセットの範囲、ｎ≠ｖである。
【００８５】
ステップ４０２において、処理ユニットＰＵはまた、好ましくは、チェック・ノード・メモリ・ユニットＣＮＭ中に計算されたチェック−変数メッセージＲｃｖ（ｉ）を記憶する。
【００８６】
次いで、ＤＥＣｉがＦＥＣデコーダの最後の復号ブロックでない場合（４０３）、それの処理ユニットＰＵは、好ましくは、第ｖ番目の変数ノードからセットＭ（ｖ）のチェック・ノードに送られるべき変数−チェック・メッセージＬｃｖ（ｉ）のコンテンツ（外部情報）を計算する（ステップ４０４）。好ましい実施形態によれば、第ｖ番目の変数ノードからセットＭ（ｖ）のｃ番目のチェック・ノードに送られるべき変数−チェック・メッセージのコンテンツＬｃｖ（ｉ）は、以下の式に従って計算される。
【００８７】
【数８】
2019520758.tif 000010
ここで、Ｉｖは、ｖ番目の変数ノードに関連するクライアント・ビットまたはパリティ・ビットの事前確率であり、αは、スケーリング・ファクタであり、ｍは、チェック・ノードＭ（ｖ）のセット内の範囲インデックスであり、Ｒｍｖ（ｉ）は、ステップ４０２において計算された第ｖ番目の変数ノードにセットＭ（ｖ）のチェック・ノードによって送られるチェック−変数メッセージのコンテンツである。
【００８８】
ステップ４０４において、処理ユニットＰＵはまた、好ましくは、チェック・ノード・メモリ・ユニットＣＮＭ中に計算された外部情報Ｌｃｖ（ｉ）を記憶する。
【００８９】
そうではなく、ＤＥＣｉがＦＥＣデコーダの最後の復号ブロックである場合（４０３）、それの処理ユニットＰＵは、好ましくは、ｖ番目の変数ノードに関連するコードワード・ビットの事後確率Ｌｖ（ｉ）を計算する（ステップ４０５）。好ましい実施形態によれば、更新された事後確率Ｌｖ（ｉ）は、以下の式に従って計算される。
【００９０】
【数９】
2019520758.tif 000011
【００９１】
ステップ４０１〜４０５は、好ましくは、それがクライアント・ビットであるのかまたはコードワード・ビットであるのかとは無関係に、タナー・グラフの変数ノードごとに、すなわち、コードワードの単一ビットごとに反復される。したがって、ステップ４０１〜４０５は、インデックスｖ（ステップ４００）の初期値１から開始し、ｖ＝ｎ＋ｋになる（ステップ４０７）までそれを増加して（ステップ４０６）、ｎ＋ｋ回反復される。
【００９２】
次いで、復号ブロックＤＥＣｉによって実行されるアルゴリズム反復が終了する。復号ブロックＤＥＣｉによって実行されるアルゴリズム反復の最後に、更新された外部情報Ｌｃｖ（ｉ）（中間復号ブロック）または事後確率Ｌｖ（ｉ）（最後の復号ブロック）が、コードワード・ビットごとに処理ユニットＰＵによって計算されている。
【００９３】
ＤＥＣｉがＦＥＣデコーダの最後の復号ブロックでない場合、復号ブロックＤＥＣｉは、次いで、次の復号ブロックにコードワード・ビットの計算された外部情報Ｌｃｖ（ｉ）を送り得、これは、図４に示したものと同様のさらなるアルゴリズム反復を実行することによって処理する。
【００９４】
代わりに、復号ブロックＤＥＣｉがＦＥＣデコーダの最後の復号ブロックである場合（図２のブロックＤＥＣ３を参照）、コードワードのクライアント・ビットの事後確率Ｌｖ（ｉ）は、硬判定ブロック（簡単のために図面に図示せず）に送られ、一方、コードワードのパリティ・ビットの事後確率Ｌｖ（ｉ）は破棄される。硬判定ブロックは、次いで、それの事後確率に応じて、各クライアント・ビットに値０または１を割り当てる。確率がＬＬＲの形態にある場合、硬判定はＬＬＲの符号に基づき、正のＬＬＲは、０に等しいクライアント・ビットを生じ、負のＬＬＲは、１に等しいクライアント・ビットを生じる。
【００９５】
上述のように、第１の実施形態によれば、ＦＥＣエンコーダＦＥによって適用されるＬＤＰＣコードのコーディング・レートは、知られている情報短縮技法を使用してｎ０からｎＮにコードワードごとのクライアント・ビットの数を低減することによってＲ０からより低い値ＲＮに減少され得る。
【００９６】
ＦＥＣデコーダＦＤに関して、各復号ブロックＤＥＣｉによって受信コードワードごとに（すなわち、確率伝搬アルゴリズムの各反復において）計算されるべき動作の数は、ｎ＋ｋ（すなわち、コードワード・ビットの数）に等しく、各動作は、パリティ検査行列のそれぞれの列に対応する。したがって、ＦＥＣデコーダＦＤは、有利には、コードワード中のクライアント・ビットの数とパリティ・ビットの数との間の比およびコーディング・レートの変更に関するそれのばらつきに非依存である。
【００９７】
したがって、ＦＥＣデコーダＦＤは、有利には、ハードウェアを変更する必要なしに、およびそれの電力消費量のいかなる変更もなしに、それの構成のわずかな変更で任意のコーディング・レートで動作するように適応され得る。
【００９８】
特に、コーディング・レートがＲ０からＲＮに低減されるので、新しいコーディング・レートＲＮで動作するようにＦＥＣデコーダＦＤを再構成するために、各復号ブロックＤＥＣｉ中で、処理ユニットＰＵによるチャネル・メモリ・ユニットＣＭのアドレス指定は、新しいコードワード長さに応じて変更されることになり、したがって、処理ユニットＰＵは、そこから各受信コードワードの事前確率を適切に取り出し得る。一方、固定クライアント・ビットレート・シナリオでは、コーディング・レートがＲ０からＲＮに低減されるので、処理ユニットＰＵの処理頻度は新しい回線ビットレートに適応する。各復号ブロックＤＥＣｉのチェック・ノード・メモリ・ユニットＣＮＭに関して、それの長さは、パリティ・チェックの数ｋに排他的に依存し、したがって、それは、コーディング・レートが情報短縮技法を使用して低減されるときに変化しない。有利には、これらは、ＦＥＣデコーダＦＤが異なるコーディング・レートで動作するのを可能にするためにそれの構成に必要とされる唯一の変化である。
【００９９】
ＦＥＣデコーダＦＤの計算複雑性に関して、それは次のように表され得る。
【０１００】
【数１０】
2019520758.tif 000012
ここで、Ｔは、コードワード期間であり、Ｒは、ＬＤＰＣコードのコーディング・レートであり、ｆＣは、クライアント・ビットレートであり、ｆＬは、回線ビットレートである。したがって、ＦＥＣデコーダＦＤの複雑性は、有利には、回線ビットレートｆＬに依存する。
【０１０１】
したがって、コーディング・レートが情報短縮を使用してそれの最大値Ｒ０からＲＮに低減されるので、ＦＥＣデコーダＦＤの計算複雑性は、次のようにコーディング・レートに対して変化する。
【０１０２】
【数１１】
2019520758.tif 000013
ここで、ｆＣ０およびｆＬ０は、元のコーディング・レートＲ０におけるクライアント・ビットレートおよび回線ビットレートであり、ｆＣＮおよびｆＬＮは、新しい、減少したコーディング・レートＲＮ＜Ｒ０におけるクライアント・ビットレートおよび回線ビットレートである。
【０１０３】
式１１から、ＦＥＣデコーダＦＤの計算複雑性がコーディング・レートとは無関係であるかわずかに関係することが明らかである。これは、計算複雑性が回線ビットレートｆＬに対して変化するからであり、計算複雑性は、固定回線ビットレート・シナリオではコーディング・レートとは無関係であり、固定クライアント・ビットレート・シナリオではコーディング・レートとわずかに関係する。
【０１０４】
特に、クライアント・ビットレートｆＣが固定されるシナリオでは、Ｒ０からＲＮへのコーディング・レートの減少によるパリティ・ビットレートｆＰの増加は、ｆＬ０からｆＬＮへの回線レートの増加を生じる。しかしながら、コーディング・レートがＲ０からある値ＲＮに減少されるとき、回線ビットレートｆＬは、パリティ・ビットレートｆＰよりもはるかに小さく影響を及ぼされる。したがって、式６を式１１と比較することによって、ＦＥＣデコーダＦＤの計算複雑性が行階層化ＦＥＣデコーダよりもはるかにわずかにしかコーディング・レートに依存しないことが明らかである。
【０１０５】
（上記の図１の場合のように）回線レートｆＬが固定されるシナリオでは、Ｒ０からＲＮへのコーディング・レートの減少によるパリティ・ビットレートｆＰの増加は、回線ビットレートにまったく影響を及ぼさない（それは、クライアント・レートｆＣの対応する減少によって「吸収される」）。したがって、ＦＥＣデコーダＦＤの計算複雑性は、変化せず、コーディング・レートとは完全に無関係である。
【０１０６】
図５（ａ）は、元のコーディング・レートＲ０＝０．８および固定クライアント・ビットレートｆＣ（曲線５０）と仮定して、ＦＥＣデコーダＦＤの計算複雑性がコーディング・レートに対してどのように変化するのかを示すグラフである。グラフはまた、行階層化ＦＥＣデコーダに関係する比較曲線５１を示す。上記で説明したように、ＦＥＣデコーダＦＤの複雑性は、行階層化ＦＥＣデコーダよりもはるかにわずかにコーディング・レートに依存することを諒解され得る。
【０１０７】
図５（ｂ）は、元のコーディング・レートＲ０＝０．８および固定回線ビットレートｆＬ（曲線５２）と仮定して、ＦＥＣデコーダＦＤの複雑性がコーディング・レートに対してどのように変化するのかを示すグラフである。グラフはまた、行階層化ＦＥＣデコーダに関係する比較曲線５３を示す。上記で説明したように、ＦＥＣデコーダＦＤの計算複雑性がコーディング・レートとは完全に無関係であることを諒解され得る。
【０１０８】
さらに、図４に示し、上記で説明したチェック−変数メッセージおよび変数−チェック・メッセージの計算が、行階層化方式に従ってチェック−変数メッセージおよび変数−チェック・メッセージの計算によって必要とされる動作の数よりも少ない動作の数を備えることに注意されたい。これは、計算に必要な変数の数がパフォーマンスの無視できる損失をもつ３つの変数に限定され得るが、同じパフォーマンスを取得するために行階層化復号では約１５個の変数が必要とされるからである。したがって、パリティ検査行列の列の数が、ｎ＋ｋ個であり、したがって、行の数（ｋ）よりも本質的に多い場合であっても、復号アルゴリズムの単一の反復中に実行されるべき動作の総数は、図４のフロー・チャートによれば行階層化ＦＥＣデコーダ中でよりも少なくなる。
【０１０９】
したがって、コーディング・レートに対してわずかに変化する（または、回線ビットレートｆＬが固定される場合にまったく関係しない）計算複雑性を有することに加えて、ＦＥＣデコーダＦＤはまた、絶対値が行階層化ＦＥＣデコーダのものに匹敵する計算複雑性を示す。
【０１１０】
上記で説明した実施形態では、コーディング・レートは、得られたコードワード長さに関する制約なしにｎ０からｎＮにコードワードごとのクライアント・ビットの数を低減することによってＲ０からＲＮに低減され、したがって、ｎ０＋ｋ０からｎＮ＋ｋ０に減少する。出願人は、これにより範囲０．６〜０．８の範囲内のコーディング・レートを変更することが可能になることに気づいた。しかしながら、さらに低いコーディング・レート（０．６未満、たとえば、０．５）を取得するための、コードワード長さが短くなり、短いコードワードの使用に固有のデコーダのパフォーマンス（コーディング利得）のいくつかの知られている制限が起こる。
【０１１１】
そのような制限を克服しながら０．６よりも低いコーディング・レートに達するために、本発明の第２の実施形態によれば、送信機ＴＸにおいてＦＥＣエンコーダＦＥによって適用されるＬＤＰＣコードのコーディング・レートが、コードワード長さを一定に保ちながら変更される。
【０１１２】
この目的において、第２の実施形態によれば、コーディング・レートは、ｎ０＋ｋ０＝ｎＮ＋ｋＮという制約でｎ０からｎＮへのコードワードごとのクライアント・ビットの数の低減と、ｋ０からｋＮへのコードワードごとのパリティ・ビットの数の増加とを組み合わせることによって調整される。
【０１１３】
好ましくは、コードワードごとのクライアント・ビットの数は、知られている情報短縮技法を適用することによって低減され、一方、コードワードごとのパリティ・ビットの数は、知られているコード拡張技法を適用することによって増加される。
【０１１４】
第２の実施形態によるＦＥＣデコーダは、図２に示したＦＥＣデコーダＦＤと同じ構造を有する。ただし、チャネル・メモリ・ユニットＣＭの使用が異なる。特に、コーディング・レートとは無関係に、受信コードワードごとにチャネル・メモリ・ユニットＣＭから読み取られなければならない事前確率値の数がｎ０＋ｋ０であるので、チャネル・メモリ・ユニットＣＭのアドレス指定は、コーディング・レートが変更されるときに再構成される必要がない。チェック・ノード・メモリ・ユニットＣＮＭのアドレス指定は、ｋ０からｋＮに変更されるコードワードごとのパリティ・ビットの数に依存するので、代わりに、コーディング・レートが変更されるときに再構成される。
【０１１５】
したがって、同じく第２の実施形態によれば、可変コーディング・レートを用いたＦＥＣ符号化は、列ごとにパリティ検査行列を評価するＦＥＣ復号と組み合わされる。パリティ検査行列中の列の数がコードワード長さに依存するので、コーディング・レートがコードワード長さを固定したまま変更されるとき、ＦＥＣデコーダは、復号アルゴリズムの各反復において、コードワード期間ごとに正確に同じ数の動作を実行する。したがって、同じく第２の実施形態によれば、ＦＥＣデコーダの複雑性は、上記の式１１に従ってコーディング・レートに対して変化する。
【０１１６】
同じく、この第２の実施形態は、固定回線レート・シナリオにおいて、または固定クライアント・ビットレート・シナリオに適用され得る。
【図１】
2019520758.tif 000014
【図２】
2019520758.tif 000015
【図３】
2019520758.tif 000016
【図４】
2019520758.tif 000017
【図５】
2019520758.tif 000018
【国際調査報告】
2019520758.tif 000019
2019520758.tif 000020
2019520758.tif 000021
2019520758.tif 000022