カメラ画質を決める画像信号処理ISPの仕組みとFPGA向けISP IPコア
こんにちは、小野です。
最近のスマートフォンをはじめとしたデジタルカメラは、小型化が進んでいるにもかかわらず、夜景や人物を驚くほどきれいに撮影できます。この画質を支えている重要な技術が「ISP(Image Signal Processing:画像信号処理)」です。
デジタルカメラに搭載されたイメージセンサが出力するRAWデータは、そのままでは人が見て自然に感じる画像にはなっていません。ISPが明るさや色、ノイズなどを調整することで、私たちが直接目で見る景色に近い、自然な見た目の写真へと仕上げられます。
本記事では
- ISPの基本的な仕組み
- カメラシステムにおけるISPの役割
- AMD製FPGA/SoC向けISP IPコア「Xylon logiISP」
について、わかりやすく解説します。
「ISPの知識はあるけれど、FPGAでの実装はハードルが高い」と感じている方に特におすすめの記事です。
カメラ動作に必要なものとは?
友人とドライブに行って、夜景を見に行ったんですよ。同じ夜景の写真を撮りましたが、僕のスマホじゃ真っ暗の写真しか撮れなくて…。
見せてください。本当だ、真っ暗でなんにもわかりません。
友人の最新モデルのスマホでは、映える夜景の写真が撮影できていて羨ましい…。
最近のスマホのカメラの性能ってだいぶ向上していますよね。スマホ自体のサイズは変わらないのに画質は上がってさらにくっきり鮮明になっています。
カメラのレンズが2つや3つになっているものもありますけれど、色味が自然で、なんだかノイズが少ないっていうか…。何が違うんでしょ?
普段はあまり注目されませんが、ノイズ除去や絵作りをしているのが、「ISP」です。
ISP? Image Signal Processingの略なので、画像を処理する何か、という感じですか?
ISPとは、簡単に言うと、イメージセンサから出てくる信号を加工して、きれいな画像に仕上げる技術ですね。
つまり、イメージセンサから送られてきた画像信号そのままでは、私たちが普段目にするようなきれいな写真にはなっていないんですね。
はい。実はイメージセンサから出力されるデータは、そのままだと人間が見て「きれいだ」と思える画像ではないんです。そこからISPが、たとえば明るさ、色、ノイズ、鮮明さなどを調整して、私たちが普段見ている画像に仕上げています。ちなみに、補足ですが、イメージセンサから出力される信号は、人間が見るためだけではなく、機械が何かを検出するための処理にも使われることもあります。人間が見るきれいな画像に仕上げることだけが目的ではありません。

イメージセンサから出力された画像信号(RAWデータ)に対して、明るさ、色、ノイズなどを調整するにはノウハウが必要そうですね。一度調整しては処理後の画像を見て…。また調整してはもう一度処理後の画像を見て微調整して…を何度も繰り返す必要がありそうです。ISPを私たちで作るのは簡単ではなさそうです。どうすればいいでしょうか。
実は、当社ではXylon社の画像信号処理(ISP)のIPコアを取り扱っているんです。Xylon ISP IPコア、その名も「logiISP」です。
Xylon社は、私たちOKIアイディエスと同じく、AMD社のプレミアパートナーです。車載向けビデオデータロガーのメーカーでもありますよね。
ビデオデータロガー以外にも、実は画像処理関連の開発用のIPを持っていて、日本国内では私たちOKIアイディエスが取り扱っているんです!
そうだったのか!Xylon社は画像処理の分野でも強いんですね。てっきりビデオデータロガーだけかと思っていました。じゃあ今日は小野さん解説してください!
デジタルカメラの仕組み(レンズ・センサ・ISPの役割)
まずは「ISPとはどんなものか」の前に、デジタルカメラの仕組みを知っておきましょう。

カメラといえば、まずはレンズ。レンズで受け取った光をもとにイメージセンサが電気信号に変換して生の画像データができるんですね。
でも、イメージセンサで作られた画像はまだただの信号のままで、このままでは人間の目で見ることはできません。そこで、登場するのが上図の3番目の画像信号処理(ISP)です。
ISPによる処理では人間の目で見えるように、ノイズ除去や色補整の処理が行われるんですね。その後、USBやHDMIといった身近なインターフェースで画像出力される。先ほどから出てきているISPの立ち位置はわかりました。
ISPの主な役割(画質を左右する6つの処理)
- ノイズ除去
暗い場所で撮ったときに出やすいザラザラ感を減らします。
- ホワイトバランス調整
白いものを白く見せるために、光の色かぶりを補整します。
- 露出補整
暗すぎる画像を明るくしたり、明るすぎる部分を見やすく調整します。
- 色補整
肌の色や夜景の色を自然に近づけます。
- シャープネス処理
輪郭を見やすくして、くっきりした印象にします。
- HDR処理
明るい部分と暗い部分の差が大きい場面でも、両方見えるように調整します。
なるほど。夜景写真がきれいに撮れるのは、単にレンズがいいからだけじゃなくて、こういう裏側の処理が効いているんですね。
その通りです。さっきの例のスマホは本体サイズの制約が大きいので、センサやレンズだけで差をつけるのが難しいんです。
だからこそ、ISPの性能が写真のできを大きく左右するのですね。まさにカメラの「頭脳」といえます。
FPGAでISPを実装するならXylon ISP IPコア
スマホに限らず、小型で高性能なカメラの需要が自動車、監視、医療など、あらゆる場面で高まっています。Xylon ISP IPコアは、そんな小型かつ高性能カメラに使われるAMD製FPGAやMPSoC向けのIPコアなんです。
ISPを私たちで作るのは、とても敷居が高そうなので、こういったIPコアがあるのは、心強いですね。
下の図はAMD製FPGA/MPSoCにXylon ISP IPコアを搭載したシステム構成の例です。車載用カメラのインターフェースとしてよく使われるGMSL2とオン・セミコンダクター社のイメージセンサを搭載したカメラです。

AMD製のFPGAっていろいろな種類がありますけれど、どんなFPGAに対応しているんですか?
エントリークラスのArtix™からハイエンドクラスのVersal™まで、幅広いFPGA/MPSoCに対応しています!
そんなに幅広く対応しているんですね。用途に応じて選びやすいのは魅力的です。
それでは、次の章では、Xylon ISPの主な機能と処理フローを説明していきますよ!
Xylon ISPの処理フロー(RAWデータが映像になるまで)
XylonのISP製品(logiISP)では、用途に応じて複数の画像処理機能を組み合わせて使用できます。用途に合わせていろいろな組み合わせができるのが大きなメリットです。
先ほど、一般的なISPの機能は、ノイズ除去、ホワイトバランス調整、露光補整などがありました。Xylon ISPでは、どんな画像処理機能があるんですか?
全部で10個の機能ブロックがあり、これを組み合わせてパイプラインを作ることができるんです。その画像処理のパイプラインが下の図です。

Xylon ISPは、イメージセンサから出力されるRAWデータを、複数の機能ブロックを接続したパイプラインを通して、画像変換していきます。
はい。そのあとにCFA補間でカラー画像を再構成し、STATS(Statisticsの略)で得た情報を使ってホワイトバランスなどを自動調整します。
それからCCMやガンマ補整で色味と明るさを整えるわけですね。
その通りです。さらにENHANCEやMANRでノイズと輪郭を調整し、最後にCSCやCRで出力形式に合わせた映像へ変換します。
でも、ノイズ低減のモジュールってそんなに複数も使う必要ありますか?そんなに多く使わなくても1個で十分な気が。
実はXylon ISPはノイズ条件やレベルに応じて柔軟にノイズ低減用に複数種類のモジュールを組むことができます。ノイズにもいろいろな種類があり、それぞれに適した対策が必要です。たとえば、画像中の領域の曖昧さの対策にはエッジを強調(ENHANCE)します。映像中の激しい動きの対策には動体ブレや残像を抑制(モーションアダプティブノイズリダクション)するといった具合です。
ふーん。映像シーンによっては、どんなノイズがあるかやその処理って変わってくるんですね。それに合わせてノイズの対策ができると、どんないいことがあるんですか?
ノイズを抑える処理で、映像そのものが見づらくなってしまうことがあります。ノイズの条件やレベルに応じて、映像が不自然になったり見づらくなったりするのを防ぎながら、ノイズを低減できるのがメリットです。
なるほど!確かにせっかくノイズを処理しようとして、逆に映像が見づらくなったら映像を見る人たちが困りますもんね。
モジュールを組み合わせて設計することで、静止画でも動画でも一貫した画像品質を確保することができます。この調整は数値指標をベースに調整できます。
より詳しい処理内容は以下にまとめました。「もっと知りたい!」という方は、ぜひご覧ください。
- 入力データの品質を整える処理
欠陥ピクセル補整(DPC: Defective Pixel Correction)
- センサ由来の点欠けや白飛びのような異常画素を自動で見つけ、周囲の画素情報を使って自然に補完する。
空間ノイズリダクション(SNR: Spatial Noise Reduction)
- 細部のディテールをできるだけ残しながら、RAW画像に含まれるノイズを抑えて、画像のザラつきを低減する。
- RAWデータをカラー画像に変換する処理
カラーフィルターアレイ補間(CFA: Color Filter Array Interpolation)
- RAWデータから、人間の目でも見えるフルカラー画像へ再構成する。
画像統計(STATS)
- 画像の明るさや色分布などを解析し、オートホワイトバランスなどの制御に活用する。
- 色を自然に整える処理
カラー補整マトリックス(CCM: Color Correction Matrix)
- センサ特性や照明環境による色のずれを補整し、本来の自然な色に近づける。
ガンマ補整(GAMMA)
- 暗部を持ち上げたり明部を抑えたりして、見た目が自然になるよう輝度を調整する。
- 見た目の印象を仕上げる処理
ノイズリダクションとエッジ強化(ENHANCE)
モーションアダプティブノイズリダクション(MANR)
- 動きに応じて、動画でも違和感の少ないよう、ノイズを低減する。
- 映像フォーマットに合わせる処理
カラースペース変換(CSC: Color Space Conversion)
- 出力先や用途に応じて、RGBとYCbCrなどの色空間を変換する。
クロマ・リサンプラー(CR: Chroma Resampler)
- 映像フォーマットや帯域要件に応じてChromaサブサンプリング形式に合わせて変換し、色差信号の解像度を調整する。
ハードウェア不要!PCでISP画質を評価できる「Xylon ISP Studio」
Xylon ISPを使うとISPの開発はより効率的に開発できることはわかりました。でも、実際にFPGAへISPを搭載して映像を確認するには、ハードウェアの開発が必要で、Xylon ISPを使った画質がどんなものか分からない状態で、いきなりハードウェアの開発に踏み切れない開発者もいると思うんですよ。
そんな開発者に向けて、ハードウェアがなくてもISPの結果を確認できる「Xylon ISP Studio」を紹介しましょう!Xylonは、ハードウェア開発の前に、PC上で、RAWデータから、ISPを使った画像処理結果を確認できるツールも提供しているんですよ。

このXylon ISP Studioは、ISPの処理フローで紹介したようなパイプラインを自由に構築することができます。たとえばCFAデモザイシング、ガンマ補整、異なるノイズフィルター、カラースペースコンバーター…など、様々なモジュール組み合わせてISPパイプラインを構築することができます。
へぇ、GUIで好きなように構築できるんですね。これなら、とてもわかりやすい!
画像処理した結果をPC上のモニターでリアルタイムに確認できるんです。こんな感じです。

ISPのパイプライン作成や画像処理結果の評価ができたら、GUI上でAMD開発ツール向けの構成パラメータも生成できます!それをAMDの開発ツールにインポートすれば、FPGA実装にスムーズに移行できます。
そこまでできれば、FPGAの専門知識があまりなくても、ISPの専門家が絵作りできますね。「ISPの知識はあるけど、FPGAの開発は専門知識がなくてハードルが高い…」という開発者に特におすすめですね!
OKIアイディエスのカメラシステム開発事例
logiISPのようなIPコアを使えば、画像処理の実装を効率よく進められます。でも、実際のカメラシステム開発って、ISPだけで完結するわけではないですよね。
その通りです。レンズ、イメージセンサ、カメラインターフェース、FPGA/SoC、出力先まで含めて、開発する必要があります。OKIアイディエスもカメラシステムの開発を行っているんですよ。良い機会ですので、OKIアイディエスの開発事例を紹介します。

これはカメラと映像の受信基板ですね。FPGAが搭載された基板側を開発したんですか?
はい、FPGAはAMD製Zynq UltraScale+が採用されています。図の真ん中に注目!ここにXylon社のISP IPコアが搭載されています。
あ、本当だ。カメラから送られた映像を、12bit RCCB(赤・シアン・シアン・青の特殊カラーフィルター)の画素配列でISPに渡していますね。
ISPで今回紹介したような処理を行い、画像の黒つぶれを抑えたり、エッジを強化したりしています。その後、リサイズと画像信号の変換を経て、HDMIに出力します。
このようになりました!何があるかわかりづらかった元画像から、影の部分が明るくなりエッジが強化されてより鮮明になりました。日向の明るい部分は白飛びしないように調整されています。

最後に
今日の話で、スマホに限らず、デジタルカメラって、イメージセンサからの画像信号(RAWデータ)を「仕上げる」技術がすごく大事だとわかりました。
その通りです。
ISPは、イメージセンサが捉えた生の信号を、人が見て美しいと思える画像に変えるための重要な技術です。夜景が明るく撮れたり、人物の肌がきれいに見えたりするのは、このISPの働きによるところが大きいんですよ。
次に写真を撮るときは、カメラ本体だけじゃなくて、ISPのことも思い出してみます。スマホの小さなレンズの向こう側には、高度な技術が詰まっている…。奥が深いですね!
XylonのISP IPコアは、そんな奥深いISPの設計を助けてくれる便利なツールです。AMD製FPGA/SoCにISPを搭載したいけど、FPGAの設計は難しい…。そんなISPの開発者には特におすすめのIPです。
ちなみに、Xylon ISP Studioは、Xylon ISP “logiISP”の購入を検討していただけるお客様へ無償で提供しています!
無償なんですか!こうしたIPの導入ハードルがさらに下がりますね。
とはいってもカメラシステムの開発は、カメラモジュールとの入力インターフェースやISPをどこに組み込むか、画像処理した結果はどこに格納または伝送するかなど、システム全体で考える必要があります。
確かに。カメラ周辺を含めたシステム全体の設計が必要ですよね。OKIアイディエスは、今日小野さんが紹介した開発事例以外にも、カメラ周辺の基板設計やソフトウェア開発、FPGA設計で多数の実績があります。
OKIアイディエスでは、Xylon ISP IPコアの提供だけでなく、ISPパイプライン設計、FPGA実装、ソフトウェア開発、基板設計まで、カメラシステム開発を一貫してサポートしています。「FPGAでISPを実装したい」、「カメラシステムを開発したい」といったご相談がありましたら、ぜひお気軽にお問い合わせください。お待ちしています!
次回のブログ更新は5月を
予定しています。お楽しみに!
おまけ:専門用語解説コーナー
「この記事、専門用語てんこ盛りだな~」と思ったあなたのために、簡単に解説します!
イメージセンサ:
カメラのレンズから、受け取った光を電気信号へ変換し、その電気信号を読み取ることで画像を出力するデバイス。
RAWデータ:
RAWデータとは、デジタルカメラ、一部のスマートフォンなどで記録可能な画像形式。一般的な画像はjpeg形式で保存されるが、RAWデータはjpeg画像を生成するための元のデータ。
FPGA (Field Programmable Gate Array):
ユーザーが回路構成を自由に書き換えられる半導体デバイス。画像処理や通信処理など高速な並列処理が求められる用途で広く利用される。
IPコア:
LSIなどの設計における、機能単位でまとめて1つの知的財産として提供される回路デザイン。
GMSL (Gigabit Multimedia Serial Link):
主に車載カメラなどで付き合われる高速データ伝送の規格。送信側のパラレル信号をシリアライザでシリアル(単一)の信号に変換して双方向ケーブル1本でデータ送信し、受信側のデシリアライザでシリアル信号をパラレル信号に変換して受信する。
SoC (System-On-Chip):
集積回路の1つのチップ上にプロセッサやメモリ、UART、通信インターフェースなどが搭載されたシステムとして機能する集積回路。
- ※記載されている会社名、製品名は、各社の商標または登録商標です。
- ※ここに記載されている仕様、デザインなどは予告なしに変更する場合があります。