カメラを接続しただけじゃ録画できない?ビデオデータロギングの落とし穴
こんにちは、小野です。
今回はOKIアイディエスが取り扱っている、Xylon(ザイロン)社製の車載向けビデオデータロガー「logiRECORDER3.5」と「XYLON QUATTRO」についてです。
下記の前回、前々回の続編です。まだご覧になっていない方は下記記事もぜひご覧ください。

logiRECORDER 3.5(第3世代):車載データロギング用

XYLON QUATTRO(第4世代):HILシステム構築用
| 項目 |
logiRECORDER3.5 |
XYLON QUATTRO |
| 最大インターフェース数 |
40系統 |
60系統 |
| 最大ビデオチャンネル数 |
12系統 |
16系統 |
| 最大SSD容量 |
32TB |
128TB |
| データ帯域 |
12.8GB |
128GB |
| HIL用Ethernet帯域 |
10GB |
100GB |
前回までは、logiRECORDER3.5とXYLON QUATTROの機能や特徴についてご説明しました。
今回は、どのようにビデオデータロガーを使用して映像を記録するのかにフォーカスして説明します。
単にビデオデータロガーにカメラを接続しただけでは、カメラ映像を記録することはできません。
logiRECORDER3.5やXYLON QUATTROでロギング(記録)時に押さえておきたいポイントについて説明します。
皆さんこんにちは、増渕です。前に、小野さんに紹介してもらったlogiRECORDERで、カメラ映像を記録してみたいと思います。まずは用意したlogiRECORDERに、車載用カメラとビデオデータロガー制御用ソフトをインストールしたPCを接続して…。
何にも映ってないな…。これでは何にも記録できないな。
接続が悪いのかな。うーん違うな、原因がわからない。
カメラ動作に必要なものとは?
前回のブログの紹介で、自動運転やADASシステムの開発には、走行データを保存できるビデオデータロガーを教えてもらいました。Xylon社のlogiRECORDERを使ってカメラ映像データを撮ってみたいんです。
こうやって接続してみたんですけど、うまくいきません。

ちょっと見せてください。ふむふむ、なるほどわかりました。全然カメラへの設定ができてないし、データストレージの容量も全然足りていないじゃないですか。これじゃあ、映像の記録なんてできませんよ。
たとえば、市販のUSBカメラは、パソコンにつなげば、すぐ映像を見られるのであまり意識していないと思うけど、実は、一般的に車載向けのビデオデータロガーは、カメラを接続しただけで自動的に映像が記録されません。これは多くの車載カメラや車載系システムに共通する特徴で、高度な設定作業が必要になるのです。
車載用カメラだと、そういう構成が多いです。だから「つないだのに映らない」のは、故障というより「まだ何も設定していないだけ」のケースが多いですね。
なるほど…これは思っていたよりも手間がかかるんですね。いやー、これはまさに“落とし穴”ですね。気づかずにハマる人、多そうです。
どういった設定が必要かというと、解像度やフレームレート、ISPのモード、イメージセンサへの各種設定など、初期設定が必要で、これらの設定を行わないとカメラは動作しないんです。
落とし穴:カメラの初期設定が必要!
カメラは、内部のイメージセンサで情報を取得しています。この時取得したデータは、複数のデータが集まったパラレルデータとなっているのですが、外部に送信するときは1つにまとめたシリアルデータとして送ります。

パラレルデータとシリアルデータの変換の役割をしてくれるのが、シリアライザとデシリアライザですね。セットでSerDesとよく呼ばれます。これも種類があるんですよね。
Xylon社のビデオデータロガーには、GMSL2カメラ、FPD-Link IIIカメラがよく接続されます。
この2つのカメラには異なるシリアライザが使われており、シリアル化の方式は、カメラによって違います。また、カメラへの設定はI2C通信すなわち設定値を送るための制御用通信で行います。
カメラごとにシリアライザが異なるというのが大きなポイントなんですね。じゃあ、使うカメラの仕様をよく理解して設定しなければいけませんね。
Xylon社のデータロガーで使用するときに限らず、どんな機器につなぐ時でもカメラの設定を行う必要があるんです。
logiRECORDER3.5/XYLON QUATTROでの設定は3ステップ
logiRECORDER3.5とかXYLON QUATTROの場合は、カメラを使うときの設定ってどうやるんですか?
カメラスクリプトというファイルを用意し、使用するカメラのI2C通信のアドレスや設定値をこのファイルに記載します。制御ソフトのDashboardからロガーへアップロードすることで設定できます。一度設定を変えたら、カメラを初期化しなおす必要があるので、ロガーを再起動して設定を反映させる必要があります。
カメラスクリプトに記載…。ということはカメラにあったスクリプトが必要になりますね。新しいカメラをlogiRECORDER3.5やXYLON QUATTROにつないで使うときは、カメラスクリプトの作成が必要なんですね。カメラスクリプトは何を参考に作ればいいんですか?
カメラスクリプトは、カメラの仕様やlogiRECORDER3.5やXYLON QUATTROのユーザーズマニュアルを参考にして作成します。なお、カメラの仕様を得るには、カメラメーカーとNDAが必要になることもあります。
はい。なので当社では、導入時に「どのカメラを使うか」「仕様が揃うか」から確認して、必要ならXylon社とも連携して立ち上げを支援しています。
カメラスクリプトのファイルが用意できたら、あとはDashboardからロガーへアップロードすればいいですね。
そうです。ビデオデータロガーの起動時にこのスクリプトの内容に基づいて、ビデオデータロガーからカメラに対して初期設定が行われますよ。
それでは、作成したカメラスクリプトをアップロードして、再起動してと。


もう1つの落とし穴:データストレージはどれくらい必要?
データ容量も足りていないって先ほど言っていましたよね。今持っているSSDだとあと10GB(ギガバイト)ぐらい保存できますが、今回4Kカメラ1台を使うとしたら、どのくらいのデータ容量が必要になりそうですか?
では、4Kカメラ1台を例にとってみましょう。4K画像の解像度は3,840×2,160です。これをもとに4Kカメラが1秒間に取得するデータ量を計算すると…。
【4Kカメラ1台の例】
1フレームあたりのpixel(ピクセル)数は、
3,840*2,160 = 8,294,400[pixel]
1 pixelあたりの色情報を12bit(ビット)で表現する場合、
8,294,400*12 = 99,532,800 [bit]
1B(バイト)あたり8bitなので、
99,532,800/8[bit] = 12,441,600[B]
1M(メガ)Bは、2^10*2^10Bなので (2^10は、2の10乗=1024)
12,441,600[B]/(2^10*2^10) = 11.86523438[MB]
映像のフレームレートが30fpsの場合、1秒間に取得するデータ量[MB]は
11.86523438[MB]*30[fps] = 355.96[MB/sec]
と、1秒間に約360MBものデータ量を取得しているんですよ。
カメラの数が10台になれば、1秒間に3.6G(ギガ)B、さらにLiDAR、レーダーなどが取得する情報も合わせると、もっと情報が増えます。
カメラ1台あたり360MB/secということは1時間あたりで、1,296GBにもなるんですか、とんでもないデータ量です。4Kカメラが10台搭載された車を1日中運転すれば、その車が取得するデータ量は数十T(テラ)Bから数百TBにもなってしまいますよ…。開発データの取得にビデオデータロガーが必須なのもよくわかりますね。
自動運転に使用されるデータのうち、大部分がカメラで取得される映像データです。ちなみに、イーサネット接続のLiDARの場合はイーサネットの1秒間あたりの伝送レート、CAN接続のレーダーも1秒間あたりの伝送レートを確認すれば、保存にどれだけデータ容量が必要になるか計算できます。
10GBでは全然足りませんでした。もっと大容量のSSDを調達してきます。
logiRECORDER3.5は最大32TB、XYLON QUATTROは最大128TBのデータストレージを搭載できるのが大きな特徴です。
XYLON QUATTROのように128TBものデータストレージがあれば、長時間かつ複数台のカメラのロギングも安心ですね。
最後に
カメラの設定など前準備が必要だって知りませんでした。聞いてみてよかったです。
- カメラは設定しないと動かない!
- 使用するカメラの性能・台数より記録に必要となる容量を備えたSSDを確保
Xylon社のビデオデータロガーを導入いただいたときに、カメラを接続しても映像取得ができない…というお問い合わせをお客さんからよくもらうのですが、今回のようなカメラに対する設定がうまくいっていないことが多いんですよ。
カメラやビデオデータロガーは、最初に使用するときに、細かい設定が必要ですが、その反面「使いこなせると強力な開発ツール」になりますよね。
設定のためには、まずは接続するカメラの仕様を把握しておくことが大事です。冒頭でも説明した解像度やフレームレート、ISPのモード、イメージセンサへの各種設定を、カメラスクリプトの中に盛り込む必要がありますからね。
Xylon社のlogiRECORDERやXYLON QUATTROでは、こうした初期設定〜実運用までを、当社スタッフがしっかりサポートしていますので、初めての方でも安心です。
そうなんですね。今回は小野さんの説明のおかげで、無事にカメラも動作させることもできたので助かりましたよ。ありがとうございます
どういたしまして。カメラスクリプト作成は、メーカーのXylon社の協力も得ながら行っています。そういえば、なぜlogiRECORDERでデータ取得しようとしていたんですか?
去年、自動車メーカーがやっていた自動運転の実証実験を見て、興味を持ったんですよ。車両に搭載されたAIが、歩行者や車両、障害物を検出して、自動で車線変更、停止、交差点を右左折して目的地に向かう様子に驚きました。仕事でも、運転支援システム関連の開発に関わることになり、ちょうどロガーの必要性を感じていたところなんですよ。
車にカメラが何台もついていましたよね。それにLiDARやレーダーなどのセンサも車のあちこちに取り付けられていました。まるでベテランドライバーが運転しているかのようでしたよ。
4Kのような高解像度のカメラも複数使われているみたいですし、さきほどの要領で1秒あたりの保存に必要なデータサイズを計算すると、短時間でものすごいデータ量を取得して処理していることが分かりますね。
そんな大容量のデータを扱ったADASシステムを開発するときに役立つのが、今回も説明したlogiRECORDER3.5やXYLON QUATTROです。これらは年々進化を遂げていて、ユーザーがより使いやすいようにアップデートを重ねています。
近々にどんなアップデートが予定されているのですか?
これまで、専用の制御ソフトはWindows PCのみ対応していました。世界中のユーザーの要望を受けて、Linux PCに対応した制御ソフトが近日公開予定です。
開発PCが、Linuxの場合もありますので、使用できるPCが増えて便利になりますね。
それから突然ですがここで、お知らせです!2月にlogiRECORDER3.5とXYLON QUATTROを紹介するWebセミナーを開催することが決定しました!パチパチパチ。(拍手)
Xylon社のビデオデータロガーの機能の詳細やアップデート情報をお伝えする予定です。
毎月開催しているWebセミナーにも登場するんですね。より詳しい説明を期待していますよ。もちろん、小野さんが直接説明するんですよね?
もちろんです。セミナー参加は無料です!セミナーの詳細は、2月初旬に当社ホームページ上に掲載、メルマガでもご案内します。お楽しみに!
次回のブログ更新は3月を予定しています。
お楽しみに!
- ※記載されている会社名、製品名は、各社の商標または登録商標です。
- ※ここに記載されている仕様、デザインなどは予告なしに変更する場合があります。