(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022154601
(43)【公開日】2022-10-13
(54)【発明の名称】画像処理装置、画像処理プログラム、及び、画像処理方法
(51)【国際特許分類】
G06T 1/20 20060101AFI20221005BHJP
H04N 5/232 20060101ALI20221005BHJP
【FI】
G06T1/20 Z
H04N5/232 290
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021057715
(22)【出願日】2021-03-30
(71)【出願人】
【識別番号】505277358
【氏名又は名称】株式会社モルフォ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100161425
【弁理士】
【氏名又は名称】大森 鉄平
(72)【発明者】
【氏名】山口 創真
(72)【発明者】
【氏名】小林 理弘
【テーマコード(参考)】
5B057
5C122
【Fターム(参考)】
5B057CD06
5B057CE05
5B057CE08
5B057CH05
5B057CH18
5C122EA12
5C122FG01
5C122FG03
5C122FH09
5C122FH18
5C122FH23
5C122GA34
5C122HA88
5C122HB01
(57)【要約】 (修正有)
【課題】RAW画像データへ行う画像処理の利点及びフルカラー画像データへ行う画像処理の利点を組み合わせて、画像品質を向上させる画像処理装置、方法及び画像処理プログラムを提供する。
【解決手段】画像処理は、複数のRAW画像データの中から選択された基準画像データと複数のRAW画像データに含まれる複数の参照画像データそれぞれとの対応画素を検出し、対応画素に基づいて基準画像データと複数の参照画像データとを合成して合成RAW画像データを生成する第1拡張処理と、合成RAW画像データの画素位置と、複数のRAW画像データのうち少なくとも1つのRAW画像データから導出される情報とが関連付けられたマップ情報を生成するマップ生成処理と、マップ生成処理によって生成されたマップ情報に基づいて、デモザイクされた合成RAW画像データに、第1拡張処理とは異なる画像処理を実行する第2拡張処理と、を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数のRAW画像データの中から選択された基準画像データと前記複数のRAW画像データに含まれる複数の参照画像データそれぞれとの対応画素を検出し、前記対応画素に基づいて前記基準画像データと前記複数の参照画像データとを合成して合成RAW画像データを生成する第1処理部と、
前記合成RAW画像データの画素位置と、前記複数のRAW画像データのうち少なくとも1つのRAW画像データから導出される情報とが関連付けられたマップ情報を生成するマップ生成部と、
前記マップ生成部によって生成された前記マップ情報に基づいて、デモザイクされた前記合成RAW画像データに、前記第1処理部とは異なる画像処理を実行する第2処理部と、
を備える画像処理装置。
【請求項2】
前記少なくとも1つのRAW画像データから導出される情報は、前記対応画素の有無に関する情報である、請求項1に記載の画像処理装置。
【請求項3】
前記第1処理部は、前記基準画像データの対応画素と前記複数の参照画像データの対応画素とを平均化する画像処理を実行し、
前記第2処理部は、前記対応画素が無いことを示す情報が関連付けられた前記合成RAW画像データの画素位置の画素値に対して、平滑化フィルタを適用する画像処理を実行する、請求項2に記載の画像処理装置。
【請求項4】
前記少なくとも1つのRAW画像データから導出される情報は、注目画素と前記注目画素の周辺に位置する周辺画素との間の画素値のばらつきを示す統計量に基づいて推定されるノイズ量である、請求項1に記載の画像処理装置。
【請求項5】
前記第2処理部は、前記合成RAW画像データの画素位置の画素値に対して、前記ノイズ量に応じた平滑化強度で、平滑化フィルタを適用する画像処理を実行する、請求項4に記載の画像処理装置。
【請求項6】
複数のRAW画像データの中から選択された基準画像データと前記複数のRAW画像データに含まれる複数の参照画像データそれぞれとの対応画素を検出し、前記対応画素に基づいて前記基準画像データと前記複数の参照画像データとを合成して合成RAW画像データを生成する第1処理部、
前記合成RAW画像データの画素位置と、前記複数のRAW画像データのうち少なくとも1つのRAW画像データから導出される情報とが関連付けられたマップ情報を生成するマップ生成部、及び、
前記マップ生成部によって生成された前記マップ情報に基づいて、デモザイクされた前記合成RAW画像データに、前記第1処理部とは異なる画像処理を実行する第2処理部としてコンピュータを機能させる画像処理プログラム。
【請求項7】
複数のRAW画像データの中から選択された基準画像データと前記複数のRAW画像データに含まれる複数の参照画像データそれぞれとの対応画素を検出し、前記対応画素に基づいて前記基準画像データと前記複数の参照画像データとを合成して合成RAW画像データを生成する第1処理ステップと、
前記合成RAW画像データの画素位置と、前記複数のRAW画像データのうち少なくとも1つのRAW画像データから導出される情報とが関連付けられたマップ情報を生成するマップ生成ステップと、
前記マップ生成ステップによって生成された前記マップ情報に基づいて、デモザイクされた前記合成RAW画像データに、前記第1処理ステップにおける画像処理とは異なる画像処理を実行する第2処理ステップと、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置、画像処理プログラム、及び、画像処理方法に関する。
【背景技術】
【0002】
特許文献1は、ノイズを低減する装置を開示する。この装置は、画像センサにより生成されたN+1枚のRAW画像データのうち、1枚の基準となるRAW画像データと、N枚のRAW画像データとの位置合わせを行い、画素ごとに画素値をブレンドすることでノイズを低減した画像を生成する。RAW画像データの動被写体領域についてはブレンド比率が小さく設定され、基準となるRAW画像データの情報が優先される。ブレンドして得られた合成画像データにはローパスフィルタが適用され、動被写体領域に対応する画素位置の画素値が平滑化される。
【0003】
複数枚の画像データを用いてノイズを低減する技術は、MFNR(Multi-FrameNoise Reduction)と呼ばれ、一枚の画像だけからノイズの低減された画像を生成する技術は、SFNR(Single-FrameNoise Reduction)と呼ばれる。特許文献1記載の装置は、静止被写体領域にMFNRを適用し、動被写体領域にSFNRを適用する。これにより、画像全体のノイズが精度良く低減される。
【0004】
N+1枚のRAW画像データは、フルカラー画像データに変換する色補間処理(デモザイク処理)、ホワイトバランス、色再現性を高めるリニアマトリクス、視認性を向上する輪郭強調処理などが行われ、JPEGなどの圧縮コーデックでエンコードされ、記録再生部に保存される。そして、記録再生部に保存されたN+1枚のフルカラー画像データに対しても、上述したN+1枚のRAW画像データから1枚の合成画像データを生成する手法と同一の処理が行われ、1枚の合成画像データが生成される。特許文献1記載の装置は、RAW画像データに対する処理とフルカラー画像データに対する処理とを同一にすることで、回路の共通化を実現する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、デモザイク処理前のRAW画像データは、画像として視認可能な状態ではなく、センサーデータそのものに近い情報であり、自然法則に従った情報を維持している。このため、自然法則を利用して数値を予測する処理などが好適に実施され得る。その反面、RAW画像データを効果的に画像処理することができたとしても、後段においてデモザイク処理やその他の処理が実行されるため、画像処理の効果が薄れてしまうおそれがある。
【0007】
デモザイク処理後のフルカラー画像データ(RGB画像データまたはYUV画像データ)は、画像として視認可能な状態であるため、最終結果として出力する画像に直接影響する処理、例えば趣向を凝らしたり視認性を最終調整したりする処理をすることに適している。しかしながら、フルカラー画像データに施される画像処理は、フィルタ処理や補正処理などの、画素値を意図的に加工するものであるため、自然法則に従った情報が維持されない場合がある。このため、フルカラー画像データに自然法則を利用して数値を予測する処理などを実行したとしても正確な情報を得られないおそれがある。
【0008】
特許文献1に記載の装置は、デモザイク処理前の画像データと、デモザイク処理後の画像データとに対して同一の処理を実行しており、RAW画像データへ行う画像処理の利点、及びフルカラー画像データへ行う画像処理の利点を考慮した処理を行えていない。本開示は、RAW画像データへ行う画像処理の利点、及びフルカラー画像データへ行う画像処理の利点を組み合わせて、画像品質を向上させることができる技術を提供する。
【課題を解決するための手段】
【0009】
本開示の一形態に係る画像処理装置は、第1処理部、マップ生成部、及び第2処理部を備える。第1処理部は、複数のRAW画像データの中から選択された基準画像データと複数のRAW画像データに含まれる複数の参照画像データそれぞれとの対応画素を検出する。そして、第1処理部は、対応画素に基づいて基準画像データと複数の参照画像データとを合成して合成RAW画像データを生成する。マップ生成部は、合成RAW画像データの画素位置と、複数のRAW画像データのうち少なくとも1つのRAW画像データから導出される情報とが関連付けられたマップ情報を生成する。第2処理部は、デモザイクされた合成RAW画像データに、第1処理部とは異なる画像処理を実行する。
【発明の効果】
【0010】
本開示によれば、RAW画像データへ行う画像処理の利点、及びフルカラー画像データへ行う画像処理の利点を組み合わせて、画像品質を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【
図2】画像処理装置によって実行される画像処理を説明するブロック図である。
【
図3】前処理の一部をバイパスする処理を説明するブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本開示の実施形態について説明する。なお、以下の説明において、同一又は相当要素には同一符号を付し、重複する説明を省略する。
【0013】
(画像処理装置の構成)
図1は、実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
図1に示される画像処理装置1は、例えばスマートフォンなどの撮像機能を有するデバイスである。画像処理装置1は、画像データに対して一連の画像処理群を順次適用する。以下では、一連の画像処理群の流れを画像処理パイプラインともいう。
【0014】
図1に示されるように、画像処理装置1は、画像センサ10、プロセッサ11、メモリ12(記憶部の一例)、ストレージ13、入力部14、及び、出力部15を備える。プロセッサ11は、画像センサ10、メモリ12、ストレージ13、入力部14、及び、出力部15に相互に通信可能に接続されている。
【0015】
画像センサ10は、固体撮像素子であり、RAW画像データを出力する。RAW画像データは、モザイク配列で記録されたカラー画像データである。モザイク配列の一例は、ベイヤー配列である。画像センサ10は、連写機能を備えてもよい。この場合、画像センサ10は、連続する複数のRAW画像データを生成する。プロセッサ11は、画像処理パイプラインを実行する演算装置であり、一例として画像信号処理に最適化されたISP(Image Signal Processor)である。プロセッサ11は、ISPだけではなく、GPU(Graphics Processing Unit)又はCPU(CentralProcessing Unit)であってもよい。画像処理パイプラインにおける各画像処理の種類に応じて、ISPと、GPU又はCPUとを組み合わせて各画像処理を実行させてもよい。プロセッサ11は、画像センサ10から出力されたRAW画像データに対して、RAW画像データごとに画像処理パイプラインを実行する。
【0016】
メモリ12及びストレージ13は、記憶媒体である。
図1に示される例では、メモリ12は、プロセッサ11により実行されるプログラムのモジュール、定義データ、RAW画像データ、並びに、後述する中間画像データ及びマップ情報などを記憶する。メモリ12は、例えばSDRAM(Synchronous Dynamic Random Access Memory)などである。ストレージ13は、画像処理パイプラインによる処理済みの画像データなどを記憶する。画像処理パイプラインによる処理済みの画像データは、例えば、RGB画像データ又はYUV画像データである。ストレージ13は、例えばHDD(Hard Disk Drive)である。なお、メモリ12及びストレージ13は、記憶媒体であれば特に限定されない。メモリ12及びストレージ13は、単一のハードウェアで構成されてもよい。
【0017】
メモリ12は、画像処理パイプラインを実行するためのパイプライン処理モジュール121を含む。プロセッサ11は、メモリ12を参照して画像処理パイプラインを実行する。また、メモリ12は、後述する画像処理パイプラインの切り替えを実現するための、定義データ122及び切替モジュール123を格納する。さらに、メモリ12は、後述する画像処理パイプラインの切り替え時に実行される第1拡張処理モジュール124(第1処理部の一例)及びマップ生成モジュール125(マップ生成部の一例)、並びに、画像処理パイプライン実行後に実行される第2拡張処理モジュール126(第2処理部の一例)を格納する。
【0018】
入力部14は、ユーザ操作を受け付けるユーザインターフェイスであり、一例として操作ボタンである。出力部15は、画像データを表示する機器であり、一例としてディスプレイ装置である。入力部14及び出力部15は、タッチスクリーンなどの単一のハードウェアで構成されてもよい。
【0019】
(画像処理パイプラインの概要)
図2は、画像処理装置によって実行される画像処理を説明するブロック図である。プロセッサ11は、パイプライン処理モジュール121に基づいて画像処理パイプラインP2を実行する。最初に、プロセッサ11は、メモリ12に格納されたRAW画像データをロードする(ロード処理P1)。そして、プロセッサ11は、RAW画像データに対して複数の画像処理を順次実行する(画像処理パイプラインP2)。そして、プロセッサ11は、画像処理パイプラインP2の処理結果としてYUV画像データを得る。パイプライン処理モジュール121は、プロセッサ11が上述した動作を実行するように機能させるプログラムである。プロセッサ11は、処理結果を出力部15に出力させ、又は、ストレージ13に記憶させることができる(表示/記憶処理P3)。
図2に示される例においては、プロセッサ11は、表示/記憶処理P3の前に画像処理を実行することも可能であり、詳細は後述される。
【0020】
パイプライン処理モジュール121は、画像処理パイプラインP2として、前処理P20、ホワイトバランス処理P21、デモザイク処理P22、色補正処理P23及び後処理P24の順にプロセッサ11に実行させる。
【0021】
前処理P20では、RAW画像データであるベイヤーフォーマットの画像データを対象とした画像処理が実行される。前処理P20の詳細は後述する。次に、ホワイトバランス処理P21では、前処理P20が実行された画像データに対してRGBの各色成分の強度が補正される。次に、デモザイク処理P22では、ホワイトバランス処理P21が実行された画像データに対してベイヤーフォーマットにおいて色情報が欠けている画素が補間され、RGB画像データが生成される。次に、色補正処理P23では、RGB画像データが色補正される。最後に、後処理P24では、RGBフォーマットからYUVフォーマットへの色空間変換、及び、YUVフォーマットを対象とした画像処理が施される。なお、
図2に示される画像処理パイプラインP2は、一例であり、様々な形態を取り得る。画像処理パイプラインP2は、
図2に示される例に限定されず、
図2に示される画像処理の順序の変更、画像処理の削除及び新たな画像処理の追加が可能である。
【0022】
(画像処理パイプラインの拡張)
画像処理装置1は、上述した画像処理パイプラインP2を拡張する。具体的には、画像処理装置1は、デモザイク処理P22よりも前段において、画像処理パイプラインP2の一部の画像処理に替えて画像処理を実行する(第1拡張処理P4)。さらに、画像処理装置1は、画像処理パイプラインP2によって処理された画像データを画像処理する(第2拡張処理P6)。画像処理装置1は、第2拡張処理P6の処理結果を出力部15に出力させ、又は、ストレージ13に記憶させる。
【0023】
画像処理装置1は、画像処理パイプラインの拡張機能を選択的に実行してもよいし、常に実行するように構成してもよい。以下では、画像処理パイプラインの拡張機能を選択的に実行する例が開示されるが、画像処理装置1は、拡張機能を選択的に実行するための構成を備えなくてもよい。
【0024】
画像処理装置1は、画像処理パイプラインP2における各画像処理に対し、必要に応じて処理のバイパスを選択する機能を有する。画像処理装置1は、対象画像処理をバイパスさせた後に、対象画像処理の替わりに第1拡張処理P4を実行する。対象画像処理とは、画像処理パイプラインP2に含まれる画像処理のうちバイパスされる画像処理である。第1拡張処理P4は、画像処理パイプラインP2における各画像処理とは異なる処理である。これにより、画像処理パイプラインP2に新たな画像処理のオプションが付与される。画像処理パイプラインP2及び第1拡張処理P4は、プロセッサ11によって実行される。
【0025】
具体的にどの画像処理をバイパスするかについては、組み込まれる第1拡張処理P4の内容に依存して決定される。ユーザは、第1拡張処理P4の内容に応じて画像処理パイプラインP2に含まれる1又は複数の画像処理がバイパスされるように、定義データ122を作成する。定義データ122は、メモリ12に格納される。定義データ122は、どの画像処理が対象画像処理であるかを示す定義、及び、バイパス後に実行される画像処理が第1拡張処理P4であることを示す定義を含む。ユーザは、第1拡張処理P4の性能が低下する画像処理をバイパスするように設定することで、第1拡張処理P4の機能を十分に発揮した画像データを後続の処理へ渡すことができる。
【0026】
以下では、一例として、第1拡張処理P4が複数の画像データに基づいたノイズリダクション処理である場合を説明する。複数の画像データに基づいたノイズリダクション処理は、MFNRと呼ばれ、連写された画像データの画素の平均値を算出することにより画像データに含まれるノイズを削減する。
【0027】
MFNRの実行にあっては、合成による多重ブレを防ぐために、画像間の画素値の差分に基づいて移動物体が検出される。移動物体を適切に検出するためには、画像間の画素値の差分が、物体の移動によって生じたのか、あるいは画像に含まれるノイズによって生じたのかを判別しなければならない。このためには、画像に含まれるノイズの強度を適切に推定することが重要となる。一般的に、ノイズ強度は、工場出荷時の校正データなどを用いて撮影時のISO感度から精度良く推定することができる。これらの強度は自然法則に従って変化するためである。
【0028】
ところで、画像処理パイプラインP2は、画像のノイズ強度を変化させる処理を含む場合がある。このような処理としては、例えば、SFNR又は周辺光量落ち補正処理などが挙げられる。SFNRは、1枚の画像中から低周波フィルタなどを用いてノイズを低減する。周辺光量落ち補正処理は、レンズの特性により画像周辺の光量が低減するという事象を改善するために、画像周辺領域の輝度を増幅させる。上述した自然法則を用いたノイズ強度の推定手法は、ノイズ強度を変化させる処理が施された画像データを前提としていないため、このような画像データを対象とした場合、十分な推定精度を達成することができないおそれがある。
【0029】
このため、第1拡張処理P4を実行する場合には、画像のノイズ強度を変化させる処理をバイパスするように、定義データ122が生成される。これにより、第1拡張処理P4には、前提となるノイズ特性を持った画像データが入力されることになり、より適切な画像処理が実現される。
【0030】
プロセッサ11は、切替モジュール123に基づいて画像処理パイプラインP2の対象画像処理をバイパスさせる。例えば、プロセッサ11は、所定の切替条件が満たされたか否かを判定する。所定の切替条件は、バイパスの要否を決定するための条件であり、予め定められる。所定の切替条件は、例えば、第1拡張処理P4を有効とするユーザ操作を受け付けたこととしてもよいし、時間又は環境が所定の条件を満たしたこととしてもよい。そして、プロセッサ11は、所定の切替条件が満たされた場合に、定義データ122に従って画像処理パイプラインP2の対象画像処理をバイパスする。切替モジュール123は、プロセッサ11が上述した対象画像処理をバイパスする一連の動作を実行するように機能させるプログラムである。
図2に示される例では、前処理P20の途中から第1拡張処理P4に切り替わり、第1拡張処理P4が実行される。第1拡張処理P4の処理結果は、画像処理パイプラインP2に戻され、ホワイトバランス処理P21、デモザイク処理P22、色補正処理P23、及び、後処理P24が順に実行される。
【0031】
(切替処理の詳細)
図3は、前処理の一部をバイパスする処理を説明するブロック図である。
図3に示されるように、前処理P20は、一連の画像処理群を構成しており、ベース処理P201、ABF適用処理P203、ダーク補正処理P204、及び、光量調整処理P205を含む。ベース処理P201では、入力されたRAW画像データD1であるベイヤーフォーマットの画像データに対して、基礎補正及び線形化などの画像処理が実行される。ABF適用処理P203では、ABF(Adaptive Bilateral Filter:適応的バイラテラルフィルタ)がベース処理P201の処理結果である画像データに適用され、エッジ強度が調整される。ダーク補正処理P204では、ABF適用処理P203の処理結果である画像データに対して、予め取得された黒レベルが減算されて、ノイズが除去される。光量調整処理P205では、ダーク補正処理P204の処理結果である画像データが、画像周辺領域の輝度が増幅するように補正される。光量調整処理P205が完了した場合、前処理P20の処理結果として、単一の処理済みRAW画像データD2が生成される。処理済みRAW画像データD2は、1つのRAW画像データD1に対して1つ生成される。
【0032】
第1拡張処理P4がノイズリダクション処理であるため、
図3に示される例においては、ベース処理P201とABF適用処理P203との間に、定義データ122に基づいて切替処理P202が組み込まれる。切替処理P202では、所定の切替条件が満たされた場合に、プロセッサ11によって定義データ122に基づいて画像処理パイプラインP2が切り替えられる。これにより、単一の処理済みRAW画像データD2の替わりに、中間画像データD3が生成される。中間画像データD3は、対象画像処理の直前の画像処理の結果であり、1つのRAW画像データD1に対して1つ生成される。中間画像データD3は、第1拡張処理P4の処理対象となる。プロセッサ11は、例えば、N個の連写されたRAW画像データD1を順次読み込み、それぞれ前処理P20を実行し、対応する中間画像データD3をN個生成する。プロセッサ11は、中間画像データD3を生成する度にメモリ12に格納してもよい。
【0033】
プロセッサ11は、第1拡張処理モジュール124に基づいて第1拡張処理P4を実行する。第1拡張処理P4は、画像処理パイプラインP2における各画像処理とは異なる処理である。これにより、画像処理パイプラインP2に新たな画像処理のオプションが付与される。プロセッサ11は、メモリ12を参照し、N個の中間画像データに基づいて単一の合成RAW画像データを生成する。
【0034】
定義データ122は、第1拡張処理P4によって生成される単一の合成RAW画像データの出力先を含んでもよい。
図2に示される例では、定義データ122は、出力先としてホワイトバランス処理P21を記憶する。第1拡張処理モジュール124は、生成された単一の合成RAW画像データが定義データ122によって定義された出力先に出力されるように、プロセッサ11を動作させる。これにより、第1拡張処理P4の処理結果は、ホワイトバランス処理P21に引き継がれ、画像処理パイプラインP2が実行される。このように、単一の合成RAW画像データから、単一のYUVフォーマットの合成画像データ(合成YUV画像データ)が得られる。
【0035】
プロセッサ11は、画像処理パイプラインP2によって処理された合成画像データを、出力部15に出力させ、又は、ストレージ13に記憶させる(表示/記憶処理P3)。ここで、画像処理パイプラインP2の実行後において、出力切替処理P25が実行されてもよい。出力切替処理P25では、プロセッサ11が表示/記憶処理P3又は画像処理パイプラインP2の何れかを画像処理パイプラインP2の出力先として決定する。プロセッサ11は、定義データ122に基づいて出力先を決定する。定義データ122は、画像処理パイプラインP2によって生成される画像データの出力先を含む。
図2に示される例では、定義データ122は、出力先として第2拡張処理P6及び表示/記憶処理P3を記憶する。例えば、プロセッサ11は、所定の出力切替条件が満たされたか否かを判定する。所定の出力切替条件は、画像処理パイプラインP2の出力先を第2拡張処理P6に決定するための条件であり、予め定められる。所定の出力切替条件は、例えば、第1拡張処理P4又は第2拡張処理P6を有効とするユーザ操作を受け付けたこととしてもよいし、時間又は環境が所定の条件を満たしたこととしてもよい。そして、プロセッサ11は、所定の出力切替条件が満たされた場合に、定義データ122に従って画像処理パイプラインP2の出力先を第2拡張処理P6に決定する。プロセッサ11は、所定の出力切替条件が満たされない場合には、定義データ122に従って画像処理パイプラインP2の出力先を表示/記憶処理P3に決定する。切替モジュール123は、プロセッサ11が上述した動作を実行するように機能させるプログラムである。
【0036】
画像処理パイプラインP2の出力先が第2拡張処理P6に決定された場合、プロセッサ11は、第2拡張処理モジュール126に基づいて第2拡張処理P6を実行する。プロセッサ11は、画像処理パイプラインP2から出力された合成YUV画像データに対して画像処理を実行する。このように、画像処理パイプラインP2、第1拡張処理P4、マップ生成処理P5、出力切替処理P25及び第2拡張処理P6を含む処理P7は、プロセッサ11によって実行される。
【0037】
(第1拡張処理の詳細)
第1拡張処理モジュール124によって定義されるプロセッサ11の動作は、例えば以下のとおりである。
【0038】
(1)N個の中間画像データD3を取得
上述のとおり、中間画像データD3は、1つのRAW画像データD1に対して1つ生成される。このため、プロセッサ11は、画像センサ10から出力されたRAW画像データD1を画像処理パイプラインP2へ入力し、中間画像データD3を生成し、メモリ12に記憶するまでの処理をN回繰り返す(Nは3以上の整数である)。これにより、N個の中間画像データD3がメモリ12に記憶される。プロセッサ11は、メモリ12を参照し、N個の中間画像データD3を取得する。
【0039】
(2)合成の前処理
プロセッサ11は、複数のRAW画像データの中から基準画像データを選択する。基準画像データは、位置合わせや色補正などの処理の基準となるRAW画像データである。基準画像データは、例えば、第1拡張処理P4において複数のRAW画像データの中で最初に読み込まれた画像データである。プロセッサ11は、複数のRAW画像データのうちメモリ12に最初に記憶された画像データを最初に読み込むことで、時系列で最も早いRAW画像データを基準画像データとすることができる。第1拡張処理P4において、基準画像データよりも後に読み込まれるN-1個のRAW画像データが複数の参照画像データとなる。複数の参照画像データそれぞれは、基準画像データと合成される。
【0040】
プロセッサ11は、基準画像データと複数の参照画像データそれぞれとの対応画素を検出する。対応画素とは、基準画像データと1個の参照画像データとの間で対応している画素(同一の被写体を描画する画素)である。プロセッサ11は、基準画像データと1個の参照画像データとの間で、画像全体の動きを示すグローバル動きベクトル(GMV)を算出する。次に、プロセッサ11は、GMVに基づいて基準画像データと1個の参照画像データとの位置合わせを行う。そして、プロセッサ11は、各画素位置において基準画像データと参照画像データとの画素値の差分を算出する。プロセッサ11は、画素値の差分が0又は所定値以下となった画素を対応画素とし、画素位置と対応づけたゴーストマップ情報としてメモリ12に記憶する。つまり、ゴーストマップ情報は、対応画素の有無に関する情報と画素位置とが関連付けられた情報となる。プロセッサ11は、参照画像データごとに上記処理を実行し、参照画像データごとのゴーストマップ情報を生成する。
【0041】
図4の(A)~(J)は、第1拡張処理を説明する概要図である。
図4の(A)~(D)は、時系列で撮像されたRAW画像データの一例であり、被写体は走行する車両である。
図4の(A)が基準画像データの一例、
図4の(B)~
図4の(D)が参照画像データの一例である。
図4の(E)は、
図4の(B)に示される参照画像データに対応するゴーストマップ情報の一例である。図中の黒で示す領域(画素)は、基準画像データとの対応画素が有りと判断された領域(画素)である。図中の白で示す領域(画素)は、基準画像データとの対応画素が無しと判断された領域(画素)である。同様に、
図4の(F)は、
図4の(C)に示される参照画像データ対応するゴーストマップ情報の一例であり、
図4の(G)は、
図4の(D)に示される参照画像データ対応するゴーストマップ情報の一例である。このように、参照画像データごとにゴーストマップ情報が生成される。
【0042】
(3)合成処理
プロセッサ11は、基準画像データと各参照画像データとを合成する。プロセッサ11は、基準画像データの各画素と1個の参照画像データの各画素とを合成する。プロセッサ11は、当該参照画像データとの間で生成されたゴーストマップ情報を参照し、画素位置ごとに合成時の重みを決定する。プロセッサ11は、合成対象の画素位置に対応画素がないことを示す情報が関連付けられている場合、合成対象の画素位置に対応画素があることを示す情報が関連付けられている場合よりも合成時の重みを小さくする。例えば、プロセッサ11は、合成対象の画素位置に対応画素があることを示す情報が関連付けられている場合には合成の重みを1に設定し、合成対象の画素位置に対応画素がないことを示す情報が関連付けられている場合には合成の重みを0に設定してもよい。これにより、基準画像データの各画素と1個の参照画像データの各画素との合成において、対応画素の画素値が反映される。例えば、
図4の(A)に示される基準画像データの各画素の画素値に対して、
図4の(B)に示される参照画像データの画素の画素値が、
図4の(E)に示されるゴーストマップ情報に応じた重み付けで合成される。プロセッサ11は、上述した処理を各参照画像データについて実行することで、基準画像データと各参照画像データとを合成する。これにより、基準画像データの対応画素の画素値と複数の参照画像データそれぞれの対応画素の画素値とが平均化され、ノイズが低減された合成RAW画像データが生成される。
図4の(J)は、合成RAW画像データの一例であり、
図4の(A)に示される基準画像データの各画素の画素値に、
図4の(B)~
図4の(D)に示される参照画像データの画素の画素値が上述した手法で合成された結果である。
【0043】
なお、合成の重みの決定手法は上述した手法に限定されない。プロセッサ11は、合成の重みを決定するために、基準画像データの各画素値から各画素位置のノイズ量を推定してもよい。ノイズ量は、上述のとおり、工場出荷時の校正データなどを用いて撮影時のISO感度から推定される。これにより、画素位置と正確なノイズ量とが関連付けられたノイズ量マップ情報が生成される。プロセッサ11は、基準画像データの画素値と1個の参照画像データの画素値との差分と、当該画素位置のノイズ量とを比較して合成の重みを調整してもよい。例えば、プロセッサ11は、画素値差分の二乗とノイズ量との差分が基準値以内であれば合成の重みを変更せず、画素値差分の二乗とノイズ量との差分が基準値以内でなければ合成の重みを0に変更してもよい。また、プロセッサ11は、画像内のテクスチャの有無を推定し、テクスチャの有無に応じて合成手法を変更してもよい。
【0044】
(マップ生成処理)
プロセッサ11は、マップ生成モジュール125に基づいて、参照画像データごとのゴーストマップ情報を積算し、アキュームマップ情報(マップ情報の一例)を生成する(マップ生成処理P5)。アキュームマップ情報は、合成RAW画像データの画素位置と、複数のRAW画像データのうち少なくとも1つのRAW画像データから導出される情報とが関連付けられた情報である。導出される情報の一例は、対応画素の有無に関する情報である。
図4の(H)は、アキュームマップ情報の一例である。
図4の(H)は、
図4の(E)~
図4の(G)に示されるゴーストマップ情報を積算することによって得られる。生成されたアキュームマップ情報は、メモリ12に記憶される。アキュームマップ情報は、後述する第2拡張処理P6で利用される。
【0045】
(第2拡張処理の詳細)
第2拡張処理P6は、第1拡張処理P4及び画像処理パイプラインP2に含まれる画像処理とは異なる画像処理である。第2拡張処理P6の一例は、第1拡張処理P4とは異なるノイズリダクション処理である。第2拡張処理P6は、画像処理パイプラインP2の処理結果を処理対象とする。つまり、第2拡張処理P6は、単一のYUV形式の合成画像データを処理対象としたノイズリダクション処理(SFNR)である。プロセッサ11は、低周波フィルタなどの平滑化フィルタを用いて合成画像データのノイズを低減する。ここで、プロセッサ11は、マップ生成処理P5において生成されたアキュームマップ情報をメモリ12から取得し、平滑化フィルタを適用する画素位置を決定する。
【0046】
プロセッサ11は、アキュームマップ情報に基づいて、対応画素が無いことを示す情報が関連付けられた合成画像データの画素位置の画素値に対して平滑化フィルタを適用する。これにより、第1拡張処理P4において合成の重みが小さくされた画素(つまり、第1拡張処理P4においてノイズリダクション処理が十分になされなかった画素)のノイズが除去される。このように、YUV画像データのノイズリダクション処理の際に、複数のRAW画像データに基づいて生成された正確な対応画素の情報が利用されるため、平滑化フィルタを適用する画素位置が正確に決定される。
【0047】
(画像処理方法)
図5は、画像処理方法のフローチャートである。
図5に示されるフローチャートは、例えば1つのRAW画像データD1をメモリ12から読み込んだタイミングで開始される。
図5に示されるように、プロセッサ11は、第1拡張処理(ステップS10:第1処理ステップの一例)としてMFNRを実行する。第1拡張処理(ステップS10)では、複数のRAW画像データに基づいて、ノイズが低減された合成RAW画像データが生成される。続いて、プロセッサ11は、マップ生成処理(ステップS12:マップ生成ステップの一例)として、アキュームマップ情報を生成する。続いて、プロセッサ11は、デモザイク処理(ステップS14:デモザイクステップの一例)として、第1拡張処理(ステップS10)で生成された合成RAW画像データの画像フォーマットを変換する。プロセッサ11は、合成RAW画像データをRGB画像データ又はYUV画像データへ変換する。プロセッサ11は、第2拡張処理(ステップS16:第2処理ステップの一例)として、デモザイク処理(ステップS14)において得られたRGB画像データ又はYUV画像データに対してSFNRを実行する。このとき、プロセッサ11は、マップ生成処理(ステップS12)で生成されたアキュームマップ情報を参照し、MFNRが十分になされなかった画素位置の画素に対して、平滑化フィルタを適用する。以上で
図5に示される画像処理方法が終了する。
【0048】
(実施形態のまとめ)
RGB画像データ又はYUV画像データに施される画像処理は、フィルタ処理や補正処理などの、画素値を意図的に加工するものであるため、自然法則に従った情報が維持されない場合がある。このため、複数のRGB画像データ又はYUV画像データを対象としてMFNRが実行される場合、ノイズ量の正しい見積もりができない場合があり、ゴーストマップ情報の過大/過少評価が発生する。例えば、ノイズ量が想定より多かった場合には、その部分の画素は対応画素が本来あるにも関わらず対応画素がないと判定してしまい、ノイズリダクション処理の効果を著しく低下させるおそれがある。これに対して、複数のRAW画像データを対象としてMFNRが実行される場合、自然法則で説明可能なセンサーデータの統計量が利用できる。ノイズ量は画素値に従うことが知られており、精度良くゴーストマップ情報を推定することが可能となる。したがって、MFNRは、複数のRGB画像データ又はYUV画像データを対象とするよりも、複数のRAW画像データを対象とする方が高い性能を発揮することが可能となる。
【0049】
そして、RAW画像データを対象としてSFNRが実行される場合、RAW画像データの状態ではノイズが適正に低減できていたとしても、その後多くの処理が入るために、出力結果ではノイズ量が不均一になる現象が発生することがある。その結果、出力画像の質は低下するおそれがある。これに対して、RGB画像データ又はYUV画像データを対象としてSFNRが実行される場合、SFNRと出力処理とが近いためにこのような事象は発生しづらくなる。したがって、SFNRは、RAW画像データを対象とするよりも、RGB画像データ又はYUV画像データを対象とする方が高い性能を発揮することが可能となる。
【0050】
画像処理装置1では、デモザイク処理P22の実行前において、複数のRAW画像データを用いてMFNRが実行される。デモザイク処理P22の実行前のRAW画像データは、自然法則に従った情報を維持している。画像処理装置1は、自然法則を利用してノイズ量を予測し、推定されたノイズ量に基づいて対応画素の合成の重みを調整することで、ノイズ量を適切に除去する。対応画素が無い画素位置の画素は、ノイズ量が低減されずに次の処理へと渡される。また、複数のRAW画像データそれぞれのゴーストマップ情報が積算されたアキュームマップ情報が生成される。アキュームマップ情報は、RAW画像データ、つまり人為的な加工がなされていない画素値に基づいて生成されるため、RGB画像データ又はYUV画像データに基づいてアキュームマップが生成される場合と比べて、対応画素の情報をより正確に表している。
【0051】
そして、画像処理装置1は、デモザイク処理P22の実行後において、アキュームマップ情報に基づいて対応画素が無い画素位置を特定し、特定した画素位置にSFNRを実行する。これにより、MFNRによってノイズ量が低減されなかった画素のノイズ量が除去される。このように、画像処理装置1は、RAW画像データから作成された情報を用いてRGB画像データ又はYUV画像データを処理することにより、RAW画像データへ行う画像処理の利点、及びフルカラー画像データへ行う画像処理の利点を組み合わせて、画像品質を向上させることができる。
【0052】
(変形例)
以上、本開示の実施形態について説明したが、本開示は、上述した実施形態に限定されるものではない。例えば、上述した実施形態においては、第1拡張処理P4がノイズリダクション処理である場合を例示したが、第1拡張処理P4は任意の処理とすることができる。例えば、第1拡張処理P4は、ノイズ除去を目的としない画像合成(HDR合成:High-Dynamic-Range rendering)などであってもよい。また、
図5に示されるマップ生成処理は、第2拡張処理の実行前までに実施されればよく、デモザイク処理の後に実施されてもよい。
【0053】
上述した実施形態に係る画像処理装置1の動作は、コンピュータを機能させる画像処理プログラムによって実現されてもよい。また、上述した実施形態において、画像処理装置1は、画像センサ10、ストレージ13、入力部14及び出力部15を備えなくてもよい。
【0054】
上述した実施形態においては、マップ情報がアキュームマップ情報である例が示されたが、マップ情報はアキュームマップ情報に限定されない。マップ情報は、例えば、第1拡張処理P4において合成の重みを決定するために生成された、画素位置とノイズ量とが関連付けられたノイズ量マップ情報であってもよい。あるいは、ノイズ除去を目的としない画像合成処理において合成の重みを決定するために生成された、画素位置とノイズ量とが関連付けられたノイズ量マップ情報であってもよい。ノイズ量は、工場出荷時の校正データなどを用いて撮影時のISO感度から推定する手法に限定されず、画像データの画素から選択された注目画素と、当該注目画素の周辺に位置する周辺画素との間の画素値のばらつきを示す統計量に基づいて推定されてもよい。このような画素値のばらつきを示す統計量としては、例えば、分散が知られている。
【0055】
マップ情報がノイズ量マップ情報である場合、第2拡張処理P6においては、ノイズ量が第1閾値以上であると推定される画素位置では平滑化フィルタの強度を上げ、ノイズ量が第2閾値未満であると推定される画素位置では平滑化フィルタの強度を下げる、というSFNRを実行すればよい。第2閾値は、第1閾値以下の値である。これにより、プロセッサ11は、合成RAW画像データの画素位置の画素値に対して、ノイズ量に応じた平滑化強度で平滑化フィルタを適用する画像処理を実行できる。このような変形例であっても、画像処理装置1は、RAW画像データから作成された情報を用いてRGB画像データ又はYUV画像データを処理することにより、RAW画像データへ行う画像処理の利点、及びフルカラー画像データへ行う画像処理の利点を組み合わせて、画像品質を向上させることができる。
【符号の説明】
【0056】
1…画像処理装置、10…画像センサ、11…プロセッサ、12…メモリ、121…パイプライン処理モジュール、123…切替モジュール、124…第1拡張処理モジュール(第1処理部の一例)、125…マップ生成モジュール(マップ生成部の一例)、126…第2拡張処理モジュール(第2処理部の一例)、D1…RAW画像データ、D3…中間画像データ。