コンテンツにスキップ

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

このトピックでは、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 割り当てられた帯域幅のどの部分が、パケット再送信の処理とデータ転送の制御のために予約されるかを指定します。
この設定は、割り当てられた帯域幅のパーセンテージで表されます。
例:カメラに30MByte/sの帯域幅が割り当てられ、GevSCBWRパラメーターが5%に設定されている場合、帯域幅予約は1.5MByte/sになります。
GevSCBWRA Bandwidth Reserve Accumulation 「アキュムレータープール」に保持できる再送信の最大数を設定するために使用される乗数です。
GevSCBWRAパラメーターを使用すると、ネットワーク接続が不安定になった場合に対処できます。このような状況では、画像の送信に大量のパケット再送信が一時的に必要になる場合があります。基本的に、帯域幅予約累積は、カメラが異常な状況で使用できる再送信の追加プールです。
例:現在の帯域幅予約設定は、フレーム周期中に最大5パケットが再送信されるのに十分な大きさです。帯域幅予約累積(GevSCBWRAパラメーター)が3に設定されています。これらの設定では、アキュムレータープールは、最大5 x 3 = 15回の再送信を保持できます。
GevSCPSPacketSize Packet Size Ethernet経由で転送されるデータパケットの最大サイズを指定します。値はバイト単位です。
blazeカメラの場合、サポートされる値は1500バイトのみです。