Make it inspiring
 

sACN

概要

sACNまたはstreamingACNは、DMXデータをUDPで伝送するためのオープン仕様のプロトコルの1つです。ANSI E1.31-2016として標準化されており、通常はsACNの名称で知られています。DMXのゼロスタートコードのデータ(一般のDMXレベルデータ)をACN (Architecture for control Network ) プロトコルの一部を利用してIPで伝送することを可能としたプロトコルで、その意味ではsACNはACNプロトコルの一部と言えます。マルチキャスト通信で使用するマルチキャストアドレスの下位2バイトをつかってユニバース番号を指定し、最大63999ユニバースの指定が可能です。(2バイトで65536が表現できますが、64000〜65536は予約されており使用できません)

歴史

90年代後半、ESTA(Entertainment Services and Technology Association)によりDMXを置き換えることを意図して新たな制御プロトコルの開発が始まりました。これはライブエンタテイメント分野の照明や音響, 特殊効果など、ライブショーに関わる多様な機器の制御を想定しており、2006年に最初のバージョンがリリースされ、その後改正されて、ANSI E1.17-2010として標準化されています。
ACNはUDP/IP上で動作する複数のプロトコルをまとめたプロトコルスイートで、これまでのDMXによるチャンネルバリューやユニバースの概念をなくし、DMXのバリュー制御よりもさらに洗練された制御を目指したものでした。しかしACNが標準化されて以降も普及は進まず、逆にDMXデータ伝送の機能がないことが不便という結果となり、ACNプロトコルセットの一部を利用してDMXデータの伝送を可能としたプロトコルがsACNです。

仕様が公開されたプロトコルであり、ANSIとESTAで標準化されたプロトコルという意味では唯一の業界スタンダードプロトコルですが、最初に規格としてリリースされたのが2009年のE1.31-2009 であり、DMX over Ethernetの概念が進んだ時期と照らし合わせると、時期的にはかなり遅い時期であったがために、普及に時間がかかったということもありますが、その後2016年と2018年に改訂され、マルチキャスト通信という大量のデータを特定の相手にだけ届けるのに効率のよい仕組みを採用していることから、舞台イベント産業ではかなり普及が進みました。また最近はRDM-Net(ANSI1.33 )が開発されたこともあり、sACNとRDM-Netを組み合わせることでより利便性が高まることから、舞台産業では普及が加速すると見られていますが、舞台産業以外の分野ではいまだ認識は薄いようです

sACNの特徴

ストリーミングACNプロトコルはシンプルにDMXデータをカプセル化して伝送するだけのシンプルな仕組みです。代表的なDMX over EthernetプロトコルであるArtnetのようなRDM伝送や、接続されるデバイス管理のための仕組みなどはなく、それゆえ送信されるデータも単純であり、余分なパケット送信がありません。またマルチキャストの伝送方式をとるため、ネットワーク機器(受信する装置)にとっても負荷が軽減されるだけでなく、余分なパケット送信がない分、トラフィックも軽くなるといえるプロトコルです。

ステージ演出産業などでは、大型のイベントなどになると数十ユニバースから100ユニバース程度のDMXデータ送信があるかもしれませんが、建築設備やイルミネーションなどの現場ではさらに膨らみ、現場によっては数百から1000を超えるユニバース伝送に達するケースもあります。こうした現代の照明制御においては、ユニキャスト送信とポーリングパケットを定期的に送信するArtnetよりもシンプルなsACNが大量のDMXデータを伝送するのには適していると言えるかもしれません。

 

sACNはマルチキャスト方式で通信を行います。これは複数の端末に対して一斉にデータを送信するのに適した方式で、ブロードキャストと異なるのはある特定のIPアドレス(マルチキャストアドレス)を宛先に送信することです。IP通信の場合データパケットの先頭に必ず宛先IPが付けられます。(MACアドレスも同様に)マルチキャスト通信の場合、この宛先が予約されたマルチキャストアドレスを対象とします。sACNのDMXユニバースの特定はこのマルチキャストアドレスに紐づいており、マルチキャストIPアドレスの下位2バイトを使ってユニバース番号が決められます。

239 255 x x
ユニバース番号のHi byte ユニバース番号のLo byte

 

ユニバース番号は0を使用せず、1から63999までの指定ができます。このユニバースNo.を上記のIPアドレス “239.255.x.x”を使い、指定することで、ユニバース番号と同時に宛先IPも決まります。受信する側も受信したいユニバース番号を指定するだけでマルチキャストグループが決まるというユニークな仕組みです。

(つまりsACNのユニバース番号は特定の範囲のマルチキャストアドレスと紐づいています)

マルチキャスト通信は映像や音声など、ストリームデータを特定のグループに送信する用途で、昔から存在する仕組みで、UDPが特定するポート番号もマルチキャストポート(5568)が既知の番号として用意されています。マルチキャストパケットが到達するとノードはそれが自分宛のパケットでなければ、単に破棄するだけで受信処理は行いません。この点がブロードキャストと大きな違いで、ブロードキャストは不特定数の相手に送信するパケットのため受信処理が行われるため、受信装置に大きな負荷となります。マルチキャストはこの点が優れています。

しかしネットワークスイッチでIGMPスヌーピングを搭載しない製品の場合、マルチキャストパケットが届くと、それらは常にフラッディングされます。(全ポートにコピー)つまり普通のネットワークスイッチではブロードキャストと同じ扱いになる点では、ネットワークトラフィックが軽くなるわけではない

ストリームの優先順位

DMXシステムでは起こり得ない複数の同一ユニバースの受信という状態がネットワークシステムでは起こり得ます。複数の異なるコントローラから出力されたユニバースが同じノードに到達するケースです。sACNをサポートしたコントローラは出力するユニバースそれぞれに0~200の数値(通常は0と200を除く1~199の範囲で設定)でプライオリティーを設定できます。(デフォルト100)  このプライオリティーの数値は高くなるほど優先度が高くなります。受信装置はこのプライオリティーに応じて出力する優先度を決めることができます。

ストリーム優先度が決められることで、ネットワーク上に複数のコントローラーがある場合に、通常はAコントローラーがメインとし、Bはあくまでバックアップまたはサブコントローラーとしたい場合など、通常はAコントローラーの出力を優先するが、A以外からもBコントローラーでも照明が制御できることで、2箇所からの制御が可能になったり、またはAのメインコントローラーがダウンした際のバックアップにBコントローラが使えるなどの点に利便性が見出せます。

 

ユニバースのマージ

sACNプロトコルはDMXユニバースの個々のストリームに優先度をつけて送る機能がありますが、これはデフォルトで100になります。この同じ優先度を持つストリームが到着した時、受信デバイスは同じ優先度のストリームの場合にマージして出力を行います。

Mergeは2つのストリームのデータを比較して、通常、高いレベルを優先して出力します。これをHTP(Highest takes Procedence)ルールと言います。複数コントローラーが出力する同一ユニバースのストリームプライオリティーを同一にした場合も、届いたデータを比較して常に高いレベルを出力するため、出力装置におけるコンフリクトが発生しません。

またこのことはネットワーク上に複数のコントローラーが存在する際に、2つのコントローラーが同期して常に同じ出力を出している場合、プライマリーコントローラーがダウンした場合に、途切れることなく2つ目のコントローラーの出力が行われるため、コントローラーのバックアップシステムとして運用することも可能になります。

 

ユニバース同期

ピクセルマッピング等、特に映像を使った照明制御において、複数ノードのDMX出力タイミングの同期が重要になります。ノードが正しく同期してDMXを出力しなければ、LEDをスクリーンのように面配置した状態で、出力のズレが顕著に認識されるためです。sACNのDMXユニバースを同期するSyncアドレスは特定のユニバースで発生されます。sACNストリームを出力するコントローラーでは、右図のように同期ユニバースの番号を指定することで、同期モードをオンにします。

 

コントローラーから出力されるデータパケットの同期アドレスにはそのユニバース番号が記載されて出力されます。それを受信した装置は、シンクモードがアクティブになったことを知り、同時に同期ユニバース番号を認識します。

受信装置はそこに記載されたユニバース番号のマルチキャストグループにジョインして、リスンするようになります。そして届いたDMXユニバースの出力を同期ユニバースのパケットが届くまで保持し、等しく同期ユニバースの到着を待って出力を行うように動作します。

複数のシンクユニバース

sACNは大量のDMXデータ伝送を想定しています。送信されるユニバースが増えるピクセルウォールなどの演出では、受信したデータを出力するノード(DMXゲートウェイ製品)の出力タイミングの同期が重要になります。sACNにはSyncユニバースの設定が可能ですが、このSyncユニバースを複数設定できるのも大きな特徴です。

先の説明にあるようにsACNの同期については、コントローラー側でSyncユニバースの指定をするだけです。ここでSyncユニバースを設定したコントローラーはSyncマスターと呼ばれますが、このSyncマスターは他のコンソールも同様に設定が可能で、これにより同じネットワークでつながるAエリアとBエリアのように複数あるエリアのノードをそれぞれ個別のSyncで同期することが可能になります。