コンテンツにスキップ

Transfer Bit Depth#

Transfer Bit Depthカメラ機能を使用すると、内部画像処理に使用するビット深度を変更できます。

転送ビット深度を小さくすると、カメラのフレームレートが増加する可能性があります。転送ビット深度を大きくすると、画質が向上する可能性があります。

機能を使用する#

Transfer Bit Depthを使用する理由#

The transfer bit depth allows you to change the bit depth of the data to be transferred during internal image processing. This is useful if changing the sensor bit depth isn't recommended due to a sensor's specific characteristics.

Important

If the Transfer Bit Depth feature is available for your camera, always use this feature instead of the Sensor Bit Depth feature. Only if you're not satisfied with the result, change the sensor bit depth.

Transfer Bit Depth図

転送ビット深度を設定する際には、次のガイドラインが適用されます。

  • 最適な画質を得るには、転送ビット深度を大きい値に設定します。
    カメラの内部画像の計算はビット深度の大きさに基づいているため、転送ビット深度が大きくなると画質が向上します。
  • 最適なパフォーマンスを得るには、転送ビット深度を小さい値に設定します。
    センサービット深度が小さいと、転送するデータ量が少なくなるため、パフォーマンスが向上します。

使用事例#

一部のカメラでは、8ビットピクセルフォーマットを使用する場合、センサービット深度は自動的に10ビットに設定されます。これは使用するセンサーによって異なります。センサー固有の特性があるためです。センサービット深度を小さい値に変更することは(カメラのフレームレートを上げるなど)、これらのセンサーでは推奨されません。センサーの他の特性に影響を与えるためです。

ここで転送ビット深度が役立ちます。使用されるセンサービット深度とは独立して値を設定できます。例えば、フレームレートを上げることで得られる利点があります。

Transfer Bit Depthモード#

The Transfer Bit Depth mode allows you to define whether the transfer bit depth can be set independently of the pixel format used. You can set the BslTransferBitDepthMode parameter to one of the following values:

  • Auto: The transfer bit depth is automatically adjusted depending on the pixel format used. This is the default setting. For example, if you set the pixel format to Bayer 12, the transfer bit depth is automatically set to 12 bit.
  • Manual: The transfer bit depth can be set independently of the pixel format used. For example, you can configure the camera to output 8-bit image data based on 10-bit data used for internal image processing (pixel format = Mono 8, transfer bit depth = 10 bit).

Transfer Bit Depthの設定#

  1. Set the BslTransferBitDepthMode parameter to Manual.
  2. Set the BslTransferBitDepth parameter to the desired value.
    For example, setting the parameter to Bpp12 sets a bit depth of 12 bpp (bits per pixel).

サンプルコード#

// Set the pixel format to Mono 8
camera.PixelFormat.SetValue(PixelFormat_Mono8);
// Set the transfer bit depth mode to Manual
camera.BslTransferBitDepthMode.SetValue(BslTransferBitDepthMode_Manual);
// Set the transfer bit depth to 10 bit
camera.BslTransferBitDepth.SetValue(BslTransferBitDepth_Bpp10);
INodeMap& nodemap = camera.GetNodeMap();
// Set the pixel format to Mono 8
CEnumParameter(nodemap, "PixelFormat").SetValue("Mono8");
// Set the transfer bit depth mode to Manual
CEnumParameter(nodemap, "BslTransferBitDepthMode").SetValue("Manual");
// Set the transfer bit depth to 10 bit
CEnumParameter(nodemap, "BslTransferBitDepth").SetValue("Bpp10");
// Set the pixel format to Mono 8
camera.Parameters[PLCamera.PixelFormat].SetValue(PLCamera.PixelFormat.Mono8);
// Set the transfer bit depth mode to Manual
camera.Parameters[PLCamera.BslTransferBitDepthMode].SetValue(PLCamera.BslTransferBitDepthMode.Manual);
// Set the transfer bit depth to 10 bit
camera.Parameters[PLCamera.BslTransferBitDepth].SetValue(PLCamera.BslTransferBitDepth.Bpp10);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Set the pixel format to Mono 8 */
errRes = PylonDeviceFeatureFromString(hdev, "PixelFormat", "Mono8");
CHECK(errRes);
/* Set the transfer bit depth mode to Manual */
errRes = PylonDeviceFeatureFromString(hdev, "BslTransferBitDepthMode", "Manual");
CHECK(errRes);
/* Set the transfer bit depth to 10 bit */
errRes = PylonDeviceFeatureFromString(hdev, "BslTransferBitDepth", "Bpp10");
CHECK(errRes);
# Set the pixel format to Mono 8
camera.PixelFormat.Value = "Mono8"
# Set the transfer bit depth mode to Manual
camera.BslTransferBitDepthMode.Value = "Manual"
# Set the transfer bit depth to 10 bit
camera.BslTransferBitDepth.Value = "Bpp10"

pylon Viewerを使用して、パラメーターを簡単に設定することもできます。