(57)【特許請求の範囲】
【請求項１】
複数のノードを含む通信ネットワークにおいて、ソースノードからネットワークサイクルに従ってコンテンツを宛先ノードに送信する方法であって、
前記ソースノードは、前記ソースノード及び前記宛先ノードのデータ送信のためのローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記ソースノードは、
連結データブロックを形成するために、Ｐ個の連続するローカルサイクルにおける前記コンテンツの送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードから送信するデータを連結するステップと、
後続するネットワークサイクル中に前記ソースノードに割り当てられた時間中に前記連結データブロックを送信するステップと、を実行することを特徴とする方法。
【請求項２】
前記連結ステップは、ネットワークサイクルと同期したＰ個の連続するローカルサイクルにおいて実行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記連結ステップは、前記コンテンツの送信に割り当てられた空仮想チャネルに対応するタイムスロット内で前記ソースノードから送信するデータがない場合にパディング情報を挿入するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記パディング情報は、前記ソースノードが前記空仮想チャネルに対応する前記タイムスロット内で取得できるデータ量と等しい大きさを有することを特徴とする請求項３に記載の方法。
【請求項５】
前記連結ステップは、Ｐ個の連続するローカルサイクル中に、仮想チャネルのデータをグループ化するインターリービングステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
複数のノードを含む通信ネットワークにおいて、ソースノードからネットワークサイクルに従って送信されるコンテンツを宛先ノードが受信する方法であって、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々のデータ送信のためにローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記宛先ノードは、
前記ソースノードに割り当てられた時間中に連結データのブロックを受信するステップと、
前記コンテンツの送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと関連付けられるデータを前記連結データの受信ブロックから抽出するステップと、
前記抽出したデータを前記宛先ノードのアプリケーションに供給するステップと、を実行することを特徴とする方法。
【請求項７】
前記宛先ノードは、前記コンテンツの送信に割り当てられた仮想チャネルと関連付けられるパディング情報を検出するステップを実行し、前記パディング情報は、前記供給ステップの間に前記アプリケーションに与えられないことを特徴とする請求項６に記載の方法。
【請求項８】
前記パディング情報は、前記パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有することを特徴とする請求項７に記載の方法。
【請求項９】
前記宛先ノードは、前記パディング情報が関連付けられる前記仮想チャネルに対応する前記タイムスロット内で前記パディング情報を消去することを特徴とする請求項７に記載の方法。
【請求項１０】
前記宛先ノードは、前記データをローカルサイクルにより再順序付けするデインターリービングステップを実行することを特徴とする請求項６に記載の方法。
【請求項１１】
ネットワークサイクルに従ってコンテンツを送信するソースノードのプロセッサにより実行されるコンピュータプログラムであって、
前記ソースノードは、前記ソースノード及び宛先ノードのデータ送信のためのローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記プロセッサは前記コンピュータプログラムを実行することにより、
連結データブロックを形成するために、Ｐ個の連続するローカルサイクルにおける前記コンテンツの送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードから送信するデータを連結するステップと、
後続するネットワークサイクル中に前記ソースノードに割り当てられた時間中に前記連結データブロックを送信するステップと、を実行することを特徴とするコンピュータプログラム。
【請求項１２】
ソースノードからネットワークサイクルに従って送信されるコンテンツを受信する宛先ノードのプロセッサにより実行されるコンピュータプログラムであって、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々のデータ送信のためにローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記プロセッサは前記コンピュータプログラムを実行することにより、
前記ソースノードに割り当てられた時間中に連結データのブロックを受信するステップと、
前記コンテンツの送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと関連付けられるデータを前記連結データの受信ブロックから抽出するステップと、
前記抽出したデータを前記宛先ノードのアプリケーションに供給するステップと、を実行することを特徴とするコンピュータプログラム。
【請求項１３】
ネットワークサイクルに従ってコンテンツを宛先ノードに送信するソースノードであって、
前記ソースノードは、前記ソースノード及び前記宛先ノードのデータ送信のためのローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記ソースノードは、
連結データブロックを形成するために、Ｐ個の連続するローカルサイクルにおける前記コンテンツの送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードから送信するデータを連結する連結手段と、
後続するネットワークサイクル中に前記ソースノードに割り当てられた時間中に前記連結データブロックを送信する送信手段を有するとことを特徴とするソースノード。
【請求項１４】
前記連結手段は、前記ネットワークサイクルと同期したＰ個の連続するローカルサイクルにおいて前記データを連結することを特徴とする請求項１３に記載のソースノード。
【請求項１５】
前記連結手段は、前記コンテンツの送信に割り当てられた空仮想チャネルに対応するタイムスロット内で前記ソースノードから送信するデータがない場合にパディング情報を挿入する挿入手段を含むことを特徴とする請求項１３に記載のソースノード。
【請求項１６】
前記パディング情報は、前記ソースノードが前記空仮想チャネルに対応する前記タイムスロット内で取得できるデータ量と等しい大きさを有することを特徴とする請求項１５に記載のソースノード。
【請求項１７】
前記連結手段は、Ｐ個の連続するローカルサイクル中に、仮想チャネルのデータをグループ化するインターリービング手段を含むことを特徴とする請求項１３に記載のソースノード。
【請求項１８】
ソースノードからネットワークサイクルに従って送信されるコンテンツを受信する宛先ノードであって、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々のデータ送信のためにローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記宛先ノードは、
前記ソースノードに割り当てられた時間中に連結データのブロックを受信する受信手段と、
前記コンテンツの送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと関連付けられるデータを前記連結データの受信ブロックから抽出する抽出手段と、
前記抽出したデータを前記宛先ノードのアプリケーションに供給する供給手段と、を含むことを特徴とする宛先ノード。
【請求項１９】
前記宛先ノードは、前記コンテンツの送信に割り当てられた仮想チャネルと関連付けられるパディング情報を検出し、前記パディング情報は、前記供給手段によって前記アプリケーションに与えられないことを特徴とする請求項１８に記載の宛先ノード。
【請求項２０】
前記パディング情報は、前記パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有することを特徴とする請求項１９に記載の宛先ノード。
【請求項２１】
前記宛先ノードは、前記パディング情報が関連付けられる前記仮想チャネルに対応する前記タイムスロット内で前記パディング情報を消去することを特徴とする請求項１９に記載の宛先ノード。
【請求項２２】
前記宛先ノードは、前記データをローカルサイクルにより再順序付けするデインターリービング手段を含むことを特徴とする請求項１８に記載の宛先ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークにおけるデータコンテンツの送信の分野に関する。
【背景技術】
【０００６】
６０ＧＨｚの無線伝送システムは、短距離を高ビットレートでデータを送信することに特に適する。例えば、この種の伝送システムは、「ホームシネマ」の種々の要素間の接続に非常に適する。それらの用途の場合、伝送範囲は数十メートルに制限されるが、関係するビットレートは非常に高く、送信される情報の解像度の高さ及び特性（オーディオ及びビデオの双方）のために１ギガビット／秒を超えることがある。６０ＧＨｚの無線システムにおけるデータ送信に必要な電力を制限するために、電子的に操縦可能なアンテナを使用するのが好ましい。それらアンテナは、実際にはデータの送信及び／又は受信の角度（又は向き）を規定するように起動される電磁ポイントマトリクスアンテナである。
そのような通信ネットワークにおいて、いくつかの並行する音声映像アプリケーションを同時に同期的にサポートできる必要がある。そのようなネットワークは、例えば以下の通りである。
無線スピーカを有するホームシネマ（ポイントツーマルチポイントネットワーク）、
表示装置に接続された複数のビデオソースに基づくネットワーク（マルチポイントツーポイントネットワーク）、
複数の表示装置に接続された複数のビデオソースに基づくネットワーク（マルチポイントツーマルチポイントネットワーク）。
いくつかの並行する音声映像アプリケーションを同期的に管理できるようにするために、通信ネットワークは、ソースノードから１つ以上の宛先ノードへのデータ送信により発生する固定の判定された待ち時間を提供できる必要がある。例えば、ホームシネマアプリケーションの場合、いくつかのスピーカによりブロードキャストされる必要のあるオーディオデータは、通信ネットワークによりスピーカのオーディオデータ処理層（又はアプリケーション層）に同時に提示される必要がある。通信ネットワークは、更に以下のことができる必要がある。
【０００７】
宛先ノードの出力においてデータのサンプリングの速度を再現すること、
複数の宛先ノードから出力されるデータの提示を同期化すること。
【０００８】
これら前提条件により以下のことが必要となる。
【０００９】
ノードの全ての基準クロックが他の基準クロックと同期される、
ネットワークにおける送信時間が所定の固定値に限定される、
事前定義された正確な時点でデータを提示するための手段が実現される。
【００１０】
並行する同期アプリケーションを実現する通信ネットワークにおいて、所定の正確な時点で送信データをデータ処理層（又はアプリケーション）に提示するために、タイムスタンピング技術が広く実現されている。簡単化された方法において、タイムスタンプは、ソースデバイスにより各データと関連付けられて宛先ノードに通信される。データ及び関連するタイムスタンプの受信後、宛先ノードは、そのローカルクロックの値をタイムスタンプに示される値と比較するため、データがソースにより判定された正確な時点でデータ処理層（又はアプリケーション）に提示されることを保証できる。この種のタイムスタンプ技術は、例えばＩＥＣ６１１８８３−４の文献「Materiel audio/video grand public - Interface numerique - Partie 4: Transmission de donnees MPEG2-TS」（Large-Scale Consumption Audio/Video Equipment - Digital Interface - Part 4: MPEG2-TS Data Transmission」において説明される。
【００１１】
しかし、タイムスタンピングはいくつかの欠点を有する。まず、各パケットに追加のデータを導入する必要があるため、有用な帯域幅が減少し、受信バッファメモリの大きさが増加する。更にタイムスタンピングは、ローカルクロックの値を所望の提示時間と比較するための追加の処理手段、同一の絶対時間を参照するように通信ネットワークのノードの種々のクロックを同期させる手段を必要とする。例えば上述のＩＥＣ６１８８３規格を補完するものとして使用されるＩＥＥＥ１３９４規格「IEEE Standard for a High Performance Serial Bus, IEEE1394-1995」において規定されるような同期サイクルタイムレジスタを使用する際のクロックサイクルの番号付けにより、同一の絶対時間が参照されてもよい。マスタノード又はサイクルマスタは、その「Cycle Time Register」の値をサイクル開始パケットを介してネットワークの他のノードの「Cycle Time Register」にコピーし、一定の位相でネットワークの全てのノードを同期させることに対応する。全てのノードは同一の時間基準を有し、データタイムスタンピングにより、所定の正確な時点でデータ処理層（又はアプリケーション）に送信データを提示することに対応してもよい。
【００１２】
ネットワークサイクルを固定の時間スロット又は時間間隔に分割し且つデータ通信のためのタイムスロットの集合を各ノードに割り当てることにより、通信ネットワークにおいて一定の送信時間を提供できる。その結果、各ノードは通信ネットワークのサイクルの所定の時間に送信する。この種の技術は、無線通信ネットワークにおいて頻繁に使用されるＴＤＭ（時分割多重方式(Time Division Multiplex)）又はＴＤＭＡ（時分割多元接続（Time Division Multiple Access））として周知である。しかし、この種の技術は欠点を有する。６０ＧＨｚの無線伝送システムにおける場合と同様に、同一の宛先ノードが送信ソースノードに依存して異なるアンテナの向きを要求するいくつかのソースと同時に通信する可能性のある通信ネットワークにおいて、特に通信タイムスロットが短い場合、１つの通信タイムスロットと別の通信タイムスロットとの間の「ギャップ」又は待ち時間は、通信ネットワークのサイクルにおいて無視できないものとなる。
【００１３】
バースト伝送モード(burst transmission mode)は、ネットワークのノードが多くのアンテナ方向付け時間(antenna orientation time)を必要とする（ネットワークのサイクルの期間と比較して）場合に特に有利である。切り替え動作の回数を制限するために、バースト伝送モードは同一フレームで大量のデータの送信を可能にする。その結果、切り替え動作に費やされる時間はデータの送受信に費やされる時間と比較して僅かであり、ネットワークの帯域幅は効率的に使用される。しかし、そのような方法は、データタイムスタンピングの使用の回避を可能にするために、ノード毎に短い正確な通信タイムスロットを取得するのに使用できない。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、少なくとも一実施形態において、特に従来技術の欠点を克服することである。
【００１５】
更に詳細には、本発明の目的は、本発明の少なくとも１つの実施形態において、少なくとも１つのデータコンテンツを受信するいくつかの宛先ノードを含む通信ネットワークにおいて、宛先ノードの出力においてデータコンテンツの一部を同期して提示することを可能にする技術を提供することである。
【００１６】
本発明の別の目的は、本発明の少なくとも１つの実施形態において、ネットワークのソースノードと宛先ノードとの間の別の通信と各タイムスロットとのギャップを僅かにできる技術を実現することである。
【００１７】
本発明の別の目的は、本発明の少なくとも１つの実施形態において、Ｎ対Ｎ通信、すなわちマルチポイントツーマルチポイント通信を実現する通信ネットワークと互換性のある技術を実現することである。
【００１８】
本発明の別の目的は、本発明の少なくとも１つの実施形態において、各々が判定されたサンプリング速度と関連付けられる１つ以上の同期ストリームに対して実行される技術を実現することである。
【００１９】
本発明の別の目的は、本発明の少なくとも１つの実施形態において、任意のサンプリング速度で任意の種類の同期ストリームに対して実行される技術を実現することである。
【００２０】
本発明の別の目的は、本発明の少なくとも１つの実施形態において、実現するのが単純であり且つコストが安価な技術を実現することである。
【課題を解決するための手段】
【００２１】
本発明は、複数のノードを含む通信ネットワークにおいて、ソースノードからネットワークサイクルに従ってコンテンツを宛先ノードに送信する方法であって、
前記ソースノードは、前記ソースノード及び前記宛先ノードのデータ送信のためのローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記ソースノードは、
連結データブロックを形成するために、Ｐ個の連続するローカルサイクルにおける前記コンテンツの送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードから送信するデータを連結するステップと、
後続するネットワークサイクル中に前記ソースノードに割り当てられた時間中に前記連結データブロックを送信するステップと、を実行することを特徴とする。
【００２２】
従って、以下に図２Ａを参照して説明するように、特にネットワークサイクルが各ノードのローカルサイクル（又はＴＤＭサイクル）の倍数であり且つローカルサイクル（又はＴＤＭサイクル）の所定の集合における連結後のデータが所定のサイクルにおいて送出されるため、ノードの出力において同期してコンテンツを提示する技術を提供する。
【００２３】
前記連結ステップは、ネットワークサイクルと同期したＰ個の連続するローカルサイクルにおいて実行される。
【００２４】
また、データの連結は、ネットワークサイクル中に行なわれるため、ネットワーク上のデータ送信シーケンスにおけるソースノードの時間の位置に関係なく、次のネットワークサイクル中にそのように形成されたデータブロックの送信が可能となる。
【００２５】
また、前記連結ステップは、前記コンテンツの送信に割り当てられた空仮想チャネルに対応するタイムスロット内で前記ソースノードから送信するデータがない場合にパディング情報を挿入する。
【００２６】
例えば、書き込みモードで割り当てられた仮想チャネル（すなわち、生成器アプリケーションにより通信ネットワークに与えられた１つのコンテンツのデータの送信用に設計された仮想チャネル）において生成器アプリケーションから取得されるデータサンプルが存在しない場合、ノードは記号「ヌル」（パディング情報）を書き込む。そのような「ヌル」記号の導入により、ローカルサイクル（又はＴＤＭサイクル）の期間は生成器アプリケーションにより使用されるサンプリング周波数の幅広のスペクトルに適応され、それと同時に判定された正確な時点での受信機アプリケーションへのデータの配信を保証する。ローカルサイクル（又はＴＤＭサイクル）のクロッキング周波数(clocking frequency)の倍数でも約数でもないサンプリング周波数は、ある特定のタイムスロット（又は仮想チャネル）内で、生成器アプリケーションがデータを与えないことを意味する。しかし、ソースノードが生成器アプリケーションから到着するデータストリームにおける区切りを識別するヌル記号を生成する場合、宛先ノードはデータストリームにおいて識別される区切りを再生成する際に受信機アプリケーションとのデータの供給の同期を維持してもよい（生成器アプリケーションにより使用される周波数と同一の周波数を使用して）。
【００２７】
また、前記パディング情報は、前記ソースノードが前記空仮想チャネルに対応する前記タイムスロット内で取得できるデータ量と等しい大きさを有する。
【００２８】
それにより、サンプリング周波数に関係なくソースノードにより送出されるフレームの一定の大きさが保証され、従って宛先ノードとのデータストリームの同期が容易になる。
【００２９】
また、前記連結ステップは、Ｐ個の連続するローカルサイクル中に、仮想チャネルのデータをグループ化するインターリービングステップを含む。
【００３０】
データは、ソースノードのローカルサイクル（又はＴＤＭサイクル）において使用される仮想チャネル（これは、宛先ノードのローカルサイクル（又はＴＤＭサイクル）において使用される仮想チャネルと同等である）に従ってグループ化される。送信ネットワーク上で発生するエラーが送信中の全てのコンテンツに影響することを防止するために、そのように取得されたグループ化（又はコンテナ又はチャンク）により誤り訂正機構（error correction mechanisms）を適用できる。これにより、ホームシネマアプリケーションにおいて、ネットワーク上の送信エラーが１つのスピーカにより復元されたオーディオチャネルのコンテンツにのみ影響し、他のスピーカにより復元されたオーディオチャネルのコンテンツに影響を与えないようにできる。
【００３１】
また、本発明は、ソースノードからネットワークサイクルに従って送信されるコンテンツを受信する宛先ノードであって、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々のデータ送信のためにローカルサイクルを規定するクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるＰ倍（Ｐ≧１）であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの送信に割り当てられ、
前記宛先ノードは、
前記ソースノードに割り当てられた時間中に連結データのブロックを受信する受信手段と、
前記コンテンツの送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと関連付けられるデータを前記連結データの受信ブロックから抽出する抽出手段と、
前記抽出したデータを前記宛先ノードのアプリケーションに供給する供給手段と、を含む。
【００３２】
従って、データブロックを受信する宛先ノードは、判定された仮想チャネル（読み出しモードで割り当てられた仮想チャネル）において、判定されたローカルサイクル（又はＴＤＭサイクル）中にアプリケーションにデータを提供する。出力がソースノードから出力される時点とそれらが宛先ノードによりアプリケーションに与えられる時点との間で、データはタイムスタンピング情報が使用されずに固定の判定された遅延の影響を受ける。
【００３３】
また、前記宛先ノードは、前記コンテンツの送信に割り当てられた仮想チャネルと関連付けられるパディング情報を検出するステップを実行し、前記パディング情報は、前記供給ステップの間に前記アプリケーションに与えられない。
【００３４】
そのため、サンプリング周波数がローカルサイクル（又はＴＤＭサイクル）のクロッキング周波数の倍数又は約数でない場合であっても、受信側のアプリケーション及びソースノードの同期を維持する。
【００３５】
また、前記パディング情報は、前記パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有する。
【００３６】
それにより、送信側のサンプリング周波数に関係なくソースノードにより送出されるフレームの一定の大きさが保証され、従って宛先ノードによるアプリケーションとのデータストリームの同期が容易になる。
【００３７】
また、前記宛先ノードは、前記パディング情報が関連付けられる前記仮想チャネルに対応する前記タイムスロット内で前記パディング情報を消去する。
【００３８】
ネットワークサイクル中に受信したデータは、Ｐ個のローカルサイクル（又はＴＤＭサイクル）中に送出されるべき順番でＦＩＦＯユニットに格納される。読み出しモードで割り当てられた仮想チャネルの開始を検出すると、宛先ノードは、ＦＩＦＯから次に入手可能なデータを抽出し、それが１つのパディング情報に対応するかを調査するためにそのデータを解析する。対応する場合、当該仮想チャネルの時間内でそのデータを消去する。次のデータは、次の読み出し割り当て仮想チャネルで受信機アプリケーションへ送信される準備ができている。
【００３９】
また、前記宛先ノードは、前記データをローカルサイクルにより再順序付けするデインターリービングステップを実行する。
【００４０】
データは、ソースノードのローカルサイクル（又はＴＤＭサイクル）において使用される仮想チャネル（これは、宛先ノードのローカルサイクル（又はＴＤＭサイクル）において使用される仮想チャネルと等しい）に従ってグループ化される。送信ネットワーク上で発生するエラーが宛先ノードから受信機アプリケーションに与えられる全てのコンテンツに影響することを防止するために、そのように取得されたグループ化（又はチャンク）により誤り訂正機構を適用できる。
【００６２】
本発明の他の特徴及び利点は、以下の限定しない例として与えられる本発明の好適な実施形態の説明及び添付の図面から明らかとなるだろう。
【発明を実施するための最良の形態】
【００６３】
本発明の特定の一実施形態に係る送受信方法の特定の応用例によると、以下において、図１に示す５．１ホームシネマ又はホームシアターネットワークである通信ネットワーク１０００の状況を説明する。当然、本発明は、７．１ホームシネマネットワークにおいても適用できる。
【００６４】
本発明の少なくとも１つの他の実施形態に係る方法は、いくつかの並行する同期アプリケーションを同時に実現する必要がある任意の通信ネットワークにおいて実現される。通信ネットワークは、例えば以下のネットワークのうちの１つである。
【００６５】
表示装置に接続された複数のメディアソースに基づくネットワーク（マルチポイントツーポイントネットワーク）、
複数の表示装置に接続された複数のメディアソースに基づくネットワーク（マルチポイントツーマルチポイントネットワーク）。
【００６６】
５．１ホームシネマネットワーク１０００において、スピーカはメッシュ無線ネットワーク１０１を使用してオーディオソースに接続される。
【００６７】
５．１ホームシネマネットワーク１０００は、オーディオビデオソース端末１０２（例えば、ＤＶＤリーダ）、テレビ画面１０３、中央スピーカ１０４と呼ばれる第１のスピーカ１０４、サブウーファ１０５と呼ばれる第２のスピーカ１０５、前方左スピーカ１０６と呼ばれる第３のスピーカ１０６、前方右スピーカ１０７と呼ばれる第４のスピーカ１０７、右アンビエンススピーカ１０８と呼ばれる第５のスピーカ１０８、左アンビエンススピーカ１０９と呼ばれる第６のスピーカ１０９を含む。各スピーカは、ソース端末１０２により配信された６つのオーディオチャネルのうちの１つを再生する。
【００６８】
メッシュ無線ネットワーク１０１を構築するために、本発明は、以下においてＷＳＣ（「無線サラウンドコントローラ」）ノード１１０と呼ばれる無線アンビエンスコントローラ（wireless ambience controller）１１０、並びに以下においてＷＡＳノード（「無線アクティブスピーカ」）１１１と呼ばれる第１、第２、第３、第４、第５及び第６のアクティブ無線ノード１１１を実現する。各ＷＡＳノードは、上記スピーカの１つと関連付けられる。
【００６９】
ＷＡＳノード１１１の機能は、無線メッシュノード１０１においてそのＷＡＳノードが関連付けられるスピーカとＷＳＣノード１１０との間にインタフェースをセットアップすることである。各ＷＡＳノード１１１は、そのＷＡＳノードが同軸ケーブル１１６により関連付けられるスピーカに接続される。所定のＷＡＳノード１１１に対して、ケーブル１１６は、増幅器及びデジタル／アナログ変換器の場所（ＷＡＳノード又はスピーカにおける）に依存してデジタル又はアナログオーディオ信号を搬送する。
【００７０】
ＷＡＳノード１１１及びＷＳＣノード１１０は、電源コネクタ１１３（図１において、この電源コネクタはノード１１０、１１１の各々に対して表されていない）によりそれぞれ電源が投入され、無線通信を実現するために１つのアンテナ１１２をそれぞれ含む。アンテナ１１２は、電子的に制御される電磁アンテナであるのが好ましい。
【００７１】
ＷＳＣノード１１０は、ケーブル１１５を使用してオーディオビデオソース端末１０２により送信されるオーディオビデオストリームを受信する。その後ＷＳＣノード１１０は、受信したオーディオビデオストリームから得られるデジタルビデオデータを無線通信を使用して全てのスピーカに送信し、受信したオーディオビデオストリームからのデジタルビデオデータをケーブル１１４を介してテレビ画面１０３に送信する。例えばケーブル１１４及び１１５は、ＨＤＭＩ（「高品位マルチメディアインタフェース」）プロトコルに準拠するケーブルである。ソース端末１０２又はＷＳＣノード１１０は、各チャネルのオーディオデータサンプルを識別及び分離するためにオーディオチャネル復号器を含む。更に、それらはアンビエンスプロセッサを含み、部屋の音響特性に関してオーディオサンプルの変形を行なう。
【００７２】
システムを更に小型化するために、ＷＳＣノード１１０がソース端末１０２に一体化されてもよく、各ＷＡＳノード１１１はそのＷＡＳノードが関連付けられるスピーカに一体化されてもよい。
【００７３】
本発明のネットワーク１０００において、以下の時間の制約が重要である。
【００７４】
同一のオーディオビデオコンテンツから得られるオーディオ信号とビデオ信号との間の相対的な時間遅れが最小限にされる必要があること、
種々のスピーカからの送信の間（オーディオチャネル間）の相対的な時間遅れが最小限にされる必要がある。
【００７５】
一般に「リップシンクロナイゼーション（lip synchronization）」と呼ばれる同一のオーディオビデオコンテンツから得られるオーディオ信号とビデオ信号との間の相対的な時間シフトが最小限にされる必要がある。ユーザの快適さのために、オーディオ信号とビデオ信号との間の相対的な時間遅れは、−３０ｍｓから＋１００ｍｓの範囲内である必要がある。無線接続の場合、無線送信機／受信機は送信に起因する時間遅れを追加する。オーディオ信号はビデオ信号に対してずれる。このずれが１００ミリ秒より大きくなる場合、ソース端末１０２の出力においてビデオ信号を遅延させる必要がある。
【００７６】
ホームシネマネットワーク１００において、一般にユーザに対する受信基地とスピーカとの距離は当該スピーカによって変動する。空気中の音の伝播速度（約３４３ｍ／ｓ）のために、スピーカから受信基地までの音波の伝播時間はオーディオチャネル毎に異なる。例えば、２つのオーディオチャネル間の３４ｃｍの伝播経路の違いは、２つのオーディオチャネル間の受信時の１ｍｓの時間遅れを示す。従って、許容できる相対的な時間遅れ（すなわち、１００μｓ未満）を維持するために、殆どのホームシネマシステムは、それら時間遅れを自動的に補償する機構を実現する。
【００７７】
メッシュネットワーク１０１の導入の際には、時間の制約に準拠することに特に注意するべきである。本発明は、ネットワークにおける送信時間が固定されることを保証する。更に、ネットワーク１０００において、距離の影響による時間遅れはＷＡＳ１１１の出力において補償される。
【００７８】
各ＷＡＳノード１１１は、その消費者（受信機）アプリケーション層でオーディオサンプルを同時に配信する。このオーディオサンプルは、ＷＡＳノードに共通の固定の遅延後にＷＳＣ１１０の生成器（又は送信側）アプリケーションから到着する。距離の影響による時間遅れは、増幅段階に入る前に各ＷＡＳノードにおいて補償される。
【００７９】
この図１のネットワーク１０００において、１対Ｎ（Ｎ＝６）通信（すなわち、ポイントツーマルチポイント通信（point‐to‐multipoint type communication）はＷＳＣノード１１０から６つのＷＡＳノード１１１に対して行なわれる。ＷＳＣノード及びＷＡＳノードの各々はデータを送出（又は送信）及び受信でき、それによりＮ対Ｎ、すなわちマルチポイントツーマルチポイント通信がセットアップされるのが有利である。
【００８０】
以下において、ネットワーク１０００におけるＷＳＣノードを介するオーディオコンテンツ等のアプリケーションのブロードキャストの状況を説明する。
【００８１】
本発明の送受信方法（図１２〜図１８を参照して更に詳細に説明する）は、ＷＳＣノード１１０及びＷＡＳノード１１１等のネットワーク１０００のいくつかのマシンにおいて実行されるソフトウェアプログラム及び／又は複数のソフトウェアサブプログラム（以下に説明する複数のアルゴリズムを含む）の形態で実現される。
【００８２】
図２Ａ及び図２Ｂを参照すると、図１のネットワーク１０００のＷＳＣノード１１０及びＷＡＳノード１１１におけるオーディオデータのサンプルの時間経過のグラフの例が提供される。
【００８３】
図２Ａ（本発明に係る送受信方法のネットワーク１０００全体に対する包括的な図を提供する）に示すように、ＷＳＣノード１１０は、時間軸上に表される第１のＴＤＭ（「時分割多重方式」）バス２０１のクロッキングを生成する。この第１のＴＤＭバスにおいて、ＴＤＭサイクル開始事象は矢印２０２により表され、無線メッシュネットワーク１０１上の送信に対するサイクル開始識別事象（ネットワークサイクル）は矢印２０３により表される。この図２Ａにおいて、第１のノードＷＡＳ１、第２のノードＷＡＳ２、第３のノードＷＡＳ３、第４のノードＷＡＳ４、第５のノードＷＡＳ５及び第６のノードＷＡＳ６を含むＷＡＳノード１１１のうち第２のＷＡＳノードＷＡＳ２のみが表される。これは、第２のＴＤＭバス２２１のクロッキングを生成する。
【００８４】
各ＷＡＳノード、すなわち第１のノードＷＡＳ１、第２のノードＷＡＳ２、第３のノードＷＡＳ３、第４のノードＷＡＳ４、第５のノードＷＡＳ５及び第６のノードＷＡＳ６の各々は、第１のオーディオチャネル（以下においてチャネル１と呼ぶ）、第２のオーディオチャネル（以下においてチャネル２と呼ぶ）、第３のオーディオチャネル（以下においてチャネル３と呼ぶ）、第４のオーディオチャネル（以下においてチャネル４と呼ぶ）、第５のオーディオチャネル（以下においてチャネル５と呼ぶ）及び第６のオーディオチャネル（以下においてチャネル６と呼ぶ）とそれぞれ関連付けられる。尚、ホームシネマアプリケーションの場合、同一のオーディオチャネルが２つのスピーカに送信される（単純な「サラウンド」効果のため）。
【００８５】
ノードＷＡＳの第２のＴＤＭバス２２１における各ネットワークサイクル開始識別事象２２３は、ＷＳＣノード１１０における第１のＴＤＭバス２０１のネットワークサイクル開始識別事象と同期される。これらの例において、その開始がネットワークサイクル開始により印をつけられている無線メッシュネットワーク１０１の１つのサイクル中に、ＴＤＭ０〜ＴＤＭ７で示される８つのＴＤＭサイクルが存在する。
【００８６】
無線メッシュネットワーク１０１のスーパーフレーム(super‐frame)は、７つのＭＡＣフレーム２１０〜２１６を含む。各ＭＡＣフレームは、ネットワークサイクル中にメッシュネットワーク１０１のノードＷＳＣ、ＷＡＳ１、ＷＡＳ２、ＷＡＳ３、ＷＡＳ４、ＷＡＳ５及びＷＡＳ６のうちの１つによるデータの送出に対応する。第１のＭＡＣフレーム２１０はＷＳＣノード１１０により送出される。第２のＭＡＣフレーム２１１はノードＷＡＳ１により送出される。第３のＭＡＣフレーム２１２はノードＷＡＳ２により送出される。第４のＭＡＣフレーム２１３はノードＷＡＳ３により送出される。第５のＭＡＣフレーム２１４はノードＷＡＳ４により送出される。第６のＭＡＣフレーム２１５はノードＷＡＳ５により送出される。第７のＭＡＣフレーム２１６はノードＷＡＳ６により送出される。
【００８７】
ＷＳＣノード１１０において、チャネル１〜チャネル６と呼ばれるオーディオチャネルに対するオーディオサンプルは、チャネル１に関連付けられる第１のデータストリーム送信ＦＩＦＯ（先入れ先出し法）２０５．１、チャネル２に関連付けられる第２のデータ送信ＦＩＦＯ２０５．２、チャネル３に関連付けられる第３のＦＩＦＯ２０５．３、チャネル４に関連付けられる第４のＦＩＦＯ２０５．４、チャネル５に関連付けられる第５のＦＩＦＯ２０５．５、チャネル６に関連付けられる第６のＦＩＦＯ２０５．６においてそれぞれ収集される。
【００８８】
これらの例において、ＴＤＭサイクル（ＴＤＭバスのうちの１つ、すなわち第１のバス２０１及び第２のバス２２１の一方の）は、固定の１２５μｓの期間を有し、オーディオサンプリング周波数は９６ｋＨｚである。これは、各ＴＤＭサイクルにおいて、ＷＳＣノード１１０のＦＩＦＯ２０５．１〜２０５．６で使用可能なチャネル毎に１２個の新しいオーディオサンプルが存在することを意味する。
【００８９】
図２Ｂ（ＷＳＣノード１１０における本発明の送信方法の特定の図を提供する）に更に正確に示すように、ＷＳＣノード１１０は、ＦＩＦＯ２０５．１〜２０５．６に収集されたデータから第１のバス２０１のＴＤＭサイクル２０４を満たす。そのために、ＴＤＭサイクル（１２５μｓの期間）２０４は、タイムスロットに対応するある特定の数の仮想チャネル、例えば１００個の仮想チャネルＶＣ０〜ＶＣ９９に分解される。オーディオサンプルの大きさと等しい仮想チャネル容量（例えば、２４ビット）を例にすると、それら仮想チャネルのうち７２個がオーディオチャネル（書き込み動作又は読み出し動作のための）に事前に割り当てられるか又は使用される（図４を参照して以下に示され且つ図８を参照して以下に説明されるように、例えばネットワーク１０１の各ノードにアクセス可能なＴＤＭ配信TDM_MAPレジスタに格納された所定のシーケンスに従って）。残りの２８個の仮想チャネルは解放され、他のデータコンテンツを転送するのに使用されてもよい。
【００９０】
通信ノード内のチャネルに対する「読み出し動作」という用語は、通信ネットワークから到着するデータを取得する動作を示し、消費者アプリケーションに対するものである。通信ノード内のチャネルに対する「書き込み動作」という用語は、生成器アプリケーションから到着するデータを取得する動作を示し、通信ネットワークに対するものである。
【００９１】
従って、ＷＳＣノードに対して、オーディオコンテンツのために確保された７２個の仮想チャネルは読み出しに割り当てられ、各ＷＡＳノードに対して、それら７２個の仮想チャネルのうち１２個が書き込みに割り当てられる（各ＷＡＳノードは、そのＷＡＳノードが関連付けられるスピーカにより再現される必要がある１つのオーディオチャネルを有する）。
【００９２】
従って、所定のシーケンスは例えば以下を示す。
【００９３】
サイクル２０４の第１の仮想チャネルＶＣ０は、第２のＦＩＦＯ２０５．２と関連付けられる第２のオーディオチャネル２に割り当てられるため、仮想チャネルＶＣ０内で、ＷＳＣノードは第２のＦＩＦＯ２０５．２のサンプルを検索し、
サイクル２０４の第２の仮想チャネルＶＣ１は、第３のＦＩＦＯ２０５．３と関連付けられる第３のオーディオチャネル３に割り当てられるため、仮想チャネルＶＣ０内で、ＷＳＣノードは第３のＦＩＦＯ２０５．３のサンプルを検索し、
．．．、
サイクル２０４の第７１の仮想チャネルＶＣ７１は、第４のＦＩＦＯ２０５．４と関連付けられる第４のオーディオチャネル４に割り当てられるため、仮想チャネルＶＣ０内で、ＷＳＣノードは第４のＦＩＦＯ２０５．４のサンプルを検索する。
【００９４】
ＷＳＣノードは、メッシュネットワーク１０１の１つのサイクルを構成する８つのＴＤＭサイクル中にアプリケーションにより書き込まれたデータを検索し、内部メモリ２０６に配置される連結集合をセットアップするためにそれらデータを連結する（例えば、インターレース技術を使用して）。それらデータは、メッシュネットワーク１０１のサイクルＣ＋１中にＷＳＣノードに付与された次の音声時間にＭＡＣフレーム２１０に送出される。同様に、ノードＷＡＳ１〜ＷＡＳ６の各々は、それぞれに割り当てられた（割り付けられた）音声時間を有する。この音声時間中、当該ノードはＭＡＣフレーム（２１１〜２１６のそれぞれ）を送出する。ノードの割り当てられる（又は割り付けられる）音声時間（speech time）は、
送信シーケンスにおいてそのノードに先行するノードが送出を停止し且つ待ち時間又はギャップを追加された（アンテナの再方向付けを可能にし且つ無線ネットワーク１０１に固有のジッタを補償するために）時点に依存する開始時間と、
ノードが送信する（バーストモード）必要のあるデータ数に依存する時間間隔と、より規定される。
【００９５】
ＷＳＣノードにより送出された連結パケットは、ノードＷＡＳ１〜ＷＡＳ６の集合により受信され、各ノードは各々に対するデータを検索する。例えば、ＷＡＳノード２は、第２のＴＤＭバス２２１上のＷＳＣノードにより送出された上記連結パケットのデータパケット及びその連結パケットから得られるそのノードに対するデータを配信する前に、その連結パケットを内部メモリ２０７に配置する。
【００９６】
図２Ａは、メッシュネットワーク１０１のＣで示されるサイクル中にＴＤＭバス上に存在し且つＣ＋１で示される次のサイクル中にＷＳＣ１１０によりバーストモードで送出されるオーディオサンプルの取得について特に示す。メッシュネットワーク１０１のＣ＋１で示されるサイクルの第１のＴＤＭサイクルの開始時、ＦＩＦＯ２０５．１〜２０５．６はＴＤＭバス２０１で割り当てられた仮想書き込みチャネルの周期で読み出され、その集合はメモリ２０６に転送される。これは、ＦＩＦＯ２０５．１〜２０５．６で入手可能な新しいオーディオサンプルに対して８ＴＤＭサイクル分繰り返される。メッシュネットワーク１０１のＣ＋１で示されるサイクルの第８のＴＤＭサイクルの終了時、メモリ２０６は、メッシュネットワーク１０１の１サイクルの期間に対応する８ＴＤＭサイクル中に収集されたオーディオサンプルを含む。メモリ２０６は、合計で１２サンプル×６チャネル×８ＴＤＭサイクル＝５７６個のオーディオサンプルを有する。
【００９７】
ネットワークサイクルＣ＋２のＷＳＣノードに与えられる次の音声時間において、ＷＳＣ１１０は、無線メッシュネットワーク１０１においてＭＡＣフレーム２１０を送出する。このＭＡＣフレーム２１０は、そのペイロードデータに上記５７６個のオーディオサンプルを含む。
【００９８】
各ＷＡＳノード、特にＷＡＳノード２は、ＷＳＣノード１１０により送出されるＭＡＣフレーム２１０を受信する。ＷＳＣにより送出されるＭＡＣフレーム２１０の受信の開始時点は、メッシュネットワーク１０１のサイクルの開始を当該ＷＡＳノードに指示する。各ＷＡＳノードはこの指示に対してそのＴＤＭバスの次のＴＤＭの開始を同期させる。メッシュネットワークのＷＡＳノードのＴＤＭバスの集合は、ＷＳＣノード１１０のＴＤＭバスのクロッキングと同期される。
【００９９】
この場合、各ＷＡＳノードは、ネットワークサイクルＣ＋１の終了時にＷＳＣノードから到着するＭＡＣフレームを受信したと考えられる。図２Ａは、ノードＷＡＳ２に含まれる受信メモリ２０７を特に提示する（各ＷＡＳノードはこの種の内部メモリを含む）。この受信メモリ２０７は、ＷＳＣノードにより送信されたＭＡＣフレーム２１０から得られるデータ、すなわちメッシュネットワーク１０１のサイクルＣ中にＷＳＣノードにより事前に送出された５７６個のオーディオサンプルを含む。
【０１００】
メッシュネットワーク１０１のサイクル開始事象２２３の発生時、各ＷＡＳノードは、先行するネットワークサイクルから得られ且つ内部メモリ（例えば、ノードＷＡＳ２の場合は受信メモリ２０７）に格納されたデータを抽出する。図２Ａに示すように、ノードＷＡＳ２は、チャネル２に対するオーディオサンプルを受信メモリ２０７から同期ストリーム受信ＦＩＦＯ２０９に転送するために、そのノードＷＡＳ２のＴＤＭバス２２１に割り当てられた仮想読み出しチャネルを使用する。所定のオーディオチャネルと関連付けられるデータの転送のためにＷＡＳのＴＤＭバスに割り当てられた仮想読み出しチャネルは、その所定のオーディオチャネルの同一オーディオデータを転送するためにＷＳＣ１１０のＴＤＭバスに割り当てられた仮想書き込みチャネルに対応する。
【０１０１】
従って、図２Ｂを参照すると、ＷＳＣ１１０のＴＤＭバスの仮想チャネルＶＣ１は、オーディオチャネル２のデータの書き込み（生成器アプリケーションのデータの検索）に割り当てられる。ノードＷＡＳ２のＴＤＭバスの仮想チャネルＶＣ１は、オーディオチャネル２のデータの読み出し（消費者アプリケーションへのデータの提示）に割り当てられる。
【０１０２】
ネットワークサイクルＣ＋２（不図示）に続くネットワークサイクルＣ＋３（不図示）の第１のＴＤＭサイクルの後、ＦＩＦＯ２０９はオーディオチャネル２に対する１２個の新しいオーディオサンプルを含む。これらオーディオサンプルは、ノードＷＡＳ２が関連付けられるスピーカ（消費者アプリケーション）に９６ｋＨｚのサンプリング速度で配信される準備ができている。この動作は、各ＴＤＭサイクルで繰り返される。アプリケーションが開始されると、各ＷＡＳは、第１のＴＤＭ読み出しサイクルから得られる最初の１２個のオーディオサンプルが受信ＦＩＦＯに存在するようになるのを待ち、次のＴＤＭサイクルの開始時にスピーカへのデータの転送を開始する。その結果、所定のチャネルと関連付けられる各ＷＡＳノードは、全てのＷＡＳノードに同一の所定の正確な時点でその所定のチャネルのオーディオサンプルをスピーカに配信できる。
【０１０３】
従って本発明は、少なくとも一実施形態において、通信ノード内部のデータバスサイクルのＴＤＭ、すなわち時分割多重方式の機構に基づく。そのために、読み出し及び書き込みタイムスロットの割り当ては通信ネットワークの全てのノードにわたり配信される。各ノードは、ローカルクロックによりクロック制御され、ネットワークの種々のノードのローカルクロックは位相及び周波数に関して同期される。
【０１０４】
各ＴＤＭサイクルは、整数Ｍ（Ｍは、例えば少なくともネットワーク上のノード数と等しい）個の仮想チャネルを含む。各仮想チャネルは、ノードによる書き込みに費やされるタイムスロットと関連付けられる。この条件により、各ノードは、メッシュネットワーク１０１上で通信するためにＴＤＭサイクルにデータを導入できるようにＴＤＭサイクルにおいて少なくとも１つの確保された仮想チャネルを有することが保証される。更に、時分割多重方式、すなわちＴＤＭは、ネットワークの最大のデータビットレートを吸収できるような大きさにされる（特に、ＴＤＭサイクル毎の仮想チャネル数及び仮想チャネルのビットでの大きさに関して）のが好ましい。
【０１０５】
ＴＤＭサイクル中、各ノードは以下を有するのが好ましい。
【０１０６】
データを入力するための所定の整数Ｘ（Ｘ≧１）個の仮想書き込みチャネル
データを取得するための所定の整数Ｙ（Ｍ≧Ｘ＋Ｙ）個の仮想読み出しチャネル。
【０１０７】
ネットワークの各ノードは、ネットワークの各ノードに存在するＴＤＭ配信レジスタ又はＴＤＭマップレジスタTDM_MAP４１５に永続的に格納されたチャネルの配信のテーブルを介して、書き込みモードで割り当てられるＴＤＭサイクルの仮想チャネル、すなわち書き込み割り当てチャネルを判定できる。
【０１０８】
各ＴＤＭサイクルにおいて、各ノードは、割り当てられた仮想書き込みチャネルを使用して、送信ＦＩＦＯ（例えば、ノードＷＡＳ２の場合はＦＩＦＯ２０６）にデータサンプルを書き込む。ノードは、割り当てられた仮想書き込みチャネルに書き込まれるデータサンプルが存在しない場合、すなわち対応するアプリケーションＦＩＦＯ（例えば、ＷＳＣに対するＦＩＦＯ２０５．１〜２０５．６のうちの１つ）が空である場合は「ヌル（null）」記号を書き込む。そのような「ヌル」記号の導入により、通信ネットワーク１０１上のノードの音声時間間隔をアプリケーションのサンプリング周波数（すなわち、アプリケーションにより送出されるデータ量）と無関係にする。
【０１０９】
ノードが所定の数のＴＤＭサイクル（メッシュネットワーク１０１のサイクルの期間に対応する）中に所定の量（書き込みモードでノードに割り当てられた仮想チャネル数に対応する）のデータ集合を連結するということに加え、メッシュネットワーク１０１上の各ノードの音声時間は、バーストモードにおいて管理され且つ決定論的である。
【０１１０】
整数Ｐ（Ｐ≧１）個のＴＤＭサイクル中、各ノードはＴＤＭバスから収集されたデータを連結する。Ｐ個のＴＤＭサイクルの期間は、メッシュネットワーク１０１のサイクルの期間に対応する。Ｐ個のＴＤＭサイクルの終了時、各ノードは、連結データを含むＭＡＣデータフレームを作成する。各ノードは、続くネットワークサイクル内でメッシュネットワークに連続的にアクセスしてＭＡＣフレームを送出する。
【０１１１】
各ノードは、他のノードから到着するＭＡＣフレームを受信し、受信したデータを受信ＦＩＦＯの１つに格納する。少なくともネットワークの待ち時間（例えば、ネットワークサイクルの期間）より長い、ある固定期間の後、各ノードは、ネットワーク上で送出されたＭＡＣフレームの集合を受信している。従って、各ノードは次のネットワークサイクルの開始を待つ。この正確な時点において（次のネットワークサイクルの開始時）、各ノードは、読み出しモードで割り当てられる仮想チャネルで受信したデータの抽出を開始する。
【０１１２】
ＴＤＭマップレジスタTDM_MAP４１５に格納されたテーブルを介して、各ノードは、読み出しモードで割り当てられた仮想チャネルを認識する。仮想読み出しチャネルの開始を識別する事象の発生時、ノード（仮想チャネルが割り当てられた）は受信時に適切な受信ＦＩＦＯからデータサンプルを取得する。「ヌル」記号が検出される場合、対応するサンプルは使用されず消去される。任意の他の記号は、その記号が属するオーディオチャネルの消費者アプリケーションに提示するために割り当てられた仮想チャネル内でノードの出力において存在する。
【０１１３】
その結果、アプリケーションのデータサンプルは、アプリケーションを事前に受信したノード（サンプルの送信機）の入力において提示された順番と同一の順番でノード（それらサンプルを受信する）の各々の出力において提示される。更に、少なくとも２つの宛先ノードが出力においてデータコンテンツの同一部分を提示する場合、データサンプルが各宛先ノードにおいて同一ＴＤＭサイクルの同一タイムスロットで提示されるため、ネットワークのそれらノードの各々は同一の所定の正確な時点においてアプリケーションのデータサンプルを提示する。ここで、宛先ノードのクロックは位相及び周波数に関して同期される。ネットワーク上でブロードキャストされるデータサンプルは、同一の所定の正確な時点でネットワークの複数のノードの出力において提示されてもよい。
【０１１４】
図３は、無線メッシュネットワーク１０１における送信のネットワークサイクル３１３を提示する。
【０１１５】
スーパーフレーム３００は、例えば１ｍｓの固定期間のネットワークサイクル３１３の一部である。この期間において、ネットワーク１０１の各ノードＷＳＣ又はＷＡＳはその音声時間中に事前定義済みの送信シーケンスに従ってＭＡＣフレームを無線メッシュネットワーク１０１に送出する。従って、フレーム１はＷＳＣノード１１０により送出され、第２のフレーム（フレーム２）〜第７のフレーム（フレーム７）は第１のＷＡＳノード〜第６のＷＡＳノードによりそれぞれ送出される。それら第１のＭＡＣノード〜第７のＭＡＣノードはスーパーフレーム３００を形成する。
【０１１６】
スーパーフレーム３００の第１のフレーム（フレーム１）は、ＷＳＣノード１１０であるマスタノードのＭＡＣフレームの送信に対応する。このフレームを「head_frame」と呼ぶ。ノードＷＡＳ１〜ＷＡＳ６はスレーブノードである。ＷＳＣノード１１０は、ネットワークサイクル開始信号２０３を生成する際にメッシュネットワーク１０１をクロック制御し且つメッシュネットワークのサイクルを規定するネットワークのノードである。
【０１１７】
各ＭＡＣフレームは、ＭＡＣヘッダ３０８及びペイロードデータフィールド３０９を含む。ＭＡＣヘッダ３０８は、
スーパーフレーム３００を識別する「SF_id」フィールド３１０と、
スーパーフレーム中のフレームのシーケンスにおいてＭＡＣフレームを識別する「MF_id」フィールド３１１と、
ＭＡＣフレームを送出するノードの識別子を含む「NODE_id」フィールド３１２と、の３つのフィールドを有する。
【０１１８】
「inter_frame３１６．１〜３１６．７」で示されるフレーム間の待ち時間又はギャップは、ネットワークの種々のノードにより生成されるジッタを吸収し且つ送信モードと受信モードとの切り替え又はアンテナの再方向付けを可能にするために、フレーム１〜フレーム７のフレーム間で計画される。
【０１１９】
図４は、本発明の特定の実施形態に係る無線メッシュネットワーク１０１の汎用ノード４００を示す図である。
【０１２０】
例えば、無線メッシュネットワーク１０１のＷＳＣノード及びＷＡＳノードの各々は汎用ノード４００と同一である。
【０１２１】
汎用ノード４００は、以下の５つのモジュールを含む。
【０１２２】
データ送信（又は生成）モジュールからデータを取得し且つデータ受信（又は消費）モジュールにデータを提供又は提示する役割を果たすデータ提示モジュール４０１。
【０１２３】
メッシュネットワーク１０１のノード内でＴＤＭ時分割多重方式を実現する役割を果たすＴＤＭマネージャモジュール４０２ａ（このモジュール４０２ａは、データ提示モジュール４０１によりトランスポート層として使用される）。
【０１２４】
無線メッシュネットワーク１０１の実現を可能にし、ＴＤＭマネージャモジュール４０２ａの仮想チャネルの形式の構成と以下に説明するＭＡＣ同期モジュール４０３のＭＡＣフレームの形式の構成との間の適応を行なうＭＡＣ適応モジュール４０２ｂ。
【０１２５】
メディアアクセスプロトコルを実現するＭＡＣ同期モジュール４０３。これは、再送信誤り訂正及びメディアアクセス同期化を管理する。スレーブノードの場合、このモジュールはＴＤＭマネージャモジュール４０２ａのタイミングの同期を行なう。また、以下に説明する無線モジュール４０４に向けられるか又は無線モジュール４０４から到着するデータの変調及び復調を実行する。
【０１２６】
無線モジュール４０４は、メディアへのアクセスのアナログ部分である。これは、ミリメートル波を使用して通信（送信／受信）するために適応される。
【０１２７】
送信機（又は生成器）アプリケーションから到着するデータは、Fs_INで示される周波数で送信機（又は生成器）アプリケーションにより同期ストリーム送信ＦＩＦＯ（ＳＳＴＦ）４０８の集合に格納される。
【０１２８】
受信機アプリケーションに向けられるデータは、ＴＤＭバスマネージャ４１４によりＳＳＲＦ（同期ストリーム受信ＦＩＦＯ）４０７の集合に格納される。これらデータは、Fs_OUTで示される周波数で受信機アプリケーションにより読み出される。
【０１２９】
アプリケーションは、同期メッセージ受信ＦＩＦＯ（ＳＭＲＦ）４１０の集合及び同期メッセージ送信ＦＩＦＯ（ＳＭＴＦ）の集合を含む１組のＦＩＦＯ及びコマンドマネージャインタフェース４０９を使用して制御コマンドを送受信できる。汎用ノード４００は、ＴＤＭバスマネージャ４１４により使用される基準クロック４０５を含み、ＴＤＭサイクル及びネットワークサイクルを規定する。この基準クロックは、位相同期ループ（ＰＬＬ）４０６によっても使用され、周波数Fs_OUTを生成する。
【０１３０】
周波数Fs_OUTを生成するための位相同期ループ（すなわちＰＬＬ）４０６の構成は、コマンドマネージャインタフェース４０９により達成される。汎用ノード４００の入力において、コマンドマネージャノード４０９は、同期メッセージ送信ＦＩＦＯ４１１を介して周波数Fs_INの値を検出及び送信する。遠隔ノード（すなわち、ノード４００に対して遠隔）において、この遠隔ノードのコマンドマネージャインタフェースは、この遠隔ノードの同期メッセージ受信ＦＩＦＯを介して周波数Fs_INの値を受信する。従って、遠隔ノードは、同一の周波数の値を配信するために位相同期ループを構成できる。
【０１３１】
ＴＤＭバスマネージャ４１４は、データバス４３５を制御する。データバス４３５は、以下のＦＩＦＯ、すなわちＳＳＲＦ４０７、ＳＳＴＦ４０８、ＳＭＲＦ４１０、ＳＭＴＦ４１１と、「ヌルアナライザ４１６」と呼ばれる「ヌル」値を解析するためのデバイス４１６と、「ヌルインサータ４１８」と呼ばれる「ヌル」値を挿入するためのデバイス４１８とを接続する。ＴＤＭバスマネージャ４１４は、上述のＴＤＭマップレジスタTDM_MAP４１５により規定されるようなＴＤＭ仮想チャネル上にアプリケーションデータを配信する。
【０１３２】
各ＴＤＭサイクルにおいて、ＴＤＭバスマネージャ４１４は、書き込みモードで割り当てられた全ての仮想チャネルに対してＳＳＴＦ ＦＩＦＯ４０８又はＳＭＴＦ ＦＩＦＯ４１１から送信機アプリケーションのデータを読み出すようにヌルインサータデバイス４１８に要求する。全ての割り当てられた仮想チャネルを満足する程に十分なデータがＳＳＴＦ及びＳＭＴＦ ＦＩＦＯに存在しないということが発生する可能性がある。この場合、ヌルインサータデバイス４１８は、あるデータ量が失われている書き込み割り当て仮想チャネルを満たすように「ヌル」記号を追加する。
【０１３３】
更に各ＴＤＭサイクルにおいて、ＴＤＭバスマネージャ４１４は、SyncRF_from_MAC ＦＩＦＯ４１７からＴＤＭ値を取得するようにヌルアナライザデバイス４１６に要求する。それらデータは、ＴＤＭマップレジスタTDM_MAP４１５を使用してＳＳＲＦ４０７又はＳＭＲＦ４１０に書き込まれる。ある特定の仮想チャネルは「ヌル」記号を有するＴＤＭデータストリームを搬送する。ヌルアナライザデバイス４１６は、「ヌル」記号がＴＤＭバスマネージャ４１４によりアプリケーションデータとして解釈されないように「ヌル」記号を処理する。「ヌル」記号がヌルインサータデバイス４１８により挿入されたため、それら記号は受信機（又は消費者）アプリケーションに通信されるべきではない。書き込みモードで割り当てられた対応する仮想チャネルは空のままである。送信機（又は生成器）アプリケーションのビットレートに関わらず、各ネットワークサイクルにおいて同一データ量が汎用ノード４００により送出されること、すなわち汎用ノード４００が生成するＭＡＣフレームがネットワークサイクル間で固定の大きさを有することを保証するために、「ヌル」記号は使用される。更に受信機（消費者）アプリケーションは、周波数Fs_OUTでデータを検索する。周波数Fs_OUTは、送信機（又は生成器）アプリケーションにより使用される周波数Fs_INに対応し、以下に説明するようにデータの送信（又は生成）をクロック制御する。「ヌル」記号が受信機（又は消費者）アプリケーションに送信されないため、受信機（又は消費者）アプリケーションは、送信機アプリケーションが送信したデータをそれ以上受信せず、従ってデータの受信における時間遅れを防止し、ＳＳＲＦ ＦＩＦＯ４０７のオーバフローを防止する。「ヌル」記号により、データがある特定のＴＤＭサイクル数前にこの同一のデータを送出するためにソースノード上で使用された仮想チャネルと同一の仮想チャネル内でデータが提示されることを保証できる。
【０１３４】
「ＭＡＣ」適応モジュール４０２ｂのＭＡＣアダプタ４２８は、各ＴＤＭサイクルにおいてSyncTF_to_MAC ＭＡＣ ＦＩＦＯ４１９からの書き込み割り当て仮想チャネルからデータを取得する。ＭＡＣアダプタ４２８は、データブロックを形成するチャンクにＴＤＭ仮想チャネルを構成する。ＭＡＣフレームで搬送されたデータは、それらが関連付けられる仮想チャネルの関数としてグループ化される。ＭＡＣアダプタ４２８は、リンク４５７を使用してＴＤＭマップレジスタTDM_MAP４１５にアクセスすることにより書き込みモード（及び読み出しモード）で使用される仮想チャネルの割当てを認識する。それらチャンクは構築されると、ＭＡＣコントローラ４２０により配信されるTx_cycle_event４５１（汎用ノード４００の音声時間の開始を示す）で示される信号の受信中にＭＡＣフレームの形式で符号化モジュール４２４に送信される。その後それらチャンクは、汎用ノード４００により送出されるＭＡＣフレームのペイロードデータ３０９を構成する。
【０１３５】
同時に、信号Tx_cycle_event４５１が活性化されると、符号化モジュール４２４は、フィールドSF_id３１０、MF_id３１１及びNODE_id３１２に事前定義済みの値を割り当てる。
【０１３６】
ＦＥＣ（「順方向誤り訂正（Forward Error Correction）」）による訂正は、ＭＡＣフレームがＭＡＣフレーム変調器４２５に送信される前に符号化モジュール４２４によりＭＡＣフレームに対して行なわれるのが有利である。
【０１３７】
逆に、ＭＡＣフレームがＭＡＣフレーム復調器４２２により受信されると、ＭＡＣフレームは、ＦＥＣによる訂正を実行できるＭＡＣフレーム復号器４２３に送信される。
【０１３８】
ＭＡＣフレームのヘッダが正確である場合、frame_Rx_eventで示される信号がリンク４５４を使用して活性化されるのと同時に、ＭＡＣヘッダ３０８のMF_id３１１フィールドのframe_Rx_frame_idで示されるコピーがＭＡＣコントローラ４２０に送出される。この情報は、アクセス制御を同期させるために使用される。
【０１３９】
同時に、ＭＡＣヘッダ３０８のフィールドSF_id３１０のframe_Rx_eventで示されるコピー及びフィールドNODE_id３１２のframe_Rx_Node_idで示されるコピーは、リンク４５３を介してＭＡＣアダプタ４２８に送出される。ＭＡＣアダプタ４２８は、ＭＡＣフレーム復号器４２３により配信されるＭＡＣフレームのペイロードデータフィールド３０９のデータブロックを読み出し、それらをメモリに格納する。ＭＡＣアダプタ４２８は、チャンク形式でＭＡＣフレーム復号器４２３から到着するデータを受信する。すなわち、ＭＡＣフレームで搬送されるデータは、それらが関連付けられる仮想チャネルに従ってグループ化される。ＭＡＣアダプタ４２８は、ＴＤＭサイクルからＴＤＭサイクルへ、バス４３５で提示されるべき順番に従ってSyncRF_from_MAC ＦＩＦＯ４１７にデータを挿入するようにデータを再順序付けする役割を果たす。ＭＡＣアダプタ４２８は、リンク４５７を使用してＴＤＭマップレジスタTDM_MAPにアクセスすることにより読み出しモード（及び書き込みモード）で使用される仮想チャネルの割当てを認識する。
【０１４０】
ＭＡＣコントローラ４２０は、音声時間の開始（信号Tx_cycle_event４５１の生成）を判定し且つスレーブノードに対するネットワークサイクルの開始を表す信号（信号SF_slave_cycle_start５２４）を生成するために、ＭＡＣ同期処理を実現する役割を果たす。信号Tx_cycle_event４５１は、送信シーケンスにおいてそのノードに先行するノードが送信を中止し、アンテナの再方向付けを可能にし且つ無線ネットワーク１０１に固有のジッタを補償するために待ち時間間隔（又はギャップ）が追加された後、ノードがネットワーク上で送信又は送出を開始できる時点を示す。
【０１４１】
尚、マスタノードの場合、ネットワークサイクルの開始を表す信号は、信号SF_master_cycle_start５２０であり、ＴＤＭバスマネージャ４１４により生成される。ＭＡＣコントローラ４２０は、信号Antenna_Ctrl４５５を使用して受信時にアンテナ１１２の向きをチェックする。ここでは、メッシュネットワーク１０１の実現例の特定のモードにおいて、全てのノードが送信機ノードによりブロードキャストされる情報を受信すると同時に無線信号の送信に必要な電力を制限するために、ノードは、受信時にそれらの無線アンテナを方向付けし、送信時に全方向性モードでそれらアンテナを使用する場合が考えられる。
【０１４２】
ＲＦ（無線周波数）送信モジュール４３４は、無線送信機の通常の機能を実行する。例えば、変調器４２５の出力における中間周波数を無線送信により使用される搬送波の周波数に変換すること（高周波数への変換）、増幅、アンテナを介する送出等を実行する。
【０１４３】
ＲＦ（無線周波数）受信機モジュール４３３は、無線受信機の通常の機能を実行する。例えば、アンテナを介する受信、フィルタリング、レベルの検出、自動利得制御、低周波数への変換等を実行する。
【０１４４】
図５は、本発明の特定の実施形態に従って、汎用ノード４００のＴＤＭバスマネージャ４１４によるTDM_cycle_start信号５３１及びSF_cycle_start信号５３２（又は事象）の生成を示す。
【０１４５】
第１の比較器５０４と関連付けられた第１のカウンタ５０１は、各ＴＤＭサイクルにおいてパルスを生成する。
【０１４６】
第１のカウンタ５０１は、基準クロック４０５によりクロック制御される。第１の比較器５０４が第１のカウンタ５０１の出力とＴＤＭサイクルの期間を示す信号TDM_cycle_duration５１３の値とを比較するように、第１のカウンタ５０１の出力は、第１の比較器５０４の入力５１２に接続される。第１のカウンタ５０１が信号TDM_cycle_duration５１３の値に達すると、第１の比較器５０４の出力５３１は値１に切り替わり、第１のカウンタ５０１は以下に説明する信号５３０により再設定される。
【０１４７】
その結果、出力５３１におけるパルスは各ＴＤＭサイクルにおいて生成される。パルスは信号TDM_cycle_start５３１を構成するため、各ＴＤＭサイクルの開始を印付ける。
【０１４８】
第２のカウンタ５０２は、ＴＤＭサイクル数をカウントする。比較器がその出力とメッシュネットワーク１０１のサイクル毎のＴＤＭサイクル数を示す信号Nb_TDM_per_SF５１６の値とを比較するように、その出力は第２の比較器５０５の入力５１５に接続される。第２のカウンタ５０２が信号Nb_TDM_per_SFの値に達すると、第２の比較器５０５の出力５２０は値１に切り替わり、第１のカウンタ５０１及び第２のカウンタ５０２は再設定される。その結果、第２の比較器５０５の出力５２０におけるパルスは、メッシュネットワーク１０１の各サイクルにおいて生成され、SF_master_cycle_start信号５２０を構成する。
【０１４９】
汎用ノード４００がマスタノード（ＷＳＣノード１１０）である場合、マルチプレクサ５０８の出力５３２をSF_master_cycle_start信号５２０に接続するために、信号SEL５２３はマルチプレクサ５０８の入力に適用される。
【０１５０】
汎用ノード４００がスレーブノード（ノードＷＡＳ１〜ＷＡＳ６）である場合、マルチプレクサ５０８の出力５３２を信号SF_slave_cycle_start５２４に接続するために、信号SEL５２３はマルチプレクサ５０８の入力において適用される。
【０１５１】
信号TDM_cycle_startを搬送する第１の比較器５０４の出力５３１及び信号SF_cycle_startを搬送するマルチプレクサ５０８の出力は、ＡＮＤゲート５０７の入力に接続され、第１のカウンタ５０１を再設定するための信号５３０の生成を可能にする。この再設定は、ノードの再設定の際にスレーブノードとマスタノードとの間に存在する時間遅れ又は遅延を除去するために実行される。この再設定により、第１の信号SF_cycle_startをＴＤＭサイクルの開始と同期させることができる。
【０１５２】
信号TDM_cycle_startは、ＴＤＭ仮想チャネル上で読み出し及び書き込み動作を起動するためにＴＤＭバスマネージャ４１４により使用される。SF_master_cycle_start信号５２０は、ＭＡＣコントローラ４２０に送出される。
【０１５３】
図４を参照して説明するように、TDM_cycle_startメッセージ５３１及びSF_cycle_startメッセージ５３２は、ＭＡＣアダプタ４２８に送出される。
【０１５４】
図６は、本発明の特定の実施形態に係る汎用ノード４００において、ＴＤＭバスマネージャ４１４、ヌルインサータデバイス４１８、ＳＳＴＦ ＦＩＦＯ４０８の集合（簡単のために単にＳＳＴＦ ＦＩＦＯと呼ぶこともある）、ＳＭＴＦ ＦＩＦＯ４１１の集合（簡単のために単にＳＭＴＦ ＦＩＦＯと呼ぶこともある）及びSyncTF_to_MAC ＦＩＦＯ４１９の間のやり取りを示す。
【０１５５】
図４を参照して上述したように、アプリケーションは、アプリケーションのサンプリング周波数Fs_INでＳＳＴＦ ＦＩＦＯ４０８にデータサンプルを書き込み、ＳＭＴＦ ＦＩＦＯ４１１にコマンドサンプルを書き込む。
【０１５６】
サンプルの大きさは、１６ビット、２４ビット、４８ビット、６４ビット又は任意の他の大きさでもよい。
【０１５７】
ＳＳＴＦ ＦＩＦＯ４０８の集合はSSTF[0]〜SSTF[m]で示されるｍ＋１個のＦＩＦＯを含み、ＳＭＴＦ ＦＩＦＯ４１１の集合はSMTF[0]〜SMTF[n]で示されるｎ＋１個のＦＩＦＯを含むと仮定する。図６において、SSTF[0]４０８．０、SSTF[1]４０８．１、SSTF[m]４０８．ｍ、SMTF[0]４１１．０、SMTF[1]４１１．１及びSMTF[n]４１１．ｎのＦＩＦＯのみをそれぞれの制御（Ctrl）及びデータ（Data）信号と共に示す。ＳＳＴＦ及びＳＭＴＦ ＦＩＦＯの大きさは、ＴＤＭサイクル中に送信機（又は生成器）アプリケーションにより与えられるアプリケーションデータの最大量を吸収できるように選択される。この最大量は、アプリケーションデータサンプルの大きさ及び周波数Fs_INを使用して算出される。
【０１５８】
ＴＤＭバスマネージャ４１４は、ヌルインサータデバイス４１８により読み出されるべきＦＩＦＯを選択するために使用された信号FIFO_Enable[0, m+n+1]６０２を制御する。ヌルインサータデバイス４１８が選択されたＦＩＦＯに接続されるように、信号FIFO_Enable[0, m+n+1]６０２はマルチプレクサ６００を構成するのに使用される。ヌルインサータデバイス４１８とＳＳＴＦ／ＳＭＴＦ ＦＩＦＯとの間のデータバスの大きさは４８ビットであり、これはＴＤＭバスの仮想チャネルの大きさである。
【０１５９】
ヌルインサータデバイス４１８は、SyncTF_to_MAC ＦＩＦＯ４１９にデータを更に書き込む。この場合、ヌルインサータデバイス４１８が仮想チャネルの妥当性に関する情報を与えるヘッダビットを追加するため、データバスは４９ビットの大きさを有する。このヘッダビットは、SyncTF_to_MAC ＦＩＦＯ４１９に書き込まれたデータの最上位ビット（ＭＳＢ）である。ヘッダビットは、仮想チャネルが有効であることを示すために値１をとり、ヌルインサータデバイス４１８がSyncTF_to_MAC ＦＩＦＯ４１９にヌル記号を書き込むことを示すために値０をとる。例えば、「ヌル」記号は値０で符号化される。
【０１６０】
SyncTF_to_MAC ＦＩＦＯ４１９の大きさは、ＴＤＭサイクル中に全ての仮想チャネルのデータを吸収できるように選択される。コマンドインタフェース６０１はＴＤＭバスマネージャ４１４により使用され、図１２及び図１３ａのアルゴリズムを参照して以下に説明されるように、各書き込み割り当て仮想チャネルを処理するようにヌルインサータデバイス４１８に要求する。
【０１６１】
図７は、本発明の特定の実施形態に係る汎用ノード４００において、ＴＤＭバスマネージャ４１４、ヌルアナライザデバイス４１６、ＳＳＲＦ ＦＩＦＯ４０７の集合（簡単にするために単にＳＳＲＦ ＦＩＦＯと呼ぶこともある）、ＳＭＲＦ ＦＩＦＯ４１０の集合（簡単にするために単にＳＭＲＦ ＦＩＦＯと呼ぶこともある）及びSyncRF_from_MAC ＦＩＦＯ４１７の間のやり取りを示す。
【０１６２】
図４を参照して上述したように、アプリケーションは、アプリケーションのサンプリング周波数Fs_OUTでＳＳＲＦ ＦＩＦＯ４０７からデータサンプルを読み出し、ＳＭＲＦ ＦＩＦＯ４１０から制御サンプルを読み出す。
【０１６３】
サンプルの大きさは、１６ビット、２４ビット、４８ビット、６４ビット又は任意の他の大きさであってもよい。
【０１６４】
ＳＳＲＦ ＦＩＦＯ４０７の集合はSSRF[0]〜SSRF[k]で示されるｋ＋１個のＦＩＦＯを含み、ＳＭＲＦ ＦＩＦＯ４１１の集合はSMRF[0]〜SMRF[j]で示されるｊ＋１個のレジスタを含むと仮定する。図７は、SSRF[0]４０７．０、SSRF[1]４０７．１、SSRF[k]４０７．ｋ、SMRF[0]４１０．０、SMRF[1]４１０．１及びSMRF[j]４１０．ｊのレジスタのみをそれぞれの制御（Ctrl）及びデータ（Data）信号と共に示す。ＳＳＲＦ及びＳＭＲＦ ＦＩＦＯの大きさは、ＴＤＭサイクル中に受信機（又は消費者）アプリケーションに提示される可能性のあるアプリケーションデータの最大量を吸収できるように選択される。この最大量は、アプリケーションデータサンプルの大きさ及び周波数Fs_OUTを使用して算出される。
【０１６５】
ＴＤＭバスマネージャ４１４は、ヌルアナライザデバイス４１６により書き込まれるべきＦＩＦＯを選択するために使用された信号FIFO_Enable[0, k+j+1]７０２を制御する。ヌルアナライザデバイス４１６が選択されたＦＩＦＯに接続されるように、FIFO_Enable[0, k+j+1]信号７０２はマルチプレクサ７００を構成するのに使用される。ヌルアナライザデバイス４１６とＳＳＲＦ／ＳＭＲＦ ＦＩＦＯとの間のデータバスの大きさは４８ビットであり、これはＴＤＭバスの仮想チャネルの大きさである。
【０１６６】
ヌルアナライザデバイス４１６は、SyncRF_from_MAC ＦＩＦＯ４１７にデータを更に読み込む。この場合、仮想チャネルがチャネルの妥当性に関する指示を与えるヘッダビットと関連付けられるため、データバスは４９ビットの大きさを有する。
【０１６７】
ヌルアナライザデバイス４１６は、SyncRF_from_MAC ＦＩＦＯ４１７に読み込まれたデータのヘッダビット（これはＭＳＢ、すなわち最上位ビットである）を抽出する。ヘッダビットが値１を有する場合、仮想チャネルのデータサンプルは選択されたＦＩＦＯ（ＳＳＲＦ又はＳＭＲＦ ＦＩＦＯ）に書き込まれる。ヘッダビットが「ヌル」記号に対応する値０を有する場合、仮想チャネルのデータ（すなわち、「ヌル」記号）は除去される。
【０１６８】
SyncRF_from_MAC ＦＩＦＯ４１７の大きさは、ＴＤＭサイクル中に全ての仮想チャネルのデータを吸収できるように選択される。コマンドインタフェース７０１はＴＤＭバスマネージャ４１４により使用され、図１２及び図１３ｂのアルゴリズムを参照して以下に説明されるように、各読み出し割り当て仮想チャネルを処理するようにヌルアナライザデバイス４１６に要求する。
【０１６９】
図８は、本発明の特定の実施形態に係るＴＤＭマップレジスタTDM_MAP４１５の一例を示す。
【０１７０】
ＴＤＭマップレジスタTDM_MAP４１５は、各仮想チャネルに対して３２ビットのメモリゾーンを含む。
【０１７１】
ＴＤＭマップレジスタTDM_MAP４１５のデータは、以下に与えられるように仮想チャネルの番号付けに従って順序付けされる。すなわち、仮想チャネル０に対応するメモリゾーンがレジスタの３２ビットに割り当てられた第１のオフセットアドレスにあり、仮想チャネルｎに対応するメモリゾーンがレジスタの３２ビットに割り当てられた第ｎのオフセットアドレスにある。
【０１７２】
所定の仮想チャネルのメモリゾーン８００は、以下の６つのフィールドを含む。
【０１７３】
仮想チャネルの特性を識別する２ビットの「function」フィールド８０１。例えば、b00は「読み出しモードの仮想チャネル」を意味し、b01は「書き込みモードの仮想チャネル」を意味し、b1xは「未使用の仮想チャネル」を意味する。
【０１７４】
仮想チャネルと関連付けられたＳＳＲＦ ＦＩＦＯを識別する６ビットの「SSRF」フィールド８０２。例えば、b000000はＦＩＦＯ SSRF[0]であることを意味し、b000001はＦＩＦＯ SSRF[1]であることを意味し、b111111は仮想チャネルと関連付けられたＳＳＲＦ ＦＩＦＯがないことを意味する。
【０１７５】
仮想チャネルと関連付けられたＳＭＲＦ ＦＩＦＯを識別する６ビットの「SMRF」フィールド８０３。例えば、b000000はＦＩＦＯ SMRF[0]であることを意味し、b000001はＦＩＦＯ SMRF[1]であることを意味し、b111111は仮想チャネルと関連付けられたＳＭＲＦ ＦＩＦＯがないことを意味する。
【０１７６】
仮想チャネルと関連付けられたＳＳＴＦ ＦＩＦＯを識別する６ビットの「SSTF」フィールド８０４。例えば、b000000はＦＩＦＯ SSTF[0]であることを意味し、b000001はＦＩＦＯ SSTF[1]であることを意味し、b111111は仮想チャネルと関連付けられたＳＳＴＦ ＦＩＦＯがないことを意味する。
【０１７７】
仮想チャネルと関連付けられたＳＭＴＦ ＦＩＦＯを識別する６ビットの「SMTF」フィールド８０５。例えば、b000000はＦＩＦＯ SMTF[0]であることを意味し、b000001はＦＩＦＯ SMTF[1]であることを意味し、b111111は仮想チャネルと関連付けられたＳＭＴＦ ＦＩＦＯがないことを意味する。
【０１７８】
任意の次のアプリケーションのために確保される６ビットの「reserved」フィールド８０６。
【０１７９】
図９は、本発明の特定の実施形態に係るＭＡＣアダプタ４２８のアーキテクチャの一例を示す。
【０１８０】
ＭＡＣアダプタ４２８は、メモリ９００（例えばＲＡＭ、すなわち「ランダムアクセスメモリ」）、Mux_demuxレジスタ９０６及び以下の４つのモジュールを含む。
【０１８１】
チャンク又はコンテナを作成するように、メモリ９００におけるSyncTF_to_MAC ＦＩＦＯ４１９のＴＤＭバスの仮想チャネルの構成を管理する送信チャンクマネージャモジュール９０１。この送信チャンクマネージャ９０１は、データの書き込みに対して基底アドレスを与えるレジスタRefBaseAddrRegister９１１を使用してメモリ９００に対するインタフェースとなる。
【０１８２】
ＭＡＣフレームの形式でメモリ９００から送信されるチャンクの符号化モジュール４２４への転送を管理するＭＡＣ層への送信のためのモジュールTx_To_MAC９０２。Tx_To_MACモジュール９０２は、データの読み出しに対して基底アドレスを与えるレジスタTxToMACBaseAddrRegister９１２を使用してメモリ９００に対するインタフェースとなる。
【０１８３】
ＭＡＣフレーム復号器４２３から受信されるチャンクのメモリ９００への転送を管理するＭＡＣ層からの受信のためのモジュールRx_From_MAC９０３。モジュールRx_From_MAC９０３は、データの書き込みに対して基底アドレスを与えるレジスタRxFromMACBaseAddrRegister９１３を使用してメモリ９００に対するインタフェースとなる。
【０１８４】
メモリ９００のチャンクからのデータの抽出及びSyncRF_From_MAC ＦＩＦＯ４１７への抽出データの書き込みを管理するＴＤＭバスに対する受信のためのモジュールRx_To_TDM９０４。モジュールRx_To_TDM９０４は、データの読み出しに対して基底アドレスを与えるレジスタRxToTDMBaseAddrRegister９１４を使用してメモリ９００に対するインタフェースとなる。
【０１８５】
ＴＤＭバスマネージャ４１４から到着する信号TDM_cycle_startにより規定されるＴＤＭサイクルの各々の開始時、送信チャンクマネージャモジュール９０１は、SyncTF_to_MAC ＦＩＦＯ４１９のコンテンツを読み出す。このコンテンツは、先行するＴＤＭサイクル中に収集されたヘッダビットを有する仮想チャネルからのデータを含む。各データは、ＴＤＭマップレジスタTDM_MAP４１５のレジスタに含まれ且つリンク４５７を使用して取得される情報を使用して規定されたアドレスにおいてメモリ９００に書き込まれる。
【０１８６】
ＴＤＭバスマネージャ４１４から到着する事象SF_cycle_startにより規定されるメッシュネットワーク１０１のサイクルの各々の開始時、ＭＡＣアダプタ４２８は、先行するネットワークサイクル中に仮想チャネル上のデータを収集している。メモリ９００において、仮想チャネルのデータは、図１０を参照して以下に示すようにチャンクに配置される。ＭＡＣコントローラ４２０から到着する信号Tx_cycle_event４５１の受信に続き送信チャンクマネージャモジュール９０１から到着する信号ReadyForTx９１６を受信すると、モジュールTx_To_MAC９０２は、ＴＤＭマップレジスタTDM_MAP４１５に含まれる情報を使用して規定されるアドレスにメモリ９００から送信されるデータチャンクを読み出し、データチャンクをＭＡＣフレームの形式で符号化モジュール４２４に書き込む。モジュールTx_To_MAC９０２は、送信チャンクマネージャモジュール９０１から到着する信号ReadyForTx９１６を受信しており、それに対するチャンクの読み出しに集中する。
【０１８７】
リンク４５４上での事象frame_Rx_eventを受信すると、モジュールRx_From_MAC９０３は、ＭＡＣフレーム復号器４２３から受信したデータチャンク（data chunks）を読み出し、リンク４５４により取得されるパラメータframe_Rx_Node_id及びレジスタMux_demux９０６に含まれる情報を使用して規定されるアドレスにおいてメモリ９００にそれらデータチャンクを書き込む。実際には図１１を参照して以下に説明するように、レジスタMux_demux９０６は、それらチャンクの識別、すなわちメッシュネットワーク１０１の各ノードにより生成されたフレームに存在するそれら仮想チャネルの識別を可能にする。
【０１８８】
ＴＤＭバスマネージャ４１４から到着する事象SF_cycle_startにより規定されるネットワークサイクルの各々の開始時、モジュールRx_To_TDM９０４は、受信され且つメモリ９００に格納されたチャンクのヘッダビットを有するＴＤＭ仮想チャネルのデータを読み出す。この読み出し動作のためのアドレスは、ＴＤＭマップレジスタTDM_MAP４１５に含まれ且つリンク４５７を使用して取得される情報を使用して規定される。ヘッダビットを有するＴＤＭ仮想チャネルのデータは、SyncRF_from_MAC ＦＩＦＯ４１７に書き込まれる。それら動作は、ネットワークサイクルの終了まで新しいＴＤＭサイクルの開始を指示する信号であるTDM_cycle_startを受信する度に繰り返される。
【０１８９】
ＴＤＭバスマネージャ４１４から到着するSF_cycle_startにより規定されるネットワークサイクルの各々の開始時、レジスタRefBaseAddrRegister９１１はメモリ９００の３つの可能な基底アドレス値(base address values)のうち１つを取得する。図１０を参照して以下に説明するように、メモリ９００は３つの区画(compartments)に分割される。それら区画の各々は以下のことをするために交互に使用される。
【０１９０】
ＴＤＭバスから到着するデータからＭＡＣ層に送出されるチャンクを構築する。
【０１９１】
ＭＡＣ層にチャンクを送出し、ＭＡＣ層からチャンクを受信する。
【０１９２】
ＴＤＭバスにデータを送出するためにチャンクを分解する。
【０１９３】
ネットワークサイクルの各変更時、送信チャンクマネージャモジュール９０１、Tx_To_MAC９０２、Rx_From_MAC９０３及びRx_To_TDM９０４は異なるメモリゾーンを使用し、そのため異なる基底アドレスを使用する。レジスタRefBaseAddrRegister９１１に含まれる情報は、リンク９１５を使用してモジュールTx_To_MAC９０２、Rx_From_MAC９０３及びRx_To_TDM９０４に送信され、レジスタTxToMacBaseAddrRegister９１２、RxFromMacBaseAddrRegister９１３及びRxToTDMBaseAddrRegister９１４は、リンク９１５を使用して受信される情報の関数としてメモリ９００の基底アドレスの値を取得する。
【０１９４】
図１０は、本発明の特定の実施形態に係るメモリ９００のアーキテクチャの一例を示す。
【０１９５】
メモリ９００は、基底アドレス０と関連付けられた第１の区画、基底アドレス１と関連付けられた第２の区画及び基底アドレス２と関連付けられた第３の区画を含む。
【０１９６】
メモリ９００の各区画は、同一数Ｍ個のチャンクを含んでもよい。チャンクは、チャンクヘッダ及びＰ個の仮想チャネルを含む。Ｐは、ネットワークサイクル毎のＴＤＭサイクルの数である。例えば、チャンク番号ｋは第１のＴＤＭサイクルの仮想チャンク番号ｋである。第２のＴＤＭサイクルの仮想チャネル番号ｋ、．．．は、同一のネットワークサイクルの最後のＴＤＭサイクルの仮想チャネル番号ｋまで同様である。例えばチャンクヘッダは、チャンクと関連付けられた仮想チャネルのデータに対してヌルインサータデバイス４１８により各ＴＤＭサイクルに追加されたヘッダビットの連結である。
【０１９７】
Ｍは、ＴＤＭサイクル毎の仮想チャネル数である。メモリ９００の各区画は、ネットワークサイクルの期間の全ての仮想チャネルを含んでもよい。チャンクは、最小のチャンク番号から最大のチャンク番号へそれらのチャンク番号の関数として順序付けされる。仮想チャネルは、最小の仮想チャネル番号から最大の仮想チャネル番号へそれらの番号の関数として順序付けされる。
【０１９８】
チャンクヘッダの大きさは「ChunkHeaderSize」フィールドに含まれ、チャンクの大きさは「ChunkSize」フィールドに含まれ、仮想チャネルの大きさは「VcSize」フィールドに含まれる。メモリ９００に対する４８ビットの仮想チャネル及び４８ビットのデータバスの場合、フィールド「VcSize」は値１を有し、フィールドChunkSizeは値P+ChunkHeaderSizeを有し、フィールドChunkHeaderSizeは値Int(P/48)+1を有する。尚、Int()は「整数部」関数（"integer part" function）である。
【０１９９】
各ネットワークサイクルにおいて、特定のタスクがメモリ９００の各区画に割り当てられる。例えば、所定のネットワークサイクル中、
第１の区画はＴＤＭバスから到着するチャンクを配置するために使用される（例えば、ネットワークサイクルＣと関連付けられたデータ）。
【０２００】
第２の区画は、メッシュネットワーク１０１への送信又はメッシュネットワーク１０１からの受信のために使用される（ネットワークサイクルＣ−１と関連付けられたデータ）。
【０２０１】
第３の区画は、チャンクの分解及びＴＤＭバスに向かう仮想チャネルの抽出を実行するために使用される（ネットワークサイクルＣ−２と関連付けられたデータ）。
【０２０２】
次のネットワークサイクル中、
第１の区画は、メッシュネットワークへの送信又はメッシュネットワークからの受信のために使用される。
【０２０３】
第２の区画は、ＴＤＭバスに向かう仮想チャネルの抽出を実行するために使用される。
【０２０４】
第３の区画は、ＴＤＭバスから到着するチャンクを配置するために使用される。
【０２０５】
レジスタRefBaseAddrRegister９１１は、メモリ９００の３つの基底アドレスを基底アドレス２、基底アドレス１及び基底アドレス０の順番で連続的に選択する。基底アドレスの値の変更は、上述したように、信号SF_cycle_startの受信により起動される。
【０２０６】
図１１は、本発明の特定の実施形態に係るレジスタmux_demux９０６のアーキテクチャの一例を示す。
【０２０７】
レジスタmux_demux９０６は、各ノードにより送信されるチャンクのリストを提供する。レジスタは、各ノードと関連付けられる。データは、ネットワークのノードの番号付けに従って編成される。ノード０のチャンクに対応するメモリゾーンは第１のオフセットアドレスにあり、ノードｎのチャンクに対応するメモリゾーンは第ｎのオフセットアドレスにある。各レジスタに対して、位置Ｉのビット値は、チャンク番号Ｉがそのノードにより送信されるかを示す。値0bは、チャンクがノードにより送信されないことを示し、値1bはチャンクがノードにより送信されることを示す。
【０２０８】
図１２は、本発明の特定の実施形態に従って、ネットワークサイクルの期間においてＴＤＭバスマネージャ４１４により実行される処理アルゴリズムの主なステップを示す。
【０２０９】
再設定段階（reset phase）の後、ステップ１２００のネットワークサイクルの開始時、ＴＤＭバスマネージャ４１４は待ち状態(waiting)又はアイドル状態(idle state)である。信号SF_cycle_startにより特徴付けられるネットワークサイクルの開始時、ステップ１２０１において、汎用ノード４００は読み出し／書き込み動作を開始できる。汎用ノード４００がスレーブノードである場合、それは、スレーブノードがマスタノードと同期されたことを意味する。
【０２１０】
ステップ１２０２において、仮想チャネルカウンタTDM_VCは０に再設定される。ステップ１２０３において、ＴＤＭバスマネージャ４１４は、カウンタTDM_VCの値により規定されるオフセットアドレスにおいてＴＤＭマップレジスタ４１５のレジスタを読み出す。ＴＤＭバスマネージャ４１４は、現在の仮想チャネルの機能（読み出し又は書き込み）に関する情報及び選択されるアプリケーションのＦＩＦＯ（ＳＳＲＦ４０７、ＳＳＴＦ４０８、ＳＭＲＦ４１０又はＳＭＴＦ４１１）に関する情報を取得する。
【０２１１】
ステップ１２０４において、現在の仮想チャネルが書き込み割り当て仮想チャネルであるかを確認するためのチェックが行なわれる。現在の仮想チャネルが書き込み割り当て仮想チャネルである場合、ステップ１２０５において、ＴＤＭバスマネージャ４１４は読み出されるべき（アプリケーション）送信ＦＩＦＯ（ＳＳＴＦ４０８又はＳＭＴＦ４１１）を選択する。このステップにおいて、図６を参照して上述したように、ＴＤＭバスマネージャ４１４は信号FIFO_Enable[i]を活性化する。iはＴＤＭマップレジスタ４１５から抽出される値である。
【０２１２】
ステップ１２０６において、選択されたＦＩＦＯに対して読み出し動作を実行するためのコマンドを含む要求は、ヌルインサータデバイス４１８に送出される。ステップ１２１０において、TDM_VCの値は１増分される。
【０２１３】
現在の仮想チャネルが書き込み仮想チャネルでない場合、ステップ１２０７において、ＴＤＭバスマネージャ４１４は、現在の仮想チャネルが読み出し仮想チャネルであるかを確認する（読み出し仮想チャネルでない場合、それは、仮想チャネルがデータの送信に割り当てられていないことを意味する）。現在の仮想チャネルが読み出し仮想チャネルである場合、ステップ１２０８において、ＴＤＭバスマネージャ４１４は書き込まれるべき（アプリケーション）受信ＦＩＦＯ（ＳＳＲＦ４０７又はＳＭＲＦ４１０）を選択する。このステップにおいて、図７を参照して上述したように、ＴＤＭバスマネージャ４１４は信号FIFO_Enable[i]を起動する。iはＴＤＭマップレジスタ４１５から抽出される値である。
【０２１４】
ステップ１２０９において、選択されたＦＩＦＯへの書き込み動作を実行するためのコマンドを含む要求は、ヌルアナライザデバイス４１６に送出される。ステップ１２１０において、TDM_VCの値は１増分される。
【０２１５】
現在の仮想チャネルが読み出し仮想チャネルでなく且つ書き込み仮想チャネルでない場合、ステップ１２１０はステップ１２０７の直後に実行される。
【０２１６】
ステップ１２１１において、ＴＤＭバスマネージャ４１４は、ＴＤＭサイクルの全ての仮想チャネルが処理されたかを確認する。処理されていない場合、ステップ１２０３が再度実行される。それら仮想チャネルが処理された場合、ステップ１２１２において、ＴＤＭバスマネージャ４１４は新しいＴＤＭサイクルの開始を特徴付ける信号TDM_cycle_startの到着を待つ。ステップ１２１３において、信号TDM_cycle_startの到着時、ＴＤＭバスマネージャ４１４は新しいＴＤＭサイクルを処理するためにステップ１２０２を再度実行する。
【０２１７】
図１３ａ及び図１３ｂは、本発明の特定の実施形態に従って、ヌルインサータデバイス４１８（図１３ａ）及びヌルアナライザデバイス４１６（図１３ｂ）により実行される処理アルゴリズムの主なステップを示す。
【０２１８】
図１３ａを参照すると、再設定段階の後のステップ１３００において、ヌルインサータデバイス４１８は、ＴＤＭバスマネージャ４１４から到着する（アプリケーション）送信ＦＩＦＯ（ＳＳＴＦ４０８又はＳＭＴＦ４１１）を読み出すための要求を待つアイドル状態である。ステップ１３０１において、ヌルインサータデバイス４１８は、（アプリケーション）送信ＦＩＦＯ（ＳＳＴＦ４０８又はＳＭＴＦ４１１）の選択を識別するこの種の要求を受信する。ステップ１３０２において、ヌルインサータデバイス４１８は、選択されたＦＩＦＯが空であるかを確認する。
【０２１９】
選択されたＦＩＦＯが仮想チャネルの容量（４８ビット）より少ない入手可能なデータ量を有するため、ＦＩＦＯが空であると宣言される場合、ステップ１３０３において、ヌルインサータデバイス４１８は仮想チャネルに対するデータサンプルのヘッダビットに値０を割り当てる。ステップ１３０４において、ヌルインサータデバイス４１８は、ヘッダを「ヌル」記号と連結される０で（この場合、値０において４８ビットと等しい）データサンプルをＦＩＦＯ SyncTF_to_MAC４１９に書き込む。その後、ステップ１３００は再度実行される。
【０２２０】
選択されたＦＩＦＯが空であると宣言されなかった場合、ステップ１３０５におて、ヌルインサータデバイス４１８は選択されたＦＩＦＯの４８ビットデータサンプルを読み出す。ステップ１３０６において、ヌルインサータデバイス４１８は仮想チャネルに対するデータサンプルのヘッダビットに値１を割り当てる。ステップ１３０７において、ヌルインサータデバイス４１８は、ヘッダを選択されたＦＩＦＯのデータと連結される１でデータサンプルをSyncTF_to_MACＦＩＦＯ４１９に書き込む。その後、ステップ１３００が再度実行される。
【０２２１】
図１３ｂに関して、再設定段階後のステップ１３１０において、ヌルアナライザデバイス４１６は、ＴＤＭバスマネージャ４１４からの（アプリケーション）受信ＦＩＦＯ（ＳＳＲＦ４０７又はＳＭＲＦ４１０）に書き込むための書き込み要求を待つアイドル状態である。ステップ１３１１において、ヌルアナライザデバイス４１６は、（アプリケーション）受信ＦＩＦＯ（ＳＳＲＦ４０７又はＳＭＲＦ４１０）の選択を識別するこの種の要求を受信する。ステップ１３１２において、ヌルアナライザデバイス４１６は、SyncRF_from_MAC ＦＩＦＯ４１７が空であるかをチェックする。
【０２２２】
SyncRF_from_MAC ＦＩＦＯ４１７において入手可能なサンプルがないため、ＦＩＦＯが空であると宣言された場合、ステップ１３１０が再度実行される。
【０２２３】
SyncRF_from_MAC ＦＩＦＯ４１７が空であると宣言されなかった場合、ステップ１３１３において、ヌルアナライザデバイス４１６はSyncRF_from_MAC ＦＩＦＯ４１７の４９ビットデータサンプルを読み出す。ヌルアナライザデバイス４１６は、仮想チャネルの有効ビットに対応する最上位ビットをデータサンプルから抽出する。ステップ１３１４において、ヌルアナライザデバイス４１６は、ヘッダビットの値が０であるかを確認する。
【０２２４】
ヘッダビットの値が０である場合、仮想チャネルは、汎用ノード４００の遠隔ノード（ソースノード）のヌルインサータデバイス４１８により挿入されたヌル記号を含む。その後、データは除去され、ステップ１３１０は再度実行される。
【０２２５】
ヘッダビットの値が１である場合、仮想チャネルのコンテンツ（４８ビット）はＴＤＭバスマネージャ４１４により選択されたＦＩＦＯに書き込まれ、ステップ１３１０は再度実行される。
【０２２６】
図１４は、本発明の特定の実施形態に従って、ＭＡＣアダプタ４２８の送信チャンクマネージャモジュール９０１により実行される処理アルゴリズムの主なステップを示す。
【０２２７】
再設定段階の後のステップ１４００において、送信チャンクマネージャモジュール９０１は、ネットワークサイクルの開始（信号SF_cycle_startにより特徴付けられる）を待つアイドル状態である。ステップ１４０１において、信号SF_cycle_startが受信され、現在のネットワークサイクルの開始を示す。
【０２２８】
ステップ１４０２において、カウンタTDM_cycleは０に再設定され、仮想チャネルの読み出し／書き込み動作は、ネットワークサイクルの第１のＴＤＭサイクル（TDM_cycle = 0）で開始する送信チャンクマネージャモジュール９０１により実行される。
【０２２９】
ステップ１４０３ａにおいて、送信チャンクマネージャモジュール９０１は変数VCnumを値−１に再設定する。ステップ１４０３ｂにおいて、送信チャンクマネージャモジュール９０１は、ＴＤＭマップレジスタに含まれる情報を使用して探索を行ない、書き込みモードで割り当てられた次の仮想チャネル、すなわち書き込み割り当て仮想チャネルを判定する。探索は、変数VCnumに含まれる値から開始して仮想チャネル番号の昇順に行なわれる。見つけられた書き込み割り当て仮想チャネルを識別する番号は、変数VCnumに格納される。
【０２３０】
ステップ１４０４において、送信チャンクマネージャモジュール９０１は、書き込み割り当てチャネルが見つけられたかを確認する。すなわち、変数VCnumが−１であることを検証する。変数VCnumが−１でない場合、ステップ１４０６ａにおいて、送信チャンクマネージャモジュール９０１はＦＩＦＯ SyncTF_to_MAC４１９に含まれるデータ量を読み出す。読み出されたデータ量は、ＴＤＭバスの仮想チャネルの大きさと等しい。それらデータは、先行するステップにおいて見つけられた仮想チャネルにおいてＴＤＭバスに送出されたデータに対応する。VCnumにより識別された仮想チャネルと関連付けられるチャンクの作成を保証するために、送信チャンクマネージャモジュール９０１は以下の合計により規定されるオフセットアドレスのメモリ９００にそのデータを書き込む。
【０２３１】
(VCnum * ChunkSize) + ChunkHeaderSize + (TDM_cycle * VcSize)
式中、ChunkSizeはデータチャンクの大きさであり、ChunkHeaderSizeはデータチャンクヘッダの大きさであり、VcSizeは仮想チャネルの大きさである。
【０２３２】
送信チャンクマネージャモジュール９０１は、乗算：VCnum * ChunkSizeにより規定されるアドレスにおいて当該チャンクのヘッダをメモリ９００に書き込むか又はヘッダを更新する。本発明の実現例の特定のモードにおいて、チャンクのペイロードデータ部分に格納されたデータは、チャンクと関連付けられた仮想チャネルに送出されたデータ（ＴＤＭサイクル毎に４８ビット）である。チャンクのヘッダは、仮想チャネルに対してヌルインサータモジュール４１８により追加されたヘッダをＴＤＭサイクル毎に含む。
【０２３３】
ステップ１４０６ｂにおいて、送信チャンクマネージャモジュール９０１は、ＴＤＭマップレジスタ４１５に含まれる情報を使用して、ステップ１４０３ｂにおいて行なわれたのと同様に書き込みモードで割り当てられた次の仮想チャネルを要求し判定する。その後、ステップ１４０４は再度実行される。
【０２３４】
ステップ１４０４において、VCnumが−１である場合、それは、ＴＤＭサイクルの全ての書き込み割り当て仮想チャネルが処理されたことを意味し、ステップ１４０５において、仮想チャネルカウンタTDM_cycleは１増分される。ステップ１４０７において、送信チャンクマネージャモジュール９０１は、現在のＴＤＭサイクルが現在のネットワークサイクルの最後のＴＤＭサイクルであるかを確認する。
【０２３５】
現在のＴＤＭサイクルが現在のネットワークサイクルの最後のＴＤＭサイクルでない場合、ステップ１４０８において、送信チャンクマネージャモジュール９０１は次のＴＤＭサイクルの開始（信号（又は事象）TDM_cycle_startの到着により特徴付けられる）を待つ。ステップ１４０３が次のＴＤＭサイクルに対して再度実行される前に、ステップ１４０９において、TDM_cycle_start信号は受信される。
【０２３６】
現在のＴＤＭサイクルが現在のネットワークサイクルの最後のＴＤＭサイクルである場合、ステップ１４１０において、送信チャンクマネージャモジュール９０１は次のネットワークサイクルの開始（信号SF_cycle_startの到着により特徴付けられる）を待つ。ステップ１４１１において、信号SF_cycle_startが受信される。その後、送信チャンクマネージャモジュール９０１はメッセージReadyForTx９１６を生成する。ステップ１４０２が次のネットワークサイクルに対して再度実行される前に、送信チャンクマネージャモジュール９０１は、メッシュネットワーク１０１上で送出されるチャンクの可用性を通知するためにモジュールTx_To_MAC９０２にメッセージReadyForTx９１６を送出する。
【０２３７】
図１５は、本発明の特定の実施形態に従って、ＭＡＣアダプタ４２８のＭＡＣ層への送信のモジュールTx_To_MAC９０２により実現される処理アルゴリズムの主なステップを示す。
【０２３８】
再設定段階の後のステップ１５００において、ＭＡＣ層への送信のためのモジュールTx_To_MAC９０２は、送出されるフレームに挿入されるチャンクの作成を完了したことを通知する送信チャンクマネージャモジュール９０１から到着する信号ReadyForTx９１６を待つアイドル状態である。ステップ１５０１において、モジュールTx_To_MAC９０２は信号ReadyForTx９１６を受信する。
【０２３９】
ステップ１５０２において、モジュールTx_To_MAC９０２は、現在のネットワークサイクル中のネットワーク上での送信のために汎用ノード４００（そのモジュールが属する）に付与された音声時間の開始（信号Tx_cycle_event４５１の受信により特徴付けられる）を待つ。
【０２４０】
信号（又は事象）Tx_cycle_eventを受信すると（ステップ１５０３）、モジュールTx_To_MAC９０２は、ＭＡＣフレームの形式でデータチャンクを符号化モジュール４２４に送信できる。ステップ１５０４において、モジュールTx_To_MAC９０２は、ステップ１４０３ｂを参照して上述したように次の書き込み仮想チャネルの番号を取得する。
【０２４１】
その結果は、送信される次のチャンクの番号に対応する（ステップ１５０４がネットワークサイクルで初めて実行される時）。更に、メモリ９００へのアクセスのための基底アドレスの選択を可能にするレジスタTxToMacBaseAddrRegisterは、リンクrefBaseAddr９１５を使用して取得された情報に基づいて更新される。
【０２４２】
ステップ１５０５において、モジュールTx_To_MAC９０２は、別のチャンクがそのネットワークサイクルに対して処理される必要があるかを確認する。処理される必要がある場合、ステップ１５００が再度実行される。処理される必要がない場合、ステップ１５０６において、モジュールTx_To_MAC９０２は、乗算VCnum * ChunkSizeにより規定されるメモリアドレスから開始してメモリ９００のチャンク（チャンクのヘッダ及びチャンクの仮想チャネル）を読み出す。ここで、ChunkSizeはデータチャンクの大きさであり、VCnumは当該仮想チャネルを識別する番号である。モジュールTx_To_MAC９０２は、ＭＡＣフレームの形式でチャンクを符号化モジュール４２４に書き込む。
【０２４３】
モジュールTx_To_MAC９０２は、ステップ１５０５を再度実行する前に、次の書き込み割り当て仮想チャネルの番号を問い合わせる。
【０２４４】
図１６は、本発明の特定の実施形態に従って、ＭＡＣアダプタ４２８のＭＡＣからの受信のためのモジュールRx_From_MAC９０３により実現される処理アルゴリズムの主なステップを示す。
【０２４５】
再設定段階後のステップ１６００において、モジュールRx_From_MAC９０３は、スーパーフレームの開始（メッセージSF_cycle_startにより特徴付けられる）を待つアイドル状態である。ステップ１６０１において、信号SF_cycle_startが受信され、ネットワークサイクルの開始を示す。
【０２４６】
ステップ１６０２において、モジュールRx_From_MAC９０３は、ネットワーク上での汎用ノード４００（そのモジュールが属する）によるＭＡＣフレームの受信を示す開始（信号frame_Rx_eventの受信により特徴付けられる）を待つ。
【０２４７】
ＭＡＣフレーム復号器４２３から到着する信号frame_Rx_eventを受信すると（ステップ１６０３）、モジュールRx_From_MAC９０３はＭＡＣフレーム復号器４２３から到着する受信データチャンクを取得できる。
【０２４８】
ステップ１６０４において、モジュールRx_From_MAC９０３は変数ChunkNumを値−１に再設定する。モジュールRx_From_MAC９０３は、レジスタMux_demux９０６に含まれる情報を使用して、リンク４５４により取得される情報Fram_Rx_Node_idにより規定されるノードから送出された受信フレームに存在する次のチャンクを要求し判定する。探索は、変数ChunkNumに含まれる値から開始してチャンク（又は仮想チャネル番号）の昇順に行なわれる。見つけられたチャンク（すなわち、読み出し割り当てＴＤＭバスの仮想チャネルに対応する）を識別する番号は、変数ChunkNumに格納される。
【０２４９】
更に、メモリ９００へのアクセスのための基底アドレスの選択を可能にするレジスタRxFromMacBaseAddrRegisterは、リンクrefBaseAddr９１５を使用して取得される情報に基づいて更新される。
【０２５０】
ステップ１６０５において、モジュールRx_From_MAC９０３は、パラメータChunkNumの新しい値が−１であるかを確認する。−１である場合、それは、識別されたノードにより送信されたチャンクの集合がモジュールRx_From_MAC９０３により処理されたことを意味し、ステップ１６０２が再度実行される。−１でない場合、ステップ１６０６において、モジュールRx_From_MAC９０３はＭＡＣフレーム復号器４２３上のチャンク（チャンクのヘッダ及びチャンクの仮想チャネル）を読み出す。その後、モジュールRx_From_MAC９０３は、乗算ChunkNum * ChunkSizeにより規定されるオフセットメモリアドレスから開始してメモリ９００に書き込む。ここで、ChunkSizeはデータチャンクの大きさである。
【０２５１】
モジュールRx_From_MAC９０３は、ステップ１６０５を再度実行する前に、受信フレームを送出したノードから取得される次のチャンクの番号を探索する。
【０２５２】
図１７は、本発明の特定の実施形態に従って、ＭＡＣアダプタ４２８のＴＤＭバスに対する受信のための受信モジュールRx_To_TDM９０４により実行される処理アルゴリズムの主なステップを示す。
【０２５３】
再設定段階の後のステップ１７００において、モジュールRx_To_TDM９０４は、ネットワークサイクルの開始（メッセージSF_cycle_startにより特徴付けられる）を待つアイドル状態である。ステップ１７０１において、信号SF_cycle_startが受信され、ネットワークサイクルの開始を示す。
【０２５４】
ステップ１７０２において、モジュールRx_To_TDM９０４はカウンタTDM_cycleを０に再設定し、仮想チャネルと関連付けられるデータに対する読み出し及び書き込み動作の実行を開始する。第１の動作は、リンクrefBaseAddr９１５を使用して取得された情報に基づいて、メモリ９００へのアクセスのための基底アドレスをレジスタRxtoTdmBaseAddrRegisterに更新することから成る。ステップ１７０３において、変数VCnumは−１に再設定される。
【０２５５】
ステップ１７０４において、モジュールRx_To_TDM９０４は、ＴＤＭマップレジスタTDM_MAPに含まれる情報を使用して次の読み出し割り当て仮想チャネルを要求し判定する。探索は、変数VCnumに含まれる値から開始して仮想チャネル番号の昇順に行なわれる。見つけられた読み出し割り当て仮想チャネルを識別する番号は、変数VCnumに格納される。
【０２５６】
ステップ１７０５において、モジュールRx_To_TDM９０４は、読み出し割り当てチャネルが形成されたかを確認する。すなわち、変数VCnumが−１であることを確認する。VCnumが−１である場合、それは、ＴＤＭサイクルの全ての仮想チャネルが処理されたことを意味し、ステップ１７０６において、ＴＤＭサイクルカウンタTDM_cycleが１増分される。ステップ１７０７において、モジュールRx_To_TDM９０４は、現在のＴＤＭサイクルが現在のネットワークサイクルの最後のＴＤＭサイクルであることを検証する。
【０２５７】
現在のＴＤＭサイクルが現在のネットワークサイクルの最後のＴＤＭサイクルでない場合、ステップ１７０８において、モジュールRx_To_TDM９０４は次のＴＤＭサイクルの開始（TDM_cycle_start信号の到着により特徴付けられる）を待つ。ステップ１７０９において、ステップ１７０３が次のＴＤＭサイクルに対して再度実行される前に、信号TDM_cycle_startは受信される。
【０２５８】
現在のＴＤＭサイクルが現在のネットワークサイクルの最後のＴＤＭサイクルである場合、ステップ１７００が再度実行される。
【０２５９】
ステップ１７０５において、VCnumが−１でない場合、ステップ１７１０において、モジュールRx_To_TDM９０４は以下の合計により規定されるアドレスにおいてメモリ９００で読み出し割り当てされる仮想チャネルの一部を読み出す。
【０２６０】
(VCnum * ChunkSize) + ChunkHeaderSize + (TDM_cycle * VcSize)
式中、ChunkSizeはデータチャンクの大きさであり、ChunkHeaderSizeはデータチャンクヘッダの大きさであり、VcSizeは仮想チャネルの大きさである。
【０２６１】
モジュールRx_To_TDM９０４は、乗算VCnum * ChunkSizeにより規定されるアドレスにおいてメモリ９００の仮想チャネルのヘッダを読み出し、仮想チャネルのヘッダ及び仮想チャネルのデータの連結をSyncRF_from_MAC ＦＩＦＯ４１７に書き込む。その後、ステップ１７０４は再度実行され、処理される次の読み出し割り当て仮想チャネルの番号を取得する。
【図面の簡単な説明】
【０２６２】
【図１】本発明の特定の実施形態に係る送受信方法を実現できる通信ネットワークを示す図である。
【図２Ａ】本発明の特定の実施形態に係る図１のネットワークのＷＳＣノード及びＷＡＳノードにおけるオーディオデータサンプルの時間経過の例を示すグラフである。
【図２Ｂ】本発明の特定の実施形態に係る図１のネットワークのＷＳＣノード及びＷＡＳノードにおけるオーディオデータサンプルの時間経過の例を示すグラフである。
【図３】本発明の特定の実施形態に係る図１のメッシュ無線ネットワークの送信サイクルを示す図である。
【図４】本発明の特定の実施形態に係るメッシュ無線ネットワークの汎用ノードを示す図である。
【図５】本発明の特定の実施形態に係る汎用ノードのＴＤＭバスマネージャによるTDM_cycle_start信号（又は事象）及びSF_cycle_start信号（又は事象）の生成を示す図である。
【図６】本発明の特定の実施形態に係る汎用ノードにおいて、ＴＤＭバスマネージャ、「ヌル」値を挿入するためのデバイス、ＳＳＴＦ ＦＩＦＯの集合、ＳＭＴＦ ＦＩＦＯの集合及びSyncTF_to_MAC ＦＩＦＯの間のやり取りを示す図である。
【図７】本発明の特定の実施形態に係る汎用ノードにおいて、ＴＤＭバスマネージャ、「ヌル」値を解析するためのデバイス、ＳＳＲＦ ＦＩＦＯの集合、ＳＭＲＦ ＦＩＦＯの集合及びSyncRF_from_MAC ＦＩＦＯの間のやり取りを示す図である。
【図８】本発明の特定の実施形態に係るＴＤＭ配信レジスタ（TDM_MAPレジスタ）の好適なアーキテクチャを示す図である。
【図９】本発明の特定の実施形態に係るＭＡＣアダプタ４２８のアーキテクチャの一例を示す図である。
【図１０】本発明の特定の実施形態に係るメモリ９００のアーキテクチャの一例を示す図である。
【図１１】本発明の特定の実施形態に係るチャンクの多重化／多重分離「mux_demux」レジスタのアーキテクチャの一例を示す図である。
【図１２】本発明の特定の実施形態に従って、ネットワークサイクル期間においてＴＤＭバスマネージャにより実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１３ａ】本発明の特定の実施形態に従って、「ヌル」値を挿入するためのデバイス（図１３ａ）により実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１３ｂ】本発明の特定の実施形態に従って、「ヌル」値を解析するためのデバイス（図１３ｂ）により実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１４】本発明の特定の実施形態に従って、ＭＡＣアダプタの送信の際にチャンクを管理するためのモジュールにより実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１５】本発明の特定の実施形態に従って、ＭＡＣアダプタのＭＡＣ層に送信するためのモジュールにより実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１６】本発明の特定の実施形態に従って、ＭＡＣアダプタのＭＡＣ層から受信するためのモジュールにより実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１７】本発明の特定の実施形態に従って、ＭＡＣアダプタのＴＤＭバスに対する受信のためのモジュールにより実行される処理アルゴリズムの主なステップを示すフローチャートである。
【図１】
0004701263.tif 000002
【図２Ａ】
0004701263.tif 000003
【図２Ｂ】
0004701263.tif 000004
【図３】
0004701263.tif 000005
【図４】
0004701263.tif 000006
【図５】
0004701263.tif 000007
【図６】
0004701263.tif 000008
【図７】
0004701263.tif 000009
【図８】
0004701263.tif 000010
【図９】
0004701263.tif 000011
【図１０】
0004701263.tif 000012
【図１１】
0004701263.tif 000013
【図１２】
0004701263.tif 000014
【図１３ａ】
0004701263.tif 000015
【図１３ｂ】
0004701263.tif 000016
【図１４】
0004701263.tif 000017
【図１５】
0004701263.tif 000018
【図１６】
0004701263.tif 000019
【図１７】
0004701263.tif 000020