(57)【要約】データブロックにおける繰り返しの誤り訂正方法。まず、データブロックの８Ｂ/１０Ｂ符号化/復号化から導出される情報を用いて、不良バイトが特定される。次に、特定された各不良バイト内部で、不良バイトが位置するデータブロックの行のパリティ符号化から導出される情報を用いて、疑わしいビットが特定される。その後、各疑わしいビットは、当該疑わしいビットが位置するデータブロックの列のパリティ符号化から導出される情報を用いて、確認済エラービットまたは未確認エラービットとして分類される。確認済エラービットは訂正され、当該確認済エラービットに対応するパリティビットがリセットされ、不良バイトがクリアされる。当該プロセスは、１以上の不良バイトがデータブロックに存在する限り繰り返される。
2005531212.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ行Ｘ列を有するデータブロックにおける誤り訂正方法であって、
前記データブロックのＮ行の各行に対しパリティチェックを行うステップと、
前記データブロックのＸ列の各列に対しパリティチェックを行うステップと、
前記データブロックに対し少なくとも１つの不良バイトを特定するステップと、
前記データブロックのＮ行の各行に対するパリティチェック、前記データブロックのＸ列の各列に対するパリティチェック、及び前記データブロックに対し特定された前記少なくとも１つの不良バイトから、前記データブロックにおける少なくとも１つのエラーを特定するステップと、
前記データブロックにおいて特定された少なくとも１つのエラーのそれぞれを訂正するステップと、
から構成されることを特徴とする方法。
【請求項２】
請求項１記載の誤り訂正方法であって、
前記データブロックに対する少なくとも１つの不良バイトは、８Ｂ/１０Ｂ符号化/復号化プロセスを用いて特定されることを特徴とする方法。
【請求項３】
請求項２記載の誤り訂正方法であって、
前記Ｎは３２に等しいことを特徴とする方法。
【請求項４】
請求項１記載の誤り訂正方法であって、
前記特定された少なくとも１つの不良バイトのそれぞれは、前記データブロックのＮ行の１つに位置することを特徴とする方法。
【請求項５】
請求項４記載の誤り訂正方法であって、
前記データブロックにおける少なくとも１つのエラーを特定するステップは、さらに、
前記データブロックの少なくとも１つの不良ないとのそれぞれに対し、各自が前記データブロックのＸ列の１つに位置する少なくとも１つの疑わしいビットを特定するステップと、
前記少なくとも１つの疑わしいビットのそれぞれに対し、前記データブロックのＸ列の対応するものに対するパリティビットにより、前記疑わしいビットが疑わしいものであると確認されるか判断するステップと、
から構成されることを特徴とする方法。
【請求項６】
請求項５記載の誤り訂正方法であって、
前記データブロックにおいて特定された少なくとも１つのエラーのそれぞれを訂正するステップは、さらに、
確認された各疑わしいビットに対し、前記データブロックのＸ列の対応するものにおけるさらなる少なくとも１つのビットがまた疑わしいか判断するステップと、
前記データブロックのＸ列の対応するものにおける他の疑わしいビットがない場合、前記確認された疑わしいビットを訂正するステップと、
から構成されることを特徴とする方法。
【請求項７】
請求項４記載の誤り訂正方法であって、さらに、
前記データブロックの少なくとも１つの不良バイトのそれぞれに対し、各自が前記データブロックのＸ列の各行に位置する少なくとも１つの疑わしいビットを特定するステップを有することを特徴とする方法。
【請求項８】
請求項７記載の誤り訂正方法であって、
前記データブロックの少なくとも１つの不良バイトのそれぞれに対し、少なくとも１つの疑わしいビットを特定するステップは、さらに、
前記少なくとも１つの不良バイトの１以上が位置する前記データブロックの各行に対し、パリティチェックを行うステップと、
前記パリティチェックされた各行に対し、疑わしいビットを特定するステップと、
から構成され、
前記パリティチェックされた行に対し前記特定された疑わしいビットは、前記不良バイトに対し特定された前記疑わしいビットであることを特徴とする方法。
【請求項９】
請求項８記載の誤り訂正方法であって、
前記データブロックにおいて少なくとも１つのエラーを特定するステップは、さらに、
前記データブロックの少なくとも１つの不良バイトのそれぞれに対し、各自が前記データブロックのＸ列の１つに位置する少なくとも１つの疑わしいビットを特定するステップと、
前記少なくとも１つの疑わしいビットのそれぞれに対し、前記データブロックのＸ列の対応するものに対するパリティビットにより、前記疑わしいビットが疑わしいと確認されるか判断するステップと、
から構成されることを特徴とする方法。
【請求項１０】
請求項９記載の誤り訂正方法であって、
前記データブロックにおける少なくとも１つの特定されたエラーのそれぞれを訂正するステップは、さらに、
確認された各疑わしいビットに対し、前記データブロックのＸ列の対応するものにおけるさらなる少なくとも１つのビットもまた疑わしいか判断するステップと、
前記データブロックのＸレルの対応するものにおいて他の疑わしいビットが存在しない場合、前記確認された疑わしいビットを訂正するステップと、
から構成されることを特徴とする方法。
【請求項１１】
請求項１０記載の誤り訂正方法であって、さらに、
前記訂正された疑わしいビットのそれぞれに対し、前記データブロックの対応する行に対する前記パリティバイトの疑わしいビットを訂正するステップを有することを特徴とする方法。
【請求項１２】
データブロックにおける誤り訂正方法であって、
（ａ）各自が前記データブロックにおいて可能性のあるエラーを示す前記データブロックにおける少なくとも１つの疑わしいビットを特定するステップと、
（ｂ）前記少なくとも１つの疑わしいビットのそれぞれを、確認済エラービットまたは未確認エラービットとして分類するステップと、
（ｃ）前記少なくとも１つの分類された疑わしいビットのそれぞれを確認済エラービットとして訂正するステップと、
から構成されることを特徴とする方法。
【請求項１３】
請求項１２記載の誤り訂正方法であって、さらに、
（ｄ）前記データブロックにおけるすべてのエラーが訂正されるまで、前記ステップ（ａ）乃至（ｃ）を繰り返すステップを有することを特徴とする方法。
【請求項１４】
請求項１２記載の誤り訂正方法であって、
前記確認済エラービットは、前記データブロックの８Ｂ/１０Ｂ符号化/復号化から導出される情報、前記データブロックの各行に沿ったパリティ符号化から導出される情報及び前記データブロックの各列に沿ったパリティ符号化から導出される情報の組み合わせを用いて特定されることを特徴とする方法。
【請求項１５】
請求項１４記載の誤り訂正方法であって、
前記データブロックの少なくとも１つの疑わしいビットを特定するステップは、さらに、
前記データブロックの８Ｂ/１０Ｂ符号化/復号化から導出される情報を用いて、前記データブロックの少なくとも１つの不良バイトを特定するステップから構成されることを特徴とする方法。
【請求項１６】
請求項１５記載の誤り訂正方法であって、
前記少なくとも１つの疑わしいビットのそれぞれを、確認済エラービットまたは未確認エラービットとして分類するステップは、さらに、
前記少なくとも１つの不良バイトの第１不良バイトが位置する前記データブロックの行のパリティ符号化から導出される情報を用いて、前記少なくとも１つの不良バイトの第１不良バイトに対し、少なくとも１つの疑わしいビットを特定するステップを有することを特徴とする方法。
【請求項１７】
請求項１６記載の誤り訂正方法であって、
前記少なくとも１つの不良バイトの第１不良バイトに対する前記少なくとも１つの疑わしいビットの第１疑わしいビットは、前記第１疑わしいビットが位置する前記データブロックの列のパリティ符号化から導出される情報を用いて、確認済エラービットまたは未確認エラービットとして分類されることを特徴とする方法。
【請求項１８】
請求項１２記載の誤り訂正方法であって、さらに、
前記データブロックに対し、前記ステップ（ａ）、（ｂ）及び（ｃ）から構成される誤り訂正ルーチンの所定回数の繰り返しを適用するステップを有することを特徴とする方法。
【請求項１９】
請求項１８記載の誤り訂正方法であって、
前記所定回数は２回であることを特徴とする方法。
【請求項２０】
請求項１９記載の誤り訂正方法であって、
前記確認済エラービットは、前記データブロックの８Ｂ/１０Ｂ符号化/復号化から導出される情報、前記データブロックの各行に沿ったパリティ符号化から導出される情報及び前記データブロックの各列に沿ったパリティ符号化から導出される情報の組み合わせを用いて特定されることを特徴とする方法。
【請求項２１】
請求項２０記載の誤り訂正方法であって、
前記データブロックの少なくとも１つの疑わしいビットを特定するステップは、さらに、
前記データブロックの８Ｂ/１０Ｂ符号化/復号化から導出される情報を用いて、前記データブロックの少なくとも１つの不良バイトを特定するステップから構成されることを特徴とする方法。
【請求項２２】
請求項２１記載の誤り訂正方法であって、
前記少なくとも１つの疑わしいビットのそれぞれを、確認済エラービットまたは未確認エラービットとして分類するステップは、さらに、
前記少なくとも１つの不良バイトの第１不良バイトが位置する前記データブロックの行のパリティ符号化から導出される情報を用いて、前記少なくとも１つの不良バイトの第１不良バイトに対し、少なくとも１つの疑わしいビットを特定するステップを有することを特徴とする方法。
【請求項２３】
請求項２２記載の誤り訂正方法であって、
前記少なくとも１つの不良バイトの第１不良バイトに対する前記少なくとも１つの疑わしいビットの第１疑わしいビットは、前記第１疑わしいビットが位置する前記データブロックの列のパリティ符号化から導出される情報を用いて、確認済エラービットまたは未確認エラービットとして分類されることを特徴とする方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［相互参照］
本出願は、２００２年６月２１日に出願された米国仮特許出願第６０/３９０，８４２号に関連する。
【０００２】
本出願はまた、同時係属中の米国特許出願ＰＣＴ/（代理人整理番号ＩＵ０２０１５７）、ＰＣＴ/（代理人整理番号ＩＵ０２０１５８）、ＰＣＴ/（代理人整理番号ＩＵ０２０１５９）、ＰＣＴ/（代理人整理番号ＩＵ０２０１６０）、ＰＣＴ/（代理人整理番号ＩＵ０２０１６１）、ＰＣＴ/（代理人整理番号ＩＵ０２０１６２）、ＰＣＴ/（代理人整理番号ＩＵ０２０２５２）、ＰＣＴ/（代理人整理番号ＩＵ０２０２５３）、ＰＣＴ/（代理人整理番号ＩＵ０２０２５４）及びＰＣＴ/（代理人整理番号ＩＵ０２０２５５）に関連し、そのすべてが本出願の譲受人に譲渡され、参照することによりその全体が再生されるかのようにここに含められる。
［発明の技術分野］
本発明は、誤り訂正技術に関し、より詳細には、配信ルータでの利用に適したデジタル信号の順方向誤り訂正方法に関する。
［発明の背景］
配信ルータ（ｂｒｏａｄｃａｓｔ  ｒｏｕｔｅｒ）は、それからの複数の出力の各々に、それへの複数の入力の何れかからの信号を割り当てることを可能にする。例えば、Ｎ×Ｍの配信ルータは、Ｎ個の入力とＭ個の出力を備え、それらがＮの入力の何れかがＭの出力の各々に適用されることを可能にするルーティングエンジンにより接続されている。例えば、４Ｎ×４Ｍの配信ルータなどの大規模な配信ルータを、例えば、前述のＮ×Ｍの配信ルータなどの複数の小規模な配信ルータから構築することが望ましい。複数の小規模な配信ルータを相互接続することは、これら配信ルー多感の信号の伝送に銅線などの複数のリンクの利用を必要とする。しかしながら、このようなリンクの使用は、配信ルータの動作可能スピードに対する制約として作用しうる。
【０００３】
高速のデータが、上記配信ルータなどの装置間で伝送されるとき、しばしば、クロックデータリカバリ（あるいは「ＣＤＲ」）シリアルデータリンクが利用されることが望ましい。従来、ＣＤＲシリアルデータリンクは、エラーによるデータの再送を可能にするアプリケーションにおいて利用されてきた。しかしながら、配信ルータを用いるとき、データの再送を可能にするには時間が不十分である。この結果、ＣＤＲまたは他の高速シリアルデータリンクを利用するため、配信ルータには受信データの順方向誤り訂正（ＦＥＣ）機能が備えられる必要がある。しかしながら、例えば、ＶｉｔｅｒｂｉやリードソロモンＦＥＣ技術などの現在のＦＥＣ技術の利用は、データ送信に過大な負荷を加えることになる。データ送信の信頼性を向上させるのに、しばしば８ビット/１０ビット（または「８Ｂ/１０Ｂ」）エンコーダ及びデコーダが利用される。８Ｂ/１０Ｂエンコーダは、８−ビットバイト（８−ｂｉｔ  ｂｙｔｅｓ）のバイナリデータを、１０−ビットバイトと当該１０−ビットバイト内の「１」と「０」の個数に差があるか示すディスパリティビットに符号化する。他方、８Ｂ/１０Ｂデコーダは、１０−ビットバイトのバイナリデータを８−ビットバイトとディスパリティビットに変換する。８Ｂ/１０Ｂエンコーダ及びデコーダはデータエラーの特定に利用可能であるが、一般に、それらはバイト幅単位でのデータエラーの特定しかできず、「不良な」データバイト内のエラーとなる特定のデータビットの特定は不可能である。
［発明の概要］
本発明は、データブロックにおける誤りを繰り返し訂正する方法に関する。本方法によると、予想されるエラーを示す少なくとも１ビットの疑わしいビットが特定される。疑わしい各ビットは、以降、確認されたエラービットあるいは未確認のエラービットとして分類される。確認済エラービットとして分類された疑わしい各ビットは訂正され、エラービットとして確認可能なすべての疑わしいビットの訂正が完了するまで、本方法は繰り返される。好ましくは、繰り返しの誤り訂正方法は、データブロックの８Ｂ/１０Ｂ符号化/復号化から導かれた情報、データブロックの各行に沿ったパリティ符号化から導かれた情報、及びデータブロックの各列に沿ったパリティ符号化から導かれた情報の組み合わせを利用して実現される。
［詳細な説明］
まず図１を参照するに、本発明の教示により構成された完全重複線形拡張可能な配信ルータ（ｆｕｌｌｙ  ｒｅｄｕｎｄａｎｔ  ｌｉｎｅａｒｌｙ  ｅｘｐａｎｄａｂｌｅ  ｂｒｏａｄｃａｓｔ  ｒｏｕｔｅｒ）１００がより詳細に説明される。図示されるように、完全重複線形拡張可能な配信ルータ１００は、互いに接続され、大規模な完全重複線形拡張可能な配信ルータ１００を形成する複数の配信ルータコンポーネントから構成される。各配信ルータコンポーネントは、第１ルータマトリックス（ｒｏｕｔｅｒ  ｍａｔｒｉｘ）と、当該第１ルータマトリックスと重複した第２ルータマトリックスを含む個別的ルータ装置である。このため、各配信ルータは、第１及び第２ルータマトリックスのそれぞれに対して第１及び第２ルーティングエンジンを有し、各ルーティングエンジンは、それの入力側において同一の入力デジタル音声ストリームを受け取り、それの出力側において同一の出力デジタル音声ストリームを配置する。ここで開示されるように、完全重複線形拡張可能な配信ルータの構築に利用される各配信ルータコンポーネントは、Ｎ×Ｍサイズの配信ルータである。しかしながら、完全重複線形拡張可能な配信ルータ１００は、その代わりに、互いに異なるサイズを有する配信ルータコンポーネントから構築可能であるということが十分考えられる。
【０００４】
さらにここで開示されるように、完全重複線形拡張可能な配信ルータ１００は、第１配信ルータコンポーネント１０２、第２配信ルータコンポーネント１０４、第３配信ルータコンポーネント１０６及び第４配信ルータコンポーネント１０８を接続することにより形成される。もちろん、４つの配信ルータコンポーネントから形成される完全重複線形拡張可能な配信ルータ１００の本開示は、純粋に例示的なものである。従って、本発明の教示により構成された完全重複線形拡張可能な配信ルータが、他の様々な個数の配信ルータコンポーネントを用いて形成されてもよいということは明確に理解されるべきである。ここで開示される方法により完全接続されると、完全重複線形拡張可能な配信ルータ１００を形成する第１、第２、第３及び第４配信ルータコンポーネント１０２、１０４、１０６及び１０８は、図１に示されるような共通の筺体または、所望である場合には、個別の筺体に収容されてもよい。上述のように、これら配信ルータコンポーネント１０２、１０４、１０６及び１０８は、互いに異なるサイズを有するものであってもよいし、あるいはそれらすべてがＮ×Ｍの同一のサイズを有するものであってもよいが、ここで想定される利用に適したサイズは２５６×２５６である。さらに、完全重複線形拡張可能な配信ルータ１００の適切な構成は、各々が２５６×２５６のサイズを有する５つの配信ルータコンポーネントを接続したものであり、これにより、１，２８０×１，２８０の配信ルータが形成される。
【０００５】
第１配信ルータコンポーネント１０２は、第１ルータマトリックス１０２ａと、エラー発生時に第１ルータマトリックス１０２ａと交換するのに利用される第２（または重複）ルータマトリックス１０２ｂとから構成される。同様に、完全重複線形拡張可能な配信ルータ１００の第２、第３及び第４配信ルータコンポーネント１０４、１０６及び１０８は、それぞれ第１ルータマトリックス１０４ａ、１０６ａ及び１０８ａと、エラー発生時に第１ルータマトリックス１０４ａ、１０６ａ及び１０８ａと交換するのに利用される第２（または重複）ルータマトリックス１０４ｂ、１０６ｂ及び１０８ｂとから構成される。もちろん、第１ルータマトリックス１０２ａ、１０４ａ、１０６ａ及び１０８ａのバックアップとしてそれぞれ第２ルータマトリックス１０２ｂ、１０４ｂ、１０６ｂ及び１０８ｂを指定することは全く任意的なものであり、配信ルータコンポーネント内のルータマトリックスのペアの何れか一方が、当該ルータマトリックスペアの他方に対するバックアップとして機能するようにしてもよいということは十分考えられるであろう。
【０００６】
図１にさらに示されるように、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａ、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａ、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａ及び第４配信ルータコンポーネント１０８の第１ルータマトリックス１０８ａは、完全接続トポロジーに従う第１ルータマトリックス構成により互いに接続される。同様に、第１配信ルータコンポーネント１０２の第２ルータマトリックス１０２ｂ、第２配信ルータコンポーネント１０４の第２ルータマトリックス１０４ｂ、第３配信ルータコンポーネント１０６の第２ルータマトリックス１０６ｂ及び第４配信ルータコンポーネント１０８の第２ルータマトリックス１０８ｂは、第１構成と同様な完全接続トポロジーに従う第２ルータマトリックス構成により互いに接続される。完全接続トポロジーでは、ルータマトリックス構成の各ルータマトリックスは、当該ルータマトリックス構成の一部を形成する他のすべてのルータマトリックスに個別のリンクにより接続される。
【０００７】
これにより、第１ルータマトリックス構成では、第１、第２及び第３双方向リンク１１０、１１２及び１１４により、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａと、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａ、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａ及び第４配信ルータコンポーネント１０８の第１ルータマトリックス１０８ａとがそれぞれ接続される。さらに、第４及び第５双方向リンク１１６及び１１８により、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａと、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａ及び第４配信ルータコンポーネント１０８の第１ルータマトリックス１０８ａとがそれぞれ接続される。最後に、第６双方向リンク１２０により、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａと第４配信ルータコンポーネント１０８の第１ルータマトリックス１０８ａとが接続される。
【０００８】
同様に、第２ルータマトリックス構成では、第１、第２及び第３双方向リンク１２２、１２４及び１２６により、第１配信ルータコンポーネント１０２の第２ルータマトリックス１０２ｂと、第２配信ルータコンポーネント１０４の第２ルータマトリックス１０４ｂ、第３配信ルータコンポーネント１０６の第２ルータマトリックス１０６ｂ及び第４配信ルータコンポーネント１０８の第２ルータマトリックス１０８ｂとがそれぞれ接続される。さらに、第４及び第５双方向リンク１２８及び１３０により、第２配信ルータコンポーネント１０４の第２ルータマトリックス１０４ｂと、第３配信ルータコンポーネント１０６の第２ルータマトリックス１０６ｂ及び第４配信ルータコンポーネント１０８の第２ルータマトリックス１０８ｂとがそれぞれ接続される。最後に、第６双方向リンク１３２により、第３配信ルータコンポーネント１０６の第２ルータマトリックス１０６ｂと第４配信ルータコンポーネント１０８の第２ルータマトリックス１０８ｂとが接続される。
【０００９】
次に、図２を参照するに、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａがより詳細に説明される。図示されるように、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａは、ルーティングエンジン１３４、送信拡張ポート１３６、第１受信拡張ポート１３８、第２受信拡張ポート１４０及び第３受信拡張ポート１４２から構成される。「送信」拡張ポートという用語は、データが選ばれた送信先に送信される拡張ポートを呼ぶものである。同様に、「受信」拡張ポートという用語は、送信先からデータを受信する拡張ポートを呼ぶものである。ルーティングエンジン１３４への入力として受信した複数の入力デジタル音声データ信号の何れかにルーティングエンジン１３４の複数の出力ラインの何れかを割り当てるスイッチング手段（図示せず）が、ルーティングエンジン１３４の内部に配置されている。ルーティングエンジン１３４は、例えば、命令系列としてソフトウェア的に、例えば、論理回路系列としてハードウェア的に、あるいはこれらの組み合わせにより実現されてもよいということが考えられる。広い意味では、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａの送信拡張ポート１３６は、複数の入力デジタル音声データストリームがその最終的な送信先への転送前にバッファリング可能なメモリサブシステム（図示せず）と、送信拡張ポート１３６により受信された複数の入力デジタル音声データストリームの他の配信ルータコンポーネントの第１ルータマトリックスの受信拡張ポートへの転送を制御するプロセッササブシステム（図示せず）とから構成される。他方、第１ルータマトリックス１０２ａの第１、第２及び第３受信拡張ポート１３８、１４０及び１４２の各々は、広い意味では、他の配信ルータコンポーネントの第１ルータマトリックスの送信拡張ポートから受信された複数の入力デジタル音声データストリームがその最終的な送信先への転送前にバッファリング可能なメモリサブシステム（図示せず）と、当該他の配信ルータコンポーネントの第１ルータマトリックスの受信拡張ポートから受信した入力デジタル音声データストリームのルーティングエンジン１３４の入力への転送を制御するプロセッササブシステム（図示せず）とから構成される。
【００１０】
各自がＡｕｄｉｏ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｏｃｉｅｔｙ−３（または「ＡＥＳ−３」）規格あるいはＡＥＳ−３規格により与えられるマルチチャネルデジタルオーディオインタフェース（または「ＭＡＤＩ」）規格に準拠するＮ個の入力デジタル音声データストリームが、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａのルーティングエンジン１３４と送信拡張ポート１３６により受信される。これに関して、ＭＡＤＩ入力デジタル音声データストリームは、３２個までのＡＥＳ−３デジタル音声データストリームを含んでもよく、Ｎ個の入力デジタル音声データストリームがルーティングエンジン１３４に入力され、送信拡張ポート１３６がＭＡＤＩ規格に従う場合、各入力デジタル音声データストリームは、抽出回路（図示せず）によりＭＡＤＩ入力デジタル音声データストリームから以前に抽出された単一のＡＥＳ−３デジタル音声ストリームとなるであろうということに注目すべきである。もちろん、ここで開示された入力デジタル音声ストリーム以外の他のタイプの入力データストリームもまた、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａによる利用に等しく適しているということは容易に認識されるべきである。例えば、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａは、圧縮映像及びデータ信号などの他の低帯域デジタル信号により利用されてもよいということが考えられる。さらに、例えば、より高速なハードウェアなどの若干の変更により、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａは、圧縮されていないデジタル映像信号により利用されてもよいということが考えられる。
【００１１】
次に、図３を参照するに、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａがより詳細に説明される。図示されるように、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａは、ルーティングエンジン１４４、送信拡張ポート１４６、第１受信拡張ポート１４８、第２受信拡張ポート１５０及び第３受信拡張ポート１５２から構成される。ルーティングエンジン１４４への入力として受信される複数の入力デジタル音声データ信号の何れかをルーティングエンジン１４４の複数の出力ラインの何れかに割り当てるスイッチング手段（図示せず）が、ルーティングエンジン１４４の内部に配置されている。ルーティングエンジン１４４は、例えば、命令系列としてソフトウェア的に、例えば、論理回路系列としてハードウェア的に、あるいはそれらの組み合わせにより実現されてもよいということが考えられる。広い意味では、第１ルータマトリックス１０２ａの送信拡張ポート１４６は、複数の入力デジタル音声データストリームがその最終的送信先への転送前にバッファリング可能なメモリサブシステム（図示せず）と、送信拡張ポート１４６により受信される複数の入力デジタル音声データストリームの他の配信ルータコンポーネントの第１ルータマトリックスの受信拡張ポートへの転送を制御するプロセッササブシステム（図示せず）とから構成される。他方、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａの第１、第２及び第３受信拡張ポート１４８、１５０及び１５２の各々は、広い意味では、他の配信ルータコンポーネントの第１ルータマトリックスの拡張ポートから受信した複数の入力デジタル音声データストリームがそれの最終的送信先に転送される前にバッファリングすることが可能なメモリサブシステム（図示せず）と、当該他の配信ルータコンポーネントの第１ルータマトリックスの受信拡張ポートから受信した入力デジタル音声データストリームのルーティングエンジン１４４の入力への転送を制御するプロセッササブシステム（図示せず）とから構成される。
【００１２】
入力デジタル音声データストリーム１〜Ｎが、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａのルーティングエンジン１３４と送信拡張ポート１３６に供給される。送信拡張ポート１３６から、入力デジタル音声データストリーム１〜Ｎが、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａの第１受信拡張ポート１４８、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａの受信拡張ポート（図示せず）及び第４配信ルータコンポーネント１０８の第４ルータマトリックス１０８ａの受信拡張ポート（図示せず）に転送される。次に、入力デジタル音声データストリームＮ＋１〜２Ｎ、２Ｎ＋１〜３Ｎ及び３Ｎ＋１〜４Ｎがそれぞれ、第２、第３及び第４配信ルータコンポーネント１０４、１０６及び１０８の送信拡張ポートにより、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａの第１、第２及び第３拡張ポート１３８、１４０及び１４２に送信される。
【００１３】
同様に、入力デジタル音声データストリームＮ＋１〜２Ｎが、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａのルーティングエンジン１４４と送信拡張ポート１４６に供給される。送信拡張ポート１４６から、入力デジタル音声データストリームＮ＋１〜２Ｎが、第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａの第１受信拡張ポート、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａの受信拡張ポート（図示せず）及び第４配信ルータコンポーネント１０８の第１ルータマトリックス１０８ａの受信拡張ポート（図示せず）に転送される。次に、入力デジタル音声データストリーム１〜Ｎ、２Ｎ＋１〜３Ｎ及び３Ｎ＋１〜４Ｎがそれぞれ、第１配信ルータコンポーネントの第１ルータマトリックス１０２ａの送信拡張ポート１３６、第３配信ルータコンポーネント１０６の第１ルータマトリックス１０６ａの送信拡張ポート（図示せず）及び第４配信ルータコンポーネント１０８の第１ルータマトリックス１０８ａの送信拡張ポート（図示せず）により、第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａの第１、第２及び第３拡張ポート１４８、１５０及び１５２に送信される。
【００１４】
次に、図４を参照するに、入力デジタル音声データストリーム１〜Ｎのリンク１１０を介した第１配信ルータコンポーネント１０２の第１ルータマトリックス１０２ａの送信拡張ポート１３６から第２配信ルータコンポーネント１０４の第１ルータマトリックス１０４ａの受信拡張ポート１４８への転送が、より詳細に説明される。ここで開示されるように、８Ｂ/１０Ｂ符号化/復号化が入力デジタル音声データストリーム１〜Ｎに適用されるが、代わりに他の符号化/復号化方式が利用されてもよいということが明確に理解されるべきである。例えば、４−ビット/５−ビット（または「４Ｂ/５Ｂ」）エンコーダ及びデコーダが、ここで開示される８Ｂ/１０Ｂエンコーダ及びデコーダの代わりに利用されてもよいということが十分考えられる。最後に、４Ｂ/５Ｂ符号化/復号化に加えて、さらに、８Ｂ/１０Ｂ符号化/復号化に類似した他の符号化/復号化方式を利用したエンコーダ及びデコーダが同様に適するということが考えられる。
【００１５】
以下でより詳細に説明されるように、送信拡張ポート１３６から第１受信ポート１４８への入力音声データストリーム１〜Ｎの転送開始により、当該データストリームは、送信拡張ポート１３６の一部を形成するメモリサブシステムから送信拡張ポート１３６の一部を形成するパリティエンコーダ１５４に転送される。パリティエンコーダ１５４では、入力音声データストリーム１〜Ｎは、水平及び垂直軸に沿ってパリティ符号化が実行される。その後、パリティエンコーダ１５４から、パリティ符号化されたデータストリーム１〜Ｎが、８Ｂ/１０Ｂ符号化のため、８Ｂ/１０Ｂエンコーダ１５６に転送される。その後、８Ｂ/１０Ｂエンコーダ１５６から、８Ｂ/１０Ｂパリティ符号化されたデータストリームが、リンク１１０を介して第１受信拡張ポート１４８に転送される。第１受信拡張ポート１４８による受信に応答して、８Ｂ/１０Ｂパリティ符号化されたデータストリーム１〜Ｎが、８Ｂ/１０Ｂデコーダ１５８に転送される。受信した８Ｂ/１０Ｂパリティ符号化データストリームから、８Ｂ/１０Ｂデコーダ１５８は、パリティ符号化データストリーム１〜Ｎと、当該パリティ符号化データストリーム１〜Ｎのどのデータバイトが、１以上のエラーデータビットを含む「不良な」データバイトであるか示すバイトエラー検出情報とを生成する。
【００１６】
８Ｂ/１０Ｂデコーダ１５８から、パリティ符号化データストリーム１〜Ｎが、ＦＥＣ回路１６０とパリティデコーダ１６２に転送される。さらに、８Ｂ/１０Ｂデコーダ１５８は、バイトエラー検出情報をＦＥＣ回路１６０に転送する。受信したパリティ符号化データストリーム１〜Ｎを復号することにより、パリティデコーダ１６２は、以降におけるＦＥＣ回路１６０への転送のため、ビットエラー情報を生成する。８Ｂ/１０Ｂデコーダ１５８から受信したバイトエラー検出情報を、パリティデコーダ１６２から受信したバイトエラー検出情報と共に利用することにより、ＦＥＣ回路１６０は、パリティ符号化データストリームに含まれるエラーを訂正する図６に関して以下に説明される繰り返しアルゴリズムを実行する。パリティ符号化データストリームにおけるエラーがＦＥＣ回路１６０により訂正されると、誤り訂正されたパリティ符号化データストリーム１〜Ｎが、上述の方法によるさらなる処理のため、第１受信拡張ポート１４８のメモリシステムに転送される。もちろん、データストリーム１〜Ｎはパリティエラーに対してすでに訂正されているため、データストリーム１〜Ｎに含まれるパリティ情報は、データストリーム１〜Ｎの第１受信拡張ポート１４８のメモリサブシステムへの送信前にＦＥＣ回路１６０により破棄されるか、あるいは第１受信拡張ポート１４８のメモリサブシステムにデータストリーム１〜Ｎと共に転送されるが、以降脅威を無視する。
【００１７】
次に、図５を参照するに、パリティエンコーダ１５４により生成されるパリティ符号化データのブロック１６４がより詳細に説明される。図示されるように、各データブロック１６４は、入力デジタル音声データストリーム１〜ＮのＸバイトから構成される。各入力デジタル音声データストリームがデータブロック１６４の行を形成し、各バイトの各ビットがデータブロック１６４の列を形成する。各入力１〜Ｎに対して、パリティエンコーダ１５４は、パリティビット０〜７から構成されるパリティバイトを構成する。例えば、パリティバイト１６６は、入力デジタル音声データストリーム０に対して構成される。パリティバイト１６６のビット０は、入力デジタル音声データストリーム０のバイト１〜ＸＣに対して、すべてのビット０を合計することにより計算される。言い換えると、パリティバイト１６６のビット０は、データブロック１６４の行１６７のビット０のすべてを加算することにより計算される。パリティバイト１６６のビット１〜７も同様にして計算される。パリティエンコーダ１５４により、１〜Ｎの入力データストリームの各々に対して、同一ビットを加算することによって、パリティフレーム１６８の各ビットが計算される。言い換えると、パリティフレーム１６８のビットは、データブロック１６４の列のすべてのビットを加算することにより計算される。例えば、パリティフレーム１６８のビット１６９は、データブロック１６４の行１７１のすべてのビットを加算することにより計算される。パリティフレームが任意数の行に対して計算されるが、３２すべての入力データストリームに対するパリティフレームの計算は、ここで考えられる利用に対して適したものである。
【００１８】
次に、図６を参照するに、ＦＥＣ回路１６０による、例えば、図５のデータブロック１６４などのデータブロックの順方向誤り訂正方法がより詳細に説明される。しかしながら、開示された技術は配信ルータのコンポーネント間で送信されるデータブロックに関して説明されるが、当該技術は他のタイプの装置間で送信されるデータブロックによる利用に対しても等しく適用可能であるということが十分考えられるということが明確に理解されるべきである。本方法は、ステップ１７０において、パリティデコーダ１６２が８Ｂ/１０Ｂデコーダ１５８からデータブロック１６４を受信し、ＦＥＣ回路１６０が８Ｂ/１０Ｂデコーダ１５８からデータブロック１６４とバイトエラー検出情報を受信することから開始される。ステップ１７１において、パリティデコーダ１６２は、受信したデータブロック１６４に対する潜在的不良ビット情報を生成するため、受信したデータブロック１６４を復号し、生成された潜在的不良ビット情報をＦＥＣ回路１６０に転送する。受信したデータブロックに対する潜在的不良ビット情報の第１コンポーネントを生成するため、パリティデコーダは、データブロック１６４の各行に対して、パリティバイトのビット単位によるチェックを行う。そうするために、パリティデコーダ１６２は、データブロック１６４の行を選択し、選択された行のバイト１〜Ｘに対してビット０を加算し、その後、計算された和と選択された行に対するパリティバイトのビット０とを比較する。これら２つが一致しない場合、パリティデコーダ１６２は、選択された行の各バイトのビット０を疑わしいビットとして特定する。その後、パリティデコーダ１６２が、選択された行のビット０〜７に対して同様の決定を行う。そうすることにより、選択された行の各バイトに対するすべての疑わしいビットが特定される。その後、当該プロセスは、データブロック１６４の各行に対して繰り返される。例えば、行１６７とビット０がチェック対象に選択されると、パリティデコーダ１６２は、行１６７に対するパリティバイト１６６のビット０との比較のため、バイト０〜Ｘに対しビット０を加算する。行１６７のバイト０〜Ｘのビット０の決定された和がバイト１６６のビット０の値に一致しない場合、パリティデコーダ１６２は、行１６７のバイト０〜Ｘのそれぞれのビット０が潜在的不良ビットであると決定する。
【００１９】
受信したデータブロック１６４に対する潜在的不良ビットの第２コンポーネントを生成するため、パリティデコーダ１６２は、パリティフレームに対してビット単位でのチェックを行う。そうするために、パリティデコーダは、データブロック１６４の列を選択し、入力１〜Ｎに対して選択された列に含まれるデータビットを加算し、その後、計算された和を選択された列に含まれるパリティフレームのビットと比較する。これら２つが一致しない場合、パリティデコーダ１６２は、選択された列が不良ビットを含むと判断し、入力１〜Ｎのそれぞれに対して、選択された列に含まれるビットを疑わしいビットとして特定する。その後、当該プロセスは、データブロック１６４の各列に対して繰り返される。例えば、バイト１のビット３に対応する列が選択された場合、パリティデコーダ１６２は、パリティフレーム１６８のバイト１のビット３との比較のため、入力１〜Ｎに対してバイト１のビット３を加算する。入力１〜Ｎに対するバイト１のビット３の決定された和がパリティフレーム１６８のバイト１のビット３の値と一致しない場合、パリティデコーダ１６２は、各入力１〜Ｎのバイト１のビット３が潜在的に不良なビットであると判断するであろう。
【００２０】
ステップ１７２に進んで、ＦＥＣ回路１６０は、受信したデータブロック１６４が１以上の不良バイトを含んでいるか確かめるため、受信したバイトエラー検出情報をチェックする。受信したバイトエラー検出情報のチェックにより復号化エラー（受信したコードが正当な値でない）またはアノマリ（受信したコードは、正当な値であるが、パリティ不一致の問題を有する）を生成するときはいつでも、不良バイトが特定される。前述のように、８Ｂ/１０Ｂ復号化は、データの何れかのバイトが不良であるか特定することができるが、データバイトのどのビットが不良にさせているか特定することはできない。例えば、バイトエラー検出情報は、入力０のバイト１と入力２のバイト３が不良であると示すかもしれない。ステップ１７２において、バイトエラー検出情報が、データブロック１６４は不良バイトを含まないということを示すと判断されると、本方法はステップ１７４において終了する。しかしながら、ステップ１７２において、データブロック１６４が１以上の不良バイトを含むと判断されると、本方法はステップ１７６に移行する。
【００２１】
データブロック１６４の第１行、例えば、入力０に対応する行１６７がステップ１７６において選択され、ステップ１７８においてＦＥＣ回路１６０が、バイトエラー検出情報から、選択された行に１以上の不良バイトがあるか判断する。選択された行に不良バイトが存在しない場合、本方法はステップ１８０に移行し、次の行、例えば、入力１に対応する行が選択され、ここで開示された方法によるさらなる処理のため、ステップ１７８に戻る。しかしながら、ステップ１７８において、ＦＥＣ回路１６０により選択された行が１以上の不良バイトを含むと判断されると、本方法はステップ１８２に移行し、選択された行の第１不良バイト、例えば、行０のバイト１がさらなる処理のため選択される。ステップ１８４において、ＦＥＣ回路１６０は、選択された不良バイトに対して疑わしいビットが存在するか判断するため、選択された行に対する選択された不良バイトをチェックする。そうするため、ＦＥＣ回路１６０は、疑わしいビットが選択された不良バイトに対し特定されたか確認するため、パリティデコーダ１６２により与えられた潜在的不良ビット情報の第１コンポーネントをチェックする。
【００２２】
パリティデコーダにより供給される潜在的不良ビット情報の第１コンポーネントが確認されることにより、選択された不良バイトのどのビットも疑わしくないことが示されると、ＦＥＣ回路１６０は、選択された不良バイトがもはや不良でないと判断する。これにより、本方法はステップ１８６に移行し、選択された不良バイトが、典型的には、８Ｂ/１０Ｂデコーダ１５８からＦＥＣ回路１６０により受信されたバイトエラー検出情報に含まれる不良バイトのリストから不良バイトを取り除くことにより「クリア」される。ステップ１８６において選択された不良バイトをクリアにした後、本方法はさらなる処理のため、以下のステップ２０８に移行する。しかしながら、パリティデコーダにより供給された潜在的不良ビット情報の第１コンポーネントを確認することにより、選択された不良バイトの１以上のビットが疑わしいと示されると、本方法は、選択された不良バイトの第１の疑わしいビットの選択のためステップ１８８に移行する。
【００２３】
ステップ１９０において引き続き、ＦＥＣ回路１６０は、不良ビットを含むと以前に判断されたデータブロック１６４の列に疑わしいビットが存在するか判断するため、潜在的不良ビット情報の第２コンポーネントを確認する。例えば、入力０に対するバイト１のビット３が選択された疑わしいビットである場合、ステップ１９０において、ＦＥＣ回路１６０は、当該疑わしいビットが不良ビットを含むと以前に判断された列に存在するか確認するため、潜在的不良ビット情報の第２コンポーネントをチェックする。ＦＥＣ回路１６０により疑わしいビットが不良ビットを含むと以前に判断された列に存在しないと判断すると、本方法はステップ１９２に移行し、ＦＥＣ回路１６０は、当該疑わしいビットが不良でないと結論付け、その後ステップ１９４に移行し、チェックを要する選択された不良バイトにさらなる疑わしいビットが存在するか判断される。
【００２４】
しかしながら、ステップ１９０において、疑わしいビットが潜在的不良ビット情報の第２コンポーネントにより不良ビットを含むと特定された列に存在すると判断されると、本方法はステップ１９６に移行し、疑わしいビットに対応するパリティバイトのビット位置が選択されていない行に対してチェックされる選択されていない行のいずれかであるか判断するため、潜在的不良ビット情報の第１コンポーネントが確認される。例えば、入力０に対するバイト１のビット３が選択された疑わしいビットであり、潜在的不良ビット情報の第２コンポーネントの確認から、入力１〜Ｎの１つに対するバイト１のビット３にエラーが存在すると判断されると、ＦＥＣ回路１６０は、入力１〜Ｎの何れかのバイト１のビット３が疑わしいと特定されるか確認するため、潜在的不良ビット情報の第１コンポーネントのコンテンツを確認する。ステップ１９８に移行して、潜在的不良ビット情報の第１コンポーネントの確認により、疑わしいビットに対応する選択されていない行のビットに疑わしいものがないということが明らかになると、ＦＥＣ回路１６０は、疑わしいビットが誤りであると結論付ける。その後、本方法はステップ２００に移行し、ＦＥＣ回路１６０により疑わしいビットが訂正される。
【００２５】
しかしながら、ステップ１９８において、疑わしいビットに対応する選択されていない行の１以上のビット自体が疑わしいと判断されると、本方法はステップ２０４に移行し、ＦＥＣ回路１６０により、選択された疑わしいビットは疑わしいままであり、現時点では訂正することができないと結論付けされる。（１）ステップ１９２において、疑わしいビットが不良でないと結論付けされるか、（２）ステップ２００において、選択された疑わしいビットを訂正するか、あるいは（３）ステップ２０４において、選択された疑わしいビットが疑わしいままであると結論付けするか、の何れかにより、本方法はステップ１９４に移行し、ＦＥＣ回路１６０により、選択された不良バイトにさらなる疑わしいビットが存在するか判断される。ステップ１９４において、選択された不良バイトにさらなる疑わしいビットが存在すると判断されると、選択された不良バイトの次の疑わしいビットの選択のため、本方法はステップ２０６に移行する。その後、上述の方法により新たに選択された疑わしいビットの処理のため、本方法はステップ１９０に戻る。
【００２６】
しかしながら、ステップ１９４において、選択された不良バイトにさらなる疑わしいビットはないと判断されると、本方法はステップ２０８に移行し、ＦＥＣ回路１６０は、再び８Ｂ/１０Ｂデコーダ１５８から受信したバイトエラー検出情報の一部として与えられる不良バイトのリストをチェックすることにより、選択された行にさらなる不良バイトが存在するか判断する。この不良バイトリストのチェックにより、選択された行に１以上のさらなる不良バイトが存在することが示されると、選択された行の次の不良バイトの選択のため、本方法はステップ２１０に移行する。その後、上述の方法により新たに選択された不良バイトのさらなる処理のため、本方法はステップ１８４に戻る。しかしながら、ステップ２０８において、選択された行にさらなる不良バイトが存在しないと判断されると、本方法はステップ２１２に移行し、データブロック１６４にチェック対象のさらなる行が存在するか判断される。ステップ２１２において、データブロック１６４にチェック対象のさらなる行が存在すると判断されると、データブロック１６４の次の行の選択のため、本方法はステップ２１４に移行する。その後、上述の方法によるさらなる処理のため、本方法はステップ１７８に戻る。しかしながら、ステップ２１２において、チェック対象となるさらなる行が存在しないと判断されると、すなわち、行１〜Ｎのそれぞれがチェックされた場合、上述の方法によるさらなる処理のため、本方法はステップ１７２に戻る。
【００２７】
上記プロセスは、データブロック１７６などのデータブロックに含まれるエラーを繰り返し訂正する方法である。ステップ１７０〜２１４の各パスにおいて、データブロック１７６に対して、典型的には、複数の疑わしいビットが特定される。しかしながら、疑わしいビットのすべてが必ずしもエラービットとして確認されるわけではない。一部は、列に疑わしいビットが複数存在するため、疑わしいままであろう。しかしながら、エラービットが訂正されるときはいつでも、以降のパスはより高い確率で疑わしいビットのままであるビットをクリアする。このため、ステップ１７０〜２１４の各繰り返しは、理想的には、すべてのエラービットが訂正され、すべての不良バイトがクリアされるまで、さらなるエラービットの特定及び訂正を行う可能性を有すると予想される。一特徴では、実行されるプロセスの繰り返し回数は、予め選択されていてもよい。例えば、実験から、２回繰り返された後、高い割合でエラーが訂正されるということが明らかにされている。他の特徴では、最大の繰り返し回数が予め選択され、この最大回数の繰り返しが実行されるか、あるいは繰り返しによりデータブロックの状態が改善されない場合、当該プロセスは終了されるよう構成されてもよい。例えば、疑わしいビット及び/または不良バイトのカウントが維持され、１以上の繰り返しが実行されたにも関わらず、疑わしいビット及び/または不良バイトのカウントが減らない場合、当該プロセスは終了される。他の実施例では、訂正された不良バイトの数が維持され、データブロックのもとの不良バイトの所定の割合が訂正されると、当該プロセスを終了するようにしてもよい。
【００２８】
以上、配信ルータに適したデジタル信号の順方向誤り訂正方法が、開示及び例示された。しかしながら、ここでは本発明の好適な実施例が例示及び説明されたが、本発明の主審または教示から逸脱することなく、本発明が属する技術分野の当業者により、様々な変形及び他の変更が可能である。従って、保護範囲は、ここで説明された実施例でなく、以下のクレームによってのみ限定される。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明の教示により構成される完全重複線形拡張可能な配信ルータのブロック図である。
【図２】図２は、図１の完全重複線形拡張可能な配信ルータの第１配信ルータコンポーネントの第１ルータマトリックスの拡大されたブロック図である。
【図３】図３は、図１の完全重複線形拡張可能な配信ルータの第２配信ルータコンポーネントの第１ルータマトリックスの拡大されたブロック図である。
【図４】図４は、図２のルータマトリックスの送信拡張ポートと図３のルータマトリックスの受信拡張ポートの拡大されたブロック図である。
【図５】図５は、図４の送信拡張ポートと受信拡張ポートとの間で転送されるデータブロックのブロック図である。
【図６】図６は、図５のデータブロックの順方向誤り訂正方法のフローチャートである。
【図１】
2005531212.tif 000003
【図２】
2005531212.tif 000004
【図３】
2005531212.tif 000005
【図４】
2005531212.tif 000006
【図５】
2005531212.tif 000007
【図６】
2005531212.tif 000008
【国際調査報告】
2005531212.tif 000009
2005531212.tif 000010