産業用UVCカメラのすすめ 産業用UVCカメラのすすめ

フレームレート

フレームレートとは?

産業用カメラは、非圧縮のRAWデータをPCにリアルタイムに出力します。この時、「カメラからPCへ1秒間に何枚画像を送信するか」をフレームレートと言います。単位はfps(frame per second)です。



例えば、カメラが60fpsで動作している場合は、16.6ms毎にカメラからPCへフレームが出力されます。カメラが高フレームレートで動作すればするほど、高解像度で動作すればするほどカメラの消費電力が上がり、PCのCPU負荷も大きくなります。

どれくらいのフレームレートが必要か?

モニターにカメラの映像を映し出してストレスなく画像が確認できるのは、おおよそ60fpsもあれば十分です。感覚的には100fps以上であればモニターに映し出しても滑らかさはあまり感じなくなりますが、60fpsまでは目に見えて画像が滑らかに映ります。逆に、PCの負荷を減らす為にフレームレートを30fpsに落として動作させるケースもあります。高速に画像処理をしたい場合や高速現象を観察したい場合は100fps以上のフレームレートのカメラが必要になることがあり、用途によって様々です。

フレームレートの上げ方

産業用UVCカメラにはCMOSセンサが搭載されています。CMOSセンサは解像度(特に横×縦の解像度のうち、縦の解像度)を減らすと、設定可能フレームレートが向上するという性質があります(横の解像度を減らしてもフレームレートが向上するセンサもあります)。これを画素切り出しやROI(Region of Interest)といいます。その他にも、ビニングやスキッピングといった機能によって出力画像1枚当たりの解像度を落とせば、設定可能フレームレートを向上させることができます。

フレームレートのボトルネックについて

フレームレートのボトルネックの要因は以下になります。

1.設定可能フレームレート
設定可能フレームレートについては、上記の通りROIなどで向上をさせることができます。

2.露光時間
露光時間については、例えばフレームレートを100fpsに設定していても露光時間を20msなどに設定すれば1秒間に50回しか露光ができない、つまり50枚しかカメラから画像が出力できないという事を意味するので、フレームレートは50fpsに低下します。100fpsで動作させたい場合は、露光開始までの遅延時間なども考慮して露光時間は10ms未満にしていただく必要があります。

3.カメラに実装されたインターフェースの帯域
カメラに実装されたインターフェースについてはUSB2.0は480Mbpsしか帯域がありませんが、USB3.0だと5Gbpsと約10倍の帯域があります。つまり、帯域が広いと単位時間当たりの流せるデータ量が多いのでより高解像度により高速に画像データを流すことができます。

4.ケーブル品質
ケーブルの品質についてもフレームレートのボトルネックになることがあります。ケーブルの品質が悪く、カメラから出力される画像データの信号が劣化している場合はフレーム落ちしてしまったり、パケット再送処理が走る事でフレームレートが低下する原因になることがあります。

5.PC側のホストコントローラの性能
カメラから出力されたデータはコントローラ側でパケット復号されてメモリに格納されていきますが、USBコントローラの性能次第では思ったようにフレームレートがでないことがあります。PCに実装されているUSBコントローラの性能やそれそのものの省電力機能を見直す事で改善される場合があります。

6.CPU負荷
画像データはホストコントローラからメモリのリングバッファへ格納されていきます。それらの仕事はCPUが行いますが、CPUの性能がフレームレートに対して十分でないとここでフレーム落ちしてしまいフレームレートの実測値が低下する事があります。