以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
[実施形態1]以下、本発明の画像処理装置を、例えば、デジタルカメラ等の撮像装置に適用した実施形態について説明する。
<装置構成>図1を参照して、本発明に係る実施形態の撮像装置の構成及び機能の概略について説明する。
本実施形態の撮像装置100は、画像を所望の質感に調整するためのカラーグレーディングを行う際に作成されたカラーグレーディングパラメータ(CDL)を、処理対象の画像の撮影時の環境情報と関連付けて記録する機能を有する。
図1において、撮影レンズ101はズームレンズ、フォーカスレンズを含むレンズ群である。シャッター102は絞り機能を備えるシャッターである。撮像部103は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器104は、アナログ信号をデジタル信号に変換する。A/D変換器104は、撮像部103から出力されるアナログ信号をデジタル信号に変換する。
画像処理部105は、A/D変換器104からのデータ、又は、メモリ制御部107からのデータに対し所定の画素補間、リサイズ処理、色処理やガンマ処理を行い、ベイヤーRGBデータ、ACES_RGB信号、輝度・色差信号Y、R−Y、B−Yのいずれかを出力する(詳細は後述する)。また、画像処理部105では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部150が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部105では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
A/D変換器104からの出力データは、画像処理部105及びメモリ制御部107を介して、或いは、メモリ制御部107を介して画像メモリ106に直接書き込まれる。画像メモリ106は、撮像部103によって得られA/D変換器104によりデジタルデータに変換された画像データや、表示部109に表示するための画像データを格納する。画像メモリ106は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
また、画像メモリ106は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器108は、画像メモリ106に格納されている画像表示用のデータをアナログ信号に変換して表示部109に供給する。こうして、画像メモリ106に書き込まれた表示用の画像データはD/A変換器108を介して表示部109により表示される。表示部109は、LCD等の表示器上に、D/A変換器108からのアナログ信号に応じた表示を行う。A/D変換器104によって一度A/D変換され画像メモリ106に蓄積されたデジタル信号をD/A変換器108においてアナログ変換し、表示部109に逐次転送して表示することで、電子ビューファインダとして機能し、スルー画像表示を行える。
コーデック部110は、画像メモリ106に書き込まれた画像データをMPEG等の規格に基づき圧縮符号化・復号処理を行う。
カラーグレーディング部113は、操作部120を介してユーザが設定するCDLに基づき、画像処理部105から画像メモリ106に書き込まれた画像データに対して、カラーグレーディング処理を行う。カラーグレーディング処理は、例えば、3次元のLUT処理やトーンカーブの調整により、ユーザが所望する質感になるように画像にカラーグレーディングを行う。カラーグレーディング部113から出力された画像データは、メモリ制御部107を介して画像メモリ106に書き込まれる。
記録媒体I/F112は、記録媒体111へのアクセスを制御するインターフェースである。記録媒体111は、撮影された画像データや後述する環境情報(以下、カラーグレーディング情報)を記録するための内蔵および/または外付けのメモリカードやHDD(ハードディスクドライブ)等である。
操作部120は、電源スイッチ、シャッター(録画開始)ボタン、タッチパネル等の操作部材を含み、システム制御部150に各種の動作指示を入力する。
操作部120の各操作部材は、表示部109に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部109に表示される。ユーザは、表示部109に表示されたメニュー画面と、上下左右の4方向ボタンやSETボタンとを用いて直感的に各種設定を行うことができる。
電源部122は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源部122は、その検出結果及びシステム制御部150からの制御指令に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体111を含む各部へ供給する。
電源部122は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。
不揮発性メモリ123は、電気的に消去・記録可能な、例えばEEPROM等が用いられる。不揮発性メモリ123には、システム制御部150の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは主として、後述するフローチャートを実行するためのプログラムのことである。
通信部126は、外部機器と通信するためのUSBなどのインターフェースであり、外部機器は、例えばプリンタやパーソナルコンピュータ(カラーグレーディング装置)、他の撮像装置などである。通信部126は、外部機器が接続されたことを検知でき、検知信号をシステム制御部150に通知することができる。また、接続された外部機器が何であるか、及び、接続された状態から非接続となったこと(抜かれたこと)も検知してシステム制御部150に通知することができる。外部機器が、通信部126を介してカラーグレーディング部113の制御(CDLの指示等)を行うように構成しても良い。
システム制御部150は、不揮発性メモリ123に格納されたプログラムを実行することで、後述するフローチャートの各処理を実現する。
125はシステムメモリであり、RAMが用いられる。システムメモリ125には、システム制御部150の動作用の定数、変数、不揮発性メモリ123から読み出したプログラム等を展開する。また、システム制御部150は画像メモリ106、D/A変換器108、表示部109等を制御することにより表示制御も行う。システムタイマ124は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
<画像処理部の構成>次に、図2を参照して、本実施形態の画像処理部の構成及び機能について説明する。
図2において、画像処理部105は、色信号生成部1051、WB(ホワイトバランス)増幅部1052、色補正処理部1053、ガンマ処理部1054、輝度・色差信号生成部1055、色空間変換部1056、スイッチ1057を備える。
次に、上記構成を備える画像処理部105での処理について説明する。
図1のA/D変換器104から画像処理部105に入力された画像データは、ベイヤーRGBのRAW形式をしており、ベイヤーRGB信号が色信号生成部1051に入力される。
色信号生成部1051は入力されたベイヤーRGBの画像データに対して同時化処理を行い、色信号R,G,Bを生成する。色信号生成部1051は、生成した色信号RGBをWB増幅部1052へ出力する。
WB増幅部1052は、システム制御部150が算出するホワイトバランスゲイン値に基づき、RGBの色信号にゲインをかけ、ホワイトバランスを調整する。
色補正処理部1053は、RGBの色信号に対して、3×3のマトリクス処理や3次元のLUT処理を行い、色調を補正する。
ガンマ処理部1054は、例えば、Rec.709などの規格に沿ったガンマやログ特性のガンマを掛けるなどのガンマ補正を行う。
輝度・色差信号生成部1055は、RGB信号から輝度信号Y、色差信号R−Y、B−Y信号を生成し、メモリ制御部107を介して画像メモリ106へ出力する。
一方、WB増幅部1052は、ホワイトバランス処理後の画像を色空間変換部1056へも出力する。色空間変換部1056は撮影された画像データのRGB値を所定の規格のRGB値に変換する。
本実施形態では、基準となるRGB信号として、例えば、映画芸術科学アカデミー(AMPAS)が提案しているACES(Academy Color Encode Specification)規格を用いる。すなわち、入力されたRGB信号をACES規格の色空間ACES_RGBに変換する処理を行う。このACES_RGB信号は、被写体に忠実な色再現特性を持つという特性がある。ACES_RGB信号への変換は、色再現性の補正処理として、RGB信号に対して3×3のマトリクス演算を行うことで可能である。
システム制御部150は、光源やレンズの色味など、カラーバランスが変化する要因となる情報を参照し、色再現性の補正処理のパラメータを決定する。例えば、光学情報を利用する場合、日中太陽光下や、A光源下など複数の光源毎にACES規格に基づく色再現となるパラメータを予め用意しておく。そして、システム制御部150が、光学情報に対応する色補正パラメータを選択し、色空間変換部1056に出力する。色空間変換部1056は、色補正パラメータに基づき色再現性の補正処理を行い、変換後のACES_RGB信号を出力する。
スイッチ1057は、ベイヤーRGBデータ、ACES_RGB信号、もしくは、輝度・色差信号Y、R−Y、B−Yを選択し、出力する。出力された画像データは、一旦、画像メモリ106に書き込まれた後、記録I/F112を介して、記録媒体111に記録される。
<カラーグレーディング処理>次に、図3及び図4を参照して、撮影と同時にカラーグレーディングを行い、フレーム毎にカラーグレーディング情報を記録する処理について説明する。
なお、図3の処理は、不揮発性メモリ123に格納されたプログラムをシステムメモリ125に展開してシステム制御部150が実行することにより実現する。
図3において、ユーザにより電源スイッチ121がオンされると、撮像装置100が起動し、カラーグレーディングが可能な状態となる。
ステップS301では、システム制御部150は被写体情報を取得する。ここで、被写体情報とは、例えば、被写体に照射している光源の情報や所定反射率を持つ被写体の画素値、被写体のコントラストといった撮影被写体に関連する情報であり、撮影画像の色味や階調特性に影響を及ぼす情報である。システム制御部150は、画像メモリ106に保持されている画像データを解析し、被写体情報を取得する。例えば、色温度であれば、画像処理部105で画像解析により行われる光源推定により算出された光源の色温度を取得する。
なお、図1に示されていないが、被写体情報は専用センサを用い測定することにより取得しても良い。例えば、色温度計や露出計の数値を取得しても良い。取得方法は、ユーザが色温度計や露出計の数値を、操作部120を介して撮像装置100に入力しても良いし、色温度計や露出計と通信部126によりデータ通信することにより取得しても良い。
ステップS302では、システム制御部150は光学情報を取得する。ここで、光学情報とは、例えば、レンズの機種名、レンズの色味、レンズのMTF(解像力やコントラスト)、カラーフィルタといった撮像装置100の光学系に関連する情報であり、撮影画像の色味や階調特性に影響を及ぼす情報である。
ステップS303では、システム制御部150は画像処理情報を取得する。ここで、画像処理情報とは、画像処理部105で行われる画像処理を示す情報であり、撮影画像の色味や階調特性に影響を及ぼす情報である。具体的には、例えば、以下に示す画像処理内容とそのパラメータを表す。
・WB増幅部1052によるホワイトバランス調整処理とR、G、B信号に対するゲイン値
・色補正処理部1053による色調補正処理と3x3マトリクスの係数
・ガンマ処理部1054によるガンマ補正処理とガンマカーブ特性値
・色空間変換部1056による色空間変換処理と色補正パラメータ
・画像処理部105が出力する画像データの種類。(輝度・色差、ACES_RGB、ベイヤーRGB)
ステップS304では、画像処理部105はA/D変換器104から出力される画像データに対し、システム制御部150から出力される画像処理のパラメータに基づき、各種画像処理を行う。
ステップS305では、システム制御部150は、操作部120または通信部126を介してユーザや外部機器から設定されるCDLを取得する。CDLとは、例えば、カラーグレーディング部113で行う3次元のLUT処理の係数やトーンカーブの特性を表すパラメータを含む。
ステップS306では、カラーグレーディング部113は、S305で設定されたCDLに基づき、画像処理部105が出力し画像メモリ106に保持されている画像データに対しカラーグレーディングを行う。画像処理部105が出力し画像メモリ106に保持されている画像データとは、ベイヤーRGBデータ、ACES_RGB信号、もしくは、輝度・色差信号Y、R−Y、B−Yの中からスイッチ1057が選択した画像データである。このようにカラーグレーディングを行った画像データを表示部109に表示する。ユーザは、表示部109に表示されているカラーグレーディング済みの画像を確認しながら、所望の質感に近づくようにCDLを設定し直すことができる。
ステップS307では、システム制御部150は図4に示すようなカラーグレーディング情報400を記録媒体111に記録する。カラーグレーディング情報400は、図4に示すようなメタ情報であり、CDL401、被写体情報402、光学情報403、画像処理情報404の少なくともいずれかが関連付けられた情報を含む。これら情報は、システム制御部150がステップS301、S302、S303、S305で取得した情報である。ここでパラメータとは、画像データに施すことで画像データの色及び階調調整を行うマトリクス等の変数である。
ステップS308では、ステップS301〜S307までの処理を動画のフレーム毎に撮影終了まで繰り返す。
これにより、フレーム枚数分のカラーグレーディング情報が記録媒体111に記録される。
なお、前述のように動画のフレーム毎にカラーグレーディング情報を記録媒体111に記録すると、大量の情報を記録することになり、その後のカラーグレーディング情報の取り扱いが煩雑になると考えられる。そのため、有用なカラーグレーディング情報のみを最終的に記録する構成が望ましい。そこで、以下に有用なカラーグレーディング情報を記録する処理について説明する。
なお、本例では撮影と同時にカラーグレーディングを行い、フレーム毎にカラーグレーディング情報を記録する処理について説明した。これに対して、画像の再生時等のように撮影後のカラーグレーディングにおいて設定されたCDLを被写体情報や光学情報、画像処理情報等と関連付けて記録しても良い。
図5は、動画のフレーム毎に記録したカラーグレーディング情報を元に、新たに有用なカラーグレーディング情報を生成し記録する処理を示している。なお、図5の処理は、不揮発性メモリ123に格納されたプログラムをシステムメモリ125に展開してシステム制御部150が実行することにより実現する。
図5において、ステップS501では、システム制御部150は、記録媒体111に記録されているフレーム毎のカラーグレーディング情報を取得する。このカラーグレーディング情報は、図3の処理によって記録媒体111に記録されている。
ステップS502では、システム制御部150はフレーム毎のカラーグレーディング情報を元に、有用なカラーグレーディング情報を抽出、加工し、新たなカラーカラーグレーディング情報を生成する。この新規カラーグレーディング情報の生成について、図6を参照して説明する。
図6は、ある1カットにおける、フレーム毎のカラーグレーディング情報(色温度及びCDL)の時間的な変化を示している。図6の例では、被写体の色温度は、時間的に変化している。また、期間T0〜T1の間は常にパラメータAが、期間T1〜T2の間は常にパラメータBが、カラーグレーディング情報に記述されている。
新規のカラーグレーディング情報は、上記CDL毎に生成される。これは、後処理として、カラーグレーディング情報を用いて、所望の質感に迅速に近づけるために、CDLが最も重要な要素となるからである。図6の例では、2つのCDLが存在し、時間T0とCDLが変化した時間T1のCDLに対して、それぞれカラーグレーディング情報が新規に生成される。
なお、カラーグレーディングを行い、所望の質感に近づけるためには試行錯誤を繰り返すため、ある程度の時間を要すると考えられる。試行錯誤中のCDLは最終的に決定されたパラメータではないため有用ではない。そのため、最終的に決定されたCDLをカラーグレーディング情報として新規に生成することが望まれる。これを実現するために、所定の期間以上CDLが変化しない場合にのみカラーグレーディング情報を新規に生成するようにしても良い。
次に、上述したように新規生成されるカラーグレーディング情報に記述される、被写体情報、光学情報、画像処理情報について、被写体情報の色温度を例に説明する。
図6において、システム制御部150は、CDLが変化しない期間T0〜T1、T1〜T2におけるフレーム毎の色温度の平均値、最大値、最小値をそれぞれ算出する。そして、カラーグレーディング情報Aには、色温度情報として、平均値(AVG_A)、最大値(MAX_A)、最小値(MIN_A)が記述される。また、カラーグレーディング情報Bには、色温度情報として、平均値(AVG_B)、最大値(MAX_B)、最小値(MIN_B)が記述される。
図5に戻り、ステップS503では、システム制御部150は、ステップS502で新規に生成されたカラーグレーディング情報を記録I/F112を介して記録媒体111に記録する。
なお、新規のカラーグレーディング情報を記録した場合は、フレーム毎のカラーグレーディング情報は削除しても良い。
このように記録されたカラーグレーディング情報は、以後、カラーグレーディングを行う際に、所望の質感に近づけるためのベースとして用いられる。つまり、ユーザは、例えば、暖色系や寒色系といった複数の質感を再現するカラーグレーディング情報を予め作成しておく。そして、カラーグレーディングを行う際に、予め作成したカラーグレーディング情報を用いることにより迅速に所望の質感に近づけることが可能となる。
しかしながら、予め作成されたカラーグレーディング情報を用いて、カラーグレーディングを行ったとしても、そのカラーグレーディング情報から想定される質感にならない場合もある。例えば、同じ寒色系の質感にするとしても、光源の色温度が低い暖色系のシーンを所望の寒色系の質感にするのと、光源の色温度がそもそも高い寒色系のシーンを所望の寒色系の質感にするのとでは、色補正処理における補正量が異なるためである。つまり、カラーグレーディングを行う処理対象の画像に適したカラーグレーディング情報を選択する必要がある。
次に、図7を参照して、撮像装置100が予め作成されたカラーグレーディング情報を取得し、カラーグレーディングを行う例について説明する。
ユーザが操作部120を介して撮像装置100に対して作成済みのカラーグレーディング情報を取得するように指示を行うと(S701)、図7の処理が開始される。
ステップS702では、システム制御部150は、指示を受けた作成済カラーグレーディング情報を通信部126を介して取得する。
ステップS703では、システム制御部150は、作成済カラーグレーディング情報を表示部109に表示する。ここで、ユーザは、表示された作成済カラーグレーディング情報を確認し、これからカラーグレーディングを行う画像には不適切であると判断した場合は、再度ステップS701で、別の作成済カラーグレーディング情報を取得する指示を行っても良い。
ステップS704では、システム制御部150は、図3の処理を用いて現在の処理対象の画像撮影時の被写体情報、光学情報及び画像処理情報を取得する。
ステップS705では、システム制御部150は、ステップS703で取得したカラーグレーディング情報に記述されている被写体情報、光学情報、画像処理情報と、ステップS704で取得した被写体情報、光学情報、画像処理情報との差異を検出する。これらの情報に差異がある場合は、作成済カラーグレーディング情報に記述されているCDLでカラーグレーディングを行ったとしても、所望の質感にはならない可能性があるためである。
ステップS705で差異が検出された場合は、ステップS706に進み、システム制御部150は、表示部109に図8に示すような警告表示を行う。図8の例では、ステップS704で取得した被写体情報に記述されている色温度は3000Kであるのに対し、作成済カラーグレーディング情報に記述されている色温度は5500Kであり、差異があることをユーザに報知するための表示である。ユーザは、この警告表示を確認し、このままカラーグレーディングを続行するか、それとも中止するかを選択する。
ステップS707では、システム制御部150は、ユーザによるカラーグレーディングの続行もしくは中止の指示を、操作部120を介して入力する。ユーザによる指示が、「続行」であれば、ステップS708において、カラーグレーディング部113が、作成済カラーグレーディング情報に記述されているCDLに基づいてカラーグレーディングを行う。ユーザによる指示が、「中止」であれば、カラーグレーディングを行わずに終了する。
なお、ステップS705で差異が検出されない場合は、警告表示をすることなく、ステップS708において、カラーグレーディング部113が、作成済カラーグレーディング情報に記述されているCDLに基づいてカラーグレーディングを行う。
ステップS709では、ステップS704〜S708までの処理をカラーグレーディングが終了するまで繰り返す。
なお、ステップS705での処理において、被写体情報、光学情報、画像処理情報の差異が所定以上でなければ差異として検出しなくても良い。
ここで、ステップS705での差異検出方法について、色温度を例として説明する。作成済カラーグレーディング情報に、色温度の最大値及び最小値が記述されている場合には、撮影中の画像の被写体情報の色温度が最大値から最小値の範囲内にある場合は、差異として検出しない。これにより、カラーグレーディングが行われた画像の質感に影響する大きな差異のみを検出し、警告表示を行うことが可能となる。
[実施形態2]次に、実施形態2について説明する。
本実施形態では、撮像装置200とカラーグレーディング装置300とが通信可能に接続されており、撮像装置200は画像の撮影と同時に画像データとその環境情報を記録する。カラーグレーディング装置300は、撮像装置200から撮影された画像データと撮影時の環境情報を取得し、カラーグレーディングを行い、CDLと撮影時の環境情報とを関連付けて記録する。
以下、図9を参照して、本実施形態の撮像装置200及びカラーグレーディング装置300の構成について説明するが、実施形態1の図1と同様の構成については同一の符号を付して説明は省略する。
まず、撮像装置200の構成について説明する。
図9において、記録媒体201は、メモリカードやハードディスク等であり、画像データ及び撮影時の環境情報を記録する。通信部202は、カラーグレーディング装置300と通信を行うインターフェース部である。外部出力I/F203は、画像データ及び撮影時の環境情報をカラーグレーディング装置300に出力するインターフェース部である。その他の構成については図1と同様である。
次に、図10を参照して、カラーグレーディング装置300の構成及び機能について説明する。
カラーグレーディング装置300は、通信部202を介して記録媒体201に記録された画像データ及び撮影時の環境情報を取得し、カラーグレーディングを行う。そして、カラーグレーディング装置300は、CDLに被写体情報、光学情報及び画像処理情報を関連付けてカラーグレーディング情報として記録する。
図10において、カラーグレーディング装置300は、撮像装置200と外部モニタ450が接続されている。
外部モニタI/F305は外部モニタ450への出力を制御するインターフェース部である。通信部326は撮像装置200と通信を行うインターフェース部である。外部入力I/F327は撮像装置200から画像データ及び撮影時の環境情報を取得するインターフェース部である。その他の構成については、図1の同一の名称を有するブロックと同様であるため、説明を省略する。
次に、上記構成のカラーグレーディング装置300における基本的な動作について説明する。ここでは、外部入力I/F327を介して撮像装置200から入力された画像データに対してカラーグレーディングを行う例を説明する。
システム制御部350は、外部入力I/F327を介して撮像装置200から入力された画像データを画像メモリ303に記憶する。
システム制御部350は、操作部320を介したユーザ操作によってCDLを取得し、カラーグレーディング部113に出力する。カラーグレーディング部113は、設定されたCDLに従ってカラーグレーディングを行い、カラーグレーディングを行った画像データを画像メモリ303に記憶する。また、システム制御部350は、カラーグレーディング済みの画像データを画像メモリ303から読み出し、外部モニタI/F305を介して外部モニタ450へ出力する。
ここで、図11を参照して、撮像装置200が、撮影と同時に画像データ及び撮影時の環境情報を記録する処理について説明する。
なお、図11の処理は、不揮発性メモリ123に格納されたプログラムをシステムメモリ125に展開してシステム制御部150が実行することにより実現する。
図11において、ユーザが操作部120を介して電源スイッチ121をオンすると、撮像装置200が起動され、撮影が可能な状態となる。
なお、ステップS301〜S304の処理は、実施形態1の図3の処理と同様であるため説明を省略する。
ステップS1101では、システム制御部150は、画像処理部105から出力された画像処理後の画像データを記録I/F112を介して記録媒体201に記録する。
ステップS1102では、システム制御部150は、ステップS301〜S303で取得した被写体情報、光学情報及び画像処理情報を記録I/F112を介して記録媒体201に記録する。被写体情報、光学情報及び画像処理情報は、ステップS1101にて記録された画像データと関連付けて記録される。
ステップS1103では、ステップS301〜ステップS304及びステップS1101〜ステップS1102までの処理を画像のフレーム毎に撮影終了まで繰り返す。
次に、図12を参照して、カラーグレーディング装置300が、撮像装置200から画像データ及び撮影時の環境情報を取得し、カラーグレーディングを行い、カラーグレーディング情報を記録する処理について説明する。
なお、図12の処理は、不揮発性メモリ323に格納されたプログラムをシステムメモリ325に展開してシステム制御部350が実行することにより実現する。
図12において、ユーザが操作部320を介して電源スイッチ321をオンすると、カラーグレーディング装置300が起動され、カラーグレーディングが可能な状態となる。
ステップS1201〜S1203では、システム制御部350は外部入力I/F327を介して撮像装置200の記録媒体201に記録されている被写体情報、光学情報及び画像処理情報を取得する。
ステップS1204では、システム制御部350は外部入力I/F327を介して撮像装置200の記録媒体201に記録されている画像データを取得する。
ステップS1205では、システム制御部350は操作部320を介したユーザ操作に応じて、カラーグレーディングの処理対象のフレームの画像データを選択する。
ステップS1206では、システム制御部350は、操作部320を介したユーザ操作に応じてCDLを取得する。CDLとは、例えば、カラーグレーディング部113で行う3次元のLUT処理の係数やトーンカーブの特性を表すパラメータである。
ステップS1207では、カラーグレーディング部113がCDLに基づいて、ステップS1204で取得した画像データに対してカラーグレーディングを行い、システム制御部350は、カラーグレーディングを行った画像を外部モニタ450に表示する。ユーザは、外部モニタ450に表示されているカラーグレーディング処理済みの画像を確認しながら、所望の質感に近づくようにCDLを設定し直すことができる。所望の質感になった場合は、ステップS1208において、システム制御部350は、操作部320を介したユーザ操作に応じて、カラーグレーディングパラメータの決定指示を取得する。
ステップS1209では、システム制御部350は、カラーグレーディング情報を記録媒体304に記録する。カラーグレーディング情報とは、図4に示すようなメタ情報であり、ステップS1208で決定されたCDL、被写体情報、光学情報、画像処理情報が関連付けられた情報である。これらの情報は、システム制御部350がステップS1201〜S1203、S1206で取得した情報である。
なお、ステップS1208において、カラーグレーディングを行った画像が所望の質感にならず、CDLが決定されない場合は、ステップS1206及びS1207の処理を繰り返し行う。
なお、本実施形態では、カラーグレーディング装置300は、撮像装置200の外部出力I/F203を介して画像データや環境情報を取得する構成であったが、撮像装置200の記録媒体201を介して取得しても良い。例えば、撮像装置200の記録媒体201がメモリカードであった場合、撮像装置200からメモリカードを取り外し、カラーグレーディング装置300に記録媒体304として装着する。これにより、カラーグレーディング装置300のシステム制御部350は、画像データ及び環境情報を記録I/F302を介して取得することができる。
なお、本実施形態では、カラーグレーディング処理として、ゲインやガンマ等の算出方法が規定されているCDLを前提に説明を行ったが、算出方法が規定されていないカラーグレーディングであっても本発明は適用可能である。カラーグレーディング処理が規定されていない場合は、カラーグレーディング情報として、カラーグレーディング処理方法についても記録される。具体的には、ゲインやガンマ等の算出方法が挙げられる。
また、本実施形態では、画像全体に一様のカラーグレーディングを行う方法について説明したが、例えば、空の領域のみに対してカラーグレーディングを行うような領域毎のカラーグレーディングを行っても良い。領域毎にカラーグレーディングを行う場合は、領域毎のCDLに対して環境情報を関連付けて記録する。被写体情報として、例えば、「空」といったような被写体の種類も記録しても良い。
また、本実施形態では、カラーグレーディング情報として、CDL、被写体情報、光学情報及び画像処理情報を1ファイルとして関連付けて記録した。これに対して、例えば、それぞれ別ファイルとして記録し、複数のファイルを管理する管理ファイルを作成することにより関連付けを行っても良い。
[実施形態3]次に、実施形態3について説明する。
本実施形態は、上述した実施形態1の撮像装置100や実施形態2のカラーグレーディング装置300によって作成、記録されたCDLを補正する処理を行う。
よって、本実施形態の装置構成は、実施形態1の撮像装置100であっても、実施形態2の撮像装置200とカラーグレーディング装置300とが通信可能に接続された構成であっても良い。
まず、図13を参照して、本実施形態の画像処理部105の構成及び機能について説明するが、実施形態1の図1と同様の構成については同一の符号を付して説明は省略する。
図13において、本実施形態の画像処理部105が実施形態1の図2の構成と異なる点は、スイッチ1057を有さず、色空間変換部1056の後段に、第2の色補正部1058、第2のガンマ処理部1059を備える点である。その他の色信号生成部1051、WB増幅部1052、色補正処理部1053、ガンマ処理部1054、輝度・色差信号生成部1055は実施形態1の図2で説明した通りである。
色空間変換部1056は、上述した映画芸術科学アカデミー(AMPAS)が提案しているACES規格の色空間へ変換し、変換後のACES_RGB信号を第2の色補正部1058へ出力する。ACES色空間への変換はRGB信号に対して、3×3のマトリクス演算を行うことで可能である。この3×3のマトリクスをM1と表す。ただし、ACES色空間は浮動小数点で表現されるため、ここでは、例えば値を1000倍するなどして、整数値で処理する。
色空間変換部1056は変換後のACES_RGB信号を第2の色補正部1058へ出力する。第2の色補正部1058は、ACES_RGB信号に対して、3×3のマトリクス処理を行う。ここでは、第2の色補正部1058でかける3×3のマトリクスをM2と表す。このマトリクスM2は、カラーグレーディングの処理内容によって決定される。例えば、ユーザが手動で設定したり、カラーグレーディング情報に記述されたマトリクスを実現する。第2のガンマ処理部1059は、設定されたガンマパラメータγ1に従ってRGB信号に対してガンマ処理を施し、ガンマ処理後の画像信号を外部モニタI/F305を介して外部モニタ450へ出力する。このガンマ処理の特性についても、ユーザ操作やカラーグレーディング情報によって決定される。
<CDLの補正処理>次に、図14を参照して、図10のカラーグレーディング装置300のシステム制御部350がCDL作成時の環境情報と撮影時の環境情報とを比較し、カラーグレーディング情報に記述されたCDLを補正する処理について説明する。
なお、図14の処理は、不揮発性メモリ323に格納されたプログラムをシステムメモリ325に展開してシステム制御部350が実行することにより実現する。
図14において、ステップS1401では、システム制御部350は、記録I/F112を介して撮像装置200の記録媒体201から画像データと撮影時の環境情報(以下、撮影時環境情報)を取得し、画像メモリ303に記録する。この撮影時環境情報とは、図4の被写体情報402、光学情報403、画像処理情報404である。
ステップS1402では、ステップS1401と同様に、システム制御部350は、記録媒体201に記録されたカラーグレーディング情報400とカラーグレーディング情報作成時の環境情報(以下、作成時環境情報)を取得し、画像メモリ303に記憶する。
ステップS1403では、システム制御部350は、撮影時環境情報と作成時環境情報との差異を検出する。具体的には、比較対象の環境情報は、大きく分けて被写体情報、光学情報、画像処理情報の3つ項目がある。具体的には、被写体情報としては、光源の色温度、明るさの基準値がある。光学情報としては、レンズの色味、レンズのMTF、カラーフィルタ等がある。画像処理情報としては、ガンマ処理、色補正処理、色空間変換処理がある。
ステップS1404では、システム制御部350は、撮影時環境情報と作成時環境情報の差異が検出された場合、現在の画像データに対してCDLの補正が必要か判定する。ここで、図15を参照して、被写体情報の中の被写体の色温度を比較して環境情報の差を検出し、CDLを補正する必要があるか判定処理について説明する。まず、図4の被写体情報402からカラーグレーディング情報400に記述されている色温度情報(5500K)を取得する。一方、撮影時環境情報では図15(a)から被写体の色温度が5600Kである。この場合、ステップS1403にてカラーグレーディング情報400に記述されている色温度と、撮影時の被写体の色温度との間に差異が発生したことが分かる。
そこで、ステップS1404において、システム制御部350は、環境情報の差異がカラーグレーディング情報に記述されているCDLを補正せずに許容できるレベルであるか判定する。例えば、図4において、被写体情報402に着目すると、光源色温度として5500K(5000〜6000K)と記述されている。これは、カラーグレーディング情報400に記述されているCDL401は、光源の色温度の変化として5000〜6000Kの範囲まで許容できることを表している。ここで、環境情報の差異が、CDL401を補正する必要があるレベルであるか否かを判定する方法について図15(c)を用いて説明する。
図15(c)では横軸がカラーグレーディングを行う画像データを撮像したフレームの時間を示し、縦軸は画像の撮影時の被写体の光源色温度を示し、それぞれ、図4の被写体情報402での光源色温度、許容上限色温度と許容下限色温度を示している。図15(c)から撮影したフレーム毎に被写体の光源色温度が変化していることが分かる。図15(a)の場合、被写体の光源色温度は5600K(図15(c)のT0)であるため、許容上限色温度の5000〜6000Kの範囲に収まっていることが分かる。
従って、ステップS1404での判定結果としてカラーグレーディング情報400に記述されているCDL401は、環境情報の差異によって画像の質感に影響を与えないレベルであり、CDLを補正する必要はないと判定する。一方、画像データが図15(b)の場合、被写体の色温度は7000Kであり、図15(c)の時間T1から許容上限色温度である6000Kを超えていることが分かる。このようにCDLが許容色温度の範囲を超えている場合にはカラーグレーディング情報400に記述されているCDL401でカラーグレーディングを行っても、所望の質感にならないため、CDLを補正する必要があると判定し、ステップS1405に進む。
なお、変形例として、ステップS1403で検出された差異によりCDLを補正する必要がある場合に、その旨を警告画面で表示したり、さらに環境情報の差異が画像の質感に与える影響度(色味や明るさへの影響度等)を示すような警告画面を表示しても良い。
ステップS1405では、システム制御部350は、ステップS1404でCDLの補正が必要であるので、カラーグレーディング情報400に記述されているCDL401を補正する。CDLの補正方法は既存の画像処理方法を行うことで実現できるが、一例として、WB値を変更することでCDLを補正する方法について説明する。図15(b)の被写体の色温度は7000Kであるので、WBのRGBの係数比を変更して補正する。図4の被写体情報402の光源色温度5500Kに近づけるために、Rの係数の重みを大きくするようにCDL401を補正することで実現できる。その際、単純にWBの係数を変更するだけでは、所望の質感にならない場合がある。例えば、曇りの日に撮影した画像データを用いてより曇りの味わいを出すようなCDLを設定したとする。この場合、晴れた日の画像のWB係数を補正して同じ所望の色味になったとしても、被写体のコントラストや彩度等が異なってしまうため、所望の質感にはならない。そのため、例えば色温度差に応じて彩度やコントラストの強度を調整する等のパラメータを予め用意してWB係数を補正すると同時に調整を行っても良い。
最後に、ステップS1406では、システム制御部350は、カラーグレーディング情報400に記述されているCDL401を、補正したCDLに上書きして記録媒体304に記録する。
上述したように、カラーグレーディング情報400に記述されているCDLを補正する必要があるか判定し、必要がある場合にCDLを補正することができる。
本実施形態では、撮影時環境情報と作成時環境情報の差異を比較してCDLの補正を行うか判定する構成とした。従って、予めカラーグレーディング情報を作成するときに使用する画像データと、カラーグレーディングを行う画像の撮影時の環境情報に関わらず、撮影時のカラーグレーディング処理負荷を軽減することを可能にする。
また、本実施形態では、光源色温度の違いによってCDLを補正する処理について説明したが、これに限らず、様々な環境情報について比較を行ってCDLを補正しても良い。例えば、被写体情報に関する環境情報として、基準となる被写体の画素値の補正、光学情報として、レンズの機種名、レンズの色味、レンズのMTF等を比較し、環境情報の差異が許容できないレベルの場合にCDLを補正するようにしても良い。
また、本実施形態では、元のCDLに補正したCDLを上書きする処理を説明したが、必ずしも上書きする必要はない。例えばカラーグレーディング情報に記述されている元のCDLと補正後のCDLとの差分情報を追記しても良い。また、補正後のCDLを元のCDLと別ファイルとして記録しても良い。
また、上記ステップS1405でCDLを補正できない場合には、補正できなかったパラメータや差異情報に関してログを表示するようにしても良い。CDLを補正できない場合とは、カラーグレーディングを行う画像データとカラーグレーディング情報を作成するための画像データの色空間(YUV空間とRGB空間)が違う場合や、ガンマカーブ(REC.709ガンマや、logガンマ)が違う場合等である。
また、本実施形態では、環境情報の差異に基づいてCDLを補正する処理を説明したが、カラーグレーディング処理内容が記述されている場合には、処理内容に記述されたパラメータを補正しても良い。この場合は、カラーグレーディング処理内容に差異があるかを判定し、差異が発生する場合にはCDLとカラーグレーディング処理を行う画像データの環境情報に応じて補正を行えば良い。
[実施形態4]次に、実施形態4について説明する。
本実施形態は、カラーグレーディング情報を作成するときに使用する画像の色空間やガンマカーブの形状等の画像処理情報に関する環境情報と、カラーグレーディングを行う画像データの画像処理情報を含む環境情報との差異に基づいてCDLを補正する。
本実施形態において、カラーグレーディング装置の構成は、上記実施形態2の図10と同様である。
以下に、図16を参照して本実施形態の概要を説明する。
図16では、カラーグレーディングを行う画像データをカメラAが撮像した画像データとする。また、第2のカラーグレーディング装置B(構成は図10と同様)はカメラBで撮像した画像データを用いてカラーグレーディング情報を作成し、作成したカラーグレーディング情報を第1のカラーグレーディング装置Aに送信する。そして、第1のカラーグレーディング装置Aでは、カメラAからの画像データと第2のカラーグレーディング装置Bから受信した第2のカラーグレーディング情報を用いてカラーグレーディング処理を行う。
この場合、カメラが異なるのでカメラAから送信される画像データとカメラBから送信される画像データのフォーマットが異なる場合や、第2のカラーグレーディング装置Bでカラーグレーディング情報を作成する処理の中で色空間を変換するなど様々なフォーマットの変換が発生する。例えば、第2のカラーグレーディング装置Bでカラーグレーディング情報を作成する際にカメラBから受信した画像データは、外部モニタ450に表示された画像を見ながらユーザが操作部320により、所望の質感に近づくようにマトリクスM2およびガンマγ1を設定する。また、カラーグレーディング情報を作成する際に、カメラBから送信された画像データの色空間を変更した場合にはマトリクスM1も設定される。この場合、操作部320は、直接マトリクスM1、M2およびガンマγ1の数値入力を受け付けることも可能であるし、予め用意されたマトリクスM2およびガンマγ1を表示し、ユーザによる選択操作を受け付けることも可能である。
このようにして、第2のカラーグレーディング装置Bを用いてカラーグレーディング情報を作成する際に、図13の色空間変換部1056で行う色変換のマトリクスM1や、第2のガンマ処理部1059のガンマγ1の形状がカラーグレーディング情報作成時のカメラBの画像データとカメラAの画像データとの間で異なることが発生する。
したがって、本実施形態では、作成時環境情報と撮影時環境情報の差異に関し、特に画像データの色空間やガンマ等の画像処理情報に関する差異を検出してCDLの補正を行い、カラーグレーディング処理負荷を軽減する。
以下に、本実施形態のCDLの補正処理について図17を参照して説明するが、図17のステップS1401〜S1404、S1406での処理は、図14と同様であるため説明を省略する。
ステップS1701では、システム制御部350は、ステップS1403で差異が検出された画像処理情報のうち、ガンマ処理(γ1の設定値又はガンマの形状情報)、色補正処理(マトリクスM1に含まれたマトリクスで表現されていることが多い)、色空間変換処理(マトリクスM1又は色変換情報)のいずれかに差異が存在するか判定する。これらに差異が発生する場合には、画像処理情報を補正した上で、CDLを補正する必要があるためである。ステップS1701で画像処理情報に差異が検出された場合にはステップS1702に進み、差異が検出されなかった場合には、図14のステップS1404と同様の処理を行う。
ステップS1702では、システム制御部350は、画像処理情報のうち、特にガンマ処理、色空間変換処理の差異を補正するマトリクスを算出する。具体例としてガンマの設定値が異なる場合について説明する。図16において、カメラAで撮像した画像データ(画像データα)のガンマ値γ1αとし、カメラBで撮像した画像データ(画像データβ)のガンマ値γ1βとする。ガンマの設定値が異なる画像データに同じCDL(マトリクスM2)でカラーグレーディングを行っても所望の質感にすることができない。従って、画像データβのガンマの設定値を画像データαのガンマの設定値に合わせた後で同じCDLを掛ければ良い。つまり、γ1α=Ζ×γ1βとなるようなマトリクスZを算出する。同様に、色空間処理が異なった場合にも画像データαと画像データβの色空間を合わせるマトリクスZを算出すれば良い。
その後、ステップS1404では、ステップS1403で検出された環境情報の差異によってCDLを補正する必要があるか判定し、補正の必要がある場合、ステップS1703の処理に進む。
ステップS1703では、システム制御部350は、図14のステップS1405と同様にCDLを補正する。ここで算出されるCDLは、CDLの補正分をマトリクスYとすると、Y×M2となる。このパラメータにステップS1702で算出したマトリクスZをかけ合わせたパラメータを最終的なカラーグレーディング補正パラメータとする。画像データにかけ合わせるマトリクスの式は、Z×γ1β×Y×M2となる。従って、ガンマの設定値(第2のガンマ処理部1059の入力パラメータ)となるCDLはZ×γ1βとなり、色補正(図13の第2の色補正部1058の入力パラメータ)となるCDLはY×M2となる。
最後に、ステップS1406では、システム制御部350は、元のCDLを補正後のCDLに上書きして記録媒体304に記録する。
上述した処理を行うことで、カラーグレーディング情報作成時に、カラーグレーディングを行う画像データの色空間処理やガンマ処理等に関わらず、カラーグレーディング情報に記述されているCDLを補正することができる。
本実施形態では、撮影時環境情報と作成時環境情報として特に色空間変換処理やガンマ処理等の画像処理情報の差異を比較してCDLの補正を行う構成とした。しかしながら、異なる色空間やガンマ設定を行ったCDLを用いた場合でも、実際に撮影する画像データに対する撮影時のカラーグレーディング処理負荷を軽減することが可能である。
これにより、カラーグレーディング情報を作成する場合に使用するカラーグレーディング装置に適した色空間変換処理やガンマ処理等を行うことができる。
本実施形態では、色空間の差異(図13の色空間変換部1056のマトリクス)に応じて1つのマトリクスM1に対する補正パラメータを算出したが、色空間変換のマトリクスは複数のマトリクスの構成にしても良い。例えば、図13の色空間変換部1056はACES規格の色空間へ変換された画像データを扱うこととする。ACES色空間では、基準状態(ACES規格の色空間および色目標値)に変換することで、カメラやカラーグレーディング装置の個体差に関わらず同じパラメータを用いて画像が作成できることを目標としている。これを実現するために、装置の個体差を取り除くIDT処理と呼ばれる処理を行って色空間変換を行っている。主なIDT処理の内容は、ガンマ処理、光源の補正、目標値へのカラーバランス補正、ACES空間への変換処理である。そのため、1つのマトリクスM1ではなく、複数のマトリクスに分けて図13の色空間変換部1056でマトリクス処理をし、画像データの色空間を変更することができる。この場合、複数の色変換のマトリクスのうちどのマトリクスで処理したかという情報が、カラーグレーディング情報に環境情報として記述されている。そのため、ACESでの色空間変換の際に割り当てたマトリクス情報に応じて、環境情報に差異が発生してもCDLを補正しないと判定しても良い。例えば、光源の補正のIDT処理に関するマトリクスを掛けて画像データBにACES変換を行った場合には、撮影時環境情報と作成時環境情報との間には光源の色温度が異なる場合でも、CDLには光源の色温度に関する補正を行わない。これは、ACES空間では画像データAと画像データBの間での光源の色温度による影響を既に受けないようになっているからである。つまり、各空間によってCDLを補正する環境情報を変えても良い。
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。