THine Value 4K、30fpsの非圧縮映像信号を出力可能、i.MX 8M Family向けLinuxカメラ・キットを発売

2021.11.04
  • 記事
  • コラム
 カメラを搭載する電子機器が急速に増えている。スマートフォンやタブレット端末、産業機器、医療機器、自動車、セキュリティ機器、教育機器、ドローンなど、例を挙げれば枚挙にいとまがない。しかし一口に「カメラ」と言っても、電子機器ごとに求められる仕様や性能、コストはまったく違う。画質よりもコストを優先する電子機器があれば、とにかく開発のしやすさを重視する電子機器も存在する。さらに、高画質映像のリアルタイム表示が必須の電子機器や、極めて高い画質を求める電子機器などもある。
 カメラを搭載する電子機器が急増していることを受けて、ザインエレクトロニクスは、USBインターフェースを介して映像信号を伝送する規格「UVC(USB Video Class)」に準拠した4K解像度のカメラ開発キット「THSCU101」を2021年6月に発売した。いわゆる「UVCカメラ」だ。専用のドライバー・ソフトウエアを用意することなくパソコンに接続するだけで、カメラで撮影した映像をディスプレイに表示できる。このため、「カメラを搭載した電子機器のPoC(Proof of Concept)を手軽に実現できるとして、多くの電子機器メーカーから好評を得ている」((営業部 プロダクトマネージャの桑山克己)という。
 しかし前述のように、カメラの用途は大きく広がっており、カメラに対する要求は多様化している。従って、このUVCカメラだけでは、カメラに対するすべての電子機器の要求に応えることは基本的に難しい。何らかの対応策が求められるところだ。

MIPI CSI-2で出力する

 ザインエレクトロニクスの次なる一手は何か。同社は2021年8月に、4K解像度で30フレーム/秒(fps)の映像信号を非圧縮で出力できるカメラ開発キット「THSCM101」を発売した(図1)。「UVCカメラよりも、もう少し玄人ユーザーに向けた製品」(桑山)という位置付けだ。同社は「Linuxカメラ」と呼ぶ。
 
図1 発売したLinuxカメラ

 UVCカメラには、「パソコンがあればすぐに使える」という大きなメリットがある一方で、課題が1つだけあった。それは、パソコンとつなぐUSBインターフェースの帯域幅である。UVCカメラにおいて映像信号の出力インターフェースとして採用したUSB 3.2規格は、データ伝送速度が5Gビット/秒、もしくは10Gビット/秒と高いものの、実効的なデータ伝送速度はその1/3程度しか得られない。しかも、その帯域幅でさえ保証されているわけではない。このためUVCカメラでは、4K、30fpsの映像信号を非圧縮で伝送できず、JPEG形式に圧縮して送っていた。しかしJPEGのデコード処理は、一般的なパソコンのCPUではリアルタイムで実行できず、コマ落ちが発生する。このため、高画質の映像をリアルタイムで表示することを強く求める用途では、UVCカメラは採用しづらかった。例えば、工場/倉庫/店舗などの監視カメラや、メンテナンス向け産業用AR(拡張現実)カメラ、医療手術用カメラ、教育用カメラなどの用途である。
 そこでLinuxカメラでは、映像信号の出力形式を変更した。具体的には、MIPI CSI-2信号の形式である。カメラ・キットのボードには、CMOSイメージ・センサーや画像処理プロセッサー(ISP)を搭載しており、この画像処理プロセッサーから非圧縮のYUV422信号をMIPI CSI-2信号としてボードの外部に出力するわけだ(図2)。
 
図2 Linuxカメラのボード

 MIPI CSI-2信号は4レーン構成であり、1レーン当たりのデータ伝送速度は1.2Gビット/秒と高い。すなわち、4レーン合計のデータ伝送速度は4.8Gビット/秒に達する。これは4K、30fpsの映像信号伝送に求められる4.75Gビット/秒を上回るため、非圧縮のまま映像信号を伝送することが可能になる(表1)。
 
表1 対応する映像の解像度

ドライバーは簡単に実装可能

 MIPI CSI-2信号の伝送先として使えるのは、オランダNXP semiconductorsの64ビット・プロセッサー(SoC)「i.MX 8M/i.MX 8M Mini」を搭載したシングルボード・コンピューターである。OSにはLinux OSが使える。これがLinuxカメラと名付けた理由である。
 ここで気になるのは、ドライバー・ソフトウエアだ。UVCカメラでは、専用のドライバー・ソフトウエアを用意する必要がなく、ユーザーがすべき作業はUVCカメラとパソコンをUSBケーブルでつなぐだけだった。しかしLinuxカメラでは、専用のドライバー・ソフトウエアを用意してSoCに実装しなければ映像信号を伝送できない。この実装作業が非常に大変ならば、Linuxカメラのユーザーはほんの一握りの人たちに限られてしまうだろう。
 そこでザインエレクトロニクスでは、専用ドライバー・ソフトウエアをSoCに実装する作業を簡便化する方法を用意した。まずは、専用ドライバー・ソフトウエアのソースコードを同社が開発し、それをユーザーに提供する。さらに、このソースコードをLinux OSとマージしてコンパイルし、SoCに実装する一連の作業については、「スタート・ガイドを用意した。これに示した手順通りに作業すれば、誰でも簡単に専用ドライバー・ソフトウエアをSoCに実装できるようになる」(桑山)という。

オートフォーカスにはPDAFを採用

 発売したカメラ開発キットは、CMOSイメージ・センサーや画像処理プロセッサー(ISP)などを実装したボードと、mini-SASケーブルから構成される。CMOSイメージ・センサーには、UVCカメラと同様にソニーセミコンダクタソリューションズの「IMX258」を採用した。画素数は約1300万(4224画素×3192画素)で、最大フレーム速度は30フレーム/秒。ISPは、ザインエレクトロニクスの「THP7312-P」を採用しており、MIPI CSI-2信号の1レーン当たりのデータ伝送速度が最大1.2Gビット/秒と高い。UVCカメラで採用していたISP「THP7312」は1レーン当たり最大1.0Gビット/秒だった。ボードの外形寸法は35mm×55mm×1.2mmと小さい。なお、Linuxカメラとシングルボード・コンピューターの間の接続可能な距離は数十cm程度である。
 オートフォーカス機能は、一般的なコントラスト方式に加えて、位相差検出方式(PDAF:Phase Detection Auto Focus)を採用した。PDAFは、コントラスト方式に比べて短時間でピントを合わせられるため、高い画質化が得られる。「4K、30fps映像の非圧縮伝送が可能で、PDAFを採用した高画質のカメラ開発キットの製品化は業界初」(桑山)である。
 撮影した映像/画像の明るさやコントラストなどは、Linux OSが用意するカメラ用コマンド「V4L2(Video for Linux ver.2)」を使って調整できる。レンズのシェーディングやデモザイク、トーンマッピングなどの細かな画質のカスタマイズについては、ザインエレクトロニクスが提供するISP用カメラ開発キット(CDK)が使える。このほか、CMOSイメージ・センサーを内蔵したカメラ・モジュールの個体差を調整する機能などを搭載した。一般にカメラ・モジュールは、CMOSイメージ・センサーやレンズの特性にばらつきがあるため、色味や明るさ、レンズのシェーディング特性などが個体ごとに違う。そこで今回は、カメラ・モジュールの特性を測定し、その結果から求めた補正係数をカメラ・モジュールに内蔵したEEPROMに書き込んだ。システム起動時に、ISPがこのデータを読み込み、出力された映像/画像信号を補正することで、カメラ・モジュールの個体差を抑え込む。

対応するシングルボード・コンピューターを拡充へ

 今回発売したカメラ開発キット(Linuxカメラ)はすでに、米Digi-Key Electronics社のインターネット通販サイトで販売を始めている。価格は約2万8000円である。<購入サイトはこちら
 今後ザインエレクトロニクスは、MIPI CSI-2信号の伝送先として使用できるシングルボード・コンピューターの種類を拡充する計画を立てている。現在、検討しているのはNXP Semiconductorsの64ビット・プロセッサー「i.MX 8M Nano/i.MX 8M Plus」を搭載したシングルボード・コンピューターや、米NVIDIAのシングルボード・コンピューター「Jetson」などである。