カメラの性能を決める、ISP(イメージシグナルプロセッサ)の機能と信号処理

カメラを構成する構造を以前の記事で説明させて頂きましたが、カメラの中に入っている「ISP(イメージシグナルプロセッサ)」って何?と思われている方、多いと思います。

今回はそんな疑問に思われている方に、本記事では、カメラの画質を決定づけている、と言っても過言ではない、ISP(イメージシグナルプロセッサ)の機能と処理能力に関し説明したいと思います。

まずはカメラの基本的な構造をおさらいし、ISPに入っている各種機能の説明、そして今後これらの機能がAIとの組み合わせでどうなっていくのかを、分かりやすく説明したいと思います。

スポンサーリンク

カメラの構造

カメラの構造に関しては次の記事で説明していますので、復習になるかと思いますが、もう一度説明をしたいと思います。

->モノづくりエンジニアの為のカメラモジュールの構造

これがカメラモジュールの簡単な構造です。左型が完成形。右側はすべての部品が見えるようにしたものです。とてもシンプルですよね。それぞれ簡単に説明をさせていただきたいと思います。

カメラモジュール構造
  1. レンズ
  2. IRカットフィルタ
    • 次は馴染みがあまりないかもしれませんが、IRカットフィルタです。IRカットフィルタの役割は名前の通り、IRの光を遮断するものです。IRの光とは何かというと、infrared raysの略で、英単語の通り、「赤外線」です。「1」のレンズ太陽の光を取り込むのですが、その中には赤外線も含まれており、それをそのままイメージセンサに取り入れてしまうと、赤外線特有の赤色が画像に出てしまいます。また、人の目には見えない光である為、普通のカメラでは人の目と同じ画像を作らないといけませんので、それをカットする為に入っています。カメラの中には、夜間を移す赤外線カメラもありますので、そういったカメラに関してはIRカットフィルタは入っておりません。
  3. イメージセンサ
    • こちらはカメラの要になるデバイスである、イメージセンサです。これはレンズから光を取り入れ、IRカットフィルタで赤外線をカットした後の可視光(目で見える光)を電気に変えるデバイスです。ここで光というアナログの物を電気信号に変え、後はデジタル回路でその映像信号を伝送する事になります。このデバイスが最もカメラで重要なデバイスであり、以下に光を電気信号にキレイに正しく変換できるか?というところが問われる所となります。イメージセンサに関する詳しい記事は下記です。
    • モノづくりエンジニアの為の、CMOSイメージセンサの基本原理
  4. 基板
    • 基板とは、3で光を電気に変えた後は、その電気を他の機器まで運ばないといけませんので、電気信号を伝送する為に基板が必要となります。ここでは電気信号を伝送する為の物また、5番との違いは堅い素材か、柔らかい素材かの違いであり、基板は堅い。5のフレキは同じく電気信号を伝送するもので柔らかい物となります。基板に関する記事は下記ご参照お願いいたします。
    • 【高速信号配線&基板ノイズ対策】プリント基板のパターン設計ノウハウ集
  5. フレキ
    • 上記の通りです。
  6. ISP
    • ISPとは「 Image Signal Processor」の略で、電気信号にかえられたカメラの映像をいろいろと加工する為のプロセッサです。次のトピックで詳しく説明していきたいと思います。
  7. コネクタ
    • 最後はコネクタです。これは名前の取り、モノとモノをコネクションする(嵌合する)為の物で、4,5で説明した、基板やフレキを嵌合する為の物です。このコネクタは例えば携帯電話の中にはものすごくたくさん使われており、様々な基板、フレキをこのコネクタで嵌合させる事で、1つの製品にしています。
スポンサーリンク

ISP(イメージシグナルプロセッサ)の10種の機能

1つ上のトピックからISPに関する部分のみを切り出すと、下の図のようになります。レンズで受け取った光をイメージセンサが電気に変換し、その電気信号をISPへ送信し、ISPはその中で各種信号処理を実施する。というのが基本的な信号の流れとなります。ISPの形態としては次の3種があり、製品によって使い分ける事が多いと思います。

  • イメージセンサと一体化した物
  • ISPのみ独立している物
  • AI(HWアクセラレータ)と一体化した物
映像フロー

それではISPの各機能について説明していきたいと思います。製品によって信号処理の順番、機能等変わってきますので、ここでは代表的な機能と代表的なフローで説明をしていきたいと思います。

ISP処理概要
  • 黒レベル調整
    • カメラの絵作りの中で最も基本的な調整の黒のレベル調整です。黒のレベルとは、カメラの画面を真っ暗にした時の輝度のレベルの事です。例えば1画素が8bitあるイメージセンサの場合、0-255の輝度レベルを持つことが出来ますが、輝度の低い方の0~50は、黒すぎて、取得した画像を見た時に、諧調を人の目で認識できない。という問題があります。また、世の中に本当に真っ黒な物は少なく輝度0とは「ベンタブラック」のような黒で、私達が普段目にしている「黒」というのは、輝度のレベルでいうと、50付近の事を指す場合が多いです。そこでイメージセンサは、その「黒」のレベルは数値で言うと、**だと憶えさせる事が必要であり、また、例えば露光時間やゲインアップした時にそのレベルが変わらないように、どんな環境でも黒のレベルを同一にする必要があり、それを黒レベル調整と言います。
    • 具体的には、モノづくりエンジニアの為の、CMOSイメージセンサの基本原理で説明させて頂いた下の図の中で、1:チップサイズ、2:総画素数、3:有効画素数、4:実行画素数と説明しましたが、2から3を引いたエリアを「オプティカルブラック」と言い、このエリアは画素が遮光されています。つまり常に光が入らない状態となっており、黒のレベルを取得する事が出来ます。このレベルを、常に50とか30とか、そのカメラの目標とする黒のレベルに常に合わせる事で、調整をします。より詳しくは下記ご参照お願いいたします。
    • ISP(イメージシグナルプロセッサ)カメラの 黒レベル調整とは
イメージセンサ
  • HDR(ハイダイナミックレンジ)
    • ハイダイナミックレンジとは、イメージャ自身がもつダイナミックレンジ以上のダイナミックレンジを表現する為の機能です。ダイナミックレンジとは、黒~白まで、1つの画面の中で、どこまで白、黒に差があるシチュエーションを1枚の画像で、白飛びや黒潰れなく取得できるか?という輝度差の許容範囲を表す指標です。例えば、下のトンネルのシチュエーションにおいて、トンネル内は見えているけど、その先の出口は真っ白になっているような状況ですが、本機能を用いる事で、トンネルの中も見え、かつ出口も真っ白にならずに見えるようになる。という機能です。
    • 実現方法としては、2枚もしくはそれ以上の画像を用い、暗いエリアを見えるように露光時間を調整した画像(下のトンネルの画像)と明るいエリアを見えるように露光時間を調整画像(トンネルの例だと、出口を見えるようにし、トンネルの中が真っ暗になるように設定)この2枚の画像を合成する事で、トンネルの中も、出口も見えるような画像を生成する事で実現します。より詳しくは下記のHDRの記事を参照頂ければ幸いです。
    • 【ISP技術入門】カメラの HDR(ハイダイナミックレンジ)とは

HDRはドライブレコーダーですごく役立ちます。ドライブレコーダの記事は下記を参照頂ければ幸いです。

参考:エンジニア視点で考察。ドライブレコーダーのおすすめ2021年版

ハイダイナミックレンジの効果
  • Gain,露光調整
    • 露光調整とは、イメージセンサの露光時間の調整の事を指します。例えば夜景を撮影したい時、夜景モードを用いると、スマホでも綺麗に夜景が取れますが、撮影中にスマホを動いてしまい(手振れしてしまい)、画像がぶれて取れてしまった、という経験が皆お持ちだと思います。これは何故発生するかというと、露光時間が長いからです。つまり光を集める時間を長くすればするほど、微小な光でもそれが蓄積され、多くの光を取り込む事が可能となりますが、その分露光中の動きがすべて「振れ」として画像に現れてしまいます。それを防ぐためには、露光時間はそれほど長くせずに、明るさを保つ為にGainを調整する、という方法があります。イメージセンサに入ってくる光が足りない分、少ない電荷をアンプで増幅させて、あたかも多くの電荷が貯まっているように調整する技術です。これをGain調整と言います。ただし、ない電荷を無理矢理アンプで増幅する為、ノイズも一緒に増幅されてノイジーな画像になるという弊害があります。
    • これらのGain調整と、露光調整は、環境によって設定を変える事を通常のカメラやスマホでは行います。上記のように夜景を出来るだけ綺麗に撮りたい。という場合は露光時間は長く、Gainは最小で、となりますが、例えば暗い環境で素早く動くものを撮影したいといった場合には、露光時間は短く、Gainを上げる。といった制御を行います。デジカメや、スマホでは、シーンを選べる機能があると思いますが、シーンを選ぶと、上記のようにそのシーンを撮影するのにふさわしい、露光とGainの設定が自動にされる仕組みとなっております。
    • 参考:【ISP技術入門】カメラのISO感度、とシャッタースピードを解説
  • 欠陥補正
    • 名前の通り、画素欠陥を補正する機能です。今は少ないですが、昔、パソコンのモニターでよく(まれに)画面を真っ暗にしても赤や青、緑で光っている画素がある。という経験をされた事があると思いますが、イメージセンサ―も画素に欠陥を持っている物もありますし、工場出荷後、使用中に画素が死んで欠陥になる、とうい事もあり得ます。しかしながら、スマホやデジカメで写真の中に真っ白や真っ黒の画素欠陥が見える。という経験をされた方は少ないと思います。それは、この欠陥補正という機能をカメラが持っているからです。
    • 欠陥補正には2種あり、工場出荷時に補正する機能と、リアルタイムに画素を補正する機能です。前者は工場出荷時に画素欠陥がある座標をカメラ内のメモリに記録しておき、その座標を常に補正対象として、周囲の画素を用いて補完する事で、補正します。後者は撮像した画像の中で、欠陥を識別し、リアルタイムに補正をしていきます。
  • シェーディング補正
    • シェーデイングとは画面中心と周辺の光量比の事を指します。そしてその補正とは、その光量比を少なくする。という事を目的とした補正です。1つの事例として、真っ青な青空を写した時に画面の周辺が暗く映って鮮やかな空が表現できない。というような事を解決する為の技術となります。発生原理としては、イメージセンサに入射する光の角度が画面中心と周辺で異なり、原理的イメージャ周辺の方が光がイメージセンサ―のフォトダイオードに届きにくい、というのが発生原因です。
    • 補正方法は簡単で、画面周辺に行くにつれてGainを上げ、暗い部分を明るくする事で補正します。
シェーディング補正効果

画面中心に光の入射方向(垂直に光が入るので明るい)↓

イメージセンサ光の入射方向

画面周辺の光の入射方向(斜めから光が入るので暗くなる)↓

イメージセンサ光の入射方向
  • デモザイク
    • デモザイクはカラーのイメージセンサでは当たりまえの機能ですが、非常に重要な機能です。イメージセンサはR,G,Bのフィルターがベイヤー配置されておりますが、その配列のまま出力されると、R,G,Bの色情報がそのまま出てきてしまいます。これらのベイヤー配列のイメージセンサを適切な画像(適切な画像とは、普段皆様がみている写真のようなカラー画像にする)処理をデモザイクと言います。つまりこれらのR,G,Bのベイヤーの情報を活用し、うまく混ぜ合わせる事で、画像をつくる事をデモザイクと言います。
    • 具体的に、例えばRGBのベイヤーからYUVへ変換する方法があります。YUVとは聞きなれないかもしれませんが、Yが輝度信号、UVが色信号で、下の図の黄色やピンクの点線で囲んだ4画素のRGB画素を使って、YUVのデータを生成します。(フォーマットに関しては中級編でまた説明したいと思います。)

具体的な計算式は下記。

 Y =  0.299 x R + 0.587  x G + 0.114  x B
 U = -0.169 x R - 0.3316 x G + 0.500  x B
 V =  0.500 x R - 0.4186 x G - 0.0813 x B
イメージセンサのベイヤー配列
  • ホワイトバランス
    • ホワイトバランスとは、白色を白色と表現する為の機能です。白を白にするなんて当たり前じゃないか。と思われるかもしれませんが、上に記載した「黒」と同様、「白」も難しいです。これがしっかり出来ないと、この後の色補正もできません。白といってもいろんな白があります。例えば白い画用紙を外に置いた時に、朝日、夕日でその画用紙の色は違う色に見えますよね。でも双方とも「白」です。人が見て白と思う白をカメラで撮影しても同じ白にするようにしないといけません。夕暮れ時に写真をとった時、白は少し赤みがかかって欲しい時に、カメラの画像が純白を表現したら、良くないですよね。といったように、色温度を考慮した、白を再現する事がホワイトバランスの機能です。
    • 調整する為には、基準の白色温度の光源(パターンボックスを使う場合が多い)を活用し、RGBベイヤーのR,G,Bそれぞれのゲイン値を設定しながら、R,G,Bの画素の出力値のバランスを変え、目標となる白に合わせる。という事を実施します。その基準の白というのは、各カメラメーカによって異なり、その為、各社カメラの映像、白色やカラーの色が違うのはその為です。パターンボックスは下記。
パターンボックス
  • 色補正
    • 色補正とは色再現とも言います。イメージセンサのカラーフィルタが持つ分光特性を理想特性に近づける処置の事で、例えば花の写真を写した時に鮮やかな色を再現する。青空を写した時に、綺麗な青を表現する。人の顔を写した時に綺麗な肌色を再現する。そういう、写真を撮影する上で、最も人が目で見て分かる、「色」を補正する機能です。
    • 調整方法としては、カラーマトリクスという行列演算により、R,G,Bの色のゲイン値を調整します。ごくごく簡単に言うと、下のマクベスチャート、または上のパターンボックスに取り付けられるカラーチャートがあり、それらの色が目標の色になるように、R,B,Gのゲインを調整し、目的の色を作る。という機能です。
マクベスチャート
  • ガンマ補正
    • ガンマ補正はディスプレイ等の設定にもありますので、ご存知の方も多いかと思いますが、入力の輝度情報に対し、ガンマカーブに基づいて出力の輝度情報を決定する補正で、入出力の輝度を変更し、画像の見た目としてはコントラストが変ったような出力を得る事が出来ます。通常のカメラであれば、ガンマ曲線はある計算式に基づきて決定さたガンマカーブに基づき決定される場合が多いですが、以前の記事に記載した、静脈認証や、ドライバーモニタリングカメラのように、取得した画像から顔を認識したり、静脈を認識するといった機械の目で判断するようなシステムでは通常よりコントラストを強く出すために、特殊な(非線形な)カーブを作る事もあります。
    • ->最強のセキュリティをもつ生体認証・静脈認証の仕組みとカメラの仕様
    • ガンマカーブは下に記載したように、ガンマ曲線を決定する式があり、ガンマという変数を変化させる事で、カーブを作る事が出来ます。ガンマ=1の時はインプットとアウトプットが一対一の関係にあり、画像に変化が無い状態を表し、数値が大きくなると左の図、数値が小さくなると右の図のように変化します。一般的に通常のデジカメやスマホのカメラはガンマ=1よりも小さい数字を使う場合が多く、入力(input)に対し中間輝度を持ち上げたようなガンマカーブを作る場合が多いです。これは、人間の目の見え方が、実際のリニア特性で考えるとずっと暗いはずのオブジェクトを実際より明るく見せるという特性に基づき、カメラで撮像した画像が人間の目の見え方に近づくような設定であると言えます。その基本特性の中で、各カメラメーカが味付けを変えている。というのがガンマ補正となります。
ガンマカーブ
  • シャープネス
    • 最後にシャープネスです。これはスマホやデジカメで皆様触った事があると思いますので、さらっと説明していきますが、エッジを協調(輪郭協調)する為の機能です。カメラの解像度はピクセルの数とレンズのMTFで概ね決まりますが、特に小型のカメラモジュールになればなるほど、解像度を上げる事が難しくなり、シャキッとした画像が取れなくなっていきます。その為、この機能が活躍し、スマホ等の小さいカメラにおいても、シャキッとした画像が取得できます。ただし、かけすぎると、ノイズや協調したくない部分まで協調され、不自然な画像になってしまう為、注意が必要です。

ISP(イメージシグナルプロセッサ)の今後の展開

それでは、むすびとしてISP(イメージシグナルプロセッサ)の今後の展開に関して、簡単に説明していきたいと思います。上記に書いた機能は、デジカメが世の中に出始めたころから開発が進み、ほとんどの機能が、デジカメやスマホでは搭載されていて当然という機能に今(2021年)ではなっています。

では次のイノベーションは何かというと、AIとの連携だと思います。一番上のトピックに記載した通り、AI(HWアクセラレータ)と一体化したISPという開発も進んでおります。

では、AIと組み合わせて何をしようとしているか。ですが、

最も活用ができるのは、AIによる画像認識とその結果に基づく効果的なISP処理の適用。ここだと思います。今までISPの機能をいくつか挙げてきましたが、ほとんどの処理がイメージセンサからの画素情報やR,G,B画素の信号レベルに基づき、各種調整をしたり、一律どんな画像に対しても同じ設定をしたり、そういった使い方であるのが一般的です。一眼レフやスマホでは、マニュアルでいろいろ設定値を変更できる。という事もあります。

これが、今後はAIにより取得した画像を把握をし、画像ごとに適切なパラメータの設定をしていく機能が広がってくると思います。例えば人の顔を認識したら、その顔色がもっともよくなるような設定を入れたり、細かい模様が見えたらシャープネスを挙げてよりクッキリした画像を取得する。といった例が考えられます。

もう一歩先へ行くと、白黒のセンサや赤外線センサで白黒の映像を取得した後に、その映っている映像から物体を認識し色を付ける。例えばナイトサファリ等でカメラには白黒で撮像した物をAI機能を使って動物や風景の色を再現して、夜でも綺麗なカラー画像として写真に残す。という事が近い将来出来てくると思います。

カメラやISPに関して概要を説明してきましたが、より詳しく学びたい。という方は下記のような書籍もありますので、ご参考にしてください。

エンジニアになる為のプラグラム関連の勉強は下記から。

参考:収入アップの為の、おすすめプログラミングスクール3社を紹介します

記事が気に入って頂けたら、クリックして頂けると嬉しいです。

コメント

タイトルとURLをコピーしました