(57)【要約】  最小メモリ実装は、ＤＳＬインタリーブ／デインタリーブで任意の深さと期間で使用可能であり、インタリーバ／デインタリーバパラメータが動的に変化する場合も、性能または基本三角構造を失うことなく、常に送信機と受信機の両方で最小量のメモリを使用できるようにする。新規のセルスケジューリングプロセスは、完全三角のイメージを実現するための最小量のメモリの可用性（または任意の他の所望されるメモリ使用）を保証し、任意の互いに素である深さとインタリーバ期間の役に立つ。最小メモリ使用は、本発明によるインタリーバ／デインタリーバの最小メモリ（または他の）実装におけるメモリセルのそれぞれにアドレス指定順序を決定する単純なオフライン方法によってさらに特徴付けられてよい。動作中のインタリーバ深さの時間変動は、すべての時刻での絶対最小メモリ要件で容易に対応できる。
2008547298.tif 000002
【特許請求の範囲】
【請求項１】
深さＤ及び期間Ｉでデータフローの畳み込みインタリーブを実行するための方法であって、
複数のＲ個のメモリセルのそれぞれにスケジュールを決定することと、
時間サンプルごとに、
前記Ｒ個のメモリセルの前記スケジュールに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択する動作と、
前記第１のメモリセルに記憶されている第１のバイトを読み取る動作と、
前記第１のバイトを前記インタリーバ出力に書き込む動作と、
前記インタリーバの前記入力で第２のバイトを受け取る動作と、
前記第２のバイトを前記第１のメモリセルに書き込む動作と、
を実行することと、
を備える方法。
【請求項２】
前記複数のＲ個のメモリセルのそれぞれにスケジュールを決定することが、複数の行を有するアレイを構築することを備え、前記アレイの各行が、
期間インデックスＰを定める第１の要素と、
バイトインデックスＢを定める第２の要素と、
を備える請求項１に記載の方法。
【請求項３】
前記アレイを構築することが、
期間インデックス初期化値に等しい前記アレイの第１の行の第１の要素を設定することと、
バイトインデックス初期化値に等しい前記アレイの第１の行の第２の要素を設定することと、
を備える前記アレイの前記第１の行を生成することと、
前記期間インデックス初期化値に等しいＰを設定することと、
前記バイトインデックス初期化値に等しいＢを設定することと、
Ｂ＋（Ｂ＊（Ｄ−１））に等しい位置インデックスＬを設定することと、
以下のＰをリセットすることと、
【数１】
2008547298.tif 000036
Ｂ＝Ｌ  ｍｏｄ  ＩであるＢをリセットすることと、
Ｐに等しい前記アレイの次の行の第１の要素を設定することと、
Ｂに等しい前記アレイの次の行の第２の要素を設定することと、
を備える前記アレイの次の行を生成することと、
前記アレイの次の行の第２の要素が、前記アレイの第１の行の第２の要素に等しくなるまで前記アレイの次の行を生成することを繰り返すことと、
を備える請求項２に記載の方法。
【請求項４】
前記アレイを構築することが、
期間インデックス初期化値に等しい前記アレイの第１の行の第１の要素を設定することと、
バイトインデックス初期化値に等しい前記アレイの第１の行の第２の要素を設定することと、
を備える前記アレイの第１の行を生成することと、
前記期間インデックス初期化値に等しいＰを設定することと、
前記バイトインデックス初期化値に等しいＢを設定することと、
Ｂ＋（（Ｉ−１−Ｂ）＊（Ｄ−１））に等しい位置インデックスＬを設定することと、
以下のＰをリセットすることと、
【数２】
2008547298.tif 000037
Ｂ＝Ｌ  ｍｏｄ  ＩであるＢをリセットすることと、
Ｐに等しい前記アレイの次の行の第１の要素を設定することと、
Ｂに等しい前記アレイの次の行の第２の要素を設定することと、
を備える前記アレイの次の行を生成することと、
前記アレイの次の行の第２の要素が、前記アレイの第１の行の第２の要素に等しくなるまで前記アレイの次の行を生成することを繰り返すことと、
を備える請求項２に記載の方法。
【請求項５】
前記Ｒ個のメモリセルの前記スケジュールに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択することが、スケジュールが現在の時間サンプルを含むメモリセルを識別するために前記Ｒ個のメモリセルの前記スケジュールを調べることを備える請求項１に記載の方法。
【請求項６】
前記Ｒ個のメモリセルの前記スケジュールに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択することが、スケジューリングテーブルを読み取ることを備え、前記スケジューリングテーブルが、期間インデックスとバイトインデックスに対応する行と列を有し、前記テーブルの内容が、時間サンプルに対応する期間／バイトインデックス組のためのメモリセルに対するポインタから成る請求項１に記載の方法。
【請求項７】
【数３】
2008547298.tif 000038
である請求項１に記載の方法。
【請求項８】
データフローを畳み込みインタリーブするために深さを動的に変更するための方法であって、
Ｄが第１の深さであり、
Ｉがインタリーブ期間であり、
ＲがＤとＩに基づいている、
複数のＲ個のメモリセルのために第１のスケジュールセットを決定することと、
前記第１のスケジュールセットを使用して前記Ｒ個のメモリセルに対して読み取り動作と書き込み動作を実行することと、
Ｄ’が第２の深さであり、
Ｒ’がＤ’とＩに基づいている、
複数のＲ’個のメモリセルのために第２のスケジュールセットを決定することと、
前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルでの読み取り動作と書き込み動作に切り替えることと、
を備える方法。
【請求項９】
Ｄ’がＤより大きく、
さらに、前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルでの読み取り動作と書き込み動作に切り替えることが、前記第１のスケジュールセットから前記第２のスケジュールセットに即座に移ることを備える請求項８に記載の方法。
【請求項１０】
Ｄ’がＤより小さく、
さらに、前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルでの読み取り動作と書き込み動作に前記切り替えることが、遷移期間を使用して前記第１のスケジュールセットから前記第２のスケジュールセットに移ることとを備え、
さらに、前記遷移期間中にセルに対してインタリーバ書き込み動作が実行されず、
さらに、セルに対するインタリーバ読み取り動作が、Ｄに等しい深さに相当するインタリーバ出力バイト遅延を使用して前記遷移期間中に続行し、
さらに、セルに対するインタリーバ読み取り動作が、Ｄ’に等しい深さに相当するインタリーバ出力バイト遅延を使用して前記遷移期間の終了後に続行する、
請求項８に記載の方法。
【請求項１１】
Ｒ個のメモリセルのために前記第１のスケジュールセットを決定することが、前記Ｒ個のメモリセルのそれぞれに対して、複数の行を有する第１のスケジュールセットアレイを構築することを備え、前記アレイの各行は、期間インデックスＰを定める第１の要素と、バイトインデックスＢを定める第２の要素を備え、
さらに、Ｒ’個のメモリセルのために前記第２のスケジュールセットを決定することが、前記Ｒ’個のメモリセルのそれぞれに対して、複数の行を有する第２のスケジュールセットアレイを構築することを備え、前記アレイの各行が、期間インデックスＰを定める第１の要素と、バイトインデックスＢを定める第２の要素を備える、請求項８に記載の方法。
【請求項１２】
前記第１のスケジュールセットを使用して前記Ｒ個のメモリセルに対して読み取り動作と書き込み動作を実行することが、前記第１のスケジュールセットに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択することを備え、
さらに、前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルに対して読み取り動作と書き込み動作を実行することが、前記第２のスケジュールセットに基づいて前記Ｒ’個のメモリセルから第１のメモリセルを選択することを備える、請求項８に記載の方法。
【請求項１３】
【数４】
2008547298.tif 000039
であり、さらに
【数５】
2008547298.tif 000040
である請求項８に記載の方法。
【請求項１４】
期間Ｉ及び第１の深さＤを有するインタリーバ／デインタリーバであって、
インタリーブ／デインタリーブに連続データバイトを提供するように構成された入力と、
インタリーブ／デインタリーブの後に連続データバイトを配信するように構成された出力と、
各メモリセルが、前記入力と前記出力の間で結合される複数のＲ個のメモリセルと、
制御装置であって、既定された時間サンプルで、
第１のデータバイトが、前記出力に書き込まれる第１のメモリセルと、
第２のデータバイトが、前記入力から読み取られる第２のメモリセルと、
を制御する制御装置と、
を備え、
さらに、制御装置動作が、前記Ｒ個のメモリセルのそれぞれに対して決定されるスケジュールに基づく、インタリーバ／デインタリーバ。
【請求項１５】
【数６】
2008547298.tif 000041
である請求項１４に記載のインタリーバ／デインタリーバ。
【請求項１６】
前記制御装置が、前記Ｒ個のメモリセルのそれぞれに前記スケジュールを決定するように構成される請求項１４に記載のインタリーバ／デインタリーバ。
【請求項１７】
前記制御装置が、インタリーバ深さの変更を、
前記Ｒ個のメモリセルのそれぞれに第１のスケジュールセットを決定することによって、
前記第１のスケジュールセットに基づいて前記Ｒ個のメモリセルに対する読み取り動作と書き込み動作を制御することによって、
Ｄ’が第２の深さであるＲ’個のメモリセルのそれぞれに第２のスケジュールセットを決定することによって、
前記第２のスケジュールセットに基づいて前記Ｒ’個のメモリセルに読み取り動作と書き込み動作を切り替えることによって、
制御する請求項１４に記載のインタリーバ／デインタリーバ。
【請求項１８】
【数７】
2008547298.tif 000042
であり、さらに
【数８】
2008547298.tif 000043
である請求項１７に記載のインタリーバ／デインタリーバ。
【請求項１９】
Ｄ’がＤより大きく、
さらに、前記制御装置が前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルに対する読み取り動作と書き込み動作に切り替えることを制御することが、前記第１のスケジュールセットから前記第２のスケジュールセットに即座に移ることを備える、請求項１７に記載のインタリーバ／デインタリーバ。
【請求項２０】
Ｄ’がＤより小さく、
さらに、前記制御装置が前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルに対する読み取り動作と書き込み動作に切り替えることを制御することが、遷移期間を使用して前記第１のスケジュールセットから前記第２のスケジュールセットに移ることを備え、
さらに、前記遷移期間中、インタリーバ書き込み動作が実行されず、
さらに、インタリーバ読み取り動作が、Ｄに等しい深さに相当するインタリーバ出力バイト遅延を使用して前記遷移期間中続行し、
さらに、インタリーバ読み取り動作が、Ｄ’に等しい深さに相当するインタリーバ出力バイト遅延を使用して前記遷移期間の終了後続行する、請求項１７に記載のインタリーバ／デインタリーバ。
【請求項２１】
機械可読媒体と、
前記機械可読媒体に含まれるプログラム命令であって、前記プログラム命令が、深さＤ及び期間Ｉのデータフローの畳み込みインタリーブを実行するための方法を指定し、前記方法が、
Ｒ個のメモリセルのそれぞれにスケジュールを決定することと、
各時間サンプルに、
前記Ｒ個のメモリセルの前記スケジュールに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択する動作と、
前記第１のメモリセルに記憶される第１のバイトを読み取る動作と、
前記インタリーバの出力に前記第１のバイトを書き込む動作と、
前記インタリーバの入力で第２のバイトを受け取る動作と、
前記第１のメモリセルに前記第２のバイトを書き込む動作と、
を実行することと、
を備えるプログラム命令と、
を備えるコンピュータプログラム製品。
【請求項２２】
Ｒ個のメモリセルのそれぞれにスケジュールを決定することが、複数の行を有するアレイを構築することを備え、前記アレイの各行が、期間インデックスＰを定める第１の要素と、バイトインデックスＢを定める第２の要素とを備える請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
前記アレイを構築することが、
期間インデックス初期化値に等しい前記アレイの第１の行の第１の要素を設定することと、
バイトインデックス初期化値に等しい前記アレイの第１の行の第２の要素を設定することと、
を備える前記アレイの第１の行を生成することと、
前記期間インデックス初期化値に等しいＰを設定することと、
前記バイトインデックス初期化値に等しいＢを設定することと、
Ｂ＋（Ｂ＊（Ｄ−１））または
Ｂ＋（（Ｉ−１−Ｂ）＊（Ｄ−１））
の１つに等しい位置インデックスＬを設定することと、
Ｐが以下の、
Ｂ＋（Ｂ＊（Ｄ−１））のとき、
【数９】
2008547298.tif 000044
または
Ｂ＋（（Ｉ−１−Ｂ）＊（Ｄ−１））のとき、
【数１０】
2008547298.tif 000045
の１つであるＰをリセットすることと、
Ｂ＝Ｌ  ｍｏｄ  ＩであるＢをリセットすることと、
Ｐに等しい前記アレイの次の行の第１の要素を設定することと、
Ｂに等しい前記アレイの次の行の第２の要素を設定することと、
を備える前記アレイの次の行を生成することと、
前記アレイの次の行の第２の要素が、前記アレイの第１の行の第２の要素に等しくなるまで前記アレイの前記次の行を生成することを繰り返すことと、
を備える請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
前記Ｒ個のメモリセルの前記スケジュールに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択することが、スケジュールが現在の時間サンプルを含む前記メモリセルを識別するために、前記Ｒ個のメモリセルの前記スケジュールを調べることを備える請求項２１に記載のコンピュータプログラム製品。
【請求項２５】
前記Ｒ個のメモリセルの前記スケジュールに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択することが、スケジューリングテーブルを読み取ることを備え、前記スケジューリングテーブルが、期間インデックスに対応する行と、バイトインデックスに対応する列を有し、前記テーブルの前記内容が、期間インデックスのためのメモリセルに対するポインタと、時間サンプルに対応するバイトインデックスから成る請求項２１に記載のコンピュータプログラム製品。
【請求項２６】
【数１１】
2008547298.tif 000046
である請求項２１に記載のコンピュータプログラム製品。
【請求項２７】
機械可読媒体と、
前記機械可読媒体に含まれるプログラム命令であって、前記プログラム命令が、データフローを畳み込みインタリーブするために前記深さを動的に変更するための方法を指定し、前記方法が、
Ｄが第１の深さであり、Ｉがインタリーブ期間であり、ＲがＤとＩに基づいているＲ個のメモリセルのために第１のスケジュールセットを決定することと、
前記第１のスケジュールセットを使用して、前記Ｒ個のメモリセルに対して読み取り動作と書き込み動作を実行することと、
Ｄ’が第２の深さであり、Ｒ’がＤ’とＩに基づいているＲ’個のメモリセルのために第２のスケジュールセットを決定することと、
前記第２のスケジュールセットを使用して、前記Ｒ’個のメモリセルに対する読み取り動作と書き込み動作に切り替えることと、
を備えるプログラム命令と、
を備えるコンピュータプログラム製品。
【請求項２８】
Ｄ’がＤより大きく、
さらに、前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルに対する読み取り動作と書き込み動作に切り替えることが、前記第１のスケジュールセットから前記第２のスケジュールセットに即座に移ることを備える、
請求項２７に記載のコンピュータプログラム製品。
【請求項２９】
Ｄ’がＤより小さく、
さらに、前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルに対する読み取り動作と書き込み動作に切り替えることが、遷移期間を使用して前記第１のスケジュールセットから前記第２のスケジュールセットに移ることを備え、
さらに、前記遷移期間中にインタリーバ書き込み動作が実行されず、
さらに、インタリーバ読み取り動作が、Ｄに等しい深さに対応するインタリーバ出力バイト遅延を使用して前記遷移期間中続行し、
さらに、インタリーバ読み取り動作が、Ｄ’に等しい深さに対応するインタリーバ出力バイト遅延を使用して前記遷移期間終了後に続行する
請求項２７に記載のコンピュータプログラム製品。
【請求項３０】
前記Ｒ個のメモリセルのために前記第１のスケジュールセットを決定することが、前記Ｒ個のメモリセットのそれぞれに対して、複数の行を有する第１のスケジュールセットアレイを構築することを備え、前記アレイの各行が、期間インデックスＰを定める第１の要素と、バイトインデックスＢを定める第２の要素とを備え、
さらに、Ｒ’個のメモリセルのために前記第２のスケジュールセットを決定することが、前記Ｒ’個のメモリセルのそれぞれに対して、複数の行を有する第２のスケジュールセットアレイを構築することを備え、前記アレイの各行が、期間インデックスＰを定める第１の要素と、バイトインデックスＢを定める第２の要素を備える、
請求項２７に記載のコンピュータプログラム製品。
【請求項３１】
前記第１のスケジュールセットを使用して前記Ｒ個のメモリセルに対して読み取り動作と書き込み動作を実行することが、前記第１のスケジュールセットに基づいて前記Ｒ個のメモリセルから第１のメモリセルを選択することを備え、
さらに、前記第２のスケジュールセットを使用して前記Ｒ’個のメモリセルに対して読み取り動作と書き込み動作とを実行することが、前記第２のスケジュールに基づいて前記Ｒ’個のメモリセルから第１のメモリセルを選択することを備える、
請求項２７に記載のコンピュータプログラム製品。
【請求項３２】
【数１２】
2008547298.tif 000047
であり、さらに
【数１３】
2008547298.tif 000048
である請求項２７に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、米国特許法第１１９条（ｅ）の元での以下の優先権の利点を主張する。つまり、その全体的な開示が、すべての目的のためにその全体として参照することにより本書に組み込まれている、最小メモリインタリーブシステム（ＭＩＮＩＭＵＭ−ＭＥＭＯＲＹ  ＩＮＴＥＲＬＥＡＶＩＮＧ  ＳＹＳＴＥＭ）と題されている米国仮出願番号第６０／６９２，８８９号（代理人整理番号第０１０１−ｐ２１ｐ号）。
【０００２】
本発明は、概してデジタル通信システムのための方法、システム及び装置に関する。
【背景技術】
【０００３】
デジタル通信システム送信機は、インタリーバとして知られているモジュールと、デインタリーバとして知られている対応する受信機モジュールとを使用する。デジタル加入者回線（ＤＳＬ）システムでは、これらのモジュールは、システムの符号化利得を高めるため、及びそれらのインパルス雑音補正能力を改善するために使用される。これらの改善により、インタリーバ／デインタリーバモジュールを使用せずに達成できるデータレートよりも高いデータレートでの情報の確実な伝送が可能になる。インタリーバ／デインタリーバ構成パラメータは、以前は、データ伝送を開始する前に設定されていた。したがって、インタリーバモジュールとデインタリーバモジュールとは、それらのパラメータが調整されている間には作動していない。しかしながら、インタリーバ／デインタリーバパラメータに対する「動的な」変更が、これらのモジュールが作動中（つまり、データがこれらのモジュールを通過している間）にも可能になる必要があることが提案されてきた。インタリーバ／デインタリーバ設計は当業者にとって公知であるが、以前のシステムは、常にインタリーバ／デインタリーバパラメータの最大潜在値に対応するほど十分なメモリを事前に確保しなければならなかった。
【０００４】
動的パラメータ変更の間にも使用されたメモリを絶えず最小限に維持するシステム、装置、方法及び技法は、当技術分野の大きな前進に相当するであろう。
【０００５】
［簡単な概要］
本発明の実施形態は、既定の組の設定値のための最小メモリの使用を可能にし、深さ（depth）が増減されるときに、インタリーブ／デインタリーブの動的調整をさらに可能にするインタリーブ／デインタリーブするための方法、技法及び装置を提供する。制御装置は、１台または複数のインタリーブ／デインタリーブ装置、モジュール、ソフトウェア構成要素等を制御、命令するためなどに使用できる。
【０００６】
本発明の実施形態は、ＤＳＬインタリーブ／デインタリーブでの任意の深さ及び期間（period）での使用のために最小メモリ実装（インプリメンテーション：implementation）を可能にし、インタリーバ／デインタリーバのパラメータが動的に変化する場合にも、性能の損失あるいは基本三角構造の損失を被らずに送信機と受信機両方で最小量のメモリを使用できるようにする。本発明の他の実施形態は、同じ一般的な方法及び／または構造を活用するが、最小メモリを使用する実装を必要としない。本発明では、新規のセルスケジューリングプロセスが、完全な三角形の画像を実現するための最小量のメモリ（または他の所望されるメモリ使用量）の可用性を保証し、任意の互いに素な（co-prime）深さ及びインタリーバ期間に有効である。
【０００７】
最小メモリ使用は、本発明によるインタリーバ／デインタリーバの最小メモリ（または他の）実装において、メモリセルのそれぞれのアドレス指定順序を決定する単純なオフライン方法によってさらに特徴付けられてよい。作動中のインタリーバ深さの時間変動は、すべての時刻での絶対最小メモリ要件で容易に対応できる。
【０００８】
本発明のさらなる詳細及び優位点は、以下の詳細な説明及び関連図で示される。
【０００９】
本発明は、類似する参照数が類似する構成要素を示す添付図面と関連して、以下の詳細な説明によって容易に理解される。
【発明を実施するための最良の形態】
【００１０】
本発明の以下の詳細な説明は、本発明の１つまたは複数の実施形態を参照するが、このような実施形態に限定されていない。むしろ、詳細な説明は、実例となることだけを目的としている。当業者は、本発明がこれらの限られた実施形態を超えるので、図に関して本書に示されている詳細な説明が、説明目的のために示されていることを容易に理解する。
【００１１】
本発明による発明は、装置、方法及びコンピュータプログラム製品を含む。本発明の実施形態が使用されてよい通信システムは、本開示の読後に当業者によって理解されるように、ＡＤＳＬ、ＶＤＳＬ、及び／または本発明が役に立つ他の通信システム及び／または回線を含んでよい。ＤＳＬシステムは説明及び図解のために本書で使用されるが、本発明は、このように限定されていない。
【００１２】
本発明の一実施形態では、データフローの畳み込みインタリーブを実行する方法は、深さＤと期間Ｉを使用する。方法は、Ｒ個のメモリセルのそれぞれにスケジュールを決定し、次に時間サンプルごとに一連の動作を実行することにより開始する。第１のメモリセルは、Ｒ個のメモリセルのスケジュールに基づいてＲ個のメモリセルから選択される。第１のバイトは、読み取られ、第１のメモリセルに記憶され、後にインタリーバ出力に書き込まれる。第２のバイトは、インタリーバの入力で受け取られ、後に第１のメモリセルに書き込まれる。Ｒ個のメモリセルのそれぞれのスケジュールは、アレイの各行が期間インデックスＰを定める第１の要素と、バイトインデックスＢを定める第２の要素とを有する、複数の行を有するアレイを構築することにより生成できる。アレイは、ＰとＢの初期化値を使用してアレイの第１の行を生成してから、１つまたは複数の追加の行を構築することによって構築できる。これは、Ｄ、Ｉ、Ｐ、Ｂ及び位置インデックスＬを使用する種々の方法で行うことができる。Ｒ個のメモリセルから第１のメモリセルを選択することは、例えば、スケジュールが現在の時間サンプルを含むメモリセルを識別するためにＲ個のメモリセルのスケジュールを調べることによって、あるいは別の例では、テーブルの内容が、時間サンプルに対応する期間インデックスとバイトインデックスのためのメモリセルに対するポインタから成る、期間インデックスに対応する行と、バイトインデックスに対応する列とを有するスケジューリングテーブルを読み取ることによって様々な方法で行うことができる。最小メモリが使用されることが求められる場合、Ｒは以下のとおりである。
【数１】
2008547298.tif 000003
【００１３】
データフローを畳み込みインタリーブするために深さを動的に変更するための方法は、深さＤとインタリーブ期間Ｉとを使用してＲ個のメモリセルのために第１のスケジュールセットを決定することで始まり、この場合Ｒは、ＤとＩに基づいている。読み取り（read）動作と書き込み（write）動作とは、第１のスケジュールセット（例えば「スケジュールＡ」）を使用してＲ個のメモリセルで実行される。第２のスケジュールセット（例えば、「スケジュールＢ」）は、新しい深さＤ’と、Ｄ’とＩに基づいた新しいＲ’を使用して生成される。次に方法は、第２のスケジュールセットを使用するＲ’個のメモリセルでの読み取り動作と書き込み動作に切り替わる。Ｄ’がＤより大きいとき、第２のスケジュールを使用してＲ’のメモリセルでの読み取り動作と書き込み動作に切り替わることによって、即座に第１のスケジュールセットから第２のスケジュールセットに移ることが可能になる。Ｄ’がＤより小さいときには、第２のスケジュールセットを使用してＲ’個のメモリセル上の書き込み動作と読み取り動作に切り替わると、インタリーバ書き込み動作が実行されない遷移期間を使用して第１のスケジュールセットから第２のスケジュールセットに移る。インタリーバ読み取り動作は、Ｄに等しい深さに相当するインタリーバ出力バイト遅延を使用して遷移期間中続行する。最後に、インタリーバ読み取り動作は、Ｄ’に等しい深さに相当するインタリーバ出力バイト遅延を使用して遷移期間の終了後に続行する。前記のインタリーブ／デインタリーブ方法と同様に、スケジュールは、多様な方法で構築される。再び、最小メモリ実装が所望される場合、ＲおよびＲ’は以下のとおりである。
【数２】
2008547298.tif 000004
【００１４】
最小メモリ可能インタリーバ／デインタリーバは、期間Ｉと第１の深さＤとを使用する。インタリーバ／デインタリーバは、インタリーブ／デインタリーブのための連続データバイトを提供するように構成された入力と、インタリーブ／デインタリーブ後に連続データバイトを配信するように構成された出力とを有する。インタリーバ／デインタリーバは、Ｒ個のメモリセルも使用し、そのそれぞれは、入力と出力との間で結合される。制御装置は、既定の時間サンプルで、第１のデータバイトが第１のメモリセルから出力に書き込まれ、第２のデータバイトが入力から第２のメモリセルに読み出されるようにメモリセルを制御する。さらに、制御装置の動作は、Ｒ個のメモリセルのそれぞれについて決定されるスケジュールに基づいている。インタリーバ／デインタリーバは、Ｒ個のメモリセルが使用され、Ｒが以下である最小メモリ実装を含む、前述された方法と一致して動作するように構成できる。
【数３】
2008547298.tif 000005
【００１５】
さらに詳しく後述されるように、本発明の１つまたは複数の実施形態を使用する１つまたは複数のインタリーバ及び／またはデインタリーバの実装が、通信デバイス（例えば、送信機、受信機、モデム、トランシーバ、制御装置、ＤＳＬ最適化装置、ＤＳＬＡＭ、ＬＴデバイス、ＲＴデバイス、ＤＳＬモデム等）の一部である場合がある。このような実装は、ローカルデバイス（再び、例えばＤＳＬＡＭ、ＬＴデバイス、モデム等）内及び／または例えば制御装置（例えば、ＤＳＬ最適化装置、動的スペクトルマネージャ、またはスペクトル管理センタ内、あるいはＤＳＬ最適化装置、動的スペクトルマネージャ、またはスペクトル管理センタとして）のような遠隔デバイス内のインタリーブ／デインタリーブ制御部によって制御及び／または支援されてよい。本開示及び請求項の中の用語「インタリーバ／デインタリーバ」等は、当業者によって理解されるように、インタリーバ、デインタリーバのどちらか、または協調装置の組としての両方を指す。
【００１６】
インタリーブ／デインタリーブのための制御部は、どこに設置することもできる。いくつかの実施形態では、インタリーブ／デインタリーブ制御部を有する制御装置は、ＤＳＬ  ＣＯ内に常駐し、一方他のケースでは、それはＣＯの外部に位置するサードパーティによって運用されてよい。本発明の実施形態と関連してインタリーブ／デインタリーブに使用できる制御装置及び／または制御部の構造、プログラミング及び他の特定の特長は、本開示を検討後に当業者に明らかになる。
【００１７】
ＤＳＬ最適化装置、動的スペクトル管理センタ（ＤＳＭセンタ）、「スマート」モデム及び／またはコンピュータシステム等の制御装置は、本発明の多様な実施形態と関連して説明されるような操作データ及び／または性能パラメータ値を収集し、解析するために使用できる。制御装置及び／または他の構成要素は、コンピュータによって実現されるデバイスまたはデバイスの組み合わせである場合がある。いくつかの実施形態では制御装置は、通信回線に結合されているモデムまたは他の通信装置から遠く離れた場所にある。他のケースでは制御装置は、モデム、ＤＳＬＡＭまたは他の通信システムデバイスに直接的に接続されている装置として「ローカル」デバイス（すなわち、通信回線またはこのようなローカルデバイスの一部に直接的に結合されているデバイス）の１つまたは両方と配置されてよく、このようにして「スマート」モデムを作成する。用語「結合されている」及び「接続されている」等は、２つの要素及び／または構成要素間の接続を説明するために本書で使用され、適宜、直接的にともに、または例えば１つまたは複数の介入する要素を介してもしくは無線接続を介して間接的に結合されていることを意味することを意図されている。
【００１８】
本発明の実施形態の以下の例のいくつかは、例示的な通信システムとしてのＤＳＬと関連して使用される。これらのＤＳＬシステムの中では、特定の規約、規則、プロトコル等が、例示的なＤＳＬシステムの動作、及びカスタマ（「ユーザ」とも呼ばれている）及び／またはシステム上の装置から入手できる情報及び／またはデータを説明するために使用されてよい。しかしながら、当業者によって理解されるように、本発明の実施形態は、多様な通信システムに適用されてよく、本発明は任意の特定のシステムに限定されない。
【００１９】
多様なネットワーク管理要素は、要素が集合的にまたは個別の端部でのどちらかでＤＳＬのモデム対の中のパラメータまたは機能を参照するＤＳＬの物理層リソースの管理に使用される。ネットワーク管理フレームワークは、それぞれがエージェントを含む１つまたは複数の被管理ノードから成る。被管理ノードは、ルータ、ブリッジ、スイッチ、モデム等である。多くの場合マネージャと呼ばれている少なくとも１つのＮＭＳ（ネットワーク管理システム）が、被管理ノードを監視、制御し、通常は一般的なＰＣまたは他のコンピュータに基づいている。ＮＭＳは、いくつかの例では要素管理システム（ＥＭＳ）とも呼ばれている。ネットワーク管理プロトコルは、管理情報及びデータを交換するためにマネージャ及びエージェントによって使用される。管理情報の単位は、オブジェクトである。関連するオブジェクトの集合体は、管理情報ベース（ＭＩＢ）として定義される。
【００２０】
図１は、多様なＡＤＳＬシステムとＶＤＳＬシステムに適用し、当業者に周知であり、本発明の実施形態を実現できるＧ．９９７．１規格（Ｇ．ｐｌｏａｍ）による参照モデルシステムを示している。このモデルは、すべてが結合あり及び結合なしで、Ｇ．９９１．１規格とＧ．９９１．２  ＳＨＤＳＬ規格だけではなく、ＡＤＳＬ１（Ｇ．９９２．１）、ＡＤＳＬ−Ｌｉｔｅ（Ｇ．９９２．２）、ＡＤＳＬ２（Ｇ．９９２．３）、ＡＤＳＬ２−Ｌｉｔｅ（Ｇ．９９２．４）、ＡＤＳＬ２＋（Ｇ．９９２．５）、ＶＤＳＬ１（Ｇ．９９３．１）及び他のＧ．９９３．ｘ出現ＶＤＳＬ規格等のスプリッタ（splitter）を含むことがある、あるいは含まないことがある多様な規格を満たすＡＤＳＬシステム及びＶＤＳＬシステムに適用する。これらの規格、その変形、及びＧ．９９７．１規格に関連するそれらの使用は、すべて当業者に周知である。
【００２１】
Ｇ．９９７．１規格は、Ｇ．９９７．１に定められている明確な埋め込み操作チャネル（ＥＯＣ）、及びＧ．９９ｘ規格に定められているインジケータビットとＥＯＣメッセージの使用に基づいたＡＤＳＬおよびＶＤＳＬ伝送システムの物理層管理を規定している。さらに、Ｇ．９９７．１は、構成、障害及び性能管理のためのネットワーク管理要素コンテンツを規定する。これらの機能を実行する際に、システムは、アクセスノード（ＡＮ）で入手でき、ＡＮから収集できる種々の操作データを活用する。ＤＳＬフォーラムのＴＲ−０６９報告書は、ＭＩＢ、及びどのようにしてそれがアクセスされる可能性があるのかも示している。図１では、カスタマの端末装置１１０が、ネットワーク終端装置（ＮＴ）１２０に結合されているホームネットワーク１１２に結合されている。ＡＤＳＬシステムのケースでは、ＮＴ１２０は、ＡＴＵ−Ｒ１２２（ＡＤＳＬ規格及び／またはＶＤＳＬ規格の１つによって定義されている、例えばトランシーバとも呼ばれることもあるモデム）または任意の他の適切なネットワーク終端モデム、トランシーバ、または他の通信部を含む。ＶＤＳＬシステムにおける遠隔装置は、ＶＴＵ−Ｒであろう。当業者によって理解され、本書に説明されているように、各モデムは、それが接続される先の通信システムと対話し、通信システムにおけるモデムの動作の結果として操作データを生成してよい。
【００２２】
ＮＴ１２０は、管理エンティティ（ＭＥ）１２４も含む。ＭＥ１２４は、任意の適用可能な規格及び／または他の基準によって必要とされるように実行できるマイクロプロセッサ、マイクロコントローラ、またはファームウェアまたはハードウェアの中の回路状態機械等の任意の適切なハードウェアデバイスである場合がある。ＭＥ１２４は、性能データを収集し、各ＭＥによって維持されている情報のデータベースであり、ＳＮＭＰ（簡易ネットワーク管理プロトコル）、管理者コンソール／プログラムに対して提供するためにネットワーク装置から情報を収集するために使用されるアドミニストレーションプロトコル等のネットワーク管理プロトコルを介して、あるいはＴＬ１コマンドを介してアクセスできるそのＭＩＢに該性能データを記憶し、ＴＬ１は、電気通信ネットワーク要素間で応答及びコマンドをプログラミングするために使用される長く確立されているコマンド言語である。
【００２３】
システム内の各ＡＴＵ−Ｒは、ＣＯまたは他の上り及び／または中心位置にあるＡＴＵ−Ｃに結合される。ＶＤＳＬシステムでは、システム内のＶＴＵ−Ｒは、ＣＯまたは他の上り及び／または中心位置（例えば、ＯＮＵ／ＬＴ、ＤＳＬＡＭ、ＲＴ等の任意の回線終端装置）にあるＶＴＵ−Ｏに結合される。図１では、ＡＴＵ−Ｃ１４２は、ＣＯ１４６内のアクセスノード（ＡＮ）１４０に位置している。ＡＮ１４０は、当業者によって理解されるように、ＤＳＬＡＭ、ＯＮＵ／ＬＴ、ＲＴ等のＤＳＬシステム構成要素であってよい。ＭＥ１４４は、同様にＡＴＵ−Ｃ１４２に関する性能データのＭＩＢを維持する。ＡＮ１４０は、当業者によって理解されるように、ブロードバンドネットワーク１７０または他のネットワークに結合されてよい。ＡＴＵ−Ｒ１２２とＡＴＵ−Ｃ１４２とは、ＡＤＳＬ（及びＶＤＳＬ）のケースで通常は他の通信サービスも搬送する電話ツイストペアであるループ１３０によってともに結合される。すべての目的のために参照することにより本書に組み込まれている米国出願番号第１０／８０８，７７１号に説明されているような結合されたシステムでは、複数のループ１３０が、単一のユーザのためにともに動作するために「結合し」、このようにしてそのユーザに追加の帯域幅を提供できる。当業者によって理解されるように、結合された回線セットは、結合された回線の間で誘発される漏話の除去の改善のための機会も提供する。本発明と関連してこの特徴を使用し、回線の送信機を共同最適化することは、さらに詳細に後述される。
【００２４】
図１に示されているインタフェースのいくつかは、操作データ及び／または性能データを決定し、収集するために使用できる。図１のインタフェースが別のＡＤＳＬ及び／またはＶＤＳＬシステムインタフェース方式と異なる範囲まで、システムは周知であり、相違点は当業者に既知であり、明らかである。Ｑインタフェース１５５は、オペレータのＮＭＳ１５０とＡＮ１４０内のＭＥ１４４の間にインタフェースを提供する。Ｇ．９９７．１規格に指定されているすべてのパラメータは、Ｑ−インタフェース１５５で適用する。ＭＥ１４４でサポートされている近端(near-end)パラメータは、ＡＴＵ−Ｃ１４２から引き出され、一方ＡＴＵ−Ｒ１２２からの遠端(far-end)パラメータは、Ｕインタフェース上の２つのインタフェースのどちらかによって引き出すことができる。埋め込みチャネル１３２を使用して送信され、ＰＭＤ層で提供されるインジケータビットとＥＯＣメッセージとは、必要とされるＡＴＵ−Ｒ１２２パラメータをＭＥ１４４で生成するために使用できる。代わりに、ＯＡＭ（動作、運営及び管理）チャネルと適切なプロトコルとは、ＭＥ１４４によって要求されるとＡＴＵ−Ｒ１２２からパラメータを取り出すために使用できる。同様に、ＡＴＵ−Ｃ１４２からの遠端パラメータは、Ｕインタフェース上の２つのインタフェースのどちらかによって引き出すことができる。ＰＭＤ層で提供されるインジケータビットとＥＯＣメッセージとは、ＮＴ１２０のＭＥ１２４内で必要とされるＡＴＵ−Ｃ１４２パラメータを生成するために使用できる。代わりに、ＯＡＭチャネルと適切なプロトコルとは、ＭＥ１２４によって要求されるとき、ＡＴＵ−Ｃ１４２からパラメータを取り出すために使用できる。
【００２５】
Ｕ−インタフェース（本来、ループ１３０である）では２つの管理インタフェース、つまりＡＴＵ−Ｃ１４２（Ｕ−Ｃインタフェース１５７）でのインタフェースと、ＡＴＵ−Ｒ１２２（Ｕ−Ｒインタフェース１５８）でのインタフェースとがある。インタフェース１５７はＡＴＵ−Ｒ１２２が、Ｕ−インタフェース１３０上で取り出すためのＡＴＵ−Ｃ近端パラメータを提供する。同様に、インタフェース１５８は、ＡＴＵ−Ｃ１４２がＵ−インタフェース１３０上で取り出すためのＡＴＵ−Ｒ近端パラメータも提供する。適用するパラメータは、使用されているトランシーバ規格に依存してよい（例えば、Ｇ．９２２．１またはＧ．９２２．２）。
【００２６】
Ｇ．９９７．１規格は、Ｕ−インタフェース全体でのオプションのＯＡＭ通信チャネルを指定する。このチャネルが実現される場合、ＡＴＵ−ＣとＡＴＵ−Ｒ対は、物理層ＯＡＭメッセージを運ぶためにそれを使用してよい。このようにして、このようなシステムのトランシーバ１２２、１４２は、それぞれのＭＩＢ内に維持されている多様な操作データと性能データを共用する。
【００２７】
１９９８年３月付けの、ＡＤＳＬフォーラムからの「ＡＤＳＬネットワーク要素管理（ＡＤＳＬ  Ｎｅｔｗｏｒｋ  Ｅｌｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ）」と題されているＤＳＬフォーラム技術報告書（ＤＳＬ  Ｆｏｒｕｍ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ）ＴＲ−００５の中でＡＤＳＬ  ＮＭＳに関するさらに多くの情報を検出できる。また、２００４年５月付けの「ＣＰＥ  ＷＡＮ管理プロトコル（ＣＰＥ  ＷＡＮ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）と題されるＤＳＬフォーラム技術報告書ＴＲ−０６９。最後に、２００４年５月付けの「ＬＡＮ側ＤＳＬ  ＣＰＥ構成仕様書（ＬＡＮ−Ｓｉｄｅ  ＤＳＬ  ＣＰＥ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」と題されるＤＳＬフォーラム技術報告書ＴＲ−０６４。これらの文書は、ＣＰＥ側管理のためのさまざまな状況に対処し、その中の情報は当業者にとって周知である。ＶＤＳＬについてのさらに多くの情報は、すべてが当業者にとって既知である、いくつかのＤＳＬフォーラムの進行中の作業中テキストだけではなく、ＩＴＵ規格Ｇ．９９３．１（「ＶＤＳＬ１」と呼ばれることもある）、及び新生のＩＴＵ規格Ｇ．９９３．２（「ＶＤＳＬ２」と呼ばれることもある）にも掲載されている。例えば、追加情報は、ＶＤＳＬ１要素とＶＤＳＬ２  ＭＩＢ要素のためのＩＴＵ規格Ｇ．９９７．１の新生の改訂において、またはＡＴＩＳ北米草案動的スペクトル管理報告書（ＡＴＩＳ  Ｎｏｒｔｈ  Ａｍｅｒｉｃａｎ  Ｄｒａｆｔ  Ｄｙｎａｍｉｃ  Ｓｐｅｃｔｒｕｍ  Ｍａｎａｇｅｍｅｎｔ  Ｒｅｐｒｏｔ）ＮＩＰＰ−ＮＡＩ−２００５−０３１においてだけではなく、「ＶＤＳＬネットワーク要素管理（ＶＤＳＬ  Ｎｅｔｗｏｒｋ  Ｅｌｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ）」（２００３年２月）と題されているＤＳＬフォーラムの技術報告書ＴＲ−０５７（以前はＷＴ−０６８ｖ５）と、「ＦＳ−ＶＤＳＬ  ＥＭＳからＮＭＳインタフェース機能要件（ＦＳ−ＶＤＳＬ  ＥＭＳ  ｔｏ  ＮＭＳ  Ｉｎｔｅｒｆａｃｅ  Ｆｕｎｃｔｉｏｎａｌ  Ｒｅｑｕｉｒｅｍｅｎｔｓ）」（２００４年３月）でも入手できる。
【００２８】
同じバインダを共用する回線が、ＡＤＳＬ内の同じ回線カードで終端するのはＶＤＳＬ内に比べると一般的ではない。しかしながら、ＤＳＬシステムの以下の説明は、同じバインダ回線の共通の終端が実行される可能性もあるため（特に、ＡＤＳＬとＶＤＳＬの両方を扱うより新しいＤＳＬＡＭにおいて）、ＡＤＳＬに及んでよい。多くのトランシーバ対が動作している及び／または使用可能であるＤＳＬプラントの典型的なトポロジでは、各加入者ループの部分は、マルチペアバインダ（またはバンドル）の中の他のユーザのループと一緒に配置される。加入者宅内機器（ＣＰＥ）の非常に近くの台座（pedestal）の後、ループは、引込み線(drop wire)の形を取り、バンドルを出る。したがって、加入者ループは、２つの異なる環境を行き来する。ループの一部は、バインダの内部に位置してよく、そこではループは、外部の電磁干渉から遮蔽されていることもあるが、漏話にさらされる。台座の後、この対がドロップ(drop)の大部分について他の対から遠いときには、引込み線は、多くの場合漏話による影響を受けない。しかし、引込み線が遮蔽されていないために、伝送が、電磁干渉によってさらに大幅に害されることもある。多くのドロップは、それらの中に２本から８本のツイストペアを有し、家庭への複数のサービスまたはそれらの回線の結合（単一サービスの多重化及び逆多重化）の状況では、追加のかなりの漏話が、ドロップセグメントのこれらの回線間で発生することがある。
【００２９】
一般的で例示的なＤＳＬ配備のシナリオは、図２に示されている。合計（Ｌ＋Ｍ）人のユーザ２９１、２９２のすべての加入者ループは、少なくとも１つの共通バインダを通過する。各ユーザは、専用回線を通して電話局（ＣＯ）２１０、２２０に接続されている。しかしながら、各加入者ループは、異なる環境と媒体を通過している可能性がある。図２Ａでは、Ｌ人のカスタマまたはユーザ２９１が、光ファイバ２１３と、一般にファイバツーザキャビネット（ＦＴＴＣａｂ）またはファイバツーザカーブと呼ばれるツイスト銅ペア２１７の組み合わせを使用してＣＯ２１０に接続される。ＣＯ２１０内のトランシーバ２１１からの信号は、それらの信号をＣＯ２１０内および光ネットワーク部（ＯＮＵ）内の２１８光回線端末２１２および光ネットワーク端末２１５によって変換させる。ＯＮＵ２１８内のモデム２１６は、ＯＮＵ２１８とユーザ２９１間の信号用のトランシーバとして動作する。
【００３０】
ＣＯ２１０、２１８、及びＯＮＵ２２０（他だけではなく）等の場所で共同終端するユーザの回線は、ベクタリング等の調整された様式で操作されてよい。ベクタリング通信システム（例えば、ベクタリングされたＡＤＳＬシステム及び／またはＶＤＳＬシステム）では、信号の調整と処理とを達成できる。下り（downstream）ベクタリングは、複数の回線のＤＳＬＡＭまたはＬＴからの送信信号が、共通のクロックとプロセッサとで共同生成されるときに発生する。このような共通クロック付きのＶＤＳＬシステムでは、ユーザ間の漏話が、トーンごとに別々に発生する。したがって、多くのユーザのための下りトーンのそれぞれは、共通ベクトル送信機によって独立して生成できる。同様に、共通クロックとプロセッサとが複数の回線の信号を共同受信するために使用されるときに、上り（upstream）ベクタリングが発生する。このような共通クロックを備えたＶＤＳＬシステムでは、ユーザ間の漏話は、トーンごとに別々に発生する。したがって、多くのユーザのための上りトーンのそれぞれは、共通ベクトル受信機によって独立して処理できる。
【００３１】
残りのＭ人のユーザ２９２のループ２２７は、銅ツイストペアだけであり、ファイバーツーザイクスチェンジ（ＦＴＴＥｘ）と呼ばれるシナリオである。可能なとき、及び経済的に実現可能であるときにはいつでも、これが加入者ループの銅部分の長さを削減し、その結果として達成可能なレートを増やすので、ＦＴＴＣａｂは、ＦＴＴＥｘよりも好ましい。さらに、ＦＴＴＣａｂは、将来、ますます人気のトポロジになることが予想されている。この種のトポロジは、かなりの漏話干渉につながり、多様なユーザの回線が、それらが動作する特定の環境に起因する、異なるデータ搬送機能と性能機能とを有することを意味してよい。トポロジは、ファイバによって供給される（ｆｉｂｅｒ−ｆｅｄ）「キャビネット」回線と交換回線が同じバインダ内で混合できるほどである。さまざまな場所で終端する回線によって生じる漏話雑音は、通常、周知の判定帰還（decision-feedback）機構によって直接的に除去することはできず、代わりに本書に説明されている本発明によって完全にまたは部分的に除去することができる時間依存性(time-varying)の空間ノイズを表す。
【００３２】
図２Ａで分かるように、ＣＯ２２０からユーザ２９２への回線は、ＣＯ２１０とユーザ２９１との間の回線によって使用されないバインダ２２２を共用する。さらに、別のバイダ２４０が、ＣＯ２１０とＣＯ２２０及びそれらのそれぞれのユーザ２９１、２９２への／からのすべての回線に共通である。図２Ａでは、遠端漏話（ＦＥＸＴ）２８２と近端漏話（ＮＥＸＴ）２８1とが、ＣＯ２２０で一緒に配置される回線２２７の内の少なくとも２つに影響を及ぼすものとして描かれている。
【００３３】
当業者によって理解されるように、これらの文書に説明されている操作データ及び／またはパラメータの少なくともいくつかは、本発明の実施形態に関連して使用できる。さらに、システム説明の少なくともいくらかは、同様に本発明の実施形態に適用できる。ＤＳＬ  ＮＭＳから入手できる多様なタイプの操作データ及び／または情報は、そこで発見できる。他は、当業者に既知である場合がある。
【００３４】
図２Ｂは、ＤＳＬ送信機２３０（例えば、ＤＳＬＡＭまたは他の上り端部デバイスに見られるタイプ）の関連で本発明の一実施形態を描いている。当業者によって理解されるように、Ｕ本の回線のペイロードデータ２３１は、Ｕ本の回線のためのスクランブリングとＦＥＣコーディング２３３を含むフレーマ２３２に提供され、次に他の処理２３６（例えば、何らかの種類のプリコーディング）だけではなくインタリーバ２３４とエンコーディング２３５に提供される。データは、本書に説明されているような本発明の実施形態を実現するインタリーバ２３４に送信されてよい。当業者によって理解されるように、単一ユーザからの上り送信機は、単一のＤＳＬ回線または結合回線セットだけが上り端部デバイスにデータを送信するために使用されるであろうという点を除き、この同じ一般的な方式を実現できる。インタリーブを含む同じ処理は、このようなＣＰＥデバイスで実現されるであろう。
【００３５】
結果的に、処理２３６からのデータは、２３８での伝送の前に高速フーリエ逆変換（ＩＦＦＴ）部２３７に送信されてよい。当業者によって理解されるように、他の送信機構成は、本発明に従ってインタリーブを実現するために使用できる。制御装置２３９は、インタリーバ２３４及びその動作を、本発明と調和した方法で制御、更新等してよい。
【００３６】
同様に本発明の１つまたは複数の実施形態を実現する受信機が、図２Ｃに示されている。受信機２４０は、図２Ｂの送信機２３０の方法に概して補完的な様式で動作する。図２Ｃの受信機２４０は、単一ユーザ受信機であり、当業者は、マルチユーザ受信機（例えばＤＳＬＡＭまたは他の上り端部デバイス）がマルチライン設定でも本発明を実現できるであろうことを容易に理解する。受信されたデータ２４１は、ＦＦＴ２４２に送信され、２４３（例えば、ＧＤＦＥ機能等）で処理されてよい。その後、データは、復号され２４４、デインタリーバに送信される２４５。２４５でのデインタリーブの後、データは、ペイロードデータ２４８が生成される前にＦＥＣデコーディングとデスクランブリング２４６及びデフレーミング２４７に渡されてよい。制御装置２４９は、デインタリーバ２４５とその動作を本発明と調和した方法で制御、更新等してよい。
【００３７】
電子機器分野での最近の進展により、高速デジタルデータ通信は、多くのタイプのアプリケーションと用途で一般的になった。デジタル通信技法は、現在、ＤＳＬシステムを含む多様な信号の通信のために使用されている。これらの方法で実施される通信の質は、受信された信号が送信された信号に一致する精度に依存する。例えば音声通信等のいくつかのタイプの通信は、相対的にかなりビット損失に耐えることができる。しかしながら、デジタルデータの通信は、多くの場合、すべてに役立つために正確な忠実度を必要とする。したがって、通信デジタルビットストリームにおけるエラーの検出と補正のための多様な技法が開発されてきた。実際には、エラー訂正技法は、既存の電話回線等の使用可能な通信設備上で、これらの設備での高周波数通信で固有の誤り率にも関わらず、デジタル通信信号を効果的に搬送できるようにした。
【００３８】
重要なクラスのエラー検出技法とエラー訂正技法は、当業者に周知であるリードソロモン（ＲＳ：Reed-Solomon）コーディングと呼ばれている。ＲＳエンコーディングは、受信されたエンコードされたメッセージをデコーディングすると、受信されたメッセージのあらゆるエラーの数と位置が決定できるようにエンコードされたメッセージを生成するために使用される。ＲＳデコーディングは、特に通信されたビットストリームの中のランダムエラーの検出と補正で有利である。しかしながら、ＲＳ技法によって補正できるエラーの数の制限が、当技術で「バーストエラー」またはインパルス雑音と呼ばれているタイプのエラーの補正を妨げる。
【００３９】
畳み込みインタリーブは、ＲＳコーディングこの制限を克服するために使用される従来の技法である。一般的な意味では、畳み込みインタリーブは、送信されたビットストリームの時間シーケンスを、従来の先入れ先出しシーケンスの時間シーケンスからスクランブルすることによって動作する。受信端では、次に、受信されたビットストリームが、送信されたメッセージまたはデータを回復するためにデスクランブルまたは並べ直される。送信されたデータのスクランブルされたシーケンスのために、通信設備上でスクランブルされたビットストリームの中で発生するエラーは、経時的に分散される。これにより実際の送信メッセージの中のエラーの密度が削減され、以後のＲＳ（または他の）デコーディングによるエラーの補正を可能にする。一般的には、畳み込みインタリーブは、シーケンスの中の隣接するコードワード（codeword）の間に変化する遅延をもたらし、その結果送信されたとおりのコードワードの時間のシーケンスは、メッセージシーケンスと異なる。つまり、次に、逆に変化する遅延が、シーケンスを回復するために、受信された隣接するコードワードの間で導入される。
【００４０】
本発明の実施形態は、ＤＳＬインタリーブにおける任意の深さと期間とともに使用するための最小メモリ実装を提供し、インタリーバパラメータが動的に変化した場合でも、性能または基本三角構造を失うことなく、送信機と受信機の両方で常に最小量のメモリを使用できるようにする。本発明の他の実施形態は、同じ一般的な方法及び／または構造を活用するが、最小メモリを使用する実装を必要としない。本発明では、新規のセルスケジューリングプロセスが、完全な三角形のイメージを実現するために最小量のメモリの使用を保証し、任意の互いに素な深さ及びインタリーバ期間に有効である。本発明の実施形態の前記説明では、説明の大部分は、インタリーバの表現で示されている。しかしながら、当業者によって理解されるように、インタリーバの説明は、デインタリーバの対応する機能を理解するために適切である。さらに、対応の基本的な概略が、後述される。
【００４１】
最小メモリの使用は、さらに、インタリーバの最小メモリ実装におけるメモリセルのそれぞれのアドレス指定順序を決定する単純なオフライン方法によって特徴付けられる。作動中のインタリーバ深さの時間変動は、何らかの時刻に必要とされる最悪のケース（最大）のメモリを占めるために事前に十分なメモリを割り当てなければならなかった初期のシステムの時間可変インタリーバと異なり、すべての時刻に絶対最小メモリ要件で容易に対応できる。
【００４２】
前記に留意されたように、ＤＳＬインタリーブは、一般的には、すべてのＤＳＬにおけるインタリーバの観点からはバイトである、送信されたシンボルを並べ替える。本書に使用されているように、用語「バイト」は、インタリーブ及び／またはデインタリーブで使用される任意の数のビットの便宜的なデータパケット及び／またはデータパケットサイズを指す。デインタリーバは、並べ替えをバイトの元の順序に反転させる。インタリーバは、通常は、深さＤと期間Ｉで特徴付けられている。インタリーバの期間は、多くの場合コードワードの長さまたは何らかの他の便宜的なパケットサイズである（期間は多くの場合誤って「コードワード長」と呼ばれているが、一般的には、まさに畳み込み符号が限定されたコードワード長を有さないように、期間はコードワード長との関係性を有する必要はない）。インタリーバの期間は、通常は、並べ替えアルゴリズムまたはプロセスがそれ自体を繰り返す期間（バイト間隔での）として定義されてきた。深さは、並べ替え後の２つの隣接する入力シンボルの間の最小分離箇所である。
【００４３】
エラーのバーストは、以下の条件が満たされるときに、ＲＳコーディング及びインタリーブを使用するシステムによって補正できる。
【００４４】
−エラーバースト長は、インタリーバ深さ（Ｄ）にＲＳコードの補正可能バイト数をかけたもの未満でなければならない、及び
−エラーのバーストは、インタリーバ深さにインタリーバ期間をかけたもの（Ｄ＊Ｉ）より大きく、他のエラーのバーストから分離されていなければならない。
【００４５】
ＤＳＬの前方誤り訂正（ＦＥＣ）コードの累乗は、本質的には、システムをインパルス雑音に対する回復力にさらに富むようにする大きな深さのために、この状況で深さで拡大される。すべてのＤＳＬは、ＡＤＳＬでは多くの場合「畳み込みインタリーバ」と呼ばれているインタリーブの特別な非常に役に立つ形式を使用するが、実際には、コードワード長に等しい期間を有することによって制約されている。したがって、それは、より一般的な畳み込みインタリーブの特別なケースであり、ＶＤＳＬの「三角インタリーバ（triangular interleaver）」に類似した構造で実現できる。
【００４６】
本書で使用されている表記は、従来のものではなく、インタリーブの分野、特にＦｏｒｎｅｙの周知の結果に関しての教科書、研究論文、及び他の研究で多くの場合使用されている表記と異なってよい。基本的な違いは、本発明の実施形態がＩ×Ｉの生成行列Ｇ（Ｄｓｙｍ）に関してＤＳＬインタリーバとして説明されてよいという点である。ここで特に表記の違いは、遅延要素（ＤＳＬ内のＲＡＭのレジスタまたはバイト）がシンボル（バイト）クロックによって示され、Ｄｓｙｍと表示され、１バイト期間の遅延を表すという点である。以前、インタリーバは、インタリーバ期間の点でこの遅延を表す変数を使用しており、それをＤｐｅｒｉｏｄということにし、この場合Ｄｐｅｒｉｏｄ＝ＤＩｓｙｍであり、１期間の遅れは、遅延のＩシンボル期間に等しい。時間０は、この手法では、第１のインタリーバ動作期間の第１のバイト時間、または以後の演算でのインタリーバの期間の他の便宜的な開始と呼ばれる。本書で使用される表記の中でのインタリーバの入力／出力関係性は、以下の通りである。
【数４】
2008547298.tif 000006
【００４７】
入力と出力のエントリは、入力ベクトルｕ（Ｄｓｙｍ）の中、あるいは出力ベクトルｕ’（Ｄｓｙｍ）の中のＩ個の位置のそれぞれのために以下の合計を象徴的に形成する「Ｄ」個の変形である。
【数５】
2008547298.tif 000007
【００４８】
ここでは、ｋは、シンボル−時間インデックスである。加算（絶対に実行されず、このケースでは純粋に象徴的である）は、ｍｏｄ−２５６として考えることができ、Ｄｓｙｍの累乗は、指数を加算することによって乗算される。生成行列Ｇ（Ｄｓｙｍ）では、各行と各列が、１またはＤｋｓｙｍのどちらかである唯一のゼロ以外の要素を有している。このような行列は、入力を一意に並べ替え、可逆である。逆数は、デインタリーバを特徴付ける。
【００４９】
三角インタリーバは、（Ｄ−１）・ｉの追加のバイト期間分、期間（ｉ＝０，．．．，Ｉ−１）のバイトｉを遅延するとしてＤＳＬ規格に説明されている。その結果、デインタリーバは、すべてのバイトの総遅延を（Ｄ−１）・（Ｉ−１）バイト期間に等しくするために、残りの量分、遅延する。最小数のメモリ位置が必然的に完全システム遅延（Ｄ−１）・（Ｉ−１）バイトであることは、明らかである。また、このメモリは、送信機で半分であり、受信機で半分である。
【００５０】
ＤＳＬの三角インタリーバは、すべて対角形式（時間０は、この形式でベクトルの最左のエントリである）を有する。
【数６】
2008547298.tif 000008
【００５１】
本開示の表記での生成器は、追加のｉ・（Ｄ−１）バイトのさらなる遅延が加えられる期間の開始を基準にしたｉバイトの位置遅延が、期間の始まりに対してｉ・Ｄバイト期間の総時間遅延を生成することを示している。三角インタリーバのこの作成された式の中のＤに対して制限は、ないいくつかの初期のシステムは、通常、深さがＤ＝Ｉ＋１に制限されるときだけに二等辺三角形実装を仮定していた。しかしながら、本発明は、この制限が本書に説明されているように完璧な二等辺の実装にとって必要ではないことを説明している。
【００５２】
ＤとＩが、任意のインタリーバに対して互いに素であるという制限がある。ＡＤＳＬは、送信機でダミーバイト（送信されない）を挿入することによって共通因子で任意のＤとＩを処理し、このようにしてＩを、Ｄと互いに素である、その次に最も大きな値に増加する。対応するダミーバイトは、チャネル上でこれらのバイトを送信する必要なく、したがって結果的に生じる帯域幅の損失なく受信機によって適切な位置に再び挿入できる。ＶＤＳＬ１（Ｇ．９９３．１）だけが、Ｄ＝Ｍ・Ｉ＋１を満たすインタリーブ深さに正の整数Ｍの選択を可能にし、Ｄ、Ｉを強制的に互いに素（この開示は、最初にＭ＝１を設定し、後にＭのさらに大きな値に戻る）にする。ＶＤＳＬ２（Ｇ．９９３．２）は、ＤとＩが互いに素となるようにＤとＩの選択を可能にする。
【００５３】
図３は、深さがＤ＝Ｉ＋１＝６の基本三角インタリーバ３００Ａとデインタリーバ３００Ｂを描いている。入力バイトは、５バイトの各期間で入力交換子３０２によって引き続いてインタリーバ３００Ａの５本の回線３１０に適用される。各期間の第１のバイトは、出力交換子３２２を介してチャネル３２０にじかに移動し、第２のバイトは、そのエントリの時刻（そのバイトが発生した期間の始まりの後の６バイトの期間である）に関してチャネルに入る前に遅延要素３１５によって５バイト（このケースの１期間である）遅延する。レジスタ、つまりメモリセルの三角形のアレイは、明らかであり、バイトをその元の順序に復元するための対応するデインタリーバ構造３００Ｂも明らかである。総遅延は、遅延＝（Ｄ−１）・（Ｉ−１）＝２０バイト期間であり、メモリ要件は、インタリーバとデインタリーバのそれぞれで１０セルである。この構造は、以前は、「三角形」と呼ばれていた。図３の構造では、各遅延要素３１５は、代わりにインタリーバ期間でクロックされることができ、その結果遅延は、Ｉ＝５バイト遅延のグループとしてそれらを表す代わりに単に単一期間遅延として示されるであろう。Ｆｏｒｎｅｙは、Ｉバイトの遅延を単一のシンボル遅延と再ラベリングするこのイベントを回避しているが、この代替の命名が、期間−レベル−タイミングの結果であり、シンボル−レベル−タイミングではない複雑なモジュロ演算システムにつながっている。本発明に関連して使用される代替表記は、過去の二等辺ではないほぼ三角形の実装のさらに優れた理解を提供する。
【００５４】
図４は、深さがＩ＋１未満であり、事実上２に等しく、その結果期間Ｉ＝５及び深さＤ＝２である状況を描いている。図４では、インタリーバ４００Ａの出力交換子４２２は、ある回線４１０から次の回線に順次移動しない。代わりに、４３１で回線０から回線３に、４３２で回線３から回線１に、４３３で回線１から回線４に、４３４で回線４から回線２に、最後にシーケンスを再度開始する前に、回線２から回線０に移動するためにタイムスロット交換が使用されている。各遅延要素４１５は、ＤＤ−ＩｓｙｍよりむしろＤＩｓｙｍである。デインタリーバ４００Ｂは、当業者によって理解されるように類似した様式で動作する。
【００５５】
同様に、図５は、期間Ｉ＝５及び深さＤ＝３を描いている。図５のインタリーバ５００Ａの入力交換子５２２が従うシーケンスは、５３１で回線０から回線２、５３２で回線２から回線４、５３３で回線４から回線１、５３４で回線１から回線３、５３５で回線３から回線０であり、次に繰り返す。再び、当業者によって理解されるように、デインタリーバ５００Ｂは、類似した様式で動作する。
【００５６】
図３、図４及び図５の違いはわずかであり、交換子の位置と遷移、チャネル（それぞれインタリーバの出力、及びデインタリーバの入力にある）の入力と出力に加えられる新しいタイムスロット交換に関係している。インタリーバ出力とデインタリーバ入力による連続回線への一様な切り替えの代わりに、本発明の実施形態におけるインタリーバ出力及びデインタリーバ入力は、インタリーバの次の出力を受け取り、デインタリーバに値を入力するために複数の回線によって選択的にときおり移動する。本発明に従って、ＤとＩが互いに素である場合には、順序は、例が図４と図５に描かれている任意の状況について決定できる。
【００５７】
期間内の時間ｋでのインタリーバ−入力は、ｉ（ｋ）または単にｉのインタリーバ−出力位置に相当する。インタリーバは、すでにその回線内にあるデータが離れていく（記憶されている値を失うのを避けるために）場合に、回線ｉに書き込むにすぎない可能性がある。「読み取り回線」インデックスとしての出力位置を検討すると、インタリーバ位置の開始に対する回線ｉの総遅延は、その位置のための式（２）の表記生成号列においてのように、（Ｄ−１）・ｉ＋ｉ＝Ｄ・ｉである。データはインタリーバ期間の開始に対して正確にその多くの遅延の後に回線を離れるため、ｍｏｄ  Ｉとしたこの総遅延は、次に入力位置ｋに等しくなくてはならない。したがって、
【数７】
2008547298.tif 000009
【００５８】
この式は、各期間ｋのｉ（ｋ）値に関して解くことができる。この式が、解ｉ（１）＝Δを得るために時間ｋ＝１について解かれる場合には、それ以外のときの場合、解は、
【数８】
2008547298.tif 000010
【００５９】
であり、この式を元の式に代入し、それがすべてのｉ、ｋについて解決することを確かめることによって証明される。Ｄ＝２の解はΔ＝３であるため、インタリーバ出力４２２での連続交換子位置は、図４においてのように０、３、１、４、２である。Ｄ＝３の解はΔ＝２であるため、順序は図５においてのように０、２、４、１、３である。
【００６０】
ＤとＩが互いに素である限り、完全深さが達成され、あらゆる２つの最初に隣接したバイトは、チャネルで少なくともＤ個のバイト分、分離される。ＤとＩが互いに素でないとき、それが深さと互いに素の最小の値になるまで期間を拡大するために、１個または複数のダミーバイトが、毎期間情報ブロックに追加される。これらのバイトは送信されず、受信機は、最終デコーディングで無視される専用のダミーをいつ挿入するのかを知っている。この手順は、Ｄ≦Ｉ＋１である限りうまくいく。深さがさらに大きい場合、さらに詳しく後述されるように、一般化された三角インタリーバが使用できる。このようにして、ＡＤＳＬ及び任意の深さＤ≦Ｉ＋１の場合、余分なタイムスロット交換に期間と深さの各組み合わせに一意に決定される前記切り替え順序が追加されるならば、この三角構造が使用されてよい。
【００６１】
ＡＤＳＬの場合、常にＩ＝Ｎである。通常は、最高６４にすぎない深さがＡＤＳＬで使用され、Ｎは、通常１００を超えるので、深さと互いに素である次に最小の値まで期間を拡大するためにダミーバイトを使用する標準化されたＡＤＳＬでは（ＡＤＳＬでは、１個のダミーバイトで十分である）、互いに素であるという条件は必ずしも満たされない。しかしながら、いくつかの従前のシステムのＲＡＭは、Ｄ≦Ｉ＋１の場合、考えられる最小値ではない。しかしながら、Ｄ＝Ｉ＋１の状況が考慮されたため、十分なメモリがすでに存在している場合には、メモリは、重大ではない可能性がある。三角構造では、Ｄ＜Ｉ＋１のときには、ＲＡＭは、さらに詳しく後述される本発明の実施形態によって以下の理論的最小値にさらに容易に削減できる。
【数９】
2008547298.tif 000011
【００６２】
基本的には、タイムスロット交換を実現する二等辺三角形は、最小数のメモリセルの中に突出する別の構造を引き出すために使用される。
【００６３】
一般化された三角インタリーバは、再び（Ｄ−１）・ｉの追加バイト期間分、期間（ｉ＝０，．．．，Ｉ−１）のバイトｉを遅延するとして説明されている。次にデインタリーバは、すべてのバイトの総遅延を（Ｄ−１）・（Ｉ−１）バイト期間にするために残りの量分遅延する。一般化された三角インタリーバは、インタリーバの期間を超える深さを可能にするが、それ以外の場合正確に同じ三角規則に従う。図３から図５のインタリーバに類似しているインタリーバの一般的な形式は、図６に示されており、違いは、図６が特別なケースＤ＝Ｍ＊Ｉ＋１に対応するという点である。したがって、当業者によって理解されるように、この形状及びその動作は、相応してそれらの他のシステムに類似している。
【００６４】
再び、タイムスロット交換を一般化された三角インタリーバに追加すると、代わりに任意の互いに素である深さと期間を使用できる。例によって１バイトを引いた深さバイトの遅延が、発生する。これらは、ＶＤＳＬ１規格で多くの場合、それぞれ長さＭバイトの先入れ先出し（ＦＩＦＯ）レジスタに等しいとして表されている。このような解釈により、各回線での遅延は、再びＤ−１バイト期間、つまりバイトに対応する期間の始まりに対してＤバイト期間である。さらに大きなＭ値は、さらに大きな深さを意味する。再び、深さＤと期間Ｉが互いに素であるときの任意のＭのためのＭ・Ｉ＋１未満の任意の深さは、Ｍ＝１で初期に導入されたタイムスロット交換が加えられた三角構造の中で実現できる。しかしながら、遅延分類は、ここで、交換子位置のための同じ公式を用いるこのさらに一般的なケースでは、Ｍバイト（１バイトの代わりに）の倍数であり、
【数１０】
2008547298.tif 000012
【００６５】
であり、ここでは、Δは、再び１＝（Δ・Ｄ）Ｉの解である。Ｄ＝Ｍ・Ｉ＋１の最大深さ値のＲＡＭ要件は、再び以下である。
【数１１】
2008547298.tif 000013
【００６６】
同じ三角アレイが、Ｄ＜Ｍ・Ｉ＋１となるように、深さの値での実装のために維持される場合、三角構造（タイムスロット交換付き）のメモリ要件は、最小となる。所望されるＤとＩが互いに素でないときには、ダミーバイトを再び使用できる。また、この同じ構造は、Ｍ＝２または何らかのさらに大きな値を選ぶことによって、コードワード長を超える特別な深さの場合ＡＤＳＬで使用できるであろう。その結果、ＡＤＳＬのためのこのような大きな深さは、ＡＤＳＬで使用可能なＲＡＭを超える可能性がある。
【００６７】
前記のような構造がいくつかの初期のシステムに出現した可能性があるが、これらの以前のシステムは、次に説明される、本発明のセルをベースにした最小メモリ発明を教示または示唆できなかった。本発明の実施形態は、すべてのＤ≦Ｍ・Ｉ＋１について以下のＲという最少ＲＡＭ要件を保証し、ここではＭ≧１である。
【数１２】
2008547298.tif 000014
【表１】
2008547298.tif 000015
【表２】
2008547298.tif 000016
【００６８】
表（Table）１と２の例は、それぞれ図４と図５の構成について、ＲＡＭセルの最小数Ｒが再利用できる状況を描いている。Ｄ＝２の状況の場合、インタリーブのためのメモリセルの理論的最小数Ｒは２であり、一方図４のタイムスロット交換構造は１０個のメモリセルを使用する。表１は、回線番号（line number）と時間（time）に関して図４のインタリーバ４００Ａのためのバイトの記憶を描いている。表１では、時間は、３連続インタリーブ期間でインデックスが付けられ、第１の期間のスロットには、素数は使用されず、第２の期間のスロットには、単一の素数が使用され、第３の期間に示される２バイト間隔には、二重素数が使用されている。バイトは、単一の素数と二重素数も使用されているＢ０、Ｂ１、Ｂ２、Ｂ３またはＢ４としてそれが発生した期間によりインデックスが付けられる。回線０’のバイト（Ｂ０、Ｂ０’、Ｂ０”等）は、常に時間０で即座に渡されるため、絶対にメモリを使用しない（したがって回線０バイトは、表１または表２に表示されない）。ハイフンは、インタリーバの初期化に対応する「アイドル（idle）」または空のメモリを示す。
【００６９】
第１のインタリーバ期間のバイト時間３の後、インタリーバは、定常（steady）状態にあり、いつでも（インタリーバが、各メモリロケーションを各バイトタイムスロットの上でそれに書き込む前に読み取ると仮定すると）２バイトを超えて記憶されていないことは、明らかである。表１に示されているように、この三角／畳み込みインタリーバには、２個のメモリセルを使用できる。インタリーバ期間（多様な素数とともにＢ１と呼ばれている）の時間１のバイトの２分の１は、セル１にあり、一方それらのバイトの他方の半分は、セル２にある。これは、すべてのバイトに当てはまり、一般的には、期間内の任意のシンボル位置にあるバイトの１／Ｄは、任意の特定セルの中にある。いったん定常状態に達すると、全セルは、常にいっぱいである。また、デインタリーバは、メモリの２セルを必要とするにすぎず、どこででも（したがってＢ４は、ただちに通過し、それからバイトＢ３、Ｂ２、Ｂ１及びＢ０は、直線的に増加する遅延を経験する）
【数１３】
2008547298.tif 000017
【００７０】
となることを許すことによって説明できる。
【００７１】
表２は、Ｄ＝３の場合の類似する状況を示す。第２の期間の時間１の後、インタリーバは、定常状態にあり、ＲＡＭの４個のセルのすべての最小値（最小値は、前記に従って以下として定められる）を使用する。
【数１４】
2008547298.tif 000018
【００７２】
各セルは、回線１、次に回線３、次に回線４、及び再度回線１に回転して戻る前に回線２での使用を経て進行する。プロセスは、規則正しく、互いに関して１期間で時間内にオフセットされるさまざまなメモリセルの上で繰り返す。
【００７３】
最小数のメモリセルの使用のためのスケジュールは、任意の期間の任意のバイト期間で読み取られる同じセルも最小のＲＡＭのある次に使用可能な入力バイトと書き込まれなければならないことを単に認識することによって実現できる。特定の指定された深さと期間の場合、以下の偽ＲＡＭセルのセットは、ソフトウェアまたはハードウェア内でオフラインで作成でき、それぞれに、正確にｋ（Ｄ−１）バイト期間後に「警報を発する（alarm）」ように設定される時間が設定され、ｋは、インタリーバ−入力バイト−クロックインデックスである。
【数１５】
2008547298.tif 000019
【００７４】
定常状態にあるそれぞれの以後の期間に、唯一のセルのタイマが、警報を発し、そのセルが、最初に読み取られ、次に書き込まれ、タイマは、ｋ（Ｄ−１）という値にリセットされなければならない。次に「どのバイトがいつ」のスケジュールが、記憶することができ、後の動作で使用できる記憶セルごとに発生する。表２の中の例の順序は、表３に示されている。順序付けは、メモリセルをラベリングする以下の考えられる方法の範囲内に一意である。
【数１６】
2008547298.tif 000020
【表３】
2008547298.tif 000021
【００７５】
前述された最小メモリ実装では、メモリ関連の三角構造に対する関係性は、依然として固有であるが、それは、本質的にアイドルのメモリセルを妨げるために時間内に進化する。構造は、もはや三角形ではないが、三角構造でのメモリ使用の進行を理解することから引き出された。
【００７６】
本発明の一実施形態では、スケジュールが、インタリーバのセルごとに作成され、このようにして以下の合計のセルを生じさせる。
【数１７】
2008547298.tif 000022
【００７７】
このような決定は、所望される場合、インタリーバが、深さＤ及びＩに構成された値でその動作を開始する以前に実行できる。セルのスケジュールは、２つの列と複数の行のアレイとして説明できる。第１の列は、期間を示し、第２の列は、第１の列によって示される期間内のバイトを示す。このアレイの各行は、セルが読み取られる（つまり空になる）時刻を明示し、その後ただちに書き込まれる（つまりいっぱいになる）。正確に１個のセルが、定常状態動作中のインタリーバの入力シンボルごとに空になる。表３の例を使用すると、セル１のスケジュールは、以下のように表すことができる。
【数１８】
2008547298.tif 000023
【００７８】
スケジュールは、行５の後に繰り返す。つまり、行５から８は、行１から４と同じであり、期間（列１）だけが、４でオフセットされる。したがって、スケジュールアレイは、有限数の行で表現できる。再び表３を使用すると、セル２のスケジュールは、以下の通りとなる。
【数１９】
2008547298.tif 000024
【００７９】
セル２のスケジュールは、セル１のスケジュールに関連し、違いは、セル２のスケジュールが、セル１のスケジュールの最初の３行を抜かしており、セル１のスケジュール期間よりむしろ３つの期間がオフセットされている（列１）点である。このようなセルスケジュールの類似性は、常に存在するわけではないが、それらが存在する場合には、それらは、セルスケジュールの記憶要件を削減するために利用できる。セル３とセル４のスケジュールは、以下のように表される。
【数２０】
2008547298.tif 000025
【数２１】
2008547298.tif 000026
【００８０】
インタリーバ制御装置モジュール、またはソフトウェアプログラムは、セルスケジュールにアクセスし、インタリーバからバイトを読み取り、ただちにバイトをインタリーバに書き込むために各時刻にどのセルが使用されるのかを制御する。前記に示されたセルスケジュールの場合、制御装置は、表４に示されているようにメモリセル内で読み取り／書き込み動作を実行するであろう（各期間のバイト０に、メモリが必要とされないことに留意する）。
【表４】
2008547298.tif 000027
【００８１】
特定のセルの場合、スケジュールは、さらに詳しく後述される、次に示される擬似コード（pseudo-code）を使用して取得できる。
【数２２】
2008547298.tif 000028
【００８２】
セルのスケジュールを検出する１つの方法は、前記の擬似コードで記述された。セル排出／充填（emptied/filled）（つまり、セルに対して読み取り動作と書き込み動作を実行すること）をスケジューリングするための本発明の１つまたは複数の実施形態による別の方法７００は、図７に示されている。インタリーバ深さＤと期間Ｉのパラメータ（つまり、すべてのセルに適用可能な）は、７１０で予定され、その点でスケジュールするための第１のセルも、選択される。各セルに適用される副方法（sub-method）７０２が、次に開始し、インタリーバの中のセルごとに実行される。期間インデックスＰは、セルが排出／充填される期間の数を表す。同様に、バイトインデックスＢは、セルが排出／充填される各期間内のバイト数を表す。
【００８３】
関心のあるセルの期間インデックス初期化値Ｐｉとバイトインデックス初期化値Ｂｉは、「第１のバイト」がカレントセルをいつ満たすのかを確立するために７２０で設定される。スケジュールの第１の行（つまり、スケジュール位置／行インデックス＝１）は、期間インデックス初期化値と等しくなるために第１の列（第１の要素）と、バイトインデックス初期化値と等しくなるために第２の列（第２の要素）とを割り当てることによって７３０で定義される。本発明の本実施形態では、位置（行）インデックスＬも７３０で２に増分される。
【００８４】
新しいスケジュール行は、当業者によって理解されるように種々の方法で実行できる７５０で生成される。図７で分かるように、いくつかの実施形態では、期間インデックスＰとバイトインデックスＢが更新され、７５２（例えば、（Ｄ−１）で乗算されるバイトインデックスの量をカレントバイトインデックスに加算することによって）で仮の新しいバイトインデックスを生成すること、後に続く７５４（例えば、インタリーバ期間での新しいバイトインデックスの整数除算の結果で、現在期間インデックスを増分することによって更新される―すなわち、その指数のフロア関数）で新しい期間インデックスを生成すること、後に続く７５６で仮の新しいバイトインデックス（インタリーバ期間での仮の新しいバイトインデックスの整数除算の余りが、再定義された新しいバイトインデックスを示す場合に、例えば、ｍｏｄ  Ｉを使用する）の必要とされる再定義がされること、を含むことがある。スケジュール行を生成するための他の副方法は、当業者に明らかになる。
【００８５】
７６０で、スケジュールの次の行（すなわち、行Ｌ）は、次に、７６２でカレント期間インデックスＰを第１の要素に、カレントバイトインデックスＢを第２の要素に割り当てることによって形成され、その後位置／行インデックスが、７６４で増分される。カレントバイトインデックスが７７０で開始バイトインデックスＢｉに等しくない場合には、方法７００は、７５０に戻り、カレントセルのスケジュールを構築し続ける。カレントバイトインデックス値がバイトインデックス初期化値に等しい場合には、すべての必要とされるスケジュール行情報が、既定のセルのために作成されている。７８０で、方法７００は、すべてのセルがスケジュールされたかどうかを確かめるためにチェックする。スケジュールされている場合、方法７００は、終了する。スケジュールされていない場合、新しいセルが選択され、方法７００は、副方法７０２に戻り、新しいセルのために７２０で初期化する。次のセルのスケジュールは、すでに作成されたスケジュールの任意の行に表示される任意の期間インデックスとバイトインデックスの組とは異なる、開始期間インデックスと開始バイトインデックスの組を選ぶことによって作成される。このようにして、方法７００は、以下のセルのためにスケジュールが作成されるまで続行する。
【数２３】
2008547298.tif 000029
【００８６】
このようにして、本発明によるインタリーブ及びインタリーバにより（インタリーバの深さと期間が互いに素ではない場合には、ダミーバイト付き）、ＤＳＬインタリーブを任意の深さと期間で、所望される場合最小のメモリで実現できる。本発明の実施形態によるインタリーバは、互いに素であるという制約を維持する値の間でインタリーバ深さの作動中に適切な（graceful）変更を可能にしながら、絶対最小メモリ要件を維持できる。
【００８７】
深さの変更は、多くの理由からＤＳＬシステムで望ましく、ＤＳＬシステムの待ち時間経路（latency path）での正味（net）データレートが「ＳＨＯＷＴＩＭＥ（ショータイム）」の間に変化するときには必要である（一方、遅延は、同じまたはほぼ同じままでなければならない）。ＤＳＬシステムの正味データレートに対するこのような変更は、そのケースでは、すべての待ち時間経路上で正味データレートの合計が変化するシームレスレート適応（ＳＲＡ）手順の一部であってよい、あるいはそれは、そのケースでは、ある待ち時間経路の正味データレートの一部が、別の待ち時間経路に割り当てし直される、動的レート再パーティション（ＤＲＲ）手順であってよいかのどちらかである。このような変更の１つの目的は、遅延を定数または近似定数として保つことである。例えば、ＶＤＳＬ２推奨策では、遅延は、以下のようにして表される。
【数２４】
2008547298.tif 000030
【００８８】
前記式では、ｑはＲＳコードワードあたりのインタリーバブロック数であり、ｆｓは１秒あたりのＤＭＴフレーム数であり、ＮはＲＳコードワードサイズであり、ＳはＲＳコードワードあたりのＤＭＴフレーム数である。正味データレートを増加することは（例えば、Ｓを減少することによって、及び／またはＮを増加することによって）、ミリ秒単位で表されるような遅延を減少させる効果を有する。一定の遅延を維持するために、深さＤは、このようにして増加される必要がある。逆効果は、正味データレートが減少すると起こり、その結果、Ｄには、反対の補正が必要とされる。つまり、それは、減少されなければならない。
【００８９】
ＶＤＳＬ２推奨策は、現在、インタリーバのために深さ変更を実現するための手順を定義している。本発明の実施形態は、インタリーバ／デインタリーバ最小メモリを常に維持しながら、このような深さ変更を実現できる。これは、最小メモリ実装であると主張する従来のインタリーバ実装に比べて大きな前進である。このような初期の実装は、計画された最大インタリーバ深さにメモリ割り当てを必要とするため、インタリーバ深さが、計画された最大インタリーバ深さより小さいそうした時の間にインタリーバのために最小メモリを維持しない。
【００９０】
深さがＤからＤ’（新しい深さがＤ’であり、旧い深さがＤである）に減少するときには、ＶＤＳＬ２推奨策は、以下に等しい遷移期間の間書き込み動作が実行されないものとすることを規定する。
【数２５】
2008547298.tif 000031
【００９１】
この時間中、インタリーバ読み取り動作は、以前どおりセルで実行され続ける。遷移期間の終了前のいかなる時点でも、インタリーバ出力バイトは、深さＤに基づく遅延を経験する。遷移期間の終了後、インタリーバ出力バイトは、メモリセルに対して読み取り動作と書き込み動作を実行する新しい深さＤ’に相当する遅延を経験する。
【００９２】
深さがＤからＤ’に増加するとき、ＶＤＳＬ２推奨策は、遷移期間を規定しない。深さの増加の前に、インタリーバ出力バイトは、初期の深さＤに相当する遅延を経験する。深さが増加した後、インタリーバ出力バイトは、新しい深さＤ’に相当する遅延を経験する。
【００９３】
このような深さ変更は、本発明の最小メモリセルをベースにしたインタリーバ／デインタリーバ実装を通して効率的に実現できる。前述されたように、期間Ｉと初期深さＤは、以下のセルのそれぞれにスケジュールを生成するために使用される。
【数２６】
2008547298.tif 000032
【００９４】
深さがＤ’に変化する必要がある場合には、最初に以下に等しい多くのセルに新しいスケジュールが、生成されなければならない。
【数２７】
2008547298.tif 000033
【００９５】
本発明の１つの利点は、セル数が常に必要な最小数に等しくなるように調整できるという点である。
【００９６】
深さの増加のケースでは、図８Ａが、本発明の１つまたは複数の実施形態による方法８０１を示す。スケジュールＡは、深さＤと期間Ｉに対応して８１０で生成される。インタリーバ／デインタリーバは、通常８２０で動作し、スケジュールＡに従ってセルに対して読み取り動作と結果として生じる書き込み動作を実行する。深さ増加コマンドが受信されると、新しいスケジュールＢが、深さＤ’と期間Ｉに対応して８３０で生成される。スケジュールＢを作成する１つの方法は、さらに詳細に説明されるように図９に示されている。深さの増加は、インタリーバ／デインタリーバを通常モードで動作させ、８４０でスケジュールＢに従ってセルに対して読み取り動作と結果として生じる書き込み動作を実行することに即座に切り替えることによって適用される。深さが増加されるとスケジュールＡとＢの間には矛盾がないため、遷移期間は、必要とされない。
【００９７】
深さ減少のケースでは、図８Ｂは、本発明の１つまたは複数の実施形態による方法８０２を示す。図８Ａの深さ増加の場合と同様に、８１０でスケジュールＡが、深さＤと期間Ｉに対応して生成される。次に、インタリーバ／デインタリーバは、８２０で通常に動作し、スケジュールＡに従ってセルに対して読み取り動作及び結果として生じる書き込み動作を実行する。深さ減少コマンドが受信されると、新しいスケジュールＢが、８３０（再び、例えば図９の方法に従って）で深さＤ’と期間Ｉに対応して生成される。深さ減少を使用して８４０で新しいスケジュールＢに切り替えることは、その間はインタリーバ／デインタリーバがスケジュールＡに従って依然として動作するが、セルに対しては読み取り動作だけを実行し、書き込み動作を実行しない遷移期間が８４５で開始した後に、８５０で開始される。最後に、遷移期間の最後が８６０で決定された後、インタリーバ／デインタリーバは、通常は、８７０で動作し、スケジュールＢに従ってセルに対して読み取り動作と結果として生じる書き込み動作とを実行する。
【００９８】
前記、スケジュールＢを生成するための方法９００の一実施形態は、図９に示されている。９１０では、非空セルが、選択される（新しいスケジュールへの切り替えにまさに先行してよい時点で）。９２０では、方法９００が、非空セルが前回読み取られた／書き込まれたときの期間インデックスとバイトインデックスを記録する。初期化値で、９２０から記録された期間インデックスとバイトインデックスを使用すると、方法９００は、次に９３０で新しいスケジュール（例えば、図７の方法を使用して）を計算する。さらに多くの非空セルが９４０で使用できる場合には、方法９００は、９１０に戻って、別の非空セルのスケジュールを計算する。他の非空セルが９４０で入手できない場合には、方法９００は、さらに多くのセルが必要とされるかどうか９５０で決定する。最小メモリ使用のケースでは、これは、以下のセルがあるかどうかを決定することを意味する。
【数２８】
2008547298.tif 000034
【００９９】
それ以上セルが必要とされない場合には、方法は終了できる。それ以外の場合、９６０で、方法９００は、新しいセルのスケジュールを計算する。これは、例えば、図７の方法を使用し、すでにスケジュールされたセルの中に初期値として存在しない任意の期間／バイトインデックスの組で開始して行うことができる。いったん９６０でこの新しいスケジュールが計算されると、方法９００は、９５０に戻り、さらに多くのセルが必要とされるかどうかを決定する。方法９００に必要とされる情報の多くは、スケジュールＡから容易に抽出できる。
【０１００】
最小メモリ構成を示す本発明の一実施形態は、図１０に示されている。ソース１００５からのデータは、デバイス入力１００７を介してマルチプレクサ１０１０に送信される。マルチプレクサ１０１０の出力は、単一通過回線１０１５とＲ本の遅延回線１０２０を含み、ここでは、Ｒは以下である。
【数２９】
2008547298.tif 000035
【０１０１】
各遅延回線は、可変保持メモリセル１０３０−１、１０３０−２、．．．、１０３０−Ｒを有する。インタリーバ１０００の各回線１０１５、１０２０は、第２のマルチプレクサ１０３５への入力である。マルチプレクサ１０３５は、前述されたインタリーブ方法論の１つまたは複数を実現するために動作し、通過回線１０１５上で送信されたバイトを採取する、またはｋ（Ｄ−１）の遅延についてセル１０３０内で保持された後にデバイス出力に書き込むことになっているメモリセルの中の記憶されているバイトを求めるかのどちらかである。マルチプレクサ１０３５は、注意を要するセルまたは回線を検索することができ、やはりインタリーバ１０００の出力であるマルチプレクサ１０３５の出力に適切なバイトを書き込むことができる。何らかの追加の処理は、インタリーバ出力１０４０と伝送の間で発生してよいが、インタリーバ出力１０４０は、次にチャネル１０４５でバイトストリームを送信できるようにする。
【０１０２】
デインタリーバ１０５０は、入力１０５７、第１のマルチプレクサ１０６０、通過回線１０６５、それぞれが可変保持メモリセル１０７５−１、１０７５−２，．．．，１０７５−Ｒを有する遅延回線１０７０、第２のマルチプレクサ１０８０、及び出力１０８５を使用して類似した様式で動作する。入力１０５７に達するデータは、伝送後に処理された可能性がある。デインタリーブされたデータは、バッファまたは他の場所１０９０に配信される。デインタリーバ１０５０に配信されている各バイトは、インタリーバ１０００とデインタリーバ１０５０でのその総遅延を（Ｄ−１）（Ｉ−１）にするために要する追加の時間の間、遅延される。したがって、インタリーバ１０００の中の通過回線１０１５に移動したバイトは、デインタリーバのセル１０７５の１つで（Ｄ−１）（Ｉ−１）の遅延の間保持される。バイトがｋ＝Ｉ−１を有する場合には、それは、インタリーバ１０００で（Ｄ−１）（Ｉ−１）の間保持され、デインタリーバ１０５０の通過回線１０６５に送信される。インタリーバ１０００とデインタリーバ１０５０の動作は、本開示を検討した後当業者によって容易に理解される。
【０１０３】
図１１に示されている本発明の一実施形態に従って、インタリーブ／デインタリーブ制御部１１００は、ＤＳＬに、または例えば、システムの一人または複数のユーザを支援する制御装置１１１０（例えば、前述されたように、ユーザのローカル装置または遠隔制御装置の中で機能するデバイス）等の他の通信システムに結合される独立したエンティティの一部であってよい。ＣＯ、電話会社等に位置していない遠隔制御装置は、動的スペクトルマネージャ、動的スペクトルマネージャセンタ、インタリーバ実装モジュール、ユーザ支援センタ、ＤＳＭセンタ、システム保守センタ、ＳＭＣ、または任意の他の類似した名称で呼ばれてもよい。いくつかの実施形態では、制御装置１１１０は、完全に独立したエンティティであってよい。他の実施形態では、制御装置１１１０は、ユーザの装置の一部である場合がある、あるいはＤＳＬまたは他の通信システムの他の部分からのデータの収集に関して本書に説明されているのと同様にデータを収集するためにユーザ装置に接続できる。さらに、制御部１１００は、ＤＳＬ及び／または複数のユーザの他の通信回線に結合されてよい、及び／またはＤＳＬ及び／または複数のユーザの他の通信回線を制御していてよい。
【０１０４】
インタリーブ／デインタリーブ制御部１１００は、収集手段として識別されているデータ収集部１１２０と、解析手段として識別されている解析部１１４０とを含む。図１１で分かるように、収集手段１１２０（一般的に知られているタイプのコンピュータ、プロセッサ、ＩＣ、コンピュータモジュール等である場合がある）は、ＮＭＳ１５０、ＡＮ１４０でのＭＥ１４４、モデム、トランシーバ、及び／またはＭＥ１４４によって維持されているＭＩＢ１４８に結合されてよく、そのどれかまたはすべてが、例えばＤＳＬシステムの一部であってよい。収集手段１１２０は、ＡＴＵまたはＶＴＵ１４２に直接的に結合されてもよい。制御装置１１１０がユーザの場所で実現される場合、制御装置１１１０は、通信を制御、支援するソフトウェアまたは他のコンピュータプログラム製品を実行するホームＰＣ等のようなコンピュータであってよい。また、データは、ブロードバンドネットワーク１７０を通して収集されてよい（例えば、ＴＣＰ／ＩＰプロトコル、あるいは既定のＤＳＬシステムの中の通常の内部データ通信の外部の他のプロトコルまたは手段を介して）。
【０１０５】
これらの接続の１つまたは複数は、インタリーブ／デインタリーブ制御部１１００が、所望される場合、ユーザの回線から、及び適切な場合には、他のどこかから（おそらくさらに幅広いシステム）操作データを収集できるようにする。データは、一度にまたは経時的に収集されてよい。いくつかのケースでは、収集手段１１２０は、オンデマンドであるいは任意の他の非周期で（例えば、ＤＳＬＡＭまたは他の構成要素が優先順位をベースにした制御部にデータを送信するとき）データを収集することもできるが、収集手段１１２０は、周期的に収集し、このようにして優先順位をベースにした制御部１１００が、所望される場合、その情報、動作等を更新できるようにする。手段１１２０によって収集されるデータは、解析、及び１つまたは複数の操作の及び／または性能の数的指標に関する任意の決定、及び／または通信システム内のあらゆるインタリーブ／デインタリーブ機能の動的調整のために解析手段１１４０（やはり、一般的に公知のタイプのコンピュータ、プロセッサ、ＩＣ、コンピュータモジュール等である場合がある）に提供される。
【０１０６】
図１１の例示的なシステムでは、分析手段１１４０は、制御装置１１１０の信号発生手段１１５０に結合される。この信号発生器１１５０（コンピュータ、プロセッサ、ＩＣ、コンピュータモジュール等である場合がある）は、命令信号を生成し、ユーザのモデム及び／または通信システムへのユーザのリンクの他の構成要素に送信するように構成される。これらの命令は、データレート、送信電力レベル、符号化及び待ち行列の要件、インタリーブ／デインタリーブ操作パラメータ、インタリーブ／デインタリーブパラメータの変更等に関する命令を含んでよい。
【０１０７】
本発明の実施形態は、データベース、ライブラリ、または収集されたデータに関するデータの他の集合体を活用できる。参照データのこの集合体は、例えば、図１１の制御装置１１１０の中にライブラリ１１４８として記憶され、解析手段１１４０及び／または収集手段１１２０によって使用されてよい。制御装置１１１０は、当業者によって理解されるように、制御装置１１１０の外部の１つまたは複数のライブラリ及び／またはデータベースにもアクセスしてよい。
【０１０８】
本発明のいくつかの実施形態では、インタリーブ／デインタリーブ制御部１１００は、例えばＰＣ、ワークステーション等の１台または複数のコンピュータで、及び／または１つまたは複数のコンピュータプログラム製品で実現されてよい。収集手段１１２０と解析手段１１４０は、当業者によって理解されるようにソフトウェアモジュール、ハードウェアモジュール、または両方の組み合わせであってよい。多数のモデム、回線、ユーザ等と協力するとき、データベースが、収集データの量を管理するために導入され、使用されてよい。
【０１０９】
一般的には、本発明の実施形態は、単一のコンピュータ、複数のコンピュータ、及び／またはコンピュータの組み合わせ（そのすべてが、本書では交換可能に「コンピュータ」及び／または「コンピュータシステム」と呼ばれてよい）であってよい、１つまたは複数のコンピュータシステムに記憶されるか、あるいは１つまたは複数のコンピュータシステムを通して転送されるデータを含む多様なプロセスを利用する。本発明の実施形態は、これらの動作を実行するためのハードウェアデバイスまたは他の装置にも関する。この装置は、必要とされる目的のために特別に構築されてよく、あるいはそれは、コンピュータの中に記憶されているコンピュータプログラム及び／またはデータ構造によって選択的に起動され、または再構成される汎用コンピュータ及び／またはコンピュータシステムであってよい。本書に提示されているプロセスは、本質的に、任意の特定のコンピュータまたは他の装置に関連していない。特に、多様な汎用機械は、本書の教示に従って作成されるプログラムと使用されてよく、あるいは必要とされる方法ステップを実行するためにより特殊化した装置を構築する方が、さらに便利である場合がある。種々のこれらの機械の特定の構造は、後述される説明に基づいて当業者に明らかとなる。
【０１１０】
前述されたような本発明の実施形態は、コンピュータシステムに記憶されているデータを含む多様なプロセスステップを利用する。これらのステップは、物理量の物理的処置を必要とするステップである。必ずしもではないが通常、これらの量は、記憶、転送、結合、比較、及びそれ以外の操作をすることができる電気信号または磁気信号の形を取る。ビット、ビットストリーム、データ信号、制御信号、値、要素、変数、文字、データ構造等とこれらの信号を呼ぶことは、おもに共通使用の理由から便利なことがある。しかしながら、これらの用語と類似した用語とのすべては、適切な物理量と関連付けられなければならず、これらの量に適用される単に便宜的なラベルである。
【０１１１】
さらに、実行される操作は、多くの場合、例えば識別する、適合する、または比較する等の用語で参照される。本発明の部分を形成する本書に説明されている動作のいずれかでは、これらの動作は、機械動作である。本発明の実施形態の動作を実行するための有用な機械は、汎用デジタルコンピュータまたは他の類似するデバイスを含む。すべてのケースでは、コンピュータを操作する際の操作方法と、計算方法自体の違いが、念頭に置かれなければならない。本発明の実施形態は、他の所望される物理信号を発生させるために電気信号または他の物理信号を処理する際にコンピュータを操作するための方法ステップに関する。
【０１１２】
本発明の実施形態は、これらの動作を実行するための装置にも関する。この装置は、必要とされている目的のために特別に構築されてよく、あるいはそれは、コンピュータに記憶されているコンピュータプログラムによって選択的に起動され、または再構成される汎用コンピュータであってよい。本書に提示されているプロセスは、特定のコンピュータまたは他の装置に本質的に関係していない。特に、多様な汎用機械は、本書の教示に従って作成されるプログラムと使用されてよく、あるいは必要とされる方法ステップを実行するためにさらに特殊化された装置を構築する方がより便利であってよい。種々のこれらの機械の必要とされる構造は、前記に示された説明から明らかになるであろう。
【０１１３】
加えて、本発明の実施形態は、さらに、コンピュータによって実現される多様な動作を実行するためのプログラム命令を含むコンピュータ可読媒体にも関する。媒体とプログラム命令とは、本発明の目的のために特別に設計され、構築された命令であってよく、あるいはそれらは、コンピュータソフトウェア技術での当業者に周知であり、これら当業者が利用できる種類であってよい。コンピュータ可読媒体の例は、ハードディスク、フレキシブルディスク、及び磁気テープ等の磁気媒体、ＣＤ−ＲＯＭディスク等の光媒体、フロプティカルディスクのような磁気光学媒体、及び読み取り専用メモリデバイス（ＲＯＭ）とランダムアクセスメモリ（ＲＡＭ）等の、プログラム命令を記憶、実行するように特に構成されるハードウェアデバイスを含むが、これらに限定されない。プログラム命令の例は、コンパイラによって生成されるような機械コードと、インタプリタを使用してコンピュータによって実行されてよいさらに高水準のコードを含むファイルの両方を含む。
【０１１４】
図１２は、本発明の一実施形態または複数の実施形態に従ってユーザ及び／または制御装置によって使用できる典型的なコンピュータシステムを描く。コンピュータシステム１２００は、一次記憶１２０６（通常は、ランダムアクセスメモリ、つまりＲＡＭ）、一次記憶１２０４（通常は、読み取り専用メモリ、つまりＲＯＭ）を含む記憶装置に結合される任意の数のプロセッサ１２０２（中央演算処理装置、つまりＣＰＵとも呼ばれる）を含む。当技術分野で周知のように、一次記憶１２０４は、データと命令をＣＰＵに一方向に転送するために働き、一次記憶１２０６は通常、双方向でデータと命令を転送するために使用される。これらの一次記憶装置の両方とも、前述された任意の適切なコンピュータ可読媒体を含んでよい。また、大容量記憶装置１２０８も、双方向でＣＰＵ１２０２に結合され、追加のデータ記憶容量を提供し、前述されたコンピュータ可読媒体のいずれかを含んでよい。大容量記憶装置１２０８は、プログラム、データ等を記憶するために使用されてよく、通常は、一次記憶より低速であるハードディスク等の二次記憶媒体である。大容量記憶装置１２０８の中に保持される情報が、適切なケースでは、仮想記憶として一次記憶１２０６の一部として標準的な様式で組み込まれてよいことが理解される。ＣＤ−ＲＯＭ１２１４等の特定の大容量記憶装置は、ＣＰＵに一方向でデータを渡してもよい。
【０１１５】
また、ＣＰＵ１２０２は、ビデオモニタ、トラックボール、マウス、キーボード、マイク、タッチセンサー式ディスプレイ、変換器カード読取装置、磁気テープ読取装置または紙テープ読取装置、タブレット、スタイラス、音声認識装置または手書き文字認識装置、あるいは言うまでもなく他のコンピュータ等の他の周知の入力装置等の１台または複数の入力／出力装置を含むインタフェース１２１０に結合される。最後に、ＣＰＵ１２０２は、要すれば、概して１２１２で示されるように、ネットワーク接続を使用してコンピュータまたは電気通信ネットワークに結合されてよい。このようなネットワーク接続を用いると、ＣＰＵが、前述された方法ステップを実行する過程で、ネットワークから情報を受信、またはネットワークに情報を出力する可能性があることが考えられる。前述された装置と材料とは、コンピュータハードウェア技術とソフトウェア技術の当業者によく知られるようになる。前述されたハードウェア要素は、本発明の動作を実行するための複数のソフトウェアモジュールを定義してよい。例えば、コードワード構成制御装置を実行するための命令は、大容量記憶装置１２０８または１２１４に記憶され、一次記憶１２０６と連動してＣＰＵ１２０２で実行されてよい。好適実施形態では、コントローラはソフトウェアサブモジュールに分割される。
【０１１６】
本発明の多くの特長及び優位点は、文書による説明から明らかであり、したがって添付請求項は、本発明のすべてのこのような特長及び優位点をカバーすることを目的とする。さらに、多数の変型及び変更がすぐに当業者に思い浮かぶので、本発明は、図解され、説明されるような正確な構成及び動作に限定されない。したがって、説明された実施形態は、制限的ではなく、例示的として解釈されなければならず、本発明は本書に示される詳細に限定されるのではなく、現在または将来において予測できるのか、あるいは予測できないのかに関係なく、以下の請求項及び同等物のそれらの完全範囲によって明示されなければならない。
【図面の簡単な説明】
【０１１７】
【図１】ＡＤＳＬ、ＶＤＳＬ、及び本発明の実施形態が使用されてよい他の通信システムに適用可能なＧ．９９７．１規格に従った概略ブロック参照モデルシステムである。
【図２Ａ】一般的で例示的なＤＳＬ配備を描く概略図である。
【図２Ｂ】本発明の実施形態が図２Ａの一般的で例示的なＤＳＬ配備等のシステムで実現できる、送信機の概略図である。
【図２Ｃ】本発明の実施形態が図２Ａの一般的で例示的なＤＳＬ配備等のシステムで実現できる、受信機の概略図である。
【図３】三角形のＤＳＬインタリーバ／デインタリーバ組である。
【図４】本発明の１つまたは複数の実施形態を実現するＤＳＬインタリーバ／デインタリーバ構成である。
【図５】本発明の１つまたは複数の実施形態を実現するＤＳＬインタリーバ／デインタリーバ構成である。
【図６】本発明の１つまたは複数の実施形態を実現する一般化された三角形のＤＳＬインタリーバ／デインタリーバ構成である。
【図７】インタリーバ／デインタリーバシステムにおいてメモリセルをスケジュールするための本発明の１つまたは複数の実施形態による方法である。
【図８Ａ】インタリーブ深さが減少するときのインタリーブ／デインタリーブの動的調整を示す本発明の１つまたは複数の実施形態による方法である。
【図８Ｂ】インタリーブ深さが増すときのインタリーブ／デインタリーブの動的調整を示す本発明の１つまたは複数の実施形態による方法である。
【図９】インタリーブ／デインタリーブの動的調整中の使用のための新しいスケジュール及び／またはスケジュールセットの生成を示す本発明の１つまたは複数の実施形態による方法である。
【図１０】本発明の実施形態による最小メモリインタリーブシステム等のメモリセルをベースにした実装の概略ブロック図である。
【図１１】本発明の一実施形態によるインタリーバ／デインタリーバ制御部を含む制御装置である。
【図１２】本発明の実施形態を実現するために適切な典型的なコンピュータシステムまたは集積回路システムのブロック図である。
【図１】
2008547298.tif 000049
【図２Ａ】
2008547298.tif 000050
【図２Ｂ】
2008547298.tif 000051
【図２Ｃ】
2008547298.tif 000052
【図３】
2008547298.tif 000053
【図４】
2008547298.tif 000054
【図５】
2008547298.tif 000055
【図６】
2008547298.tif 000056
【図７】
2008547298.tif 000057
【図８Ａ】
2008547298.tif 000058
【図８Ｂ】
2008547298.tif 000059
【図９】
2008547298.tif 000060
【図１０】
2008547298.tif 000061
【図１１】
2008547298.tif 000062
【図１２】
2008547298.tif 000063
【国際調査報告】
2008547298.tif 000064
2008547298.tif 000065