第11回目の今回は、ハードウェアの構成について説明します。
普段はあまり意識する必要のない内容ですが、カメラやレンズ、プロセッサーを選定する際に必要になることもあります。
概要
下の図1にカメラとコンピュータの概略を示します(赤字は必須)。
まず、偏光フィルタ(PLフィルタ)により、入射光中から不要な反射光(水溜まりや窓ガラスなどによる反射)をカットします。そして、レンズを通って来た光を、撮像素子上のマイクロレンズで各画素ごとに集光し、撮像素子上のカラーフィルタを通って撮像素子で電荷に変換します。電荷は、デジタルデータに変換された後、コンピュータに入力されます。その後、メモリ上のデジタル画像データをCPU、必要に応じて専用プロセッシングユニット(GPUなど)を用いて処理します。
図1 ハードウェア構成の概略図
コンピュータの構成
■PC
PCで処理する場合は、デスクトップPC、あるいはノートPCが図1のコンピュータに該当します。専用プロセッシングユニットは、NVIDIA社製のGPU(Graphics Processing Units)が有名で、CUDAと呼ばれるGPU向けの開発環境が提供されています。オープンソース画像処理ライブラリのOpenCVでは、一部ではありますがCUDAに対応した処理が用意されています。
近年、機械学習の分野で注目を集めているディープラーニング(Deep Learning:深層学習)のフレームワーク(CaffeやChainerなど)でも、GPUを用いることで高速処理が可能になっています。
■スマートフォン、タブレット、組み込み機器
スマートフォン・タブレットや、自動車やドローンなどの組み込み機器では、計算リソースがPCと大きく異なります。モバイル機器は、消費電力、発熱、コストに対してシビアなため、一般的にPCやスマートフォンより非力なCPU、容量の小さなメモリを使うことになります。
そこで、リアルタイム処理では専用プロセッシングユニットが重要となります。モバイル機器では、画像処理専用のASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、モバイル向けのGPU(NVIDIA社のTegraや、ARM社のMali)を使うことになります。それらを1チップにまとめたSoC(System on Chip)を用いることもできます。
製品の販売台数が多く、かつ独自の処理をハード化したい場合は、ASIC、SoCを開発するという手もあります。しかし開発コストが高額であるため、販売台数が少ない場合には既製品のSoC、あるいはプログラマブルなFPGAを用いたほうが良いでしょう。
撮像素子
撮像素子には、CCDセンサーとCMOSセンサーがあります。どちらもフォトダイオードで入射光を電荷に変換する点は同じです。光を集光するためのマイクロレンズ、カラー画像を撮像するためのカラーフィルタが各画素上に組み込まれていることも同じです(マイクロレンズ、カラーフィルタは撮像素子製造時に撮像素子上に実装されるため、ユーザーはあまり意識する必要はありませんが、撮像素子の仕組みを理解することを目的に触れています)。
■CCDセンサー
CCDセンサーは、各画素で電荷をバケツリレーで伝送し、別チップのA/Dコンバーターでデジタルデータに変換します。CCDセンサーはノイズが少ないのですが、構造が複雑であるためCMOSセンサーに比べて一般的に高価です。また、バケツリレーで電荷を伝送するため、撮像素子の解像度が高すぎるとバケツリレーが間に合わなくなってしまうという問題や、電荷が飽和してしまうと周囲の画素にその電荷が漏れ出す、スミアという現象が発生してしまいます。
■CMOSセンサー
一方、CMOSセンサーは、各ピクセルが独立して電荷を増幅したり、A/D変換回路を持ち、デジタル信号を出力したりします。構造がシンプルで汎用的な半導体製造技術を用いることができるため、CCDに比べ安価なセンサーです。ノイズ除去回路など様々な機能を撮像素子に組み込むことが可能な点も、大きなメリットです。以前は、CMOSはノイズが多いと言われていましたが、近年では実用的に全く問題のないレベルの画質で撮像することができます。
■単板式
単板式とは、図1内のカラーフィルタとして、図2に示すベイヤーパターンと呼ばれる赤、緑、青を交互に各ピクセル上に配置したフィルタを用いる方式です。この方式では、近傍の画素の情報を用いて補間演算によりベイヤーパターンから色を復元する、デモザイキングという処理が必要になります。USBカメラなどでは、CMOS撮像素子内またはカメラモジュール内でデモザイキングを施し、カラー画像が出力されるため、ユーザーはあまり気にすることはないでしょう。
図2 ベイヤーパターン
きれいなカラー写真を撮ること以外の特定の用途向けに、ベイヤーパターン以外のカラーフィルタを用いることもあります。例えば、自動車向けのカメラセンサーメーカーとして有名なMobileye社は、赤(R)とクリアー(C)を組み合わせたフィルタ(RCCC、RCC)を採用しています。潤沢な資金が用意できる場合は、特注のフィルタを組み込んだ撮像素子を、撮像素子メーカーに作ってもらうことも可能でしょう。
また、カラー情報が一切必要なくモノクロで良い場合は、モノクロの撮像素子を選択することをお勧めします。カラーフィルタは抽出したい色の周波数帯以外の光をカットしてしまいます。つまり、カラーフィルタにより撮像素子に届く光量が減ってしまいます。モノクロ撮像素子は、カラーフィルタによる光の減衰が無いため、暗い環境でノイズの小さな画像を撮ることができます。
■3板式
ベイヤーパターンでは、赤、青、緑を交互に各ピクセル上に配置するため、デモザイキング処理が必要でした。デモザイキング処理は、近傍の画素の情報を用いた補間演算が必要ですが、この「補間演算」が原因で、画像にボケが発生してしまいます。
この問題を解決するのが3板式です。名前のとおり、撮像素子を3枚用います。プリズムで色を三原色(RGB)に分解し、それぞれの色を各撮像素子で撮像します。この方式では、よりリアルで高精細な画像を撮影することができます。ただし、サイズが大きく高価であることから、放送局向けなどのプロ用機材に限られています。
撮像素子のサイズ
デジタルカメラでは、フルサイズ(35mm)、APS-H、APS-C、フォーサーズ、CXフォーマット、2/3インチ、1.7/3、1/1.7、1/2.33など様々なサイズがあります。スマートフォンでは1/2や1/2.6などの撮像素子が用いられ、自動車用途では、1/3といったより小さい撮像素子が用いられます。画質的には、撮像素子が大きい方が有利です。撮像素子が大きいということは、画素数が同じという条件下においては各画素のサイズも大きくなるため、その分各画素が受ける光量が多くなります。しかし、撮像素子が大きくなるとレンズも大きくなり、価格も高くなってしまうため、大きさ、価格、必要な解像度などを考慮して撮像素子を選定すると良いでしょう。
次回は、ハードウェアの基礎知識の第2回として「電子シャッター」について説明します!