mengineer's blog

ニッチなネタばかりですが。

Chunk dataについて調べてみた

一ヶ月以上空いてしまいましたが、前回の最後に触れたChunkDataについて。

ChunkDataの定義は、GenICamのSFNC規格に記載されています、下記の22章辺り。

http://www.emva.org/wp-content/uploads/GenICam_SFNC_2_3.pdf

簡単に言うと、画像データに色々な情報を付加出来るようで、
それらの情報をChunk data、関連する仕組みをChunk data controlと言います。

下図のように、画像データの後ろに情報が加わるイメージですね。

f:id:mengineer:20170321145313p:plain

Chunk dataで、どういう情報を付加出来るのか?

規格では下記が列記されています、ChunkSelectorで選択出来るもよう。

f:id:mengineer:20170321145824p:plain

画像のサイズやフォーマット、カメラのゲインやExpousreの設定、TimeStamp、
FrameID等々は判りますが、Scan3dは初耳です、三次元画像関係かな?

当然、接続したカメラがChunkdata対応している必要が有ります、
どのChunkdataを付加出来るかも、カメラやメーカーで異なります。

またSDK側もChunkdata対応している必要有り、いくらカメラ側で付加出来ても、
それらのデータを取り出す仕組みが無いと駄目なので、当然の話ですね。

JAISDK3.01で試してみた

ということで、JAISDK3.01はchunkdataに対応したようなので、試してみました。

Baslerのカメラを接続すると、下記赤枠部分にchunk dataが出てきます。
(JAISDKはJAI以外のカメラでもGenICam準拠なら接続可能になってます) f:id:mengineer:20170321150919p:plain

Chunk Mode Active, Chunk EnableをTrueに変更すると、Chunk Selectorが
出てきて、ここで付加する情報を選択出来るようです。 f:id:mengineer:20170321151333p:plain

試しに”CRC Checksum”を選択して画像取込開始すると、Chunk Dataの中の
CRC Checksumにデータが出てきます、これが付加されたデータですね。

f:id:mengineer:20170321151618p:plain

何となくイメージが掴めました、今回はここまで。