(57)【特許請求の範囲】
【請求項１】
光アクセスネットワークの光回線終端装置のためのビットインターリーバであって、
−  光ネットワークユニットにそれぞれ割り当てられた複数のＭ個のデータストリーム（ＯＤ１、．．．、ＯＤ４）を受信し、提供するように動作可能なメモリリーダ（ＦＲ）と、
−  時空間スイッチ（ＳＴＳ）であって、
−  １入力サイクル内で、前記Ｍ個のデータストリームそれぞれから最大でＭ個のビットセット（ＢＳ１、．．．、ＢＳ４）をそれぞれ読み出すように動作可能であり、
−  １書込みサイクル内で、前記データストリーム（ＯＤ１、．．．、ＯＤ４）の最大でＮビットを、出力ベクトル（ｖ０、．．．、ｖ（Ｎ−１））をそれぞれ与える最大でＮ個の出力ポートにそれぞれ切り替えるように更に動作可能である、時空間スイッチと、
−  前記それぞれの出力ベクトル（ｖ０、．．．、ｖ（Ｎ−１））のうちの１つに基づいて、前記１書込みサイクル内で、単一の出力ビット（ｂ０、．．．、ｂ（Ｎ−１））をそれぞれ求めるように各々動作可能なＮ個のＯＲ関数素子（Ｏ１、．．．、Ｏ（Ｎ−１））と、
−  サブ素子アドレスをそれぞれ有する少なくともＬ個のビットサブ素子を各々備え、前記１書込みサイクル内で、前記それぞれの単一の出力ビット（ｂ０、．．．、ｂ（Ｎ−１））のうちのそれぞれの１つをそのビットサブ素子のそれぞれの１つに書き込むように各々動作可能なＮ個のメモリ素子（Ｍ０、．．．、Ｍ（Ｎ−１）とを備え、
制御ユニット（ＣＵ）を更に備え、前記制御ユニットは、
−  前記時空間スイッチ（ＳＴＳ）による前記Ｍ個のデータストリーム（Ｍ０、．．．、Ｍ（Ｎ−１）の読出しと、
−  前記時空間スイッチ（ＳＴＳ）による前記ビットの前記出力ポートへの切り替えと、
−  前記ビットサブ素子の書込みアドレスの選択とを制御するように動作可能であり、
前記制御ユニット（ＣＵ）は、
−  所定のデータ速度と、
−  所定のオフセット値と、
−  ビットフレーム内のビットの最大数Ｂと、
−  数Ｎと、
−  数Ｌとに応じて、前記出力ポートおよび前記書込みアドレスを選択するように動作可能である、光アクセスネットワークの光回線終端装置のためのビットインターリーバ。
【請求項２】
前記制御ユニット（ＣＵ）が、前記データストリーム（ＯＤ１、．．．、ＯＤ４）が所定のデータ速度で読み出されるように、前記時空間スイッチ（ＳＴＳ）を制御するように動作可能であり、
前記制御ユニット（ＣＵ）が、前記１書込みサイクル内で、前記ビットサブ素子の前記書込みアドレスを同じアドレス値に選択するように動作可能である、請求項１に記載のビットインターリーバ。
【請求項３】
前記データストリームそれぞれから読み出された前記それぞれのビットセット（ＢＳ１、．．．、ＢＳ４）の各々がＫビットを含む、請求項１に記載のビットインターリーバ。
【請求項４】
前記制御ユニット（ＣＵ）が、１読出しサイクル内で前記Ｎ個のメモリ素子からＮビットをそれぞれ読み出すためにそれぞれの読出しアドレスを制御するように更に動作可能である、請求項１に記載のビットインターリーバ。
【請求項５】
前記制御ユニット（ＣＵ）が、前記１読出しサイクル内で、前記読出しアドレスを同じアドレス値に選択するように動作可能である、請求項１に記載のビットインターリーバ。
【請求項６】
光アクセスネットワークのための光回線終端装置であって、
請求項１から５のいずれか一項に記載のビットインターリーバを備える、光アクセスネットワークのための光回線終端装置。
【請求項７】
光アクセスネットワークのためのビットインターリービングの方法であって、
−  光ネットワークユニットにそれぞれ割り当てられた複数のＭ個のデータストリーム（ＯＤ１、．．．、ＯＤ４）を受信し、提供することと、
−  時空間スイッチ（ＳＴＳ）を用いて、１入力サイクル内で、前記Ｍ個のデータストリームそれぞれから最大でＭ個のビットセット（ＢＳ１、．．．、ＢＳ４）をそれぞれ読み出すことと、
−  前記時空間スイッチ（ＳＴＳ）を用いて、１書込みサイクル内で、前記データストリーム（ＯＤ１、．．．、ＯＤ４）の最大でＮビットを、出力ベクトルをそれぞれ与える最大でＮ個の出力ポートにそれぞれ切り替えることと、
−  前記それぞれの出力ベクトル（ｖ０、．．．、ｖ（Ｎ−１））のうちの１つに基づいて、前記１書込みサイクル内で、単一の出力ビット（ｂ０、．．．、ｂ（Ｎ−１））をそれぞれ求めることと、
−  前記１書込みサイクル内で、前記それぞれの単一の出力ビット（ｂ０、．．．、ｂ（Ｎ−１））のうちのそれぞれの１つをＮ個のメモリ素子（Ｍ０、．．．、Ｍ（Ｎ−１））それぞれの１つのビットサブ素子にそれぞれ書き込むことであって、前記それぞれのビットサブ素子はサブ素子アドレスをそれぞれ有する、書き込むこととを含み、
−  前記時空間スイッチ（ＳＴＳ）による前記Ｍ個のデータストリーム（Ｍ０、．．．、Ｍ（Ｎ−１）の読出しと、
−  前記時空間スイッチ（ＳＴＳ）による前記ビットの前記出力ポートへの切り替えと、
−  前記ビットサブ素子の書込みアドレスの選択とを制御することを更に含む、光アクセスネットワークのためのビットインターリービングの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電気通信分野に関し、詳細には、光アクセスネットワークの光回線終端装置のためのビットインターリーバおよびビットインターリービング方法に関する。
【背景技術】
【０００２】
近年、光アクセスネットワークが、光回線終端装置から複数の光ネットワークユニットにデータを送信するための優れた解決策となっている。光回線終端装置は電話局に配置され、光回線終端装置は光アクセスネットワークとコアネットワークとの間でデータを送信するためのインターフェースとしての役割を果たす。光回線終端装置は、コアネットワークからデータを受信し、このデータを、顧客がデータ送信のための機器を接続することができる光ネットワークユニット（ＯＮＵ）に向かってダウンストリーム方向に送信する。光回線終端装置によって生成されるダウンストリーム信号は、遠隔ノードが接続される光フィーダーファイバに送り込まれる。この遠隔ノードはダウンストリーム信号を、異なる光ネットワークユニットが接続される異なる光分岐に分割する。
【０００３】
異なる光ネットワークユニットに割り当てられた異なるデータストリームを送信するための１つの解決策は、光ネットワークユニットごとのダウンストリーム信号内で１つまたは複数のタイムスロットを割り振ることであり、それぞれの光ネットワークユニットに割り当てられたデータストリームの複数のデータビットが光回線終端装置によってそのタイムスロット内に配置される。そのような解決策では、それぞれの光ネットワークユニットが、そのようなタイムスロット内で特定のデータ速度においてデータを受信する必要があり、一方、他の光ネットワークユニットに割り当てられた他のタイムスロット中には、それぞれの光ネットワークユニットはいかなるデータ速度においてもデータを受信する必要はない。これは、光ネットワークユニットが、指定されたタイムスロット内で、割り当てられたデータストリームが光回線終端装置からそれぞれの光ネットワークユニットに送信される際の、全平均データ速度より高いデータ速度においてデータを受信できなければならないことを意味する。
【０００４】
光ネットワークユニットが一定のデータ速度において光回線終端装置からデータを受信することができる代替の解決策は、いわゆる、ビットインターリービングパッシブ光ネットワーク（ｂｉｔ−ｉｎｔｅｒｌｅａｖｉｎｇ  ｐａｓｓｉｖｅ  ｏｐｔｉｃａｌ  ｎｅｔｗｏｒｋ：ＢＩＰＯＮ）のビットインターリービングプロトコルによって提供される。そのようなＢＩＰＯＮでは、異なるＯＮＵに割り当てられた異なるデータストリームのビットデータがグローバルフレーム内でインターリーブされるので、ＯＮＵごとの各データストリームにおいて結果として生じるデータ速度がそれぞれの一定の値を有する。グローバルフレームは、例えば、最大で８＊１９，２００バイト＝１５３，６００バイトを含むことができ、それは１，２２８，８００ビットに等しい。１つの特定のデータストリームのビットがグローバルフレーム内で互いに等距離に配置され、その結果、このデータストリームの場合にデータ速度が一定になる。
【０００５】
その後、グローバルフレームに、進行中のデータ送信のための更なる一連のグローバルフレームが続く。
【０００６】
特定のデータストリームのためのデータ速度は、グローバルフレームが所与の持続時間を持つと仮定して、このデータストリームのビットが間隔を置いて配置されるビット位置の数によって定義される。グローバルフレーム内で、異なるデータストリームのビットを異なるそれぞれの等間隔で配置することによって、異なるデータ速度が実現される。ＢＩＰＯＮの利点は、ＯＮＵが、グローバルフレームによって与えられる全データ速度においてデータを受信する必要はなく、グローバルフレームの持続時間と、このＯＮＵのこの特定のデータストリームのビットがグローバルフレーム内に配置される速度とによって定義される、全データ速度より低いデータ速度においてデータを受信する必要があることである。これにより、ＯＮＵは、ＢＩＰＯＮの一連のグローバルフレームによって実現される最大データ速度より低いデータ速度において動作できるようになる。
【０００７】
さらに、このようにして、特定のデータストリームのデータビットがグローバルフレーム内で配置される速度を変更することによって、関連する光ネットワークユニットのための変更されたデータ速度が実現される。
【０００８】
それゆえ、ＢＩＰＯＮ内で、異なる光ネットワークユニットごとに異なる所定のデータ速度が実現されるように、光回線終端装置は、異なる光ネットワークユニットに割り当てられた異なるデータストリームの受信を実行しなければならず、かつ異なるデータストリームのビットの一連のグローバルフレームへの適切なビットインターリービングも実行しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、光回線終端装置における異なるデータストリームのビットインターリービングのための知られている方法を改善することである。
【課題を解決するための手段】
【００１０】
光アクセスネットワークの光回線終端装置のためのビットインターリーバが提案される。光アクセスネットワークはＢＩＰＯＮタイプのパッシブ光ネットワークであることが好ましい。
【００１１】
提案されるビットインターリーバは異なるサブデバイスを含む。
【００１２】
ビットインターリーバは、光ネットワークユニットにそれぞれ割り当てられた複数のＭ個のデータストリームを受信することができるメモリリーダを含む。メモリリーダはビットレベルにおけるこれらのデータストリームを時空間スイッチに与える、なお時空間スイッチはビットインターリーバの更なるサブデバイスである。
【００１３】
時空間スイッチは、１入力サイクル内で、Ｍ個のデータストリームそれぞれから最大でＮ個のビットセットをそれぞれ読み出すことができる。
【００１４】
さらに、時空間スイッチは、１書込みサイクル内で、データストリームの最大でＮビットを、最大でＮ個の出力ポートにそれぞれ切り替えることができる。それぞれの出力ポートは出力ベクトルをそれぞれ与える。時空間スイッチは、ビットレベルにおいてそれぞれのビットセットの切り替えを実行する。
【００１５】
ビットインターリーバは更にＮ個のＯＲ関数素子を含み、ＯＲ関数素子はその書込みサイクル内でそれぞれの出力ベクトルに基づいて単一の出力ビットをそれぞれ求めることができる。したがって、ＯＲ関数素子は、ブール代数ＯＲ関数によって１つの出力ベクトルの異なるビットを組み合わせることによって、１つの出力ベクトルから、結果として生じる単一の出力ビットを求める。
【００１６】
ビットインターリーバは更にＮ個のメモリ素子を含み、メモリ素子は更に各々少なくともＬ個のビットサブ素子を含み、これらのビットサブ素子はサブ素子アドレスをそれぞれ有する。Ｎ個のメモリ素子は各々、１書込みサイクル内で、それぞれの単一の出力ビットの１つをそのビットサブ素子のうちの１つに書き込むように動作可能である。
【００１７】
ビットインターリーバは更に制御ユニットを含み、制御ユニットは、時空間スイッチによるＭ個のデータストリームの読出しを制御することができる。さらに、制御ユニットは、ビットを時空間スイッチによって時空間スイッチの出力ポートに切り替えるのを制御することができる。さらに、制御ユニットは、書込みアドレスの選択を制御することができる。書込みアドレスは、結果として生じる単一の出力ビットがビットサブ素子にそれぞれ書き込まれるアドレスである。
【００１８】
提案されるビットインターリーバの利点を把握するために、以下の態様が考慮に入れられなければならない。
【００１９】
光回線終端装置における異なるデータストリームのビットをビットインターリービングプロトコルのグローバルフレームにインターリーブしなければならないとき、簡単な解決策は、所望のビットインターリービングパターンに従って、異なるデータストリームの異なるビットを１つの大きなメモリに書き込むことである。次に、全てのビットをグローバルメモリに書き込んだ後に、グローバルフレームの全ての異なるビットが、１つの大きなメモリから読み出されることになる。この結果、最後のビットがメモリに書き込まれる前に、グローバルフレームの第１のビットをこの大きなメモリから読み出すことができないことになる。グローバルフレーム全体を保持する単一の大きなメモリに書き込まれた全てのデータストリームは、グローバルフレームの持続時間に等しい待ち時間が必要ということになる。
【００２０】
提案されるビットインターリーバは、異なるＭ個のデータストリームのうちのＢ個未満のデータビットを、Ｎ個のメモリ素子に書き込むことができ、その後、これらのビットがこれらのＮ個のメモリ素子に書き込まれた後に、読み出すことができるという利点を有する。数Ｎのメモリ素子は、グローバルフレーム内に存在するビットの最大数Ｂより小さい。例えば、１書込みサイクル内で、Ｎ個のメモリ素子のそれぞれにＮビットを書き込むことができ、一方、この書込みサイクルが完了した後に、その書込みサイクルが終了した直後に開始することができる１読出しサイクル内で、これらのＮビットを読み出すことができる。
【００２１】
先に言及されたように、数Ｎのメモリ素子はグローバルフレーム内に存在するビットの最大数Ｂより小さい。一連の読出しサイクルにおいてＮ個のメモリ素子からＮビットのセットを読み出すことによって、異なる読出しサイクルから結果として生じるＮビットのセットを、グローバルフレームのビットストリームを形成する１つのビットストリームとして連結することができる。こうして、グローバルフレームの全てのＢビットをメモリ素子に書き込む前であっても、データ送信のために、Ｎ個のメモリ素子を用いるＮ個のインターリーブされたビットの書込みおよび読出しを実行することができる。これは、単一のメモリデバイスのみを使用する上記の簡単な方法に比べて、ビットインターリーバの待ち時間を大きく短縮する。
【００２２】
さらに、制御ユニットが、時空間スイッチによる異なるデータストリームの読出し、時空間スイッチによる切り替え、および結果として生じる単一のビットをメモリ素子のビットサブ素子に書き込むために用いられる書込みアドレスの選択も制御するので、制御ユニットは、異なるデータストリームのための異なるデータ速度を容易に変更することができ、それにより、大きな柔軟性を達成する。
【００２３】
上記を要約すると、提案されるビットインターリーバは、高速ビットインターリービングを実現する上に、待ち時間が短く、柔軟性が大きい。さらに、１つの大きなメモリ内にグローバルフレームの全てのＢビットを保持するためにこの１つの大きなメモリを使用する、提案された簡単な方法に比べて、Ｎ個のメモリ素子しか使用する必要がないという事実に起因して、電力消費が削減される。
【図面の簡単な説明】
【００２４】
【図１ａ】同じデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
【図１ｂ】同じデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
【図１ｃ】同じデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
【図２ａ】異なるデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
【図２ｂ】異なるデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
【図２ｃ】異なるデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
【図３ａ】異なるデータストリームに対して同じデータ速度を実現するビットインターリービング方法の場合の、異なる時間における異なるメモリ素子のための異なるメモリ状態とともに、結果として生じる出力ベクトルを示す図である。
【図３ｂ】異なるデータストリームに対して同じデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子のための異なるメモリ状態とともに、結果として生じる出力ベクトルを示す図である。
【図３ｃ】異なるデータストリームに対して同じデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子のための異なるメモリ状態とともに、結果として生じる出力ベクトルを示す図である。
【図４ａ】異なるデータストリームに対して異なるデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子の異なる状態とともに、結果として生じる異なる出力ベクトルを示す図である。
【図４ｂ】異なるデータストリームに対して異なるデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子の異なる状態とともに、結果として生じる異なる出力ベクトルを示す図である。
【図４ｃ】異なるデータストリームに対して異なるデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子の異なる状態とともに、結果として生じる異なる出力ベクトルを示す図である。
【図５】メモリ素子からビットのセットを読み出すことによって得られた、結果として生じるデータストリームを示す図である。
【図６】メモリ素子からビットのセットを読み出すことによって得られた、結果として生じるデータストリームを示す図である。
【図７】好ましい実施形態による、提案されるビットインターリーバを示す図である。
【発明を実施するための形態】
【００２５】
図７は提案されるビットインターリーバＢＩを示す。
【００２６】
ビットインターリーバＢＩは、Ｍ個の異なるデータストリームＯＤ１、．．．、ＯＤ４を受信するＦＩＦＯリーダＦＲを含む。ＦＩＦＯリーダは、異なるデータストリームＯＤ１、．．．、ＯＤ４を受信し、読み出すために用いることができるメモリリーダの一例である。代わりに、代替のタイプのメモリリーダを用いることもできる。
【００２７】
この例では、何ら制約はないが、数ＭのデータストリームはＭ＝４に選択される。
【００２８】
ＦＩＦＯリーダＦＲは、異なるデータストリームＯＤ１、．．．、ＯＤ４を時空間スイッチＳＴＳに与える。異なるデータストリームＯＤ１、．．．ＯＤ４は、それぞれの光ネットワークユニットによって割り当てられたデータストリームである。
【００２９】
時空間スイッチＳＴＳは、１読出しサイクル内で、それぞれのデータストリームＯＤ１、．．．ＯＤ４から抽出された最大でＭ個のそれぞれのビットセットＢＳ１、．．．、ＢＳ４を受信する。ビットセットＢＳ１、．．．、ＢＳ４はそれぞれＫビットを含む。この例では、何ら制約はないが、１ビットセット内のビットの数ＫはＫ＝８に選択される。
【００３０】
時空間スイッチＳＴＳは、１読出しサイクル内で、各データストリームＯＤ１、．．．ＯＤ４からＫ＝８ビットのセットを受信することができる。この場合、異なるデータストリームＯＤ１、．．．ＯＤ４が読み出されるデータ速度は、全てのデータストリームの場合に同じである。異なるデータストリームＯＤ１、．．．、ＯＤ４の場合に異なるデータ速度を実現するために、時空間スイッチＳＴＳは、異なる一連の読出しサイクル内で、異なるデータストリームＯＤ１、．．．、ＯＤ４から異なる数のビットセットを読み出すことができる。例えば、第１の読出しサイクル内で、時空間スイッチＳＴＳは、各データストリームＯＤ１、．．．、ＯＤ４から、それぞれのビットセットＢＳ１、．．．、ＢＳ４を読み出すことができ、一方、次の後続の読出しサイクルにおいて、時空間スイッチＳＴＳは、データストリームＯＤ１、ＯＤ２だけからそれぞれのビットセットＢＳ１、ＢＳ２を読み出す。時空間スイッチによって異なる読出しサイクル内でビットセットをそのように読み出す結果、データストレージＯＤ１、ＯＤ２は、データストリームＯＤ３、ＯＤ４が読み出されているデータ速度の２倍であるデータ速度での読出しを受けることになる。
【００３１】
時空間スイッチＳＴＳは、１書込みサイクル内で、最大でＮビットをスイッチＳＴＳの最大でＮ個の出力ポートに切り替える。Ｎ個の各出力ポートにおいて、それぞれの出力ベクトルｖ０、．．．、ｖ（Ｎ−１）が与えられる。スイッチＳＴＳがデータストリームのビットを出力ベクトルｖ０、．．．、ｖ（Ｎ−１）に切り替える方法は、後に詳細に説明されることになる。
【００３２】
制御ユニットＣＵがスイッチＳＴＳおよびリーダＦＲに接続される。こうして、制御ユニットＣＵは、時空間スイッチＳＴＳによるリーダＦＲからのデータストリームの読出しを制御する。さらに、制御ユニットＣＵは、スイッチＳＴＳが、読み出されたビットを出力ポートに、それゆえ、それぞれの出力ベクトルｖ０、．．．、ｖ（Ｎ−１）に切り替える方法も制御する。
【００３３】
結果として生じる出力ベクトルｖ０、．．．、ｖ（Ｎ−１）は、その後、それぞれのＯＲ関数素子Ｏ０、．．．、Ｏ（Ｎ−１）に与えられる。出力ベクトルｖ０、．．．、ｖ（Ｎ−１）はＪ＝３のビット長からなる。出力ベクトルのビット長は、何ら制約はないが、この例ではＪ＝３に選択される。
【００３４】
ＯＲ関数素子Ｏ０は、１書込みサイクル内で、出力ベクトルｖ０に基づいて単一の出力ビットｂ０を求める。このために、ＯＲ関数素子Ｏ０は、ブール代数ＯＲ関数によって、ベクトルｖ０内に存在する全てのビットを組み合わせる。それぞれの更なるＯＲ関数素子Ｏ１、．．．、Ｏ（Ｎ−１）は、それぞれのベクトルｖ１、．．．、ｖ（Ｎ−１）から、それぞれの単一の出力ビットｂ１、．．．、ｂ（Ｎ−１）を求める。
【００３５】
制御ユニットＣＵは、１読出しサイクル内で、それぞれのＮ個のメモリ素子から最大でＮビットを読み出すために用いられる読出しアドレスを制御する。
【００３６】
出力ベクトルｖ０、．．．、ｖ（Ｎ−１）から出力ビットｂ０、．．．、ｂ（Ｎ−１）へのそのような換算が必要である理由は、１書込みサイクル内で、各ベクトルｖ０、．．．、ｖ（Ｎ−１）が、スイッチＳＴＳによって切り替えられる１つのビットのみを含むことである。この理由は更に、ビットストリームのビットを異なる出力ポートにおける出力ベクトルに切り替えるために時空間スイッチＳＴＳを用いることは優れた解決策であるが、そのようなＳＴＳスイッチの内部スケジューリング特性に起因して、書込みサイクルの各段階において、データストリームのビットのうちの１つを出力ベクトルｖ０、．．．、ｖ（Ｎ−１）の第１のビット位置に厳密に切り替えられることを保証できないことである。同じ書込みサイクル内でビットセットＢＳ１、．．．、ＢＳ４の全てのビットがスイッチＳＴＳのそれぞれの出力ポートに切り替えられるとは限らない場合、そのようなビット系列ＢＳ１、．．．、ＢＳ４のうちの１つまたは複数のビットは、時空間スイッチＳＴＳによって内部で遅延させなければならず、それによって今度は、そのような遅延したビットが、出力ベクトルの第１のビット位置とは異なるビット位置において出力ベクトルｖ０、．．．、ｖ（Ｎ−１）のうちの１つの出力ベクトル内に配置されることになる。しかしながら、ビットインターリーバＢＩのために出力ベクトルｖ０、．．．、ｖ（Ｎ−１）を有する時空間スイッチを用いることは、そのようなスイッチＳＴＳが異なる入力ポートから異なる出力ポートにビットを切り替えるための優れたデバイスであるため、好ましい解決策である。出力ベクトル内で、切り替えられたビットから、結果として生じるビット位置までの結果として生じるシフトは、ＯＲ関数素子Ｏ０、．．．、Ｏ（Ｎ−１）によって補償される。
【００３７】
求められた単一の出力ビットｂ０、．．．、ｂ（Ｎ−１）は、その後、それぞれのメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）に与えられる。Ｎ個の各メモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）は、それぞれのアドレスを有する少なくともＬ個のビットサブ素子を備える。１書込みサイクル内で、メモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）は、それぞれの単一の出力ビットｂ０、．．．、ｂ（Ｎ−１）をビットレベルにおいてそのサブ素子のうちの１つに書き込む。メモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）がそれぞれの受信された出力ビットｂ０、．．．、ｂ（Ｎ−１）をどのビットサブ素子に書き込むかを決定する書込みアドレスの選択は、制御ユニットＣＵによって選択される。書込みアドレスのこの選択は、後に詳細に説明される。
【００３８】
提案されるビットインターリーバＢＩは、１書込みサイクル内で、それぞれのメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）において最大でＮ個の出力ビットを与えることができ、これらの出力ビットは１読出しサイクル内でそれぞれのメモリ素子から全体として読み出すことができる。こうして、１書込みサイクル内で、最大でＮビットをメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）に書き込んだ後に、これらのＮビットは、その後、第Ｎのビットがメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）のうちの１つに書き込まれた直後の１読出しサイクル内で読み出すことができる。ビットインターリーバＢＩは、グローバルフレーム全体を抽出する前に、大きなメモリへのグローバルフレームの全Ｂビットの書込みを実行しなくてもよい。
【００３９】
ビットインターリーバＢＩは、一連の各書込みサイクル内で、メモリ素子への最大でＮビットの書込みを処理することができ、その後、対応するグローバルフレームの一連のビットを形成するために、後続の読出しサイクルにおいて一連のＮビットのセットを読み出すことができる。したがって、提案されるビットインターリーバＢＩは、グローバルビットインターリービングフレームの全ビットを一体のメモリに書き込み、その後、全ビットを単一の大きなメモリに書き込んだ後に、グローバルフレーム全体を読み出す解決策に比べて、短縮された待ち時間を達成する。
【００４０】
さらに、スイッチＳＴＳがデータストリームＯＤ１、．．．、ＯＤ４のビットセットＢＳ１、．．．、ＢＳ４を読み出す速度は制御ユニットＣＵによって制御されるので、かつさらに、スイッチＳＴＳの切り替え特性、並びにメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）の読出しアドレスおよび書込みアドレスは制御ユニットＣＵによって制御されるので、提案されるビットインターリーバは、非常に柔軟な解決策であり、制御ユニットＣＵが高速ビットインターリービングにおいて短い待ち時間で異なるデータストリームＯＤ１、．．．、ＯＤ４に対して異なるデータ速度を達成できるようになる。さらに、Ｎ個のメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）のみが用いられるので、提案されるビットインターリーバＢＩによって課せられる電力消費は、Ｂビットのグローバルフレーム全体がこれらのＢビットを保持するメモリに書き込まれなければならない解決策より少ない。
【００４１】
好ましくは、制御ユニットＣＵは所定のデータ速度Ｒ（ｉ）を与えられる。ただし、この例におけるデータストリームの指標ｉは、ｉ＝１、．．．、Ｍ＝４の範囲に及ぶ。制御ユニットＣＵは、空間スイッチＳＴＳによるＦＩＦＯリーダＦＲからのビットセットＢＳ１、．．．、ＢＳ４の読出しを制御するために、これらの所定のデータ速度Ｒ（ｉ）を使用する。さらに、制御ユニットＣＵは、所定のオフセット値о（ｉ）を与えられる。ただし、指標ｉは、グローバルフレーム内の異なるデータストリームＯＤ１、．．．、ＯＤ４の異なるビットのオフセットを定義する。これらのオフセットの機能は後に説明される。
【００４２】
さらに、制御ユニットは、グローバルフレーム内に存在するビットの所定の値Ｂと、メモリ素子の数Ｎおよびメモリのビットサブ素子の数Ｌとを与えられる。こうして、制御ユニットＣＵは、所定のデータ速度、所定のオフセット値、フレーム内に存在するビットの最大数Ｂ、メモリ素子の数Ｎ、およびビットサブ素子の数Ｌに応じて、出力ポートおよび書込みアドレスを選択する。
【００４３】
図１ａは、時間ｔにわたる系列として、ビットＡ１、．．．、Ａ８、Ｂ１、．．．、Ｂ８、Ｃ１、．．．、Ｃ８、Ｄ１、．．．、Ｄ８とともに、異なるビットストリームＯＤ１、．．．、ＯＤ４を示す。
【００４４】
図１ｂは、グローバルフレームＧＦのビットインターリービングパターンを示しており、図１ａからのデータストリームの異なるビットがインターリーブされる。図１ｂは、データ速度Ｒ（１）、Ｒ（２）、Ｒ（３）、Ｒ（４）が全データストリームについて全て１／８に等しい場合の、データストリームの異なるビットのインターリービングを示す。言い換えると、全てのデータストリームが同じ速度Ｒ（１）、．．．、Ｒ（４）を有する。グローバルフレームＧＦ内に存在するビットの最大数Ｂは、例えば、１，２２８，８００ビットとすることができる。そのようなグローバルフレームは、１２２マイクロ秒の持続時間を有することができる。
【００４５】
データストリームＯＤ１の第１のビットは、ビットＡ１であり、グローバルフレームＧＦのビット位置０に配置される。ビットストリームＯＤ１に対して選択された速度Ｒ（１）が１／８であるという事実に起因して、データストリームＯＤ１の次のビットＡ２は、ビットＡ２がビット位置８に配置されるように、第１のビットＡ１から更に８ビットだけ離れて配置される。データストリームＯＤ１の更なるビットＡ３、Ａ４、Ａ５は、グローバルフレームＧＦ内の次のビット位置１６、２４、３２に続く。
【００４６】
グローバルフレーム内にビットを配置する図示されるＢＩＰＯＮビットインターリービング方式の場合、指標ｉの場合のデータストリームの第ｘのビットのビット位置ｂｐ（ｘ（ｉ），ｉ）は、一般的に、速度Ｒ（ｉ）の逆数ｒ（ｉ）＝１／Ｒ（ｉ）と、オフセット値о（ｉ）と、整数値ｘ（ｉ）とを用いることによって求めることができる。整数値ｘ（ｉ）は、第ｘのビットの指標値に対応し、それゆえ、ｘ（ｉ）＝０から最大で整数値ｘ（ｉ）＝ｉｎｔ（Ｂ／ｒ（ｉ））までの範囲に及ぶ整数である。したがって、指標ｉの場合のデータストリームの第ｘのビットのビット位置ｂｐ（ｘ（ｉ），ｉ）は、１０進数の場合、以下のように求めることができる。
ｂｐ（ｘ（ｉ），ｉ）＝о（ｉ）＋ｒ（ｉ）＊ｘ（ｉ）
【００４７】
このようにして、制御ユニットＣＵは、先に詳細に説明されたように、第ｉのデータストリームの第ｘのビットの場合に、グローバルフレーム内の対応するビット位置を求める。
【００４８】
この例では、オフセット値о（１）は、データストリームＯＤ１の場合にо（１）＝０に選択される。
【００４９】
図１ｂには、グローバルフレームＧＦ内のデータストリームＯＤ４のビットＤ１、Ｄ２、．．．、の関係も示される。このビットインターリービング方式の場合、速度Ｒ（４）もＲ（４）＝１／８として選択されるという事実に起因して、データストリームＯＤ４のビットＤ１、Ｄ２、．．．、もそれぞれ、グローバルフレームＧＦ内で８ビット位置だけ離れて配置される。この例では、オフセット値о（４）は値о４＝３として選択される。データストリームＯＤ２、ＯＤ３のビットの場合のオフセット値は、図１ｂには明示されないが、オフセット値о（２）は値о（２）＝１に選択され、一方、オフセット値о（３）は値о（３）＝２に選択されると言える。
【００５０】
図１ｂに注目すると、グローバルフレームＧＦを受信する光ネットワークユニットが、グローバルフレームＧＦのデータ速度を８で割った値に等しいデータ速度において、データストリームのうちの１つのデータストリームのビットの受信を実行できることが明らかになる。
【００５１】
図１ｃは、代替のビットパターンＡＢＰを示しており、図１ｂに示されるグローバルフレームの異なるビットがＮビットのセットに分割される。時間の経過とともに、異なるＮビットのセットは、図７に示されるメモリデバイスＭ０、．．．、Ｍ（Ｎ−１）から読み出すことができ、図１ｂに示されるグローバルフレームＧＦに対応するビット系列の送信を実現するために、その後、送信に成功することができる。
【００５２】
図７に示されるメモリＭ０、．．．、Ｍ（Ｎ−１）から第１の読出しサイクル内で読み出されなければならない第１のセットはセットＳ１である。このセットＳ１のビットは、図１ｂのグローバルフレームＧＦのビット位置０−１５内に記憶されるビットに対応する。
【００５３】
次の読出しサイクル内で、図１ｃに示される次のセットのビットＳ２が図７に示されるメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）から読み出されることになる。これらのビットは、図１ｂに示されるグローバルフレームＧＦのビット位置１６−３１に割り当てられたビットである。
【００５４】
第３の読出しサイクル内で、図１ｃに示されるビットのセットＳ３が、図７に示されるメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）から読み出されることになる。これらのビットは、図１ｂに示されるグローバルフレームＧＦのビット位置３２において開始する更なるビットである。
【００５５】
ここで、異なるデータストリームの異なるビットがスイッチＳＴＳによって切り替えられ、図７に示されるメモリＭ０、．．．、Ｍ（Ｎ−１）に書き込まれ、さらに、これらのメモリから読み出されることになる方法が詳細に説明される。
【００５６】
スイッチＳＴＳが１入力サイクル内で、ファイバリーダＦＲからＫ＝８ビットのビットセットＢＳ１、．．．、ＢＳ４をそれぞれ読み出すと仮定される。１書込みサイクル内で、時空間スイッチＳＴＳは、図３ａに示されるように、ビットセットＢＳ１、．．．、ＢＳ４の第１のビットおよび第２のビットをそれぞれの出力ポートに、それゆえ、それぞれのベクトルｖ０、．．．、ｖ１５に切り替える。スイッチＳＴＳの内部スケジューリング特性に起因して、切り替えられたビットは、出力ベクトルｖ０、．．．、ｖ１５内で、指標０を有する第１のビット位置内に存在する。一例として、出力ベクトルｖ０、．．．、ｖ１５のビット長は、非限定的な例としてＪ＝３に選択される。
【００５７】
スイッチＳＴＳが特定のビットにおいて切り替える出力ポートの数、それゆえ、同じく、対応する出力ベクトルの数は、制御ユニットＣＵによって制御される。制御ユニットＣＵは、１０進数の場合に、ポート数ｐｎ（ｘ（ｉ），ｉ）＝ｂｐ（ｘ（ｉ），ｉ）  ｍｏｄ  Ｎとして、ビットが切り替えられる出力ポートの数、それゆえ、出力ベクトルの数と、さらに、メモリＭ０、．．．、Ｍ（Ｎ−１）の結果として生じる数とを求める。ビットごとに、ビット位置ｂｐは、先に説明されたように制御ユニットＣＵによって求めることができる。
【００５８】
図３ａは、時間ｔ＝０における異なるメモリ素子Ｍ０、．．．、Ｍ１５の異なる状態を更に示す。異なるＯＲ関数素子が異なる出力ベクトルｖ０、．．．、ｖ１５を単一の出力ビットｂ０、．．．、ｂ（Ｎ−１）に換算し、それらの出力ビットは、その後、それぞれのメモリＭ０、．．．、Ｍ（Ｎ−１）のそれぞれビットサブ素子に書き込まれる。ただし、これらのビットサブ素子は同じ書込みアドレスからなる。この例では、書込みアドレスは０に等しい。制御ユニットＣＵは、１書込みサイクル内で、第ｉのデータストリームの第ｘのビットの場合に、第ｉのデータストリームの第ｘのビットのビット位置および数Ｌに応じて、書込みアドレスｗａを求める。詳細には、第ｉのデータストリームの第ｘのビットの書込みアドレスｗａは、１０進数の場合に、以下のように求めることができる。
ｗａ（ｘ（ｉ），ｉ）＝ｉｎｔ（ｂｐ（ｘ（ｉ），ｉ）／Ｌ）
【００５９】
時間ｔ＝０におけるメモリ素子Ｍ０、．．．、Ｍ１５に注目すると、図１ｃにおいてビットセットＳ１として示される適切なＮビットのセットは、同じ読出しアドレスを用いて、１つの時間において全てのメモリＭ０、．．．、Ｍ１５を読み出すことによって、メモリから読み出すことができる。この例では、読出しアドレスは値０に等しい。
【００６０】
この読出しは、そのビットがメモリ素子Ｍ０、．．．、Ｍ１５に最終的に書き込まれた時間において厳密に実行される必要はなく、後の時点において実行することができる。適切な読出しアドレスによるメモリ素子Ｍ０、．．．、Ｍ１５からのビットの読出しは、図７に示される制御ユニットＣＵによって制御され、決定される。
【００６１】
次の書込みサイクル内で、図３ｂに示されるように、スイッチは、時間ｔ＝１において、異なるデータストリームのビットを出力ポートに、そして対応する出力ベクトルｖ０、．．．、ｖ１５に切り替える。ベクトルｖ０、．．．、ｖ１５内のビット位置０におけるビットＡ３、．．．、Ｄ４の配置は、スイッチの内部スケジューリング特性によってもたらされる。
【００６２】
上記のように、図７に示される言及されたＯＲ関数素子Ｏ０、．．．、Ｏ（Ｎ−１）は単一の出力ビットを生成し、その出力ビットは、図３ｂに示されるように、その後、この時間ｔ＝１においてメモリ素子Ｍ０、．．．、Ｍ１５のそれぞれのビットサブ素子に書き込まれる。
【００６３】
この次の書込みサイクル内で、制御ユニットＣＵは、第ｉのデータストリームの第ｘのビットの場合に、ビット位置ｂｐ（ｘ（ｉ），ｉ）に応じて、出力ポートの数、それゆえ、結果として生じる出力ビットが書き込まれるメモリ素子の数を、ポート数ｐｎとして求める。詳細には、制御ユニットＣＵは、第ｉのデータストリームの第ｘのビットの場合に、１０進数のポート数ｐｎを以下のように求める。
ｐｎ（ｘ（ｉ），ｉ）＝ｂｐ（ｘ（ｉ），ｉ）  ｍｏｄ  Ｎ
【００６４】
さらに、異なるビットＡ３、．．．、Ｄ４のそれぞれのビット位置ｂｐを用いて、図７の制御ユニットＣＵは、１０進数の書込みアドレスｗａを以下のように求める。
ｗａ（ｘ（ｉ），ｉ）＝ｉｎｔ（ｂｐ（ｘ（ｉ），ｉ）／Ｌ）
【００６５】
図３ｂに注目することによって、以下が明らかになる：この例では値１の読出しアドレスである同じ読出しアドレスにおいてこれらのメモリ素子内に存在する１６ビットを読み出すことによって、次のＮ＝１６ビットのセットをメモリ素子Ｍ０、．．．、Ｍ１５から読み出すことができる。
【００６６】
こうして、異なるメモリ素子から一連のＮビットのセットを読み出さなければならないとき、ＢＩＰＯＮ方式のグローバルフレームに対応するビット系列を形成するために、同じ読出しサイクル内でこれらのＮ個のメモリ素子の全てに対して同じ読出しアドレスを使用し、その後、次の読出しサイクルの場合に読出しアドレスを単に増加することによって、Ｎ個のメモリ素子からそのようなＮビットを簡単に読み出すことができる。
【００６７】
更なるビットＡ５、．．．、Ｄ６の場合に、図３ｃは、次の時間ｔ＝２の場合に、これらのビットを切り替え、これらのビットをメモリＭ０、．．．、Ｍ１５に書き込むための提案された選択によって、特定のビットサブ素子においてメモリ素子内にビットを配置する方法を示す。
【００６８】
図５に示される結果として生じるビット系列ＲＢＳは、それぞれの読出しサイクル内で同じ読出しアドレスでＮ個のメモリ素子からＮビットのセットを読み出した結果として得られる。図５の結果として生じるビット系列ＲＢＳを図１ｂのグローバルフレームＧＦの当初に望まれたビット系列と比較することによって、図７の提案されるビットインターリーバＢＩが、図１ｂに示されるグローバルフレームＧＦの所望のビットインターリービングを実行できることが明らかになる。
【００６９】
図２ａは異なるデータストリームＯＤ１、．．．、ＯＤ４を再び示す。
【００７０】
図２ｂは、データストリームＯＤ１が１／８の速度でインターリーブされることになり、データストリームＯＤ４も速度１／８においてインターリーブされることなり、一方、データストリームＯＤ２が１／１６の速度においてインターリーブされ、データストリームＯＤ３が１／３２の速度においてインターリーブされることになる場合のグローバルフレームＧＦ２の所望のビット系列を示す。
【００７１】
図１ｂに関して先に説明されたように、異なるデータストリームのオフセット値が選択される。
【００７２】
図２ｃは、時間ｔにわたってＮ＝１６ビットのセットを有する対応する代替のビットパターンＡＢＰ２を示す。結果として生じるビットのセットＳ１１、Ｓ１２，Ｓ１３は、図７に示されるように、同じアドレスのビットサブ素子においてメモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）内に存在することになるようなビットである。
【００７３】
図４ａは、出力ベクトルｖ０、．．．、ｖ１５およびメモリ素子Ｍ０、．．．、Ｍ１５内の異なるビットＡ１、．．．、Ｄ２の結果として生じる配置を示す。
【００７４】
次の時間ｔ＝１において、図２ｃに示されるセットＳ１２のビットは、図４ｂに示されるように、出力ベクトルｖ０、．．．、ｖ１５内に配置されなければならない。
【００７５】
ビットＢ２が図７に示される時空間スイッチＳＴＳによって切り替えられなければならないという事実に起因して、このスイッチＳＴＳの内部スケジューリング特性によって、このビットＢ２は出力ベクトルｖ１内の値１のビット位置内に配置される。先に詳細に説明されたように、ＯＲ関数素子は、図７に示されるように、それぞれの出力ビットｂ０、．．．、ｂ（Ｎ−１）へのそれぞれの出力ベクトルｖ０、．．．、ｖ１５の換算を達成する。
【００７６】
結果として生じる単一の出力ビットは、その後、時間ｔ＝１に対応する１書込みサイクル内で、書込みアドレスｗａ（ｘ（ｉ），ｉ）＝ｉｎｔ（ｂｐ（ｘ（ｉ），ｉ）／Ｌ）のビットサブ素子に書き込まれる。
【００７７】
次の更なる時間ｔ＝２の場合、図４ｃは、出力ベクトルｖ０、．．．、ｖ１５内、およびメモリ素子Ｍ０、．．．、Ｍ１５の、値２に等しい同じ書込みアドレスのビットサブ素子内の異なるビットの配置を示す。
【００７８】
図４ｃの右側に注目すると、ここで、一連の読出しサイクルにおいて、異なるメモリ素子Ｍ０、．．．、Ｍ１５からそれぞれのＮビットのセットを読み出すことができることが明らかになる。ただし、１読出しサイクル内で、各メモリ素子Ｍ０、．．．、Ｍ１５のビットサブ素子を選択するために同じ読出しアドレスが用いられる。
【００７９】
一連の読出しサイクル内で上記のようにメモリ素子からＮビットのセットを読み出すことによって、図６に示されるように、結果として生じるビットパターンＲＢＳ２を達成することができる。図６のビット系列ＲＢＳ２を図４ｂのグローバルフレームＧＦ２のビットの所望のビット系列と比較することによって、図７に示される提案されるビットインターリーバＢＩが、ＢＩＰＯＮのために必要とされる所望のビットインターリービング方法を達成することが明らかになる。
【００８０】
ビットサブ素子の数をＬ＝３に選択することは、例示的な選択にすぎない。好ましくは、メモリ素子内に存在するビットサブ素子の数はＬ＝１０２４に選択される。
【００８１】
１０ギガビット／秒の全データ速度を達成するために、Ｎの数を６４に選択することができ、一方、ｆ＝１５６．２５ＭＨｚの速度または周波数において、そのようなＮビットのセットを読み出す。代替の例として、１０ギガビット／秒の同じビット速度を達成するために、Ｎ＝３２ビットのセットをｆ＝３１２．５ＭＨｚの周波数において書き込み、読み出すことができる。さらに、代替的には、ｆ＝７８．１２５ＭＨｚの読出し周波数を用いてＮの数をＮ＝１２８に選択することができる。
【００８２】
グローバルフレームを形成する全てのビットの全てのインターリービングプロセスが終了する前に、メモリ素子Ｍ０、．．．、Ｍ（Ｎ−１）から、インターリーブされたビットの読出しプロセスを開始することができるので、システムの全待ち時間が短いことが、図７に示される提案されるビットインターリーバＢＩの明らかな利点である。
【００８３】
好ましくは、メモリリーダがＦＩＦＯリーダである場合に、図７に示されるビットインターリーバＢＩの異なるサブデバイスが、単一のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）内に実装される。
【００８４】
「制御ユニット」と呼ばれる任意の機能ブロックを含む、図７に示される種々の素子の機能は、専用のハードウェアを用いて、および適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアを用いて与えることができる。プロセッサによって与えられるとき、それらの機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、またはそのうちの幾つかが共用される場合がある複数の個別のプロセッサによって与えることができる。さらに、「制御ユニット」という用語を明示的に使用することは、ソフトウェアを実行することができるハードウェアだけを指していると解釈されるべきではなく、限定はしないが、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するためのリードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および不揮発性記憶装置を暗に含む場合がある。他のハードウェア、すなわち、従来のハードウェアおよび／またはカスタムハードウェアも含まれる場合がある。同様に、図に示される任意のスイッチは概念にすぎない。それらの機能は、プログラムロジックの演算を通して、専用ロジックを通して、プログラム制御と専用ロジックとのやりとりを通して、更には手動で、実行することができ、文脈からより具体的に理解されるように、開発者によって特定の技法が選択可能である。
【図１ａ】
0005953435.tif 000002
【図１ｂ】
0005953435.tif 000003
【図１ｃ】
0005953435.tif 000004
【図２ａ】
0005953435.tif 000005
【図２ｂ】
0005953435.tif 000006
【図２ｃ】
0005953435.tif 000007
【図３ａ】
0005953435.tif 000008
【図３ｂ】
0005953435.tif 000009
【図３ｃ】
0005953435.tif 000010
【図４ａ】
0005953435.tif 000011
【図４ｂ】
0005953435.tif 000012
【図４ｃ】
0005953435.tif 000013
【図５】
0005953435.tif 000014
【図６】
0005953435.tif 000015
【図７】
0005953435.tif 000016