(57)【要約】  改良ＤＭＸ通信の方法及び装置を開示する。いくつかの実施形態において、ＤＭＸプロトコルの拡張に関する方法及び装置は、改良ＤＭＸスレーブデバイスによるエラー検出訂正を可能にする。当該方法及び装置は、ＤＭＸパケット内に組み込まれ、ＤＭＸパケット内の指示バイトを訂正するために利用され得る、少なくとも１つの前方エラー訂正バイトを利用し得る。ＤＭＸパケット内の複数のバイトは、いくつかの変形例において、任意でインターリービング方式に従ってインターリーブされ得る。
2014535132.tif 000002
【特許請求の範囲】
【請求項１】
複数の改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップであって、前記複数の改良ＤＭＸスレーブは、対応する複数のＤＭＸスレーブ制御アドレスを有する、接続するステップと、
複数のバイトを有するＤＭＸパケットをコンパイルするステップであって、前記複数のバイトは、前記複数の改良ＤＭＸスレーブ制御アドレスに対応する複数の改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む、コンパイルするステップとを含み、
前記前方エラー訂正バイトは、前記ＤＭＸパケット内に組み込まれた、前記ＤＭＸパケットの複数のバイトの前方エラー訂正コードブロックであり、
前記ＤＭＸネットワーク上で前記ＤＭＸパケットを送信するステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて前記ＤＭＸパケットを受信するステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記前方エラー訂正バイトを含む複数のバイトをバッファリングするステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記前方エラー訂正バイトに照らして、前記改良ＤＭＸスレーブ指示バイトの少なくとも１つを解析するステップとをさらに含み、
前記前方エラー訂正バイトがエラーを示す場合、前記改良ＤＭＸスレーブのそれぞれは、前記前方エラー訂正バイトを利用することによって、前記改良ＤＭＸスレーブ指示バイトのうちの対応する少なくとも１つを少なくとも選択的に訂正し、前記訂正された改良ＤＭＸスレーブ指示バイトに従って動作する、改良ＤＭＸ通信を提供する方法。
【請求項２】
前記複数の改良ＤＭＸスレーブ指示バイトは、インターリーブされた複数のＤＭＸスレーブ指示バイトを含み、前記インターリーブされた複数のＤＭＸスレーブ指示バイトのそれぞれは、複数の前記改良ＤＭＸスレーブのための動作指示に対応する複数のビットを有する、請求項１に記載の方法。
【請求項３】
前記ＤＭＸパケットの前記複数のバイトは、非改良ＤＭＸスレーブアドレスに対応する、少なくとも１つのインターリーブされていない非改良ＤＭＸスレーブ指示バイトをさらに含む、請求項２に記載の方法。
【請求項４】
前記ＤＭＸネットワーク上で前記ＤＭＸパケットを送信する前に、インターリーブ方式に従って、前記複数のＤＭＸスレーブ指示バイト間で複数の個別のビットをインターリーブすることをさらに含む、請求項１に記載の方法。
【請求項５】
前記複数の改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含み、前記第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、前記複数の改良ＤＭＸスレーブのうちの第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び、前記複数の改良ＤＭＸスレーブのうちの第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む、請求項４に記載の方法。
【請求項６】
前記ＤＭＸスレーブに別個の情報パケットを送信するステップであって、前記別個の情報パケットは、前記前方エラー訂正バイトの処理に関連するデータを含む、送信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記前方エラー訂正バイトの処理に関連する前記データは、前記改良ＤＭＸスレーブに予めロードされる、請求項４に記載の方法。
【請求項８】
前記前方エラー訂正バイトは、前記ＤＭＸパケットにわたってインターリーブされる、請求項１に記載の方法。
【請求項９】
前記少なくとも１つの前方エラー訂正バイトは、前記ＤＭＸパケットの全ての制御指示のための前方エラー訂正ブロックデータを含む、請求項８に記載の方法。
【請求項１０】
前記ＤＭＸネットワーク上で前記ＤＭＸパケットを送信後、ｇｏコマンドを送信するステップをさらに含み、前記複数のＤＭＸスレーブのそれぞれは、前記ｇｏコマンドが送信されるまで、前記ＤＭＸパケットの前記改良ＤＭＸスレーブ指示バイトに従って動作しない、請求項９に記載の方法。
【請求項１１】
少なくとも１つの改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップであって、前記改良ＤＭＸスレーブは、少なくとも１つの改良ＤＭＸスレーブ制御アドレスを有する、接続するステップと、
少なくとも１つの非改良ＤＭＸスレーブを前記ＤＭＸネットワークに接続するステップであって、前記非改良ＤＭＸスレーブは、少なくとも１つの非改良ＤＭＸスレーブ制御アドレスを有する、接続するステップと、
複数のバイトを有するＤＭＸパケットをコンパイルするステップであって、前記複数のバイトは、前記改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、前記非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む、コンパイルするステップとを含み、
前記前方エラー訂正バイトは、前記ＤＭＸパケット内に組み込まれた、前記ＤＭＸパケットの複数のバイトの前方エラー訂正コードブロックであり、
前記ＤＭＸネットワーク上で前記ＤＭＸパケットを送信するステップと、
前記改良ＤＭＸスレーブにおいて前記ＤＭＸパケットを受信するステップと、
前記改良ＤＭＸスレーブにおいて、前記前方エラー訂正バイトを含む複数のバイトをバッファリングするステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記前方エラー訂正バイトに照らして、前記改良ＤＭＸスレーブ指示バイトのうちの少なくとも１つを解析するステップとをさらに含み、
前記前方エラー訂正バイトがエラーを示す場合、前記改良ＤＭＸスレーブのそれぞれは、前記前方エラー訂正バイトを利用することによって前記改良ＤＭＸスレーブ指示バイトのうちの対応する少なくとも１つを少なくとも選択的に訂正して、前記訂正されたデータに従って動作し、
前記非改良ＤＭＸスレーブは、前記前方エラー訂正バイトと関係なく、任意の受信された前記非改良ＤＭＸスレーブ指示に従って動作する、改良ＤＭＸ通信を提供する方法。
【請求項１２】
前記少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイトを含む、請求項１１に記載の方法。
【請求項１３】
前記改良ＤＭＸスレーブは、前記前方エラー訂正バイトが前記第１改良ＤＭＸスレーブ指示バイトを確認又は訂正する場合、前記第１改良ＤＭＸスレーブ指示バイトにのみ従って動作するが、前記前方エラー訂正バイトが前記第２改良ＤＭＸスレーブ指示バイトを確認又は訂正しない場合であっても、前記第２改良ＤＭＸスレーブ指示バイトに従って動作する、請求項１２に記載の方法。
【請求項１４】
前記ＤＭＸネットワーク上での前記ＤＭＸパケットの送信の前に、インターリーブ方式に従って、前記第１改良ＤＭＸスレーブ指示バイト、及び前記第２改良ＤＭＸスレーブ指示バイト内の複数の個別ビットをインターリーブするステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記インターリーブ方式に関連するデータを含む製造者特有パケットを前記ＤＭＸスレーブに送信するステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記少なくとも１つの改良ＤＭＸスレーブは、第１改良ＤＭＸスレーブ及び第２改良ＤＭＸスレーブを含む、請求項１１に記載の方法。
【請求項１７】
前記少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含み、前記第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、前記第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び前記第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む、請求項１６に記載の方法。
【請求項１８】
複数のバイトを有するＤＭＸパケットを受信するステップであって、前記複数のバイトは、改良ＤＭＸスレーブに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む、受信するステップを含み、
前記前方エラー訂正バイトは、前記ＤＭＸパケット内に組み込まれた、前記ＤＭＸパケットの複数のバイトの前方エラー訂正コードブロックであり、
前記前方エラー訂正バイトを含む複数のバイトをバッファリングするステップと、
前記改良ＤＭＸスレーブのそれぞれにおいて、前記前方エラー訂正バイトに照らして、前記改良ＤＭＸスレーブ指示バイトのうちの少なくとも１つを解析するステップと、
前記前方エラー訂正バイトがエラーを示す場合、前記前方エラー訂正バイトを利用することによって、前記改良ＤＭＸスレーブ指示バイトのうちの少なくとも１つを少なくとも選択的に訂正し、前記訂正された改良ＤＭＸスレーブ指示バイトに従って少なくとも選択的に動作するステップと
をさらに含む、改良ＤＭＸ通信を受信及び解析する方法。
【請求項１９】
請求項１８に記載の方法であって、前記少なくとも１つの改良ＤＭＸスレーブ指示バイトは、インターリーブされた第１改良ＤＭＸスレーブ指示バイト、及びインターリーブされた第２改良ＤＭＸスレーブ指示バイトを含み、前記方法は、前記第１改良ＤＭＸスレーブ指示バイト、及び前記第２改良ＤＭＸスレーブ指示バイトをデインターリービングするステップをさらに含む、請求項１８に記載の方法。
【請求項２０】
複数のバイトを有するＤＭＸパケットをコンパイルするステップであって、前記複数のバイトは、改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む、コンパイルするステップを含み、
前記前方エラー訂正バイトは、前記ＤＭＸパケット内に組み込まれた、前記ＤＭＸパケットの複数のバイトの前方エラー訂正コードブロックであり、
ＤＭＸネットワーク上で前記ＤＭＸパケットを送信するステップをさらに含む、改良ＤＭＸ通信を提供する方法。  
【請求項２１】
複数のバイトを有するＤＭＸパケットをコンパイルするステップであって、前記複数のバイトは、複数のＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む、コンパイルするステップを含み、
前記前方エラー訂正バイトは、前記ＤＭＸパケット内に組み込まれた、前記ＤＭＸパケットの複数のバイトの前方エラー訂正コードブロックであり、
ＤＭＸネットワーク上で前記ＤＭＸパケットを送信するステップをさらに含む、改良ＤＭＸ通信を提供する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本発明は、一般的には通信プロトコルの拡張に関する方法及び装置に向けられている。より具体的には、本明細書に開示される多様な方法及び装置は、ＤＭＸ通信プロトコルの拡張に関する方法及び装置に関する。
【背景技術】
【０００２】
［０００２］ＤＭＸ通信プロトコルは、照明産業において、いくつかのプログラム可能な照明アプリケーションのために慣習的に用いられている照明コマンドプロトコルであり、現行では、ＤＭＸ５１２プロトコル及びＤＭＸ５１２−Ａプロトコルを含む。ＤＭＸプロトコルにおいて、照明関連指示は、最大で５１２バイトのデータを含むパケットにフォーマットされた制御データとして照明ユニットに送信することができ、各データバイトは、０〜２５５のデジタル値を表す８ビットによって構成されている。各８ビットデータは１つのスタートビットによって先行され、また２つのストップビットが追従し、いわゆるデータスロット（１１ビット）を形成する。これらの５１２データスロットは、スロット０とも呼ばれる「スタートコード」バイト（典型的には０ｘ００）によって先行され、これは、自身のスタートビットの後に８ビットのデータ（典型的には０ｘ００）、及び２つのストップバイトが続く。「スタートコード」は、Ｂｒｅａｋ及びＭａｒｋ−ａｆｔｅｒ−Ｂｒｅａｋによって先行される。
【０００３】
［０００３］ＤＭＸプロトコルにおいて、所与のＤＭＸパケット内の最大で５１２データスロットの個々のデータスロットは、特定の照明ユニットのための照明関連コマンドとして意図されている。例えば、個々のデータスロット内の８ビットデータは、マルチチャネル照明ユニットの特定の「チャネル」用のコマンドとして意図されてもよい。デジタル値０は、照明ユニットの所与のチャネルに発光出力がないこと（すなわち、チャネルオフ）を意味し、デジタル値２５５は、照明ユニットの所与のチャネルのフル発光出力（１００％利用可能電力）（チャネルフルオン）を意味する。例えば、ここで、赤色、緑色、及び青色ＬＥＤに基づく３チャネル照明ユニット（すなわち、「Ｒ−Ｇ−Ｂ」照明ユニット）を考えると、ＤＭＸプロトコル内の照明コマンドは、赤色チャネルコマンド、緑色チャネルコマンド、及び青色チャネルコマンドのそれぞれを、０〜２５５の値を表す８ビットデータ（すなわち、データバイト）として指定することができる。任意の１つのカラーチャネルの最大値２５５は、照明ユニットのプロセッサに、対応する光源をチャネルの最大利用電力（すなわち、１００％）で動作するように制御することを指示し、これにより、その色の最大利用可能放射電力を生成する（Ｒ−Ｇ−Ｂ照明ユニットのためのこのようなコマンド構造は、通常、２４ビットカラーコントロールと呼ばれる）。したがって、フォーマット［Ｒ，Ｇ，Ｂ］＝［２５５，２５５，２５５］のコマンドは、照明ユニットに、赤色光、緑色光、及び青色光のそれぞれに対して最大放射電力を発生させる（これによって、白色光をつくる）。高解像度カラーコントロールのためには、１つのデータスロット内に８ビットより大きいデータを用いてもよく、例として、０〜６５５３５の値を表す２つのデータスロットを使用する１６ビットカラーの照明器具がある。Ｒ−Ｇ−Ｂ照明だけでなく、より多くの色、例えば限定はされないが、赤色−緑色−青色−こはく色−白色等も考慮される。
【０００４】
［０００４］また、例えば、データスロット内の個々のデータバイトの全て又は側面は、照明ユニット及び／又は他のＤＭＸスレーブデバイスの１つ以上の付加的な側面を制御するためのコマンドとして意図されてもよい。例えば、１つ以上のデータバイトは、照明ユニットのパターン、ピント、プリズム、パン、ティルト、回転速度、及び／又はアニメーションを制御し得る。また、例えば、１つ以上のデータバイトが、照明ユニットの調光シャッター、カラーホイール、及び／又はフレーミングレンズを制御してもよい。当業者によって理解されるように、ＤＭＸプロトコルは、さらに又は代わりに、１つ以上の照明ユニット及び／又は他のＤＭＸスレーブデバイスの他の側面を制御するために利用されてもよい。
【０００５】
［０００５］したがって、ＤＭＸプロトコルを使用する所与の通信リンクは、慣習的に最大で５１２の異なる照明ユニットチャネルをサポートできる。ＤＭＸプロトコルにフォーマットされた通信を受信するよう設計された所与の照明ユニットは、通常、パケット内の最大５１２データバイトの全シーケンス中の所望のデータバイトの特定の位置に基づいて、パケット内の５１２データバイトのうち、照明ユニットのチャネル数に対応する１つ以上の特定のデータバイトのみに応答し（例えば、３チャネル照明ユニットの例においては、３つのバイトが照明ユニットによって使用される）、他のバイトは無視するよう構成されている。これを実現するために、ＤＭＸベース照明ユニットは、所与のＤＭＸパケットにおいて照明ユニットが応答するデータバイトの特定の位置を決定するためにユーザ／インストーラによって手動で設定され得るアドレス選択機構を備えてもよい。他のシステムは、ＤＭＸアドレスを遠隔で構成するために、ＡＮＳＩ  Ｅ１．２０−２００６，Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｔｅｃｈｎｏｌｏｇｙ−ＲＤＭ−Ｒｅｍｏｔｅ  Ｄｅｖｉｃｅ  Ｍａｎａｇｅｍｅｎｔ  ｏｖｅｒ  ＤＭＸ５１２  Ｎｅｔｗｏｒｋｓ  ｓｔａｎｄａｒｄに規定される双方向通信能力を利用してもよい。
【０００６】
［０００６］ＤＭＸプロトコルのいくつかの実施形態は、プロトコルの元の範囲の外側のプロトコルの使用、及び／又はプロトコルの能力の伸長を含む。例えば、いくつかの実施形態において、ＤＭＸプロトコルは無線ネットワーク上で使用されている。また、例えば、いくつかの実施形態においては、ＤＭＸプロトコルは、人々及び／又は所有物（資産）をリスクにかける照明ユニットを制御するために利用できる（例えば、人々の周辺で利用される、眼に損傷を与えるレーザー発光照明ユニット）。このような実施形態において、及びＤＭＸプロトコルの他の実施形態において、照明ユニットの信頼性、機能性、及び／又は安全性を向上させるためにエラー検出訂正を実行することが望ましい。
【０００７】
［０００７］ＤＭＸ５１２プロトコルは、エラー検出を備えない。ＤＭＸ５１２−Ａプロトコルは、Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐａｃｋｅｔ（ＳＩＰ）の使用によってエラー検出に言及する。ＳＩＰは、交互のスタートコード（例えば、０ｘＣＦ、すなわち２０７）を有し、データリンク上に、直前のＤＭＸパケットに関連するチェックサムデータを他の制御情報とともに含む。ＳＩＰはある程度のエラー検出を実行するが、その利用のためには、全てのＤＭＸスレーブデバイスがＤＭＸ５１２−Ａプロトコルと互換性を有さなければならない。また、ＳＩＰ内に含まれるチェックサムは、別個のパケットで送信されなければならない。また、ＳＩＰは、エラー訂正を実行しない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
［０００８］したがって、当該技術分野において、改良ＤＭＸスレーブデバイスによるエラー検出訂正を可能にし、選択任意でＳＩＰの１つ以上の付加的な欠点を克服する拡張ＤＭＸプロトコルに関する方法及び装置を提供するニーズが存在する。
【課題を解決するための手段】
【０００９】
［０００９］本開示は、改良ＤＭＸ通信のための方法及び装置に向けられる。例えば、いくつかの実施形態において、ＤＭＸプロトコルの拡張に関する方法及び装置は、改良ＤＭＸスレーブデバイスによるエラー検出訂正を可能にする一方、任意で、非改良ＤＭＸスレーブデバイスとの互換性を維持する。当該方法及び装置は、ＤＭＸパケット内に組み込まれ、ＤＭＸパケット内の複数の指示バイトに関連する前方エラー訂正データを含む、複数の前方エラー訂正バイトを利用し得る。ＤＭＸパケット内の複数のバイトは、いくつかの変形例において、任意でインターリーブ方式に従ってインターリーブされ得る。
【００１０】
［００１０］一般的に、一側面において、複数の改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップを含む、改良ＤＭＸ通信を提供する方法が提供される。複数の改良ＤＭＸスレーブは、対応する複数のＤＭＸスレーブ制御アドレスを有する。また、当該方法は、複数のバイトを有するＤＭＸパケットをコンパイルするステップを含む。複数のバイトは、複数の改良ＤＭＸスレーブ制御アドレスに対応する複数の改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む。前方エラー訂正バイトはＤＭＸパケット内に組み込まれ、ＤＭＸパケットの複数バイトの前方エラー訂正コードブロックである。また、当該方法は、ＤＭＸネットワーク上でＤＭＸパケットを送信するステップと、各改良ＤＭＸスレーブにおいてＤＭＸパケットを受信するステップと、各改良ＤＭＸスレーブにおいて前方エラー訂正バイトを含む複数バイトをバッファリングするステップと、各改良ＤＭＸスレーブにおいて、前方エラー訂正バイトに照らして、改良ＤＭＸスレーブ指示バイトの少なくとも１つを解析するステップとを含む。前方エラー訂正バイトがエラーを示す場合、各改良ＤＭＸスレーブは、前方エラー訂正バイトを利用して、改良ＤＭＸスレーブ指示バイトの対応する少なくとも１つを少なくとも選択的に訂正し、訂正された改良ＤＭＸスレーブ指示バイトに従って動作する。
【００１１】
［００１１］いくつかの実施形態において、複数の改良ＤＭＸスレーブ指示バイトは、複数のインターリーブされたＤＭＸスレーブ指示バイトを含み、各インターリーブされたＤＭＸスレーブ指示バイトは、複数の改良ＤＭＸスレーブのための動作指示に対応する複数のビットを有する。これらの実施形態のいくつかのバージョンにおいて、ＤＭＸスタートコードのバイトは、さらに、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つのインターリーブされていない非改良ＤＭＸスレーブ指示バイトを含む。
【００１２】
［００１２］いくつかの実施形態において、当該方法は、さらに、ＤＭＸネットワーク上でＤＭＸパケットを送信する前に、インターリーブ方式に従って、複数のＤＭＸスレーブ指示バイト間で複数の個別のビットをインターリーブするステップを含む。これらの実施形態のいくつかのバージョンにおいて、複数の改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含む。第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、複数の改良ＤＭＸスレーブのうちの第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び複数の改良ＤＭＸスレーブのうちの第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む。当該方法は、さらに、ＤＭＸスレーブに別個の情報パケットを送信するステップを含む。個別の情報パケットは、前方エラー訂正バイトの処理に関連するデータを含む。
【００１３】
［００１３］いくつかの実施形態において、前方エラー訂正バイトの処理に関連するデータは、改良ＤＭＸスレーブ上に予めロードされる。また、いくつかの実施形態において、前方エラー訂正バイトはＤＭＸパケットをわたってインターリーブされる。これらの実施形態のいくつかのバージョンにおいて、少なくとも１つの前方エラー訂正バイトは、ＤＭＸパケットの全ての制御指示のための前方エラー訂正ブロックデータを含む。当該方法は、さらに、ＤＭＸネットワーク上でＤＭＸパケットを送信後、goコマンドを送信するステップを含み、各改良ＤＭＸスレーブは、goコマンドが送信されるまで、改良ＤＭＸスレーブ指示バイトに従って動作しない。
【００１４】
［００１４］一般的に、他の側面において、改良ＤＭＸ通信を提供する方法は、少なくとも１つの改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップを含む。改良ＤＭＸスレーブは、少なくとも１つの改良ＤＭＸスレーブ制御アドレスを有する。また、当該方法は、少なくとも１つの非改良ＤＭＸスレーブをＤＭＸネットワークに接続するステップを含む。非改良ＤＭＸスレーブは、少なくとも１つの非改良ＤＭＸスレーブ制御アドレスを有する。また、当該方法は、複数のバイトを有するＤＭＸパケットをコンパイルするステップを含む。複数のバイトは、改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む。前方エラー訂正バイトは、ＤＭＸパケット内に組み込まれ、ＤＭＸパケットの複数のバイトの前方エラー訂正コードブロックである。当該方法は、さらに、ＤＭＸネットワーク上でＤＭＸパケットを送信するステップと、改良ＤＭＸスレーブにおいてＤＭＸパケットを受信するステップと、改良ＤＭＸスレーブにおいて前方エラー訂正バイトを含む複数のバイトをバッファリングするステップと、各改良ＤＭＸスレーブにおいて、前方エラー訂正バイトに照らして、改良ＤＭＸスレーブ指示バイトの少なくとも１つを解析するステップとを含む。各改良ＤＭＸスレーブは、前方エラー訂正バイトがエラーを示すとき、前方エラー訂正バイトを利用して改良ＤＭＸスレーブ指示バイトの対応する少なくとも１つを少なくとも選択的に訂正し、訂正されたデータに従って動作する。非改良ＤＭＸスレーブは、前方エラー訂正バイトに関係なく、任意の受信された非改良ＤＭＸスレーブ指示バイトに従って動作する。 
【００１５】
［００１５］いくつかの実施形態において、少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１改良ＤＭＸスレーブ指示バイト、及び第２改良ＤＭＸスレーブ指示バイトを含む。これらの実施形態のいくつかのバージョンにおいて、改良ＤＭＸスレーブは、前方エラー訂正バイトが第１改良ＤＭＸスレーブ指示バイトを確認又は訂正する場合、第１改良ＤＭＸスレーブ指示バイトにのみ従って動作するが、前方エラー訂正バイトが第２改良ＤＭＸスレーブ指示バイトを確認しない又は訂正しない場合でさえ、第２改良ＤＭＸスレーブ指示バイトに従う。 
【００１６】
［００１６］当該方法は、さらに、ＤＭＸネットワーク上でＤＭＸパケットを送信する前に、インターリーブ方式に従って、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイト内の複数の個別のビットをインターリーブすることを含む。これらの実施形態のいくつかのバージョンにおいて、当該方法は、インターリーブ方式に関連するデータを含む製造者特有パケットをＤＭＸスレーブに送信するステップを含む。
【００１７】
［００１７］いくつかの実施形態において、少なくとも１つの改良ＤＭＸスレーブは、第１改良ＤＭＸスレーブ及び第２改良ＤＭＸスレーブを含む。これらの実施形態のいくつかのバージョンにおいて、少なくとも１つの改良ＤＭＸスレーブ指示バイトは、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトを含み、第１、第２、及び第３改良ＤＭＸスレーブ指示バイトのそれぞれは、第１改良ＤＭＸスレーブに対応する第１改良ＤＭＸスレーブ指示ビット、及び第２改良ＤＭＸスレーブに対応する第２改良ＤＭＸスレーブ指示ビットを含む。
【００１８】
［００１８］一般的に、他の側面において、改良ＤＭＸ通信を受信及び解析する方法は、複数のバイトを有するＤＭＸパケットを受信するステップを含む。複数のバイトは、改良ＤＭＸスレーブに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む。前方エラー訂正バイトは、ＤＭＸパケット内に組み込まれ、ＤＭＸパケットの複数バイトの前方エラー訂正コードブロックである。当該方法は、さらに、前方エラー訂正バイトを含む複数バイトをバッファリングするステップと、各改良ＤＭＸスレーブにおいて、前方エラー訂正バイトに照らして、改良ＤＭＸスレーブ指示バイトの少なくとも１つを解析するステップと、前方エラー訂正バイトがエラーを示す場合、前方エラー訂正バイトを利用して、改良ＤＭＸスレーブ指示バイトの少なくとも１つを選択的に訂正し、訂正された改良ＤＭＸスレーブ指示バイトに少なくとも選択に従うステップとを含む。
【００１９】
［００１９］いくつかの実施形態において、少なくとも１つのＤＭＸスレーブ指示バイトは、インターリーブされた第１改良ＤＭＸスレーブ指示バイト、及びインターリーブされた第２改良ＤＭＸスレーブ指示バイトを含み、当該方法は、さらに、第１改良ＤＭＸスレーブ指示バイト及び第２改良ＤＭＸスレーブ指示バイトをデインターリーブするステップを含む。
【００２０】
［００２０］一般的に、他の側面において、改良ＤＭＸ通信を提供する方法は、複数のバイトを有するＤＭＸパケットをコンパイルするステップを含む。複数のバイトは、改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの改良ＤＭＸスレーブ指示バイトと、非改良ＤＭＸスレーブ制御アドレスに対応する少なくとも１つの非改良ＤＭＸスレーブ指示バイトと、少なくとも１つの前方エラー訂正バイトとを含む。前方エラー訂正バイトは、ＤＭＸパケット内に組み込まれ、ＤＭＸパケットの複数バイトの前方エラー訂正コードブロックである。当該方法は、さらに、ＤＭＸネットワーク上でＤＭＸパケットを送信するステップを含む。 
【００２１】
［００２１］一般的に、他の側面において、改良ＤＭＸ通信を提供する方法は、複数のバイトを有するＤＭＸパケットをコンパイルするステップを含む。複数のバイトは、複数のＤＭＸスレーブ指示バイト、及び少なくとも１つの前方エラー訂正バイトを含む。前方エラー訂正バイトは、ＤＭＸパケット内に組み込まれ、ＤＭＸパケットの複数バイトの前方エラー訂正コードブロックである。当該方法は、さらに、ＤＭＸネットワーク上でＤＭＸパケットを送信するステップを含む。
【００２２】
［００２２］いくつかの実施形態において、複数のＤＭＸスレーブ指示バイトは、改良スレーブ指示バイトを含む。これらの実施形態のいくつかのバージョンにおいて、複数のＤＭＸスレーブ指示バイトは、非改良スレーブ指示バイトも含む。
【００２３】
［００２３］本明細書において、用語「コントローラ」は、一般的には１つ以上の光源の動作に関連する多様な装置を説明するために用いられる。コントローラは、本明細書で説明される多様な機能を実行するために、多数の方法で実装できる（例えば、専用のハードウェアによって）。「プロセッサ」は、コントローラの一例であり、本明細書において説明される多様な機能を実行するためにソフトウェア（例えば、マイクロコード）を使用してプログラミングされ得る１つ以上のマイクロプロセッサを使用する。コントローラは、プロセッサを使用して又は使用せずに実装されてもよく、また、いくつかの機能を実行する専用ハードウェアと、他の機能を実行するプロセッサ（例えば、１つ以上のプログラミングされたマイクロプロセッサ及び関連する回路）との組み合わせとしても実装できる。本開示の多様な実施形態において使用され得るコントローラ部品の例は、限定されないが、従来のマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ）である。
【００２４】
［００２４］多様な実施形態において、プロセッサ又はコントローラは１つ以上の記憶媒体（本明細書において、通常「メモリ」と呼ばれ、例えばＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フロッピー（登録商標）ディスク、コンパクトディスク、光学ディスク、磁気テープ等の揮発性及び非揮発性コンピュータメモリ）に関連付けられ得る。いくつかの実施形態において、１つ以上のプロセッサ及び／又はコントローラ上で実行される際、記憶媒体は、本明細書で説明される機能のうちの少なくとも一部を実行する１つ以上のプログラムによって符号化され得る。様々な記憶媒体がプロセッサ若しくはコントローラ内に固定されてもよく、又は、移動可能でもよく、記憶媒体上に記憶された１つ以上のプログラムがプロセッサ若しくはコントローラにロードされて、本明細書に説明される本発明の多様な側面を実行してもよい。本明細書において、用語「プログラム」又は「コンピュータプログラム」は広義の意味で使用され、１つ以上のプロセッサ又はコントローラをプログラミングするために用いることができるあらゆる種類のコンピュータコード（例えば、ソフトウェア又はマイクロコード）を指す。
【００２５】
［００２５］本明細書において、用語「アドレス指定可能」は、自身を含む複数のデバイス用の情報（例えば、データ）を受信し、自身を対象とする特定の情報に選択的に応答するよう構成されたデバイス（例えば、光源全般、照明ユニット又は照明器具、１つ以上光源又は照明ユニットと関連付けられたコントローラ又はプロセッサ、他の照明に関係ないデバイス等）を指す。用語「アドレス指定可能」は、しばしば、複数のデバイスが何らかの通信媒体を介して一体的に結合されるネットワーク化された環境（又は「ネットワーク」、以下で詳細に説明）と関連して用いられる。
【００２６】
［００２６］１つのネットワークの実施形態において、ネットワークに結合される１つ以上のデバイスが、当該ネットワークに結合される１つ以上の他のデバイスのコントローラとして機能し得る（例えば、マスタ／スレーブ関係）。他の実施形態において、ネットワーク化された環境は、当該ネットワークに結像された１つ以上のデバイスを制御するよう構成された１つ以上の専用のコントローラを含み得る。一般的に、ネットワークに結合された複数のデバイスはそれぞれ、通信媒体上に存在するデータにアクセスを有する。ただし、所与のデバイスは、例えば自身に割り当てられた１つ以上の特定の識別子（例えば、アドレス）に基づいてネットワークと選択的にデータを交換できる（すなわち、データを受信できる及び／又は送信できる）という点で、「アドレス指定可能」であり得る。
【００２７】
［００２７］本明細書において、用語「ネットワーク」は、ネットワークに接続される任意の２つ以上のデバイス間及び／又は複数のデバイス間での情報（例えば、デバイス制御、データ保存、データ交換のための情報等）の転送を容易にする２つ以上のデバイス（コントローラ又はプロセッサを含む）のあらゆる相互接続を指す。容易に理解されるように、複数のデバイスを相互接続するために適した様々なネットワークの実施形態は、あらゆる多様なネットワークトポロジーを含んでもよく、また、あらゆる多様な通信プロトコルを用い得る。また、本開示に係る様々なネットワークによれば、任意の２つのデバイス間の１つの接続は、２つのシステム間の専用接続、又は非専用接続を表し得る。かかる非専用接続は、２つのデバイス用の情報を運ぶのに加えて、必ずしも２つのデバイス用ではない情報を運んでもよい（例えば、オープンネットワーク接続）。
【００２８】
［００２８］上記概念、及び下記において詳細に説明される概念の組み合わせの全てが（かかる概念が互いに矛盾しないことを前提として）、本明細書が開示する主題の一部として考えられることを理解されたい。特に、本開示の末尾に表す特許請求の主題の組み合わせの全ては、本開示の主題の一部として考えられる。また、本明細書で明確に使用され、また、参照によって組み込まれる開示内に現れ得る用語は、本開示が開示する特定の概念と最も調和する意味を与えられるべきであると理解されたい。
【図面の簡単な説明】
【００２９】
［００２９］図面において、同様な参照符号は、通常異なる図面にかけて同じ部品（部分）を指す。また、図面は必ずしも縮尺通りでなくてもよく、発明の原理を説明するために、通常誇張される。
【図１】［００３０］図１は、ＤＭＸパケットの実施形態の開始部を示す。
【図２】［００３１］図２は、ＤＭＸネットワークの実施形態を示す。
【図３】［００３２］図３は、改良ＤＭＸスレーブ及び非改良ＤＭＸスレーブを有するＤＭＸネットワークの実施形態を示す。
【図４】［００３３］図４は、改良ＤＭＸ通信のコンパイル及び送信の実施形態を示す。
【図５】［００３４］図５は、改良ＤＭＸ通信の受信及び解析の実施形態を示す。
【図６】［００３５］図６は、インターリーブされたＤＭＸパケットをコンパイル及び送信する方法の実施形態を示す。
【図７】［００３６］図７は、インターリーブされたＤＭＸパケットからインターリーブされたデータを受信及び解析する方法の実施形態を示す。
【図８】［００３７］図８は、ＤＭＸ照明ネットワークの他の例を示す。
【発明を実施するための形態】
【００３０】
［００３８］ＤＭＸ５１２プロトコルは、エラー検出を提供しない。ＤＭＸ５１２−ＡプロトコルはＳＩＰの使用によりエラー検出に言及し、エラー保護をある程度実行するが、全てのＤＭＸスレーブデバイスがＤＭＸ５１２−Ａプロトコルと互換性を有すること、及び別個のパケットの送信を要求する。また、ＤＭＸ５１２及びＤＭＸ５１２−Ａはエラー訂正を提供しない。
【００３１】
［００３９］したがって、当該技術分野には、改良ＤＭＸスレーブデバイスによるエラー検出訂正を可能にする拡張ＤＭＸプロトコルに関する方法及び装置を提供するニーズが存在する。ＤＭＸプロトコルの拡張は、任意で非改良ＤＭＸスレーブデバイスとの完全互換性を維持し、また任意でＳＩＰの１つ以上の付加的な欠点を克服する。当該方法及び装置は、ＤＭＸパケット内に組み込まれ、ＤＭＸパケット内の複数のバイトに関連する前方エラー訂正データを含む、複数の前方エラー訂正バイトを利用し得る。
【００３２】
［００４０］より一般的には、出願人は、拡張ＤＭＸ通信プロトコルの提供が有益であることを認識及び理解した。これに照らして、本発明の多様な実施形態は拡張通信プロトコルに向けられている。
【００３３】
［００４１］下記の詳細な説明において、限定ではなく説明を目的として、本発明の完全な理解のために、具体的な詳細を開示する代表的な実施形態を述べる。しかし、本開示の利益を享受した当業者は、本明細書に開示される具体的な詳細から外れる、本明細書の教示に従う他の実施形態も特許請求の範囲に依然として含まれることを理解するであろう。例えば、本明細書を通して、多様な実施形態が、所定の用途のために構成され得るＤＭＸ制御照明器具と関連して説明される。しかし、本開示の利益を享受した当業者は、本発明の原理が、他の用途のために構成され得る他の照明器具、及び／又は他の非照明ＤＭＸデバイスに実装され得ることを認識及び理解するであろう。また、既知の装置及び方法の説明は、代表的な実施形態の説明を不明瞭にしないよう省略され得る。かかる方法及び装置は明らかに本発明の範囲に含まれる。
【００３４】
［００４２］本明細書に開示される多様な方法及び装置は、ＡＮＳＩ  Ｅ１．１１−２００８，Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｔｅｃｈｎｏｌｏｇｙ−ＵＳＩＴＴ  ＤＭＸ  ５１２−１−Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｓｅｒｉａｌ  Ｄｉｇｉｔａｌ  Ｄａｔａ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｃｏｎｔｒｏｌｌｉｎｇ  Ｌｉｇｈｔｉｎｇ  Ｅｑｕｉｐｍｅｎｔ  ａｎｄ  Ａｃｃｅｓｓｏｒｉｅｓ（ＤＭＸ通信プロトコル）の拡張に関する。これは、例えばオリジナルの１９８６  Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  Ｉｎｓｔｉｔｕｔｅ  ｆｏｒ  Ｔｈｅａｔｒｅ  Ｔｅｃｈｎｏｌｏｇｙ  ｓｔａｎｄａｒｄ、並びに１９９０年及び２００４年に作成された改訂版等、ＤＭＸ通信プロトコルの全ての過去のバージョンを含む。また、これは再確認（ｒｅａｆｆｉｒｍａｔｉｏｎ）を含む、ＤＭＸ通信プロトコルの後続のバージョンを含む。
【００３５】
［００４３］図１は、ＤＭＸパケット１１０の実施形態の開始部を示す。ＤＭＸパケット１１０は、ヌル値（０ｘ００）を有するスタートコード１１２を含む。スタートコード１１２は、「ＢＲＥＡＫ」及び「Ｍａｒｋ−Ａｆｔｅｒ−Ｂｒｅａｋ」からなるシーケンスに続く。また、ＤＭＸパケット１１０は、第１データスロット１１４０、第２データスロット１１４１、及び他のデータスロット１１４Ｘを含む複数のデータスロットを含む。アドレス「０」用に構成されたＤＭＸスレーブデバイスは、第１指示データスロット１１４０内で送信されるデータを利用し、アドレス「１」用に構成されたＤＭＸスレーブデバイスは、第２指示データスロット１１４１内で送信されたデータを利用する。選択任意で、単一のＤＭＸスレーブデバイスがスロット１１４０及び１１４１からの指示データバイトを利用してもよい。バイト１１４Ｘを含む他の指示スロットは、１つ以上の追加のＤＭＸスレーブデバイスへの指示を供給するために構成された、且つ／又は１つ以上の前方エラー訂正バイトを本明細書に説明されるように実行するために構成された、最大で５０９のさらなるデータバイトを含み得る。
【００３６】
［００４４］図２は、ＤＭＸネットワーク２００の実施形態を示す。ＤＭＸネットワーク２００は、ＤＭＸパケット２１０を複数のＤＭＸスレーブ２２１〜２２４に送信するＤＭＸコントローラ２５０を含む。ＤＭＸパケット２１０は、スタートコード２１２、及びスタートコード２１２に続く、スロット２１４０〜２１４６を含む複数のデータバイトを含む。ＤＭＸスレーブ２２１は、スロット２１４０の指示データバイト内のデータを利用するよう構成される。ＤＭＸスレーブ２２２は、スロット２１４１及び２１４２の指示データバイト内のデータを利用するよう構成される。ＤＭＸスレーブ２２３は、スロット２１４３の指示データバイト内のデータを利用するよう構成される。ＤＭＸスレーブ２２４は、スロット２１４４、２１４５、及び２１４６の指示データバイト内のデータを利用するよう構成される。ＤＭＸコントローラ２５０は、本明細書に説明されるような１つ以上の前方エラー訂正バイト等の１つ以上の追加データスロットを任意で実装してもよい。本明細書で説明されるような１つ以上の前方エラー訂正バイトがＤＭＸパケット２１０内に実装される場合、かかるエラー訂正バイトを解析するように拡張されたあらゆるＤＭＸスレーブ２２１〜２２４が解析を実行してもよい。ＤＭＸスレーブ２２１〜２２４のうちの１つ以上が拡張されていないとしても、いくつかの実施形態においては、本明細書に説明される１つ以上の前方エラー訂正バイトを含むＤＭＸパケットから指示バイトを読み取る場合でさえ、依然として正常に機能することができる。
【００３７】
［００４５］図３は、改良ＤＭＸスレーブ３２２、３２３及び非改良ＤＭＸスレーブ３２１、３２４を有するＤＭＸネットワークの実施形態を示す。ＤＭＸネットワーク３００は、ＤＭＸパケット３１０をＤＭＸスレーブ３２１〜３２４に送信するＤＭＸコントローラ３５０を含む。いくつかの実施形態において、ＤＭＸコントローラ３５０は、電力線ネットワーク及び／又は無線ネットワーク等、ノイズ及び干渉を受ける通信媒体を介してＤＭＸパケットを送信し得る。ＤＭＸパケット３１０は、スタートコード３１２、及びスタートコード３１２に続く、スロット３１４０〜３１４８を含む複数のデータバイトを含む。非改良ＤＭＸスレーブ３２１は、スロット３１４０のデータバイト内のデータに従うよう構成される。非改良ＤＭＸスレーブ３２４は、スロット３１４４〜３１４６のデータバイト内のデータに従うよう構成される。
【００３８】
［００４６］改良ＤＭＸスレーブ３２２は、スロット３１４１及び３１４２の指示データバイト内のデータに従うよう構成される。また、改良ＤＭＸスレーブ３２２は、少なくともスロット３１４１、３１４２の指示データバイトをバッファリング及び解析し、また、スロット３１４７及び３１４８内の前方エラー訂正バイトをバッファリング及び解析するよう構成される。一実施形態において、改良ＤＭＸスレーブ３２２は、スロット３１４１、３１４２内の指示データバイトをバッファリングし、それらをスロット３１４７及び３１４８内の前方エラー訂正データバイトの１つ以上のビットと比較してもよい。受信されたスロット３１４１、３１４２の指示データバイトが、スロット３１４７、３１４８の前方エラー訂正データバイトの１つ以上のビットと対応する場合、ＤＭＸスレーブ３２２は、スロット３１４１及び３１４２の指示データバイトに従って動作し得る。受信されたスロット３１４１、３１４２の指示データバイトが、受信されたスロット３１４７、３１４８の前方エラー訂正データバイトと対応しない場合、ＤＭＸスレーブ３２２は、スロット３１４１及び３１４２の指示データバイトの一方又は両方に従わなくてもよい。その代わりに、ＤＭＸスレーブ３２２は任意でスロット３１４７、３１４８内の前方エラー訂正データバイトを利用（任意でそれらが破損していないことを確認した後）して、スロット３１４１、３１４２内の指示データバイトを訂正してもよい。例えば、いくつかの実施形態において、スロット３１４１内の指示データバイトとスロット３１４７、３１４８内の前方エラー訂正データバイトとの間の対応に関係なく（例えば、スロット３１４７、３１４８内の前方エラー訂正データバイトが、指示データバイトが誤りであることを示す場合、及び／又はスロット３１４７、３１４８内の前方エラー訂正データバイトが破損している場合）、ＤＭＸスレーブ３２２はスロット３１４１内の指示データバイトに従ってもよいが、指示データバイトが正しいと確認された場合、又はスロット３１４７、３１４８内の前方エラー訂正データバイトの１つ以上のビットの解析によって訂正され得る場合は、スロット３１４２内の指示データバイトにのみ従う。例えば、スロット３１４７、３１４８内の前方エラー訂正データバイトは、リード・ソロモン符号を利用して符号化されてもよく、改良ＤＭＸスレーブ３２２は、スロット３１４７、３１４８内の前方エラー訂正データバイトを確認及び復号して、スロット３１４７、３１４８内の確認された前方エラー訂正バイトの１つ以上のビットを利用してスロット３１４７、３１４８内の指示データバイト確認及び任意で訂正できる。
【００３９】
［００４７］改良ＤＭＸスレーブ３２３は、スロット３１４３内の指示データバイト内のデータに従うよう構成される。また、改良ＤＭＸスレーブ３２３は、少なくともスロット３１４３内の指示データバイトをバッファリング及び解析し、また、スロット３１４７及び３１４８内の前方エラー訂正バイトをバッファリング及び解析するよう構成される。いくつかの実施形態において、改良ＤＭＸスレーブ３２３は、スロット３１４３内の指示データバイトをバッファリングし、スロット３１４７、３１４８内の前方エラー訂正データバイトの完全性を確認して、スロット３１４３内の指示データバイトをスロット３１４７及び３１４８内の前方エラー訂正バイトと比較してもよい。改良ＤＭＸスレーブ３２３は、任意で、スロット３１４７及び３１４８内の前方エラー訂正バイトがスロット３１４３内の指示データバイトを正しいと示す場合、又はスロット３１４７及び３１４８内の前方エラー訂正バイトが改良ＤＭＸスレーブ３２３によるスロット３１４３内の指示データバイトの訂正を可能にする場合、スロット３１４３内の指示データバイトにのみ従ってもよい。
【００４０】
［００４８］図３は、第１ＤＭＸパケット３１０に続く第２ＤＭＸパケット３１０１を示す。第２ＤＭＸパケット３１０１は、第１ＤＭＸパケット３１０と同じフォーマットを有してもよい。また、改良ＤＭＸスレーブ３２２及び３２３は、同様に第２ＤＭＸパケット３１０１のデータバイトをバッファリングし、バッファリングされた指示データバイトを前方エラー訂正データバイトと比較して、前方エラー訂正データバイトを利用することによって１つ以上の指示データバイトを確認及び／又は訂正してもよい。
【００４１】
［００４９］図４は、改良ＤＭＸ通信のコンパイリング及び送信の実施形態を示す。図４のステップは、例えば、ＤＭＸネットワーク２００／３００のいくつかの実施形態においては、コントローラ２５０／３５０内で実行されてもよい。
【００４２】
［００５０］ステップ４０１において、改良ＤＭＸスレーブデバイスは、ＤＭＸパケットの１つ以上のチャネルにおいて前方エラー訂正データの位置について通知を受ける。例えば、改良ＤＭＸスレーブデバイスは、前方エラー訂正データの位置がＤＭＸパケットの最後の２つのデータスロット内であることを知らされてもよい。また、例えば、改良ＤＭＸスレーブデバイスは、前方エラー訂正データの位置が、ＤＭＸパケットの始め、終わり、又は中間に位置する、１つ以上の特定の前方エラー訂正データバイト内であることを知らされてもよい。また、改良ＤＭＸスレーブデバイスは、前方エラー訂正が取るフォーマットについて任意で通知を受けてもよい（例えば、どの前方エラー訂正アルゴリズムが利用されるか）。いくつかの実施形態において、ＤＭＸスレーブデバイスは、ＤＭＸパケット内の前方エラー訂正データバイトの固定位置を特定し、且つ／又は前方エラー訂正フォーマットを特定する、予めロードされたデータを含んでもよい。いくつかの実施形態において、ＤＭＸスレーブデバイスは、ユーザが、ＤＭＸパケット内の前方エラー訂正データバイトの１つ以上の特定の位置、及び／又は前方エラー訂正フォーマットを特定することを可能にする、ジャンパー又は他のユーザインターフェイスを含んでもよい。いくつかの実施形態において、コントローラは、前方エラー訂正がＤＭＸパケット内のどこに存在するかを示し、且つ、任意で前方エラー訂正が取るフォーマットを示すデータを含むＳＩＰを送信してもよい。
【００４３】
［００５１］ステップ４０２において、ＤＭＸパケットのために前方エラー訂正コードブロックが計算される。いくつかの実施形態において、前方エラー訂正コードブロックは、ＤＭＸパケットの全ての指示データバイトのために計算される。他の実施形態において、前方エラー訂正コードブロックは、ＤＭＸパケットの全てより少ない指示データバイトのために計算されてもよい。いくつかの実施形態において、前方エラー訂正アルゴリズムは、例えばリード・ソロモン、Ｇｏｌｅｙ、ＢＣＨ、多次元パリティ、又は当業者にとって周知の他の適切な前方エラー訂正方法等のブロックコードでもよい。
【００４４】
［００５２］ステップ４０３において、前方エラー訂正コードブロックは、ＤＭＸパケット内の１つ以上の空きデータスロット内に実装される。当該空きデータスロットは、ＤＭＸスレーブデバイスが、前方エラー訂正コードブロックを運ぶと知らされたデータスロットである。いくつかの実施形態において、データスロットは、ＤＭＸスタートコードパケットの末尾のデータスロットでもよい。
【００４５】
［００５３］ステップ４０４において、ＤＭＸスタートコードパケットは、複数のＤＭＸスレーブデバイスに送信される。ＤＭＸスレーブデバイスの少なくとも一部は改良ＤＭＸスレーブデバイスであり、送信されたＤＭＸパケットの指示データバイトを前方エラー訂正データバイトを用いて確認し、そして、任意で前方エラー訂正データバイトに基づいて、破損した指示データバイトを訂正してもよい。ＤＭＸスレーブデバイスの他のデバイスは非改良ＤＭＸスレーブデバイスでもよく、送信された前方エラー訂正データバイトを単純に無視する。これは、前方エラー訂正データバイトが、非改良ＤＭＸスレーブデバイスによって使用されていない空きデータスロット内で送信され得るからである。
【００４６】
［００５４］図５は、改良されたＤＭＸ通信データを受信及び解析する実施形態を示す。図５のステップは、例えば、いくつかの実施形態において、図３の改良ＤＭＸスレーブ３２２、３２３内で実行されてもよい。
【００４７】
［００５５］ステップ５０１では、ＤＭＸパケットの１つ以上の指示データバイトからのデータが受信され、バッファリングされる。例えば、いくつかの実施形態において、単一の改良ＤＭＸスレーブに特有のＤＭＸパケットの指示データバイトが受信され、バッファリングされる。
【００４８】
［００５６］ステップ５０２において、ＤＭＸパケットの１つ以上のデータスロットに位置する前方エラー訂正データから前方エラー訂正コードブロックが受信される。前方エラー訂正コードブロックを記憶する特定のデータスロットは、例えばＤＭＸスレーブ上に予めロードされたデータ、ＤＭＸコントローラから送信されたデータ、及び／又はユーザインターフェイスを介したユーザによる入力によって指示され得る。
【００４９】
［００５７］ステップ５０３において、前方エラー訂正コードブロックが、前方エラー訂正アルゴリズムに従って復号される。いくつかの実施形態において、使用される当該アルゴリズムは、例えばＤＭＸスレーブ上に予めロードされたデータ、ＤＭＸコントローラから送信されたデータ、及び／又はユーザインターフェイスを介したユーザによる入力によって指示され得る。また、前方エラー訂正コードブロックが送信中に破損していないことを保証するために、任意で、その全て又は一部を確認してもよい。
【００５０】
［００５８］ステップ５０４では、受信された指示データバイトが、復号され、且つ任意で確認された前方エラー訂正データと比較される。受信された指示データバイトと復号された前方エラー訂正データが対応しない場合、受信された指示データは任意で前方エラー訂正データに基づいて訂正されてもよい。
【００５１】
［００５９］ステップ５０５では、デバイス特有指示バイトと前方エラー訂正データとの比較に基づいて、デバイス特有指示バイトが機能するか否かが決定される。例えば、いくつかの実施形態において、前方エラー訂正データが、デバイス特有指示バイトが正しい、又は指示バイトが前方エラー訂正データを用いて訂正されたと示さない限り、デバイス特有指示バイトは機能しない。また、例えば、いくつかの実施形態において、いくつかのデータバイト（又はその側面）は、前方エラー訂正データが、デバイス特有指示バイトが正しい、又は前方エラー訂正データを利用して訂正され得ると示さない限り、機能しないが、一方で、他のデータバイト（又はその側面）はそれとは無関係に機能する。例えば、非決定的なデータバイトには無関係に機能する一方、決定的及び／又は潜在的に危険なデータバイトは、前方エラー訂正データが、デバイス特有指示バイトが正しい又は前方エラー訂正データを利用して訂正され得ると示さない限り、機能しない。また、例えば、いくつかの実施形態において、デバイス特有指示は、２つ以上の連続エラーＤＭＸパケットが所定の時間内に発生しない限り、機能する。
【００５２】
［００６０］いくつかの実施形態において、改良ＤＭＸスレーブは、特有のｇｏコマンドがＤＭＸネットワークを介して受信されるまで、デバイス特有指示バイトに従わない。例えば、ＤＭＸパケットの送信からわずかな時間後に、コントローラによってＤＭＸネットワークを介してｇｏコマンドを送信することによって、複数の改良ＤＭＸスレーブに、ＤＭＸパケット内のデータを処理するのに十分な時間を与えてもよい。かかるｇｏコマンドの送信は、複数の改良ＤＭＸスレーブによる指示バイトに従う実質的に同時の動作を提供する。いくつかの実施形態において、改良ＤＭＸスレーブは、さらに又はあるいは、リアルタイムクロック及びｇｏコマンドによってトリガされるまで、デバイス特有指示バイトに従わなくてもよい。他の実施形態において、改良ＤＭＸスレーブは、デバイス特有指示バイトが確認及び／又は訂正されるとすぐにデバイス特有指示バイトに従って動作する。
【００５３】
［００６１］図６は、インターリーブＤＭＸパケットのコンパイル及び送信方法の実施形態を示す。図６の方法は、任意で、例えば、いくつかの実施形態においてはＤＭＸネットワーク２００／３００のコントローラ２５０／３５０内で実行され得る。図６の方法は、単独で、又は任意で前方エラー訂正データを有するスタートコードＤＭＸパケットのコンパイル及び送信と組み合わせて実行され得る。
【００５４】
［００６２］ステップ６０１では、改良ＤＭＸスレーブデバイスはインターリーブ方式についての通知を受ける。いくつかの実施形態において、改良ＤＭＸスレーブデバイスは、インターリーブ方式を特定するプリロードデータを含んでもよい。いくつかの実施形態において、改良ＤＭＸスレーブデバイスは、ユーザが特定のインターリーブ方式を特定することを可能にするジャンパー又は他のユーザインターフェイスを含んでもよい。いくつかの実施形態において、コントローラは、インターリーブ方式を示すデータを含むＳＩＰを送信してもよい。
【００５５】
［００６３］ステップ６０２では、インターリーブ方式に従ってデータがインターリーブされた複数のデータスロットを有するＤＭＸパケットが作成される。例えば、図３を参照すると、一実施形態において、データスロット３１４４、３１４５、及び３１４６のデータが互いにインターリーブされてもよい。例えば、データスロット３１４４、３１４５、及び３１４６のそれぞれが、ＤＭＸスレーブ３２４の異なるチャネルを対象とした個別のデータビットを含み得る（スロット３１４４、３１４５、及び３１４６内のデータ包含バイトのそれぞれが、ＤＭＸスレーブ３２４の単一のチャネルのみを対象としたビットを含むのではなく）。いくつかの実施形態において、インターリーブは、複数の異なるＤＭＸスレーブデバイスに対応するデータバイトにかけて生じてもよい。言い換えれば、１つのデータスロットは、複数のＤＭＸスレーブデバイスに対応するデータを含んでもよい。また、インターリーブは、インターリーブが前方エラー訂正バイトと組み合わされた実施形態において、任意で前方エラー訂正データバイトを含んでもよい。非改良デバイスが指示データバイトを意図された通りに受信するよう、インターリーブは、非改良ＤＭＸスレーブに対応するデータスロット間に生じるべきではない。
【００５６】
［００６４］ステップ６０３では、インターリーブされたＤＭＸパケットが、複数のＤＭＸスレーブデバイスに送信される。ＤＭＸスレーブデバイスの少なくとも一部は改良ＤＭＸスレーブデバイスであり、ＤＭＸスタートコードパケットを受信するとデインターリーブする。他のＤＭＸスレーブデバイスは非改良ＤＭＸスレーブデバイスでもよく、インターリーブされたデータは非改良ＤＭＸスレーブデバイスに対応しないデータバイト内でのみ送信されるため、非改良ＤＭＸスレーブデバイスはこれを単純に無視する。
【００５７】
［００６５］図７は、インターリーブされたＤＭＸパケットからのインターリーブされたデータを受信及び解析する方法の実施形態を示す。図７の方法は、例えば、いくつかの実施形態において、図３の改良ＤＭＸスレーブ３２２、３２３内で実行され得る。
【００５８】
［００６６］ステップ７０１では、ＤＭＸパケットの複数のデータバイトからインターリーブデータが受信されバッファリングされる。例えば、前方エラー訂正データを解析するためにバッファリングされるデータバイトも同様にバッファリングされてもよい。ステップ７０２では、インターリーブされたデータは、インターリーブ方式に従ってデインターリーブされたデータに再編成される。例えば、ＤＭＸスレーブに対応する複数のデータバイトからの個別のデータビットがインターリーブ方式に対応する順番に再編成されて、これによりＤＭＸスレーブのためのデインターリーブされた指示を取得してもよい。また、任意で、ＤＭＸスタートコードパケットが前方エラー訂正データを含み、前方エラー訂正データがインターリーブされている場合、個別のデータビットをデインターリーブすることによって前方エラー訂正データバイトを取得してもよい。ステップ７０３では、ＤＭＸスレーブに対応するＤＭＸ被制御機器の少なくとも１つの側面が、デインターリーブされたデータに基づいて指示を受ける。
【００５９】
［００６７］インターリーブがＤＭＸパケット内に組み込まれた前方エラー訂正バイトと組み合わされている実施形態において、ＤＭＸスレーブデバイスが、前方エラー訂正データが破損している且つ／又は指示データバイトエラーを訂正できないにも関わらず、１つ以上の指示データバイトの利用が適切であると判定する場合、送信されるＤＭＸパケット内のエラーの影響を最小に抑えるのを助け得る（例えば、１つ以上の指示データバイトが決定的なバイトではない場合、受信された指示データバイトと前方エラー訂正データバイトとの間の違いが最小の破損を示す場合、設定された期間内において、エラーＤＭＸパケットがさらなるエラーパケットによって先行されていない場合）。また、前方エラー訂正データブロックのインターリーブは、送信された前方エラー訂正データにおける送信エラーの影響を最小にすることを助け得る。例えば、前方エラー訂正データブロックのインターリーブは、他の前方エラー訂正データバイトが破損していたとしても、非破損前方エラー訂正データバイトに基づくエラー訂正を可能にし得る。
【００６０】
［００６８］図８は、ＤＭＸ照明ネットワーク８００の他の実施形態を示す。ＤＭＸ照明ネットワーク８００は、ＤＭＸスレーブ照明器具８２１、８２２、及び８２３の３つの別々のグループを制御するＤＭＸコントローラ８５０を含む。ＤＭＸコントローラ８５０は、同じＤＭＸパケットを３つのグループ８２１、８２２、及び８２３の全てに送信してもよいし、１つ以上のグループ８２１〜８２３に別々のＤＭＸパケットを送信してもよい。例えば、ＤＭＸコントローラは、グループ８２１に標準ＤＭＸ５１２パケットを送信し、グループ８２２にＤＭＸパケット内に前方エラー訂正バイトを実装するＤＭＸ情報を送信し、そしてグループ８２３にＤＭＸパケット内にインターリーブを実装するＤＭＸ情報（任意で、前方エラー訂正バイトと組み合わせて）を送信してもよい。
【００６１】
［００６９］本明細書においていくつかの実施形態が説明されてきたが、当業者は、本明細書で説明される機能を実行するための、並びに／又は本明細書で説明される結果及び／若しくは１つ以上の利益を取得するための多様な他の手段及び／又は構造を容易に想像することができ、また、かかる変形例及び／又は改変例は、本明細書に説明される実施形態の範囲に含まれると見なされる。より一般的には、当業者は、本明細書に記載される全てのパラメータ、寸法、材料、及び構成は例示的であり、実際のパラメータ、寸法、材料、及び／又は構成は、本明細書の教示が使用される具体的な用途に依存する。当業者は、通常の実験以上を要求されることなく、本発明の具体的な実施形態の多数の均等物を認識又は確認することができるであろう。したがって、上記の実施形態は単に例としてのみ提示され、実施形態は、特許請求の範囲及びその均等物の範囲内において、具体的に説明及び請求された態様とは異なる態様で実施されてもよいことを理解されたい。本開示の実施形態は、本明細書で説明される個別の特徴、システム、物品、材料、キット、及び／又は方法に向けられる。また、かかる特徴、システム、物品、材料、キット、及び／又は方法の２つ以上が互いに矛盾しない場合、このような特徴、システム、物品、材料、キット、及び／又は方法の２つ以上の任意の組み合わせが、本開示の範囲に含まれる。
【００６２】
［００７０］本明細書で定義及び使用される全ての用語の定義は、辞書の定義、参照によって組み込まれる文書内の定義、及び／又は定義される用語の通常の意味を含むことを理解されたい。
【００６３】
［００７１］また、明確に否定的な記載がない限り、１つ以上のステップ又は動作を含む本願で請求される方法において、方法のステップ又は動作の順番は、必ずしもその方法のステップ又は動作が記載される順番に限定されないことを理解されたい。また、特許請求の範囲内の括弧内の参照番号は、単に便宜上用いられ、特許請求の範囲を如何なる意味でも限定しないと解されるべきである。
【００６４】
特許請求の範囲において、また、本明細書において、「備える」、「含む」、「有する」、「持つ」等の移行句は、制限なし（ｏｐｅｎ−ｅｎｄｅｄ）の表現であると理解されるべきであり、すなわち、米国特許審査便覧§２１１１．０３に記載のように、限定ではなく含むを意味すると理解されるべきである。
【図１】
2014535132.tif 000003
【図２】
2014535132.tif 000004
【図３】
2014535132.tif 000005
【図４】
2014535132.tif 000006
【図５】
2014535132.tif 000007
【図６】
2014535132.tif 000008
【図７】
2014535132.tif 000009
【図８】
2014535132.tif 000010
【国際調査報告】
2014535132.tif 000011
2014535132.tif 000012