コンテンツにスキップ
ステージングサーバー
開発サーバー

ネットワーク帯域幅制御#

このトピックでは、blazeカメラが画像と深度データをストリーミングするときのネットワーク帯域幅消費量を制御するためのパラメーターについて説明します。

機能を使用する#

複数のデバイスが共通リンクを介して受信ホストに接続され、使用可能なネットワーク帯域幅を共有する必要がある場合は、ネットワーク帯域幅消費量を制御する必要があります。安定した動作を保証するために、各カメラが消費する帯域幅の量を制限しなければならない場合があります。

例:スイッチ経由で2台のカメラを受信側コンピューターのGigabit Ethernetアダプターのネットワークポートに接続する場合、両方のカメラのスループットの合計が最大スループット1GBit/s(125 000 000byte/s)を超えてはなりません。

カメラで使用される帯域幅を減らすもう1つの理由は、受信ホストがデータ転送に対応できず、パケットを破棄する必要がある場合です。

帯域幅消費量の制御#

まず、現在のカメラ設定でカメラが生成できる最大のスループットを、 BslDeviceLinkCurrentThroughput パラメータを読み取って確認します。このパラメータは、カメラがフリーランモードのとき、つまりソフトウェアやハードウェアトリガーによる外部トリガーを使用していないときの帯域幅消費量を示します。

この情報が得られたら、 DeviceLinkThroughputLimitMode および DeviceLinkThroughputLimit パラメータを使用して、各カメラの適切なスループット制限を指定します。同じリンクを共有するすべてのカメラのスループットの合計が、ネットワークアダプターの最大スループットを超えてはなりません。

指定された制限を達成するために、カメラは個々のネットワークパケット間に一時停止を挿入します。下限値が低いほど、一時停止の回数と時間が増加します。完全なフレームの転送時間と関連する待ち時間(画像の生成からデータがホストのメモリーに到達するまでの時間)は、制限値が小さくなるにしたがって増加します。

特定のポイントにおいて、これは達成可能なフレームレートに影響を与えます。 BslResultingAcquisitionFrameRate パラメータを読み取って、現在のカメラ設定での最大可能フレームレートを確認します。

帯域制限の指定は、ネットワーク帯域幅の割り当てとも呼ばれます。

スループットを制限するには:

  1. パラメーターを DeviceLinkThroughputLimitMode パラメータを On.
  2. 希望する DeviceLinkThroughputLimit パラメータ値を指定します。
  3. デバイスリンクのスループット制限がフレームレートにどのように影響するかを確認するには、 BslResultingAcquisitionFrameRate パラメータを読み取ります。

Bandwidth Reserve#

ストリーミングプロトコルはUDPプロトコルに基づいています。UDPは、カメラから送信されたパケットがホストによって受信されることを保証しません。

パケットは、ホストまたはカメラとホスト間のネットワークデバイスによってドロップできます。受信ソフトウェアは通常、失われたパケットを検出し、失われたデータを再送信するために適切な要求をカメラに送信します。これらのパケットを再送信するため、および制御トラフィック用に、一定の帯域幅予約が使用できる状態になっています。この予約を使い切った場合、カメラは要求されたパケットを再送信できなくなります。

帯域幅予約は、以下の表で説明されている GevSCBWR および GevSCBWRA パラメータによって制御されます。

使用可能なパラメーター#

パラメーター名 表示名 説明
DeviceLinkThroughputLimitMode Device Link Throughput Limitモード データ伝送に使用できる最大帯域幅を制限できます。制限を有効にするには、パラメータを On に設定します。最大帯域幅は以下に制限されます。 DeviceLinkThroughputLimit パラメータ値を指定します。
DeviceLinkThroughputLimit Device Link Throughput Limit データ伝送に使用できる最大帯域幅をバイト/秒単位で指定します。制限を有効にするには、 DeviceLinkThroughputLimitMode パラメータを On.
BslDeviceLinkCurrentThroughput Device Link Current Throughput 現在のカメラ設定で、データをカメラから転送するために使用する実際の帯域幅(バイト/秒単位)。
BslResultingAcquisitionFrameRate 結果として得られるAcquisition Frame Rate 現在のカメラ設定で1秒あたりに取得できるフレームの最大数。
GevSCBWR Bandwidth Reserve 割り当てられた帯域幅のうち、パケット再送の処理とデータ伝送の制御に予約される割合を指定します。
この設定は、割り当てられた帯域幅に対するパーセンテージで表されます。
例: カメラに 30 MByte/s の帯域幅が割り当てられており、 GevSCBWR パラメータが 5 % に設定されている場合、帯域幅予約は 1.5 MByte/s になります。
GevSCBWRA Bandwidth Reserve Accumulation "アキュムレータプール"に保持できる最大再送数を設定するために使用される乗数です。
ネットワーク接続が不安定になった状況に対処するために、 GevSCBWRA パラメータを使用できます。このような状況では、画像を送信するために一時的に多数のパケット再送が必要になる場合があります。帯域幅予約アキュムレーションは、基本的には、異常な状況下でカメラが使用できる追加の再送プールです。
例: 現在の帯域幅予約の設定は、1フレーム期間中に最大5回のパケット再送を許可するのに十分な大きさです。帯域幅予約アキュムレーション(GevSCBWRA パラメータ)が 3 に設定されています。これらの設定により、アキュムレータプールは最大 5 x 3 = 15 回の再送を保持できます。
GevSCPSPacketSize Packet Size イーサネット経由で送信されるデータパケットの最大サイズを指定します。値の単位はバイトです。
blaze カメラでサポートされている値は 1500 bytes のみです。