時代背景
90年代はDMX512プロトコルが演出照明分野に普及するとともに、DMXが開発された主目的であるディマー制御の枠を超えて数多くの演出向け照明製品(ムービングライト等)への応用が広がり、シングルDMX512(1ユニバース)では制御チャンネルが不足する故に、そのチャンネル不足を補うため、複数のDMXケーブルを使用して制御チャンネルを増やすことが常態化していました。そうした中、コンピューターをつなぐLAN用プロトコルにおいてTCP/IPプロトコルが一般的となり、90年代後半からDMXをIPプロトコルで伝送するためのプロトコルが多数登場しました。その中の1つが、アーティスティックライセンス社がライセンスフリーでリリースしたプロトコル、アートネットです。
バージョンヒストリー
1998年 | Artnet1 | 10base Tネットワークをベースとし、最大40ユニバース(40本)のDMXを伝送するブロードキャスト型プロトコルとしてリリースされる |
2006年 | Artnet2 | 管理対象のデバイスとして、コンソール、ノードに加え、メディアサーバーのカテゴリーを加え、機能強化、ブロードキャストの問題を解決するユニキャストによるデータ伝送方法を追加し、最大256ユニバースのDMXを伝送することを許容した |
2011年 | Artnet3 | ユニバースをの識別を行うアドレス設定がSubnetとUniversを組み合わせる8ビットの設定から上位ビットにNetという名称の番号が追加され、トータル15ビットに変更されることで、32,768ユニバースの伝送が可能になる。 |
2016年 | Artnet4 | 4つのポートに対してIP番号1つを使うという制限が撤廃され、ノードの開発者はIP1つで1000を超えるポートを管理できる製品開発が可能となる。また、DMXデータの伝送にsACNを使いながら、アートネットのパケットの1つであるArtRDMの同時使用が実現。 |
Artnet 1からArtnet4
90年後半のインテリジェントライトのムーブメントは、単一の照明デバイスで大量のDMXチャンネルを消費し、DMXの512chだけではコントロールチャンネルが不足することが明白でした。そこに照明コントローラーにおける汎用OSをつかったPCソフトウェア化の波が重なり、イーサネットベースのDMXデータ伝送プロトコルが加速することになります。
アートネット2が登場した2000年前半は、メディアサーバーと呼ばれる映像をリアルタイムに変化させることが可能なコンピューターソフトの普及とともに、こうしたリアルタイムな映像の制御をDMXで行うという新たなムーブメントがありました。加えて、個々の照明をピクセルとして映像で表現するピクセルマッピングの演出手法も広がりを見せた時代です。そのためアートネットもメディアサーバーに対する機能を搭載します。
2010年代に突入すると照明のLED化が舞台産業にも押し寄せ、制御チャンネル増加は著しいものとなり、さらなるDMXユニバースが求められることになり、アートネット3ではポートアドレスのビットを追加してさらに多くのユニバースの伝送を可能としますが、ブロードキャストやユニキャストによるネットワークへの負荷が問題になります。
アートネット4においては、すでに普及したsACNによるDMX伝送とArtRDMの共有を許容し、マルチキャストでのDMX伝送をしながらもRDMの通信も実現します。
アートネットの概要
アートネットはイーサネットで定義されるLANケーブルで接続された3つのタイプのデバイスをIPベースのプロトコルUDPを使い、Artpoleと呼ぶポーリングパケットを送信し、個々のデバイスがArtリプライと呼ぶパケットを返すことで、それぞれのデバイスの情報が共有されることで、アートネットのネットワークにつながるデバイス管理を実現しつつ、3つのデバイスそれぞれからDMXのデータの送信・受信を可能としている。
アートネットは早くからアートネットにつながるデバイスとして、照明コントローラーとイーサネットゲートウェイのノードに加え、DMXで制御可能なメディアサーバーを定義し、大量の照明器具をつかったビデオウォールの演出、ピクセルマッピングのためにアートシンクというパケットを搭載、このアートシンクパケットにより、ノード(DMX<>ネットワークゲートウェイ)から出力されるDMXは同期した出力が可能となる。また照明機材の状態監視やリモート設定を実現するRDM通信のためのアートRDMパケットも搭載することで、非常に利用価値の高いプロトコルになっている。
アートネットのネットワークで定義されるデバイスは、DMXコントローラー、ノード(DMX<>イーサネットゲートウェイ)、映像制御の装置(メディアサーバー)の3つがある。
4ポートノード
DMXコントローラー
メディアサーバー
目次
物理レイヤー
アートネットはIPベースのプロトコルであり、物理接続の仕様に関してはイーサネットの仕様に基づいています。そのためイーサネット接続(LAN)で許容されるメディアはすべて利用でき、RJ45コネクターを使うCAT5e,Cat6,Cat7等のツイステッドペアケーブルやシングル、マルチモードの光ファイバー、WIFIなど多様な接続方法が利用できる点がこうしたIPベースプロトコルの利点です。
ただしWIFIの使用については、遅延が大きくなるためリアルタイムの照明変化を求める場合は利用は避けるべきメディアです。しかし単に固定レベルを送信する用途であれば、問題なくWIFIも利用が可能です。
標準的な物理接続はスイッチングハブを介して照明コントローラーとDMXノードを接続し、DMXノードから出力されるDMXをDMX用ツイステッドペアケーブルで接続します。アートネットはユニキャストまたはブロードキャスト型のプロトコルで、DMXというリアルタイム性が要求されるデータを伝送するため、スイッチングハブのバックプレーン(内部の最大転送容量)はできるだけ高いものがよく、それぞれのポートがフルデュプレックス通信の最大速度で通信できるものを選ぶことが重要になります。
IP設定
UDP
アートネットプロトコルはイーサネットによる物理接続で構築されたネットワーク上で伝送されるUDPパケットを使い伝送されます。UDPは音声や映像のようにリアルタイム性が求められるストリーミングデータの伝送に用いられるプロトコルです。ポート番号は1~65535の範囲で指定が可能で、アートネットのポート番号は6454(0x1936)になります。
IP
Artnetの送受信において行う設定はIP設定とDMXユニバースの設定のみです。Artnetの送受信を行うデバイスは、DHCPによる自動IP割り当てのほか、静的なアドレスをMACアドレスから自動でジェネレートするモードがありますが、機器の管理という面から静的なアドレスをユーザーが設定することが望ましいと思います。
Artnet通信デバイスのIP設定はデフォルトでクラスAのサブネットマスクが利用され、2又は10のネットワークIDを使います。ほとんどのArtnet製品では標準で2のネットワークIDが選択されていますが、Artnet通信を行うネットワークをインターネットなどのパブリックなネットワークにつなぐ必要がある場合は、ルーターでフィルターされる10のネットワークIDを利用することが推奨されます。
A | B | C | D | |
IP | 2 | 0 | 0 | 1 |
Subnet Mask | 255 | 0 | 0 | 0 |
装置が参加するネットワークID (グループのような概念 | 装置固有の番号として使用 この場合、001が装置固有の番号として認識される |
8ビットサブネットマスク vs 24ビットサブネットマスク
Artnet のIP設定はプライマリーで2.x.x.x /8、セカンダリーで10.x.x.x /8が定義されていますが、このIPを厳格に守らなくても、もちろん他のネットワークIDであっても接続する装置同士が、同じサブネットマスクで同じネットワークIDであれば、繋がることが可能で、データ(DMX )も送受信が可能です。( 例えば、192.168.11.x /24bitなど )
DMXを出力するノード製品などでArtnetのデフォルトIPでなければ出力しない製品もありますが、データを送受信する装置同士で通常のコンピューターの通信のように共通のサブネットマスクとネットワークIDが設定されていれば、通信自体、問題ありません。
アドレス設定
Artnetを送信するデバイスは、DMXの512chを一単位とするユニバース番号の設定を行い、受信するデバイスは送信されるユニバース番号のうち、必要なユニバース番号を指定して物理出力から取り出します。
アートネットのDMXユニバースを表す方法は、Net, Subnet, Universという3つの数値を利用します。多くのアートネット対応製品の場合、デシマル表記の通し番号でユニバース番号を表すのではなく、16進数の3つの数値の組み合わせ設定になっています。(最近はデシマル表記で設定するものも多い)
16進数の数字の組み合わせで設定する装置の場合、写真のような物理ダイヤルを操作するものと、ソフトウェア上にこのダイヤルを模した入力欄を設けたものが多く見られます。その場合0~9の数字とA~Fのアルファベットで固有の数値を表現します。
- Univers : 0~15の数値で合計16ユニバースを設定(Subnet=0)
- Subnet : Universよりも上位の数、Universの値と組み合わせて256ユニバースを設定
例:
- Sub-net = 0 Univers = 1 = ユニバース 1
- Sub-net = 1 Univers = 2 = ユニバース18
DMXのユニバース設定に関して、10進数による1〜32,768ユニバースのユニークナンバーを直接、指定している製品と、上記のように3つのBitを組み合わせてユニーク番号を表すものとで0の扱いに違いがあります。
上記のように3つの数値を使い、ユニバース番号を指定している製品は Net=0 Sub-net=0 Univers=0という0.0.0の数値が存在します。この場合ユニバースは0と表現できますが、製品によっては0を1とカウントする製品があり、ユニバース1を設定したつもりでもそれはユニバース0を表すケースがあり、混乱の元となっています。
アートネットの場合、3つのBitでユニバース番号を表現するため、基本的にユニバース0からカウントし、Sub-netとUniversを組み合わせることで最大256個のユニバースを設定でき、そこにNetを組み合わせると、257〜32768のユニバースが設定できます。
Artnet パケット
アートネットには、デバイスを識別するためのポーリングパケットとリプライの他に、下記のパケットが定義されている。
ArtPoll | 他の装置の検出のためにコントローラーから送出されるパケット。2.5秒から3秒間隔で定期的に送出されるブロードキャストのパケットで、これを受信した装置はアートリプライを返すことでネットワークに接続されていることを知らせる |
ディレクテッドブロードキャスト 又はユニキャストが許容される |
ArtPoll Reply | ArtPollを受信した装置は、ArtPollリプライで応答します。これによりアートネットの装置は自身の存在を送信者に知らせることで、装置の種別、IP番号、ポートの設定などの情報を知らせることができます。 | ユニキャスト送信のみ |
ArtIpProg | ノードのIP設定をリモートで変更するためのパケット | |
ArtIpProg Reply | 上記のパケットを受信したノードが返すパケット。リモートでIPの変更を許容しないノードは返信しません。 | |
ArtAddress | ノードのポートアドレスをリモートで変更するためのパケット | |
ArtDiagData |
ArtDiagDataは、ノードまたはコントローラーが表示用の診断データを送信するための汎用パケットです。 コントローラによって送信される ArtPoll パケットは、これらのメッセージの送信先を定義します。
|
|
ArtTimeCode | アートネットを使いタイムコードを伝送するためのパケット。LTCとMIDIの両方のフォーマットに対応し、フィルム、EBU、ドロップ フレーム、SMPTE の 4 つの主要なタイプもエンコードされます。 パケットの使用はアプリケーションによって異なりますが、一般的には単一のコントローラがパケットをネットワークにブロードキャストします。 | |
ArtCommand | ArtCommand パケットは、プロパティ セット スタイル コマンドを送信するために使用されます。 一般的に使用されるいくつかの特定コマンドも定義されています。このパケットは、独自のコマンドの転送にも使用できます。 | |
ArtTrigger | ArtTrigger パケットは、トリガー マクロをネットワークに送信するために使用されます。 | |
ArtDMX | ArtDmx はDMX512 データを転送するために使用されるデータ パケットです。 データはユニバース設定に対応した DMX O/P ポートから出力されます。 受信ノードの各出力ポートがArtDmx パケットを受信しない場合、同じフレームを継続的に再送信します。 各入力ポートで受信された最初のDMX フレームはArtDmx パケットに格納され、 Universe パラメーターを含む ArtDmx パケットとして送信されます。 | |
ArtSync | ArtSync パケットを使用すると、ノードが ArtDmx パケットを出力する際に、同期的に出力するように強制します。 これは、ビデオおよびメディアウォール アプリケーションで役立ちます。 同期送信を実装したいコントローラーは、ArtDmx の複数のユニバースをユニキャストし、次に ArtSync をブロードキャストして、すべての ArtDmx パケットをノードの出力に同時に転送します | |
ArtNzs | ArtNzs は、スタートコードのゼロ以外のデータを (RDM を除く) 転送するために使用されるデータ パケットです。 形式はノードからコントローラー、ノードからノードおよびコントローラーからノードで同一です。 | |
ArtVlc | ArtVlc は、Art-Net を介した VLC (可視光通信) データの転送に使用されます。 | |
ArtInput | ArtInput パケットはコントローラーによってユニキャストされ、ノードの 4 つの入力ポートを有効または無効にします。 | |
ArtFirmware Master | ||
ArtFirmware Reply | ||
ArtTod Request | このパケットは、RDM のTable of RDM Devices (TOD) を要求するために使用されます。 応答は ArtTodData です | |
ArtTodData | 上記のリプライパケット | |
ArtTod Control | ArtTodControl パケットは、Art-Net 経由で RDM 制御パラメータを送信するために使用されます。 リプライはArtTodData で行います。 | |
ArtRDM | ArtRdm パケットは、すべての非ディスカバリー RDM メッセージを Art-Net 経由で転送するために使用されます。 | |
ArtRDMSub | ArtRdmSub パケットは、RDM デバイス内の複数のサブデバイスとの間で Get、Set、GetResponse、および SetResponse データを転送するために使用されます。 このパケットは主に、RDM をプロキシまたはエミュレートする Art-Net デバイスによって使用されます。 複数の ArtRdm パケットを送信するアプローチに比べて、帯域幅が大幅に向上します。 |
ブロードキャストとユニキャスト
アートネットは初期、ブロードキャスト型のプロトコルでしたが、のちにユニキャストを追加し、以降はユニキャストでの通信を推奨しています。このブロードキャストやユニキャストなどの通信方式のことをキャスティングと呼び、この2つ以外にもマルチキャストという仕組みがあります。
アートネットでは、その仕様書の中でも例えデバイスディスカバリーにつかうArt pollパケットでもリミテッドブロードキャストは使うべきではないと言及していますが、Artnetをサポートする機器の多くで未だリミテッドブロードキャストを使う製品もあり、これがアートネットというプロトコルが負荷の高いプロトコルとして認識される要因でもあります。
Directed Broadcast vs Limited Broadcast
ブロードキャスト通信は、ネットワークを構築してすぐに、IPもMACアドレスもまだ送信する機器側では不明なケースなどで、DHCPといったプロトコルでネットワーク全体に一斉送信するような際に使われる通信方式です。通常、ネットワークの通信では必ずヘッダーに宛先IPやMACアドレスをつけて送信しますが、送信相手のIPやMACアドレスが不明な際には、すべてFFのブロードキャストアドレス宛に送ることで、ネットワークスイッチはそのパケットをすべてのポートに送信してくれます。 (ブロードキャスト IP番号 255.255.255.255 ) ブロードキャスト通信はいわば1対nへの通信方式で、1つのパケットを送るだけで、そのデータはネットワークスイッチでフラッディングされ、すべての装置へ届けられます。
2種類あるブロードキャストアドレス
リミテッドブロードキャスト | ネットワークにつながるすべての機器へ一斉送信する(例:255.255.255.255 |
ディレクテッドブロードキャスト | 指定したネットワークIDを持つ機器への一斉送信(例:2.255.255.255 ) |
リミテッドブロードキャストでは、ネットワークにつながるアートネットに関係のない機器にもすべて等しくパケットを送信してしまいますが、ディレクテッドブロードキャストでは、同じネットワークIDをもつ機器にのみパケットを送信するため、アートネット用のIPを備えた製品にのみパケットが送信される
アートネットのデバイスディスカバリーパケットであるArtpollなどは、ディレクテッドブロードキャストを使用し、リミテッドブロードキャストは仕様書の中で推奨しないと記載されていますが、古い機器になるといまだにリミテッドブロードキャストで送信しているケースもあります。
ブロードキャストパケットが届いた受信機はそれを不要か必要かに関わらず受信処理をしなければならず、本来は1つのパケットを受信すればよいだけの装置も届く不要なパケットの受信処理を余儀なくされるため、受信装置にとって非常に負荷の高い通信方式だと言われます。
ユニキャスト
ユニキャストは特定の宛先IPだけにパケットを送信する1対1の通信方式です。この場合コントローラーはそのDMXデータ(ユニバース)を送る先のIPを限定して送ることになるため、送信先が増えるほどにパケットが増大する問題はあるものの、不要なデータを受信機に対し一方的に送ることがなく、必要なデータだけを必要な受信機に送るため、無駄のない仕組みです。ただし宛先IPが限定されているため、そのデータをモニタリングする等は難しくなります。