JP5248849B2 - 撮像装置、情報処理装置及びそれらの画像処理方法 - Google Patents

撮像装置、情報処理装置及びそれらの画像処理方法 Download PDF

Info

Publication number
JP5248849B2
JP5248849B2 JP2007327994A JP2007327994A JP5248849B2 JP 5248849 B2 JP5248849 B2 JP 5248849B2 JP 2007327994 A JP2007327994 A JP 2007327994A JP 2007327994 A JP2007327994 A JP 2007327994A JP 5248849 B2 JP5248849 B2 JP 5248849B2
Authority
JP
Japan
Prior art keywords
data
image
lattice point
editing
point data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007327994A
Other languages
English (en)
Other versions
JP2008245246A (ja
Inventor
正已 杉森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007327994A priority Critical patent/JP5248849B2/ja
Priority to US12/027,864 priority patent/US8334910B2/en
Publication of JP2008245246A publication Critical patent/JP2008245246A/ja
Application granted granted Critical
Publication of JP5248849B2 publication Critical patent/JP5248849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Studio Devices (AREA)
  • Color Television Image Signal Generators (AREA)

Description

本発明は、撮像装置、情報処理装置及びそれらの画像処理方法に関する。特に、画像処理用のパラメータを選択して設定することが可能なデジタルカメラ等の撮像装置及びその制御方法や、そのような撮像装置に設定可能な画像処理用のパラメータを生成する情報処理装置及び方法に関する。
一般に、デジタルカメラ内部の画像処理における各種変換処理(例えば、ガンマ変換等)の手法として、3×3のマトリクス演算や1次元のルックアップテーブルが用いられている。これら変換処理は、ハードウエアのメモリやゲート数を削減してチップ自身を小さくしたり、省エネルギーのために規模を小さくしたりするためには、好適な手法である。しかしながら、近年、ハードウエアの微細化が進み、ICの電源電圧も下げられたことによって、チップ自身の小サイズ化、より強力な省エネルギー化を実現することが可能になった。その結果、複雑な回路や大量のメモリをIC内に搭載することが可能となっている。そのため、デジタルカメラにおいて、3次元のルックアップテーブル(3次元格子点データテーブル)や高次のマトリクス演算等を搭載し、カメラ内部の画像処理において複雑な画像処理を実行できる可能性が出てきている(特許文献1を参照)。
しかしながら、デジタルカメラ内では、ユーザインターフェースの制約やハードウエアリソースの制約から、実行可能な画像処理は限られている。例えば、デジタルカメラ内の画像処理の調整は、予め決められた複数の画像特性から1つを選択し、選択した画像特性の彩度の増減もしくは一部の色相の回転を可能とする程度に限られている。そのため、ユーザが本当に望む色再現をユーザ自身で得ることができない場合があった。従って、デジタルカメラが生成するJPEG画像もしくはRAWデータ[raw data]から現像された画像は、パーソナルコンピュータ等の情報処理装置上で稼動する画像処理アプリケーションを用いて、好みの画像に調整される必要が生じる。このため、好みの色再現による画像を得ようとすると、ワークフロー的に時間がかかってしまう。画像処理アプリケーションを用いた場合、比較的自由に画像特性を調整することができる。特に、3次元の格子点データテーブルや2次以上の高次のマトリクス演算処理は色再現の細かい調整を可能とし、画像特性の調整に大きく寄与している。
米国特許第5073818号
しかしながら、このような3次元の格子点データテーブルや2次以上の高次のマトリクス演算処理は、万能な調整機構と思われがちだが、元の画像からの変更量が大きいとトーンジャンプ等を生じ、画像の破綻を招いてしまう。
また、IC内のハードウエアでは、格子点データテーブルの格子点の数やビット数に制約があり、アプリケーションで行うような、高精度の画像処理は行うことが出来ないことが多い。また、例えばアプリケーションでRAW画像データの現像処理を行う場合、撮影ファイルにルックアップテーブルのデータを記録しておく必要がある。このため、RAW画像のファイルサイズが大きくなってしまう。例えば、mグリッドの3次元格子点データテーブルでは、1次元あたりのグリッド数がm個であるので、全グリッド数はm3個となる。従って、各グリッドに3つのnバイト値が割り当てられたmグリッドの3次元ルックアップテーブルは、m3×n×3バイトの容量を必要とする。具体的には、9グリッドの8ビット(1バイト)の3次元格子点データアップテーブルには、2187(=9×9×9×3)バイトの容量が必要になる。これに対して、33グリッド16ビット(2バイト)の3次元格子点データテーブルでは、215622(=33×33×33×2×3)バイトの容量が必要となり、実に100倍の容量が必要となる。また、例えばユーザによって選択可能な3次元ルックアップテーブルを複数持っている場合は、後の現像処理のために、全ての3次元ルックアップテーブルをファイルに記録しておくことが望ましい。そのため、ファイルサイズは更に膨大になり、メモリに記録するのに時間がかかってしまう。結果として、カメラの連続撮影枚数が制限されてしまう。
特許文献1には、画像処理を行うためのルックアップテーブル回路を持つプリンタが記載されている。特許文献1によれば、ルックアップデータを全て格納するとファイルサイズが大きくなるため、補正関数から実際に画像を変換するためのルックアップテーブルが作成されることが記載されている。
しかしながら、画像処理をビット精度よく行うために、ルックアップテーブルで全てのデータを作り上げようとすると、ルックアップテーブルのデータサイズが膨大になり、回路規模も大きくなってしまう。また、画像処理をビット精度よく行うために、高次のマトリクス演算を用いて画像処理を行なおうとすれば、掛け算器が大量に必要となり、ビット数が多くなるとゲート規模が著しく増大してしまう。実際には2次のマトリクス演算まで使われるとしても、3次元格子点データテーブルを用いた処理よりも画像処理の自由度が制限されてしまう。
また、高次のマトリクス演算を使う場合、目標となる画像に対してパラメータが非常に多く、実際には最小二乗法などを用いて画像全体の最適化を行うために、部分的には入力画像データを所望の目標色に出来ないことがある。更に、マトリクスによっては、次数を上げることによって、目標に対する出力される色の精度を向上させることが出来る。しかしながら、次数をあげることによって、入力画像データが存在しない色域では逆に思わぬ方向に色が変更されてしまい、うまく色再現の最適化が行えないことがある。このような課題を解決するためには、結局マトリクスの次数を下げて最適化を行い、目標値との差を大きくする以外に良い解決方法は得られないことが多かった。つまり、マトリクス演算は、情報量は少ないが、3次元格子点テーブルの処理よりは、画像処理の自由度が制限されてしまう。
また、カメラ内の画像処理と異なるアルゴリズムの画像処理をアプリケーションで行う場合、あらかじめ、同じような処理結果になる係数をカメラ内にも持っておく必要がある。この場合、カメラ内の画像処理には用いない3次元格子点データテーブルのデータを大量にカメラ内のROMに記憶しておかなければならず、メモリの利用効率を著しく低下させてしまう。
本発明は上記の課題に鑑みてなされたものであり、マトリクス係数による保持を可能としながら、画像処理の自由度を向上可能とすることを目的とする。
上記の目的を達成するための本発明の一態様による撮像装置は以下の構成を備える。すなわち、
次元格子点データテーブルの元となるマトリクス係数と、3次元格子点データテーブルの格子点データを編集する編集データを保持する保持手段と、
前記マトリクス係数を用いたマトリクス演算を行うことによって、前記3次元格子点データテーブルの格子点データを算出する算出手段と、
前記編集データに基づいて前記算出手段で算出された前記3次元格子点データテーブルの格子点データを編集する編集手段と、
前記編集手段により編集された前記3次元格子点データテーブルを用いて、撮影により取得された画像データを処理する処理手段と
前記画像データ、前記編集データ及び前記マトリクス係数を含む画像ファイルを生成する生成手段とを備える。
また、本発明によれば、マトリクス係数による保持を可能としながら、画像処理の自由度を向上することが可能となる。即ち、3次元格子点データテーブルより情報量の少ない、高次のマトリクス係数の利点と、部分的に3次元格子点データテーブルを編集するための手段によって得られる目標の色再現の精度の両方を実現することが出来る。
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
[第1実施形態]
図1は第1実施形態に係るデジタルカメラの構成を示すブロック図である。図1において、撮影レンズ1を通ってきた光は、赤外カットフィルタ2、光学LPF3を通過して撮像素子4に結像する。撮像素子4としては、CCDやCMOSセンサ等が挙げられる。一般に撮像素子4の受光面にはフォトダイオードによるセンサが平面的に配置されている。そして、例えば、R(赤)・G(緑)・B(青)の各原色カラーフィルタが所定の配列で配置されたカラーフィルタにより、各センサに1色のカラーが割り当てられる。或いは、撮像素子4を原色の数だけ用意して、各撮像素子に1色ずつ割り当てる形態でもよい。
撮像素子4に結像された光は、各センサにおいて入射光量に応じた量の電荷に変換される。タイミングジェネレータ16が発生する信号は、水平駆動用ドライバ17と垂直駆動用ドライバ18に供給される。水平駆動用ドライバ17と垂直駆動用ドライバ18はタイミングジェネレータ16からの信号に従って撮像素子4に駆動信号を供給する。この駆動信号に従って撮像素子4からセンサに蓄積された電荷が伝送され、順次電圧信号に変換される。CPU15はシャッターボタン19の押下操作に応じて撮像素子4による撮像が実行されるように、タイミングジェネレータ16を制御する。
変換された電圧信号は、相関二重サンプリング/ゲイン調整部5(以下CDS/AGCと呼ぶ)でサンプリングされ、ゲイン調整された後、A/D変換器6でデジタル信号に変換される。A/D変換器6でデジタル信号に変換された画像データは、画像処理IC7に入力される。画像処理IC7は、WB回路7a、画像処理部7b、サムネイル生成部7c、可逆圧縮部7d、3DGT部7e、JPEG圧縮部7fを有する。画像処理IC7では、まず、WB回路7aが入力された画像データに対してホワイトバランスのためのデータを算出する。ホワイトバランスのためのデータと画像データはいったんメモリ8に格納される。
メモリ8に格納された画像データは、再び画像処理IC7に入力され、次の3つの処理が施される。
(1)デジタル信号に変換された画像データは、そのまま可逆圧縮部7dにおいてロスレス圧縮(可逆圧縮)され、RAWデータとしてCPUバス10に送り出される。
(2)デジタル信号に変換された画像データは、サムネイル生成部7cで間引き処理等のダウンサンプリングにより元の画像サイズより小さいサムネイル画像に変換され、CPUバス10に送られる。なお、間引き処理では、例えばRAWデータに周知のブロック内平均処理を施すことによりダウンサンプリングがなされる。
(3)JPEG圧縮するための画像を作るために、まず、画像処理部7b(詳細は図2により後述する)において、上記デジタル信号に変換された画像データに画像処理が施される。その結果として出力されるYCbCr色空間の画像データは3次元格子点データテーブル7eに入力される。3次元格子点データテーブル7eにより変換された画像データは、JPEG圧縮部7fでラスタブロック変換されてJPEG圧縮され、CPUバス10に送られる。
なお、本実施形態において3次元ルックアップテーブルと3次元格子点データテーブルとは異なるテーブルとして定義している。ただし、例外的に、3次元ルックアップテーブルと3次元格子点データテーブルの格子点数が同一である場合は、2つのテーブルは同義である。
可逆圧縮されたRAWデータとJPEG圧縮された画像データはCPUバス10を経てメモリ9に格納される。CPU15はメモリ9に格納されたRAWデータにJPEG圧縮画像を付帯させてRAWファイル[raw file]を生成する。本実施形態では、CPU15は、JPEG圧縮画像をRAWデータのプレビュー用のデータとして付帯させている。生成されたRAWファイルはインターフェース13を介して着脱可能に接続されている外部メモリ14に格納される。以上の構成において、3次元格子点データテーブル7eは、RAWデータと一緒に撮影時に生成されるものであり、JPEG画像を生成するために用いられる。RAWデータを出力する場合には、RAWファイルに付帯されるプレビュー用のJPEG画像を生成するために、3次元格子点データテーブル7eは用いられる。
なお、以上のCPU15による処理を実現するための制御プログラムはメモリ8或いはメモリ9に格納されているものとする。
次に、画像処理部7bで行わる画像処理について、図2を参照してさらに詳しく説明をする。図2は画像処理部7bの構成の詳細を示すブロック図である。
図2において、メモリ8から入力された画像データは、まずホワイトバランス処理部7b1に供給される。ホワイトバランス処理部7b1は、ホワイトバランス係数を用いて画像データにホワイトバランス処理を施す。なお、ホワイトバランス係数は、WB回路7aで算出されたホワイトバランスのためのデータに基づいてCPU15が算出したものであり、メモリ8に格納されており、必要に応じてIC7のレジスタにセットされる。もしくは、予め設定されているホワイトバランス係数(例えばデイライト、タングステン、蛍光灯等の光源に応じて予め設けられたホワイトバランス係数)を用いて入力された画像データに対してホワイトバランス処理が施されてもよい。ホワイトバランス処理された画像データは、色補間部7b2に入力され、色補間処理が施される。図3に示す様にRGBが格子状に配列されたパターン図3の(a),(b))のデータから、R、G、Bの3プレーン(図3の(c))が作り出される。
次に、RGB3プレーンそろった画像データは、マスキング処理部7b3において、例えば、3×3のマトリクス演算(式1)等で色の最適化が行われる。
R’=m11×R + m12×G + m13×B
G’=m21×R + m22×G + m23×B
B’=m31×R + m32×G + m33×B …式(1)
画像データはマスキング処理部7b3を経て、ガンマ変換部7b4に供給される。ガンマ変換部7b4は、画像データにガンマ変換を施す。YUV変換部7b5は、ガンマ変換部7b4でガンマ変換されたRGB信号の画像データを、輝度と色差成分からなるYUV信号に変換し、図3の(d)に示すY,Cb,Crの3プレーンを生成する。YUV信号に変換するのは、偽色処理や、エッジ強調処理を行なうためである。
JPEG画像を作成する場合、YUV信号のうちの輝度信号(Y)は、エッジ強調回路7b9でエッジ強調される。また、YUV信号のうちの色差成分信号(UV)は、メディアンフィルタ7b8で雑音処理が施される。
エッジ強調されたY信号と、雑音処理されたUV信号は、次に3次元格子点データテーブル7eに入力され、色変換される。3次元格子点データテーブル7eから出力されるYUVのデータはJPEG圧縮部7fでJPEG圧縮処理される。
ここで、3次元格子点データテーブル7eは、JPEG等の画像データの圧縮処理より前であり、少なくともホワイトバランス処理後に配置されることが好ましい。あるいは、上述のようにホワイトバランス処理、色補間処理、マスキング処理、ガンマ変換処理、YUV変換処理、エッジ強調処理、メディアンフィルタ等で処理された最後に行われることが望ましい。なぜならば、出力される画像の3次元格子点データテーブル7eによって施されたユーザの意図する局所的に変換された色が各処理によって変化してしまうことなく、維持されるからである。
次に、3次元格子点データテーブル7eについて詳細に説明する。図4は3次元格子点データテーブルの一部を示す図である。ここでは、入力をRGB信号として説明しているが、図1、図2においては入力はYUV信号となっている。3次元格子点データテーブル7e内でYUV信号からRGB信号に変換しなおしても良いし、3次元格子点データテーブル自体をYUVで持つことも可能である。
入力データが〔R1, G1, B1〕=〔155,155,140〕の場合、格子点数が9個(9グリッド)の3次元格子点データテーブルにおける位置は、図4のような8個の格子点に囲まれた位置となる。この場合、上記入力データについて単純な線形補間をすると、Redの値はP1とP2の位置のデータの補間と、P3とP4の位置のデータの補間と、P5とP6の位置のデータの補間と、P7とP8の位置のデータの補間を用いて算出することが出来る。なお、P1=〔128,128,128〕、P2=〔160,128,128〕である。また、P3=〔128,160,128〕、P4=〔160,160,128〕である。また、P5=〔128,128,160〕、P6=〔160,128,160〕である。また、P7=〔128,160,160〕、P8=〔160,160,160〕である。
〔128,128,128〕の格子点(P1)の値が〔130,120,120〕で、〔160,128,128〕の格子点(P2)の値が〔165,120,120〕であったとすると、〔155,128,128〕の位置の値は、
(165−130)÷(160−128)×(155−128)+130=159.5 …式(2)
となる。同様に他の3ヶ所による補間(P3−P4、P5−P6、P7−P8)も行い、それらの結果から〔155,155,140〕の点のRedの値が確定する。これらの計算をGreenとBlueに関しても行い、〔155,155,140〕におけるRGB値が決定する。
以上の計算は、非常に単純な計算であり、高次のマトリクス演算を行うよりはるかに回路規模を小さくすることが出来る。
例えば、3次の項までマトリクス演算をするとすると、
Red=m01×R+m02×G+m03×B
+m04×R×R + m05×G×G + m06×B×B
+m07×R×G + m08×R×B + m09×G×B
+m10×R×R×G+m11×R×R×B+m12×R×R×R
+m13×R×G×G+m14×G×G×B+m15×G×G×G
+m16×R×B×B+m17×G×B×B+m18×B×B×B
+m19×R×G×B …式(3)
となり、19個の係数、45回の掛け算、18回の足し算を要する計算処理になってしまう。また、更にGreenとBlueも同様の回路が必要になる。
以上のマトリクス演算をハードウエアで実現することは可能であるが、回路規模はかなり大きくなる。しかしながら、一つの画像特性のパラメータ量を比較すると、格子点の数9×9×9のデータ量よりもマトリクス係数セットのデータ量の方がはるかに少なくてすむ。従って、メモリ使用量の観点からは、マトリクス演算のほうが有利である。
そこで、本実施形態では、3次元の格子点データテーブルを直接格納するのではなく、3次元格子点データテーブルの元になる高次のマトリクス係数セットをカメラ内に格納しておく。そして、この高次のマトリクス係数セットを用いて3次元格子点データテーブルを生成するように構成する。例えば、上記のm01〜m19のマトリクス係数セットを格納しておき、現像処理に先立って、3次元格子点データテーブルの各格子点のR,G,B値を式(3)に代入して各格子点のRed値を求める。同様に、Green,Blueの値を各格子点について求める。このようにして、3次元格子点データが生成され、生成されたデータは3次元格子点データテーブル7eに設定される。
上述のように、上記のマトリクス演算をハードウエアで構成することは可能であるが、回路規模はかなり大きくなってしまう。また、アプリケーションにおいて、高次のマトリクス演算をすることは可能であるが、計算に時間がかかってしまう。本実施形態によれば、マトリクス係数のセットを格納してメモリを節約すると共に、画像処理時にはマトリクス係数のセットから3次元の格子点テーブルを作ることによって、その演算時間を短縮する。
より具体的には、図5の様に、3次元の格子点テーブルデータを直接格納するのではなく、3次元の格子点テーブルデータの元になる高次のマトリクスデータ(マトリクス係数)をカメラ内に格納しておく。そして、カメラで使うパラメータを現像処理する前にマトリクス係数を3次元格子点データテーブルに変換し、更に、当該マトリクス係数と対になって保持されている編集データに従って、当該テーブルの局所的な格子点データの置き換えを行う。編集データは、例えば、編集対象とする色度点と色相の範囲、そして、色相角度の変化量を示しており、詳細は後述する。編集データに従って3次元格子点データテーブルの局所領域を書き換え、得られた格子点データを3次元格子点データテーブル7eとして用いる。
以上のように、本実施形態のデジタルカメラでは、RAWデータを画像処理部7bによって現像し、現像された画像データに3次元格子点データテーブル7eによる調整を施して、最終的な画像データ(JPEG圧縮対象の画像データ)を得る。
以上のような構成のデジタルカメラの動作について説明する。図5は本実施形態によるデジタルカメラにおける現像処理から画像圧縮までの処理の流れを説明するブロック図である。
選択部51はデジタルカメラが有するディスプレイに、画像特性保持部50(例えばメモリ8に構成される)が保持している画像特性の選択画面を提示する。この選択画面により、画像処理部7bに設定すべき画像処理パラメータと3次元格子点データテーブル7eのためのマトリクス係数及び編集データをユーザに選択させる。尚、本明細書では、画像特性が有するパラメータのうち、画像処理部7bに設定されるパラメータを画像処理パラメータと称する。また、画像特性には、3次元格子点データテーブル7eを生成するためのマトリクス係数及び編集データが含まれているものとする。
選択部51は、選択指示された画像特性から画像処理パラメータ、マトリクス係数及び編集データを抽出し、画像処理パラメータを画像処理部7bに、マトリクス係数と編集データを展開部52にそれぞれ提供する。展開部52は選択部51から提供されたマトリクス係数501と編集データ503を用いて展開処理を実行し、3次元格子点データテーブル7eを決定する。
3DGT展開部502は、カメラ内のメモリ8に設けられた画像特性保持部50に格納から取得された高次のマトリクス係数501を用いて3次元格子点データを生成する。3DGT編集部504は、選択されたマトリクス係数に対応して保持されている編集データ(編集データ503)を取得する。編集データは、3次元格子点データテーブルの局所部分の格子点データを編集するための編集内容を示すデータである。3DGT編集部504は、編集データ503に従って、3DGT展開部502によって先に展開された3次元格子点データテーブルの局所部分の格子点データを編集する。
例えば、編集データ503が、色相角20度の所の色、もしくは、色相角20度の所に対応づけられている所定の色(色度点)を中心に、±5度の色相範囲を+3度回転させる編集を指示していた場合を説明する。この場合、3次元格子点データテーブルにおいて、色相角20度に相当する格子点を中心に±5度の範囲を選択し、選択された格子点のデータを色相角で+方向に3度回転させるべく書き換える。尚、このとき、編集による変更量(色相角の回転量)が隣の格子点データの色相角を越えてしまうと、画像に不連続性が生じてしまい、階調が反転した画像を生成してしまう。このような場合、例えば、選択範囲の外側の当該選択範囲に最も近い格子点データに対しても、中心点(指定された色度)が+5度回転できるように線形的に置き換えていくといった工夫が必要である。なお、調整対象の色の指定方法としては、上記の他にも、色相、彩度、輝度に関して全てを指定して調整対象の色を特定する、色相のみを指定してその色相を含む全ての色を調整対象の色とすることなど、種々の方法を用いることができる。
以上のように、編集データ503は、編集対象の色を示す色空間における目標値(色度点)、編集の影響が及ぶ色空間における範囲を示す影響範囲(色相角の範囲)、編集処理による変更の色空間における方向及び大きさ(色相角の回転量)を示す変更量を含む。そして、3DGT編集部504は、目標値(色度値)を中心とした色相角の範囲内の色(影響範囲の色)が、変更量(色相角の回転量)で示されるように変化するように、3次元格子点データテーブルの格子点データを編集する。
尚、上記編集データは、目標値を色度点によって、影響範囲を色相角の範囲によって示し、変更量を色相角度の変化量で示しているが、これに限られるものではない。例えば、変更量として、彩度の増減量や、明度の増減量を用いることも可能である。
以上のようにして、3次元格子点データテーブル7eが生成される。撮像処理によって得られた画像信号506は、画像処理部7bによって画像処理が施され、3次元格子点データテーブル7eで変換される。そして、JPEG圧縮部7fにより圧縮処理が施され、圧縮画像が得られる。
尚、本実施形態のデジタルカメラは、RAWデータを含むRAWファイルを出力することができる。そして、このRAWファイルには、画像特性保持部50から予め選択されたマトリクス係数と編集データがそのヘッダ部に記録される。
以上の処理を図8のフローチャートを参照して説明する。図8に示される処理はCPU15がメモリ8に格納された制御プログラムを実行することにより実行される。
ステップS801において、選択部51は、デジタルカメラが有する表示画面(不図示)にパラメータの選択画面を表示し、ユーザに所望のパラメータ(マトリクス係数及び編集データのペア)を選択させる。「夜景」「遠景」等の予め設定されたパラメータが選択されると、3DGT展開部502は選択されたマトリクス係数を用いて3次元格子点データテーブルの各格子点データを算出する(ステップS802、S803)。そして、ステップS804において、3DGT編集部504は、ステップS801で選択された編集データを用いて、ステップS803で計算された格子点データを編集する。ステップS805では、画像処理部7b及び編集された3次元格子点データテーブル7eを用いて画像信号(RAWデータ)506を処理し、画像を得る。得られた画像はJPEG圧縮部7fで圧縮処理が施され外部メモリ14に記録される。或いは画像はデジタルカメラの表示画面(不図示)に、撮影内容の確認のために表示される。
RAWファイルを作成する場合は、ステップS806からステップS807へ処理が進み、ステップS801で選択されたマトリクス係数と編集データがRAWファイルのヘッダに格納される。そして、ステップS809において、RAWデータを格納し、RAWファイルが形成される。
以上、デジタルカメラ側の3次元格子点データテーブルについて説明したが、上記のマトリクス係数から3次元格子点データテーブルを生成する構成は、パーソナルコンピュータ等の情報処理装置上で動作するアプリケーションにも適用することができる。この場合、上述した画像処理部7b及び3次元格子点データテーブル7eに対応する処理がアプリケーションによって実行されることになる。
図6は本実施形態による情報処理装置の構成を説明するブロック図である。情報処理装置としては一般的なパーソナルコンピュータを用いることができる。図6において、CPU601はROM602或いはRAM603に保持されたプログラムを実行することにより各処理を実現する。ROM602は情報処理装置における基本入出力システムやブートプログラム等が格納されている。RAM603はCPU601のメインメモリとして機能する。RAM603には、外部記憶装置604にインストールされているプログラムがCPU601による実行のためにロードされる。ディスプレイ605はCPU601の制御下で各種表示を行う。入力装置606はキーボードやポインティングデバイスで構成される。インターフェース607は例えば、デジタルカメラの外部メモリ14を装着可能とし、外部メモリ14に記録されているRAWファイルをRAM603や外部記憶装置604に取り込むことができる。或いは、インターフェース607はUSB等の通信インターフェースを備えても良い。この場合、インターフェース607を介してデジタルカメラと接続し、情報処理装置はデジタルカメラの外部メモリ14に格納されているデータを取得することができる。或いは、インターフェース607を介して、後述する設定データをデジタルカメラに送信することができる。
各種アプリケーションは外部記憶装置604にインストールされて、実行時にRAM603にロードされる。なお、外部記憶装置604としてはハードディスクが一般的である。以下では、上述のデジタルカメラによって生成されたRAWファイルを処理し、デジタルカメラにおける画像処理動作のための設定パラメータを生成するアプリケーション(以下、画像処理アプリケーションという)を説明する。
図7は、本実施形態による画像処理アプリケーションの機能構成例を説明するブロック図である。尚、図7に示される各機能は、CPU601がRAM603にロードされた所定の制御プログラムを実行することにより実現されるものである。画像処理アプリケーションにおいても、高次のマトリクス演算処理を実行することは可能であるが、その計算(処理)に時間がかかってしまう。そこで、本実施形態では、画像処理アプリケーションにおいても、マトリクス係数から上述したような3次元の格子点データテーブル(3DGT713)を作成することによって、その処理時間を短縮する。
さて、このような3次元の格子点データテーブルを用いて画像特性を作成する前に、目標となる画像特性に対して、画像処理部7bに相当する画像処理部712において画像特性を追い込んでおくことは重要である。3次元格子点データテーブル713を用いれば、画像処理部712の処理特性を1通りに固定し、全て3次元格子点データテーブルで対応することも可能である。しかしながら、元のデータに対して、3次元格子点データテーブル713による変化量が大きいと、その部分の画像にトーンジャンプ等の破綻をきたしてしまうおそれがある。そこで、本実施形態では、以下の方法により3次元格子点データテーブルを調整し、決定する。
インターフェース607を介して情報処理装置内に取り込まれたRAWファイル701がRAM603に格納されているとする。選択部702は、所望の画像特性をユーザに選択させるためのユーザインターフェースを提供する。例えば、画像特性保持部700に保持されている複数の画像処理特性の名称をディスプレイ605にリスト表示し、ユーザに所望の画像処理パラメータを選択させる。ユーザによる選択操作に応じて、選択部702は、選択された画像処理特性から画像処理部712に設定されるべき画像処理パラメータを抽出し、画像処理部712に設定する。また、選択部702は選択された画像処理パラメータからマトリクス係数と編集データを抽出して、これを展開部711に提供する。
展開部711は、選択部702によって提供されたマトリクス係数を展開し、3次元格子点データテーブル713を生成する。展開部711の動作は図5の展開部52と同様である。即ち、3DGT展開部711Aは、高次のマトリクス係数を用いて3次元格子点データを生成する。そして、3DGT編集部711Bは、編集データに従って、3DGT展開部711Aによって先に展開された3次元格子点データテーブルの局所部分の格子点データを編集する。こうして、3次元格子点データテーブル713が取得される。
RAWデータ取得部703は、RAWファイル701よりRAWデータを取得する。画像処理部712は、選択部702によって設定された画像処理パラメータを用いて、RAWデータ取得部703が取得したRAWデータを現像処理する。画像処理部712の処理内容は、画像処理部7bに関して説明した処理と同等である。画像処理部712によって現像された画像データの各画素値は、3次元格子点データテーブル713により変換される。画像表示部714は、3次元格子点データテーブル713による変換結果の画像データをディスプレイ605に表示する。
調整操作部715は、画像表示部714により表示された画像に対して画像特性の調整を行うためのユーザインターフェースを提供する。このユーザインターフェースを用いて、ユーザはディスプレイ605に表示された画像をみながら所望の色再現を得るべく、例えば、特開2006−157892号公報に示されるようなユーザインターフェースを用いて画像特性を調整する。例えば、ユーザは、画像表示部714によって表示された画像が好みの画像になるように、インターフェース上で任意の色相や、彩度、コントラストを色度図座標や数値で入力し、部分的な調整を行うことができる。
調整操作部715は、ユーザインターフェースを用いて行われたユーザによる上記調整操作を反映するべく3次元格子点データテーブルの格子点データを変更する。3次元格子点データテーブル713は画像処理部712から出力される画像データについて常時変換処理を行っており、その変換出力は画像表示部714により表示される。このため、ユーザは調整操作による画像の変化をリアルタイムで観察することができる。
設定データ生成部716は、以上のようにして調整された3次元格子点データテーブルと画像処理部712に設定された画像処理パラメータを組み合わせて、デジタルカメラに設定することが可能な設定パラメータ(ユーザ設定パラメータ)を生成する。
図9は、第1実施形態による画像処理アプリケーションの処理を説明するフローチャートである。
ステップS901において、選択部702は、例えばディスプレイ605、入力装置606を用いて、画像特性を選択するためのユーザインターフェースを提供する。そして、選択部702は、ユーザ操作に応じて選択された画像特性から画像処理パラメータとマトリクス係数と編集データを抽出する。そして、画像処理パラメータを画像処理部712に設定し、マトリクス係数と編集データを展開部711に提供する。展開部711は提供されたマトリクス係数を展開して3次元格子点データテーブルを生成する。生成された3次元格子点データテーブルは編集データに従って局所的に編集され、3次元格子点データテーブル713が設定される。このように、選択部702により所望の画像特性を選択できるようにしたので、ユーザは自分の好みに近い画像特性によって画像処理された画像を得ることができる。
次に、ステップS902において、RAWデータ取得部703は、編集対象のRAWデータを画像処理部712へ提供する。編集対象のRAWデータは、例えばRAWデータ取得部703がディスプレイ605にRAWファイルの一覧を表示させ、ユーザによって選択されたRAWファイルからRAWデータを取得することにより得られる。画像処理部712は、RAWデータ取得部703から提供されたRAWデータに画像処理部7bと同様の現像処理を施す。画像処理部712で現像処理されて得られた画像データは、3次元格子点データテーブル713で画素毎に変換処理が施される。3次元格子点データテーブル713から出力された変換後の画像データは画像表示部714によりディスプレイ605に表示される。こうして、選択された画像特性に応じて画像処理された画像がディスプレイ605に表示されることになる。
次に、ステップS903において、調整操作部715は、ステップS902で表示された画像が目標とする画像特性となるように編集するためのユーザインターフェースを提供する。このユーザインターフェースを用いてユーザによってなされた画像調整の結果は3次元格子点データテーブル713の格子点データへの変更として反映される。或いは、必要に応じて画像処理部712の画像処理パラメータが調整される。上述したように、3次元更新データテーブル及び画像処理部712の調整の結果はリアルタイムでディスプレイ605に表示中の画像に反映される。尚、画像調整では、表示中の画像が好みの画像になるように、色相や、彩度、コントラストなどの調整が部分的に行われる。こうして、ユーザは所望の画像特性の画像を得るまで編集操作を行う。
ステップS904では、上記編集操作の完了をユーザが指示したか否かを判定する。編集操作の完了が指示された場合は、ステップS905に進む。ステップS905において、設定データ生成部716は、変更された3次元格子点データテーブル713を生成するためのマトリクス係数と編集データや画像処理部712の画像処理パラメータを取得する。尚、編集データを取得する構成としては、第3実施形態により後述する編集データ生成部1119(図11)が挙げられる。また、画像処理部712の画像処理パラメータについては、設定データ生成部716が画像処理部712のレジスタから画像処理パラメータを読み取ることで取得できる。そして、ステップS906において、設定データ生成部716は、ステップS905で取得された画像処理パラメータと、ステップS905で取得されたマトリクス係数及び編集データを1セットにすることにより新たな画像特性(設定データ)を生成する。尚、画像処理パラメータに変更が無いのであれば、設定データ生成部716はステップS901で選択された画像処理パラメータをそのまま用いるようにしてもよい。
ステップS907において、設定データ生成部716は、以上のように生成された画像特性をデジタルカメラで利用可能とすべく、当該画像特性をデジタルカメラに送信し、設定する。例えば、図5のユーザ設定としてデジタルカメラに登録(画像特性保持部50に登録)され、上述した手順でデジタルカメラ内の画像処理に適用される。こうして、ユーザの好みの画像をカメラ内現像のJPEG画像で得ることができる。
尚、上記では画像特性を画像特性保持部700に保持されている画像特性から選択するが、これに限られるものではない。例えば、RAWファイルのヘッダ部に画像特性が記述されている場合に、これを利用するように構成しても良い。
以上をまとめると、本実施形態の画像処理アプリケーションを実行する情報処理装置は、RAWデータを処理するための第1処理部(712)、第2処理部(713)、表示部(714)、変更部(715)、生成部(716)を有する。第1処理部(画像処理部712)はユーザによって選択されたパラメータ(上記実施形態では、画像特性のうちの画像処理パラメータ)に従って、RAWデータを画像データへ現像する。また、第2処理部(713)は、第1処理部から出力された画像データに対して3次元格子点データテーブル或いは2次以上のマトリクス演算を施す。画像表示部714は、この第2処理手段を経た画像データを表示器であるところのディスプレイ605に表示する。変更部(調整操作部715)は、表示されている画像データに対するユーザの編集操作に応じて第2処理部の3次元格子点データテーブルを生成するためのマトリクス係数及び編集データを変更する。また、変更部は第1処理部の処理パラメータを変更可能としてもよい。そして、生成部(設定データ生成部716)は、第1処理部に設定された処理パラメータと上記変更部で変更されたパラメータにより、デジタルカメラへ設定可能な設定パラメータ(画像特性)を生成する。ここで、変更部によって第1の処理部の処理パラメータを変更されるのは、第2の処理部の2次元格子点データテーブルによる変化量が増加することに起因したトーンジャンプの発生を防止するためである。
即ち、上記の第1の実施形態によれば、あらかじめ好みの画像特性に近い設定を選択してから、その画像に対して画像調整が行われ、その結果が高次のマトリクス係数や編集データに反映される。このように、ユーザの好みに応じて画像処理パラメータとマトリクス係数及び編集データが設定されるので、無理な画像調整を行って画像が破綻してしまう(トーンジャンプ等を招く)といった不具合を防ぐことができる。即ち、好みの色再現を実現するべくユーザが画像処理のパラメータを調整した場合に、トーンジャンプ等の不具合が生じることを防止可能な画像処理装置及び方法を提供することができる。
また、画像特性保持部700は撮影シーンに対応した複数種類のパラメータセット(画像特性)を記憶しており、選択部702は、これら複数種類のパラメータから選択されたパラメータを第1処理部及び第2処理部に設定する。これにより、所望の画像特性をユーザが容易に選択することが可能となる。
また、選択部702が、RAWデータを含むRAWファイルのヘッダ部よりパラメータを取得し、これを前記第1処理手段に設定するように構成しても良い。RAWデータのヘッダ部に処理パラメータとマトリクス係数と編集データが保持されている場合は、これらを用いて3次元格子点データテーブル713や画像処理部712等の設定を行うようにしてもよい。撮影時に設定されたユーザの所望の画像特性が自動的に設定されるので操作性が向上する。
また、画像処理部712に設定される処理パラメータは、少なくとも画像の輝度特性(ガンマ変換部7b4による処理)を決定するものである。このアプリケーションでは、各々の色の色相、彩度、輝度が編集できるため、各々の色において輝度を調整することも可能だが、ガンマ変換で全体の輝度の特性を変更することも可能である。例えば、少しコントラストの高い画像に調整したい場合に予め前段のガンマ変換部の輝度特性でコントラストが少し上がっているものを選択しておけば、後段の3次元格子点データテーブルで行う修正量が少なくて済むためトーンジャンプが発生する確率が低くなる。このように予め、画像処理部712による輝度特性を所望の輝度特性に近づけておくことで、調整量を効果的に低減でき、3次元格子点データテーブルによるトーンジャンプ等の発生をより効果的に防止できる。
また、第1実施形態によれば、マトリクス係数と編集データのペアを保持することにより、マトリクス係数による保持を可能としながら、画像処理の自由度を向上することが可能となる。即ち、3次元格子点データテーブルより情報量の少ない、高次のマトリクス係数の利点と、部分的に3次元格子点データテーブルを編集するための手段によって得られる目標の色再現の精度の両方を実現することが出来る。
[第2実施形態]
上述したように、デジタルカメラは、カメラ自身で現像処理をし、JPEGデータを生成する場合と、RAWデータと呼ばれる、主だった画像処理を行わず、CCDやCMOSセンサが出力する配列のままデータ化したものとがある。第1実施形態では、このRAWデータに対するアプリケーション側の現像処理や画像処理は、デジタルカメラ内の現像処理や画像処理と全く同じものとしている。しかしながら、特にその必要は無く、ハードウエアではできない画像処理をアプリケーション上で達成させ、よりよい画像を提供するようにしてもよい。この場合、画像特性保持部50は、ディジタルカメラ用とアプリケーション用の2種類の画像特性(例えば2組のマトリクス係数と編集データ)を対にして保持する。そして、3次元格子点データテーブル7eにはディジタルカメラ用のマトリクス係数及び編集データを用いて画像特性がセットされる。そして、RAWファイルのヘッダには当該マトリクス係数の対として保持されているアプリケーション用のマトリクス係数及び編集データが記述される。アプリケーション側では、RAWフィルのヘッダに記述されたマトリクス係数と編集データが利用される。これにより、ディジタルカメラとアプリケーションで同様の画像処理結果を得ることが可能となる。
例えば、デジタルカメラにおける3次元格子点データテーブル7eの格子点数が9×9×9×8ビットであるのに対し、画像処理アプリケーションにおける3次元格子点データテーブル713の格子点数を33×33×33×16ビットとするようにできる。その場合、上述したステップS905、S906において、設定データ生成部716は、デジタルカメラに合わせた3次元格子点データテーブルを生成するためのマトリクス係数及び編集データを生成する。即ち、33×33×33×16ビットの編集された格子点データテーブルから、9×9×9×8ビットの格子点データテーブルを生成するためのマトリクス係数と編集データを生成してデジタルカメラのための画像特性に用いるようにする。なお、マトリクス係数は2つの格子点テーブルに共通して利用することも可能であるのに対し、編集データは格子点数に応じて用意する必要が生じる可能性があるが、上記手法によれば、任意の格子点数に対応できる。
また、画像処理アプリケーションソフトでは、ビット精度は簡単に上げられるが、処理速度は、明らかにハードウエアより遅くなる。そこで、ハードウエアとは別の手段で高速化を行い、さらに不具合を対策するといった手段を施すことによって、カメラ内部の画像処理と異なる画像処理を行うことができる。この場合、カメラ内部に格納しているマトリクス係数及び編集データから生成された3次元の格子点データテーブルを用いると、カメラと画像処理アプリケーションとで違った結果になってしまう可能性がある。
そこで、カメラは、デジタルカメラ本体で取得されたJPEG画像と同じ画像をアプリケーション側で得るために、カメラ内部用のマトリクス係数及び編集データと、画像処理アプリケーションソフト用のマトリクス係数及び編集データを合わせて格納しておく。そして、RAWファイルのヘッダに、画像処理アプリケーションソフト用の高次のマトリクス係数と編集データを含む画像特性を記述する。画像処理アプリケーションソフトは、画像処理アプリケーション用の高次のマトリクス係数と編集データをRAWファイルのヘッダから抽出し、これを用いて3次元格子点データテーブルを生成する。このように構成することで、デジタルカメラと画像処理アプリケーションで画像処理が異なる場合にも、同じ色再現の画像を得ることが可能になる。尚、画像処理部7bと画像処理部712の画像処理パラメータについても、それぞれに応じて用意するようにしても良い。
一方、上記の場合、画像処理アプリケーションにより調整された3次元格子点データテーブルは、ステップS905においてデジタルカメラの画像処理に応じた3次元格子点データテーブルに変換する必要がある。この場合、画像処理アプリケーションの画像処理の特性とデジタルカメラの画像処理の特性の違いを吸収するように、3次元格子点データテーブルをデジタルカメラ用に変換すればよい。例えば、画像処理アプリケーションによる出力画像とデジタルカメラによる出力画像との差を解消するための各格子点毎の倍率係数等を保持した補償用3次元格子点データテーブルを用意する。そして、調整された3次元格子点データテーブルを、補償用3次元格子点データテーブルにより変換して、デジタルカメラの画像処理に適応した3次元格子点データテーブルに変換する。このように変換された3次元格子点データテーブルを生成するためのマトリクス係数及び編集データを生成し、デジタルカメラ用の画像処理特性とする。そして、デジタルカメラには、上述したようにデジタルカメラ用の画像処理特性とアプリケーション用の画像処理特性が対として登録される。
以上のように、第2実施形態によれば、変更されたパラメータ(例えば3次元格子点データ)が、デジタルカメラが有する処理精度(分解能)のパラメータに変換される。上記例では、33×33×33×16ビットの精度の3次元格子点データが、デジタルカメラ内の画像処理精度に応じた9×9×9×8ビットの精度の3次元格子点データに変換される。そして、この変換されたパラメータを用いて新たな設定パラメータが生成される。従って、アプリケーション側の画像処理精度にかかわらず、デジタルカメラに適した精度のパラメータを生成することができる。
[第3実施形態]
次に、第3実施形態を説明する。第1、第2実施形態では、画像処理特性として画像処理パラメータ、マトリクス係数及び編集データを登録しておき、画像処理部7bの設定、3次元格子点データテーブルの生成を行う構成を説明した。第3実施形態では、マトリクス係数と編集データを画像処理特性として有する構成を説明する。
図10は、第3実施形態に係るデジタルカメラの画像処理を説明する図である。図10において、画像特性保持部1000は、図5の画像特性保持部50と比して、画像処理パラメータを有していない。選択部(不図示)により所望の画像処理特性(マトリクス係数と編集データのペア)が選択されると、3DGT展開部502、3DGT編集部504により3次元格子点データテーブル7eが生成される。そして、画像処理部7bとこの3次元格子点データテーブル7eを用いてRAWデータ(画像信号506)から画像データ508が生成される。処理の詳細は、図5により上述したとおりである。図5との相違点は、画像処理パラメータによる画像処理部7bの設定が省略されている点である。
図11は、第3実施形態による画像処理アプリケーションの機能構成例を説明するブロック図である。尚、図11に示される各機能は、図6に示したCPU601がRAM603にロードされた所定の制御プログラムを実行することにより実現されるものである。上述したように、画像処理アプリケーションにおいても、高次のマトリクス演算処理を実行することは可能であるが、その計算(処理)に時間がかかってしまう。そこで、本実施形態においても、画像処理アプリケーションにおいても、マトリクス係数1110から上述したような3次元の格子点データテーブル(3DGT1114)を作成することによって、その処理時間を短縮する。
例えば、33格子点の格子点テーブルならば、33×33×33=35937ポイント分の計算をRGBで行うことによって3次元格子点テーブルを作り出すことが出来る。1000万画素のデータを全てマトリクス演算することを考えると、300分の1の時間で終わる。その後、3次元格子点テーブルによって変換を行っていくことによって、計算時間を短くすることが出来る。
しかしながら、3次元の格子点テーブルをデータとして持とうとした場合、16Bit精度で格納すると、210KByteを超えてしまう。そして、このようなデータを複数個カメラ内のメモリに保存しておき、撮影データごとに全て書き込んでおくとすると、画像ファイルの書き込みに非常に時間がかってしまう。
そこで、3DGT展開部1111は、RAWファイル1109のヘッダに格納されている高次のマトリクス係数1110を用いて3次元格子点データテーブルの各格子点データを算出する。又、3DGT編集部1113は、RAWファイル1109のヘッダに格納されている編集データ1112に基づいて、3次元格子点データテーブルの局所的な格子点データの書き換え(編集)を行う。デジタルカメラの3DGT編集部504と同様に、編集データが示す色度点、色相角の範囲、色相角の変化量に従って、3次元格子点データテーブルの格子点データを編集する。尚、編集データは、色度点、色相の範囲、色相角の変化量の組(編集指示)を複数含んでいてもよい。この場合、3DGT編集部1113は、編集データに含まれる複数の編集指示を順次取り出し、格子点データを編集していく。
こうして3次元格子点データテーブル1114が生成されると、画像処理部1116はRAWファイル1109に含まれているRAWデータ1115に対して上記画像処理部7bと同様の現像処理を施す。そして、得られた画像データは3次元格子点データテーブル1114によって処理され、処理された画像1117が得られる。
尚、本実施形態の情報処理装置は、画像調整のためのユーザインタフェースを提供し、ユーザによる画像調整の指示を受け付けることができる。
画像調整部1118は、画像1117をディスプレイ605に表示すると共に、画像調整用(編集操作用)のユーザインターフェースを表示する。ユーザはこのユーザインターフェースにより、編集すべき所望の色とその変換後の色、及び当該調整を影響させるべき色範囲を指定することができる。色の指定の手段としては、色度点を指定し、色相、彩度、輝度に関して全ての属性で指定をすることも可能であれば、色相のみを指定して、その色相を含む全ての色を調整することも可能である。画像調整部1118は、ユーザインターフェースを介して入力されたユーザの調整操作に応じて、3次元格子点データテーブル1114を変更する。3次元格子点データテーブル1114が変更されると、RAWデータ1115に対する画像処理に直ちに反映され、調整結果としての画像1117がリアルタイムに得られる。この調整後の画像1117をディスプレイ605に表示させることにより、ユーザは直ちに編集結果を把握できる。
画像調整部1118は更に編集データ生成部1119に調整内容を通知する。編集データ生成部1119は、通知された調整内容に基づいて編集データを生成する。そして、画像調整を終えると、編集データ生成部1119は、今回の調整操作に応じて生成された編集データを、編集データ1112に追加し、新たな編集データを生成する。そして、マトリクス係数1110と新たな編集データを対にして保持する。このマトリクス係数1110と新たな編集データの対は、デジタルカメラの画像特性保持部1000に登録し、利用することができる。尚、編集データの存在しない状態であれば、今回の調整操作に応じて生成された編集データが、マトリクス係数1110に対応付けて登録されることになる。
以上の画像処理アプリケーションの動作を図12のフローチャートを用いて説明する。
ステップS1201において、画像処理アプリケーションは、RAWファイルを選択させるためのユーザインターフェースを提供し、ユーザに所望のRAWファイルを選択させる。そして、選択されたRAWファイル1109のヘッダからマトリクス係数1110と編集データ1112を取得する。
ステップS1202では、3DGT展開部1111が取得されたマトリクス係数1110を用いて3次元格子点データテーブルの格子点データを算出する。ステップS1203で、3DGT編集部1113は、ステップS1201で取得された編集データ1112を用いて、ステップS1202で算出された3次元格子点データテーブルの格子点データを書き換え、3次元格子点データテーブル1114をセットする。ステップS1204において、画像処理部1116は、RAWファイルからRAWデータ1115を取得し、RAWデータ1115に対してデジタルカメラ内の画像処理部7bと同様の処理を施し、画像データを出力する。そして、3次元格子点データテーブル1114によって、画像処理部1116から得られた画像データに変換処理を加えることにより、画像1117が得られる。画像1117は、例えばディスプレイ605に表示される。
次に、ユーザにより調整操作が指示されると、処理はステップS1205からステップS1206へ進む。ステップS1206において、画像調整部1118は3次元格子点データテーブル1114に、指示された調整内容を反映させる。また、ステップS1207において、その調整内容を編集データ生成部1119に通知する。編集データ生成部1119は、通知された調整内容を示す編集データを生成する。
その後、ユーザから調整操作の完了が指示されると、処理はステップS1208からステップS1209へ進む。ステップS1209では、編集データ生成部1119が、RAWファイル1109から取得した編集データ1112に、ステップS1207で生成した編集データをマージして新たな編集データを生成する。そして、ステップS1210において、RAWファイル1109から取得されたマトリクス係数1110と、ステップS1209で生成した新たな編集データをペアにして、新たなパラメータとして保持する。
以上のように、第3実施形態によれば、3次元格子点データテーブルの元となるマトリクス係数と、3次元格子点データテーブルの格子点データの書き換えを可能にする編集データとの組が保持される。そして、編集データに基づいて3次元格子点データの編集を行うので、カメラ内のメモリ使用量を減らすとともに、目標に対し精度の良い色再現が可能になる。
尚、マトリクス係数からは、必要に応じた格子点数の格子点テーブルを作り出すことが出来る。例えば、カメラ内の3次元格子点テーブルは9×9×9格子点しかない場合でも、アプリケーションでは精度を下げる必要はなく、33×33×33格子点で3次元格子点テーブルを作り出すことが出来る。色再現に精度の差は現れることにはなるが、マトリクス係数の有効な使い方である。
[第4実施形態]
次に、第4実施形態を説明する。図13は、第4実施形態に係るデジタルカメラの画像処理を説明するブロック図である。
デジタルカメラは、カメラ自身で現像処理をし、JPEGデータを生成する場合と、RAWデータと呼ばれる、主だった画像処理を行わず、CCDやCMOSセンサの出力の画素配列のままデータ化したものがある。このRAWデータに対する画像処理アプリケーションの処理は、カメラ内の画像処理とまったく同じである場合もあるが、特にその必要は無い。デジタルカメラのハードウエアでは実現できない画像処理をアプリケーション上で達成させ、よりよい画像を提供することができる。第3実施形態で述べた、アプリケーションソフトでは3次元格子点データの格子点数をカメラのハードウエアと同じにする必要がないこともその一つとしてあげられる。
しかしながら、アプリケーションソフトでは、ビット精度は簡単に上げられるが、処理速度は、明らかにハードウエアより遅くなる。そこで、ハードウエアとは別の手法で高速化を行い、さらに不都合を改善するといった処置を施すことによって、デジタルカメラ内部の画像処理と異なる画像処理を行うことができる。このように、画像処理アプリケーションとデジタルカメラ内部の画像処理が異なる場合、デジタルカメラ内部に格納している3次元格子点データテーブルもしくは高次のマトリクス係数をそのまま用いたのでは異なった画像処理結果となってしまう可能性がある。
そこで、デジタルカメラ本体で撮影され、画像処理処理されたJPEG画像と同じ画像を得るために、第4実施形態では、図13に示すように、画像特性保持部1300を用いる。画像特性保持部1300は、デジタルカメラ内部用の3次元格子点テーブルデータとアプリケーションソフト用の3次元格子点テーブルデータの元になる高次のマトリクス係数と編集データを関連付けて格納している。デジタルカメラでは、3DGT編集部504が、画像特性保持部1300から選択された3次元格子点データ(3DGTデータ1310)に対し、対応する編集データ1303に従って編集を加える。そして、編集された格子点データを用いて3次元格子点データテーブル7eが決定される。
また、RAWファイルを生成する場合は、デジタルカメラは、上記選択された3DGTデータ1310に対応するマトリクス係数と編集データをヘッダに格納する。情報処理装置は、第3実施形態で説明したように、RAWファイルのヘッダから取得されたマトリクス係数と編集データにより格子点データテーブルを生成し、画像処理に用いる。
以上のように、第4実施形態によれば、異なる画像処理方法に対しても、一対になった3次元格子点データと高次のマトリクス係数と、3次元格子点データテーブルの局所的な編集を示す編集データから同じ色再現の画像を得ることが可能になる。
尚、デジタルカメラ内の画像処理と画像処理アプリケーションによる画像処理との差を吸収するために編集データを用いることも可能である。この場合、画像特性保持部1300が保持する画像特性はマトリクス係数と編集データの対となる。そして、デジタルカメラ側では、編集データを用いることなく、マトリクス係数から算出された3次元格子点データテーブルをそのまま用いる。一方、画像処理アプリケーションでは、当該マトリクス係数から算出された3次元格子点データテーブルに編集データによる編集処理を施す。このような構成において、編集データによる編集内容を、デジタルカメラ内の画像処理と画像処理アプリケーションによる画像処理との差を吸収するためのものとすれば、両画像処理の差異を吸収することが可能となる。
尚、上記各実施形態において、3次元格子点データテーブルのデータは、「Red、Green、Blue」、「Y.U.V」、「L*、a*、b*」、「X、Y、Z」等のいかなる色空間を対象としたものであっても良い。
また、上記実施形態では、1組のマトリクス係数と1組の編集データを対にしたがこれに限られるものではない。即ち、1組のマトリクス係数に複数の編集データを対応付けるようにしてもよいし、1つの編集データに複数のマトリクス係数を対応付けるようにしてもよい。
また、上記実施形態では、情報処理装置において稼動する画像処理アプリケーション(画像調整部718、編集データ生成部719)により編集データを作成したが、これに限られるものではない。例えば、上記画像処理アプリケーションと同じ機能をデジタルカメラに搭載することによって、デジタルカメラ本体の背面液晶を用いて色の調整等を行い、編集データを生成するように構成しても良い。
[他の実施形態]
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
第1実施形態に係るデジタルカメラの構成例を示すブロック図である。 第1実施形態に係るデジタルカメラにおける画像処理部の詳細を示すブロック図である。 第1実施形態に係る画像処理の色補間を示す図である。 第1実施形態の格子点データテーブルにおける格子点データを説明する図である。 第1実施形態のデジタルカメラによるRAWデータ処理の流れを示すブロック図である。 第1実施形態の情報処理装置の構成例を示すブロック図である。 第1実施形態の情報処理装置におけるRAWデータ処理の流れを示すブロック図である。 第1実施形態によるデジタルカメラの画像処理を説明するフローチャートである。 第1実施形態による画像特性の生成処理を説明するフローチャートである。 第3実施形態に係るデジタルカメラの画像処理を説明する図である。 第3実施形態に係る情報処理装置による画像処理を説明する図である。 第3実施形態による画像処理アプリケーションの画像処理を説明するフローチャートである。 第4実施形態に係るデジタルカメラの画像処理を説明する図である。

Claims (20)

  1. 次元格子点データテーブルの元となるマトリクス係数と、3次元格子点データテーブルの格子点データを編集する編集データを保持する保持手段と、
    前記マトリクス係数を用いたマトリクス演算を行うことによって、前記3次元格子点データテーブルの格子点データを算出する算出手段と、
    前記編集データに基づいて前記算出手段で算出された前記3次元格子点データテーブルの格子点データを編集する編集手段と、
    前記編集手段により編集された前記3次元格子点データテーブルを用いて、撮影により取得された画像データを処理する処理手段と
    前記画像データ、前記編集データ及び前記マトリクス係数を含む画像ファイルを生成する生成手段とを備えることを特徴とする撮像装置。
  2. 前記編集データは、編集対象の色を示す色空間における目標値と、編集処理の影響が及ぶ色空間における範囲を示す影響範囲と、編集処理による色空間における変更の方向及び大きさを示す変更量を含み、
    前記編集手段は、前記色空間において、前記目標値を中心とした前記影響範囲の色が、前記変更量で示されるように変化するように、前記3次元格子点データテーブルの格子点データを編集することを特徴とする請求項1に記載の撮像装置。
  3. 前記目標値は色度点によって示され、前記影響範囲は色相角の範囲によって示され、前記変更量は色相角度の変化量、彩度の増減量及び明度の増減量の少なくともいずれかによって示されることを特徴とする請求項2に記載の撮像装置。
  4. 前記3次元格子点データテーブルは、前記処理手段のホワイトバランス処理後で、圧縮処理の前に位置することを特徴とする請求項1乃至3のいずれか1項に記載の撮像装置。
  5. 前記画像データはRAWデータであることを特徴とする請求項1乃至4のいずれか1項に記載の撮像装置。
  6. RAWデータを画像データへ現像するための画像処理手段を更に有し、
    前記保持手段は、更に、前記画像処理手段に設定する画像処理パラメータを保持することを特徴とする請求項1乃至5のいずれか1項に記載の撮像装置。
  7. 前記保持手段は、マトリクス係数と編集データと画像処理パラメータを1つのパラメータセットとした複数のパラメータセットを保持し、
    前記3次元格子点データテーブルの生成と前記画像処理手段の設定に用いるべきパラメータセットを、前記保持手段に保持された複数のパラメータセットから、ユーザに選択させる選択手段を更に備えることを特徴とする請求項6に記載の撮像装置。
  8. 前記画像処理手段に設定される前記画像処理パラメータは、少なくとも前記画像処理手段によって得られる画像の輝度特性を決定することを特徴とする請求項6または7に記載の撮像装置。
  9. トリクス係数と、3次元格子点データと、3次元格子点データテーブルの格子点データを編集する編集データとを関連付けて保持する保持手段と、
    前記3次元格子点データを用いて3次元格子点データテーブルを設定する設定手段と、
    前記編集データに基づいて前記設定手段で設定された前記3次元格子点データテーブルの格子点データを編集する編集手段と、
    前記編集手段により編集された前記3次元格子点データテーブルを用いて、撮影により取得された画像データを処理する処理手段と、
    前記画像データ、前記編集手段により編集された前記3次元格子点データに関連付けられている前記マトリクス係数および前記編集データをむ画像ファイルを生成する生成手段とを備えることを特徴とする撮像装置。
  10. 前記画像データはRAWデータであり、前記画像ファイルは前記RAWデータを含むRAWファイルであることを特徴とする請求項9に記載の撮像装置。
  11. 画像データを含む画像ファイルから3次元格子点データテーブルの元となるマトリクス係数と、3次元格子点データテーブルの格子点データを編集する編集データを取得する取得手段と、
    前記マトリクス係数を用いたマトリクス演算を行うことによって、3次元格子点データテーブルの格子点データを算出する算出手段と、
    前記編集データに基づいて前記算出手段で算出された前記3次元格子点データテーブルの格子点データを編集する編集手段と、
    前記編集手段により編集された前記3次元格子点データテーブルを用いて、前記画像ファイル画像データを画像処理する処理手段とを備えることを特徴とする情報処理装置。
  12. 前記画像データはRAWデータであり、前記画像ファイルは前記RAWデータを含むRAWファイルであることを特徴とする請求項11に記載の情報処理装置。
  13. 前記処理手段は、RAWデータを画像データへ現像する現像手段を更に有し、
    前記取得手段は、更に、前記現像手段に設定する画像処理パラメータを取得することを特徴とする請求項11に記載の情報処理装置。
  14. マトリクス係数と編集データと画像処理パラメータを1つのパラメータセットとした複数のパラメータセットを保持する保持手段を更に備え、
    前記取得手段は、取得すべきパラメータセットを、前記保持手段に保持された複数のパラメータセットから、ユーザに選択させる選択手段を有することを特徴とする請求項11に記載の情報処理装置。
  15. 前記現像手段に設定される前記画像処理パラメータは、少なくとも前記処理手段によって得られる画像の輝度特性を決定することを特徴とする請求項13に記載の情報処理装置。
  16. 像装置による画像処理方法であって、
    保持手段が、3次元格子点データテーブルの元となるマトリクス係数と、3次元格子点データテーブルの格子点データを編集する編集データをメモリに保持する保持工程と、
    算出手段が、前記マトリクス係数を用いたマトリクス演算を行うことによって、前記3次元格子点データテーブルの格子点データを算出する算出工程と、
    編集手段が、前記編集データに基づいて前記算出工程で算出された前記3次元格子点データテーブルの格子点データを編集する編集工程と、
    処理手段が、前記編集工程により編集された前記3次元格子点データテーブルを用いて、撮影により取得された画像データを処理する処理工程と
    生成手段が、前記画像データ、前記編集データ及び前記マトリクス係数を含む画像ファイルを生成する生成工程とを備えることを特徴とする画像処理方法。
  17. 像装置による画像処理方法であって、
    保持手段が、マトリクス係数と、3次元格子点データと、3次元格子点データテーブルの格子点データを編集する編集データとを関連付けてメモリに保持する保持工程と、
    設定手段が、前記3次元格子点データを用いて3次元格子点データテーブルを設定する設定工程と、
    編集手段が、前記編集データに基づいて前記設定工程で設定された前記3次元格子点データテーブルの格子点データを編集する編集工程と、
    処理手段が、前記編集工程により編集された前記3次元格子点データテーブルを用いて、撮影により取得された画像データを処理する処理工程と、
    生成手段が、前記画像データ、前記編集手段により編集された前記3次元格子点データに関連付けられている前記マトリクス係数および前記編集データをむ画像ファイルを生成する生成工程とを備えることを特徴とする画像処理方法。
  18. 報処理装置の画像処理方法であって、
    取得手段が、画像データを含む画像ファイルから3次元格子点データテーブルの元となるマトリクス係数と、3次元格子点データテーブルの格子点データを編集する編集データを取得する取得工程と、
    算出手段が、前記マトリクス係数を用いたマトリクス演算を行うことによって、3次元格子点データテーブルの格子点データを算出する算出工程と、
    編集手段が、前記編集データに基づいて前記算出工程で算出された前記3次元格子点データテーブルの格子点データを編集する編集工程と、
    処理手段が、前記編集工程により編集された前記3次元格子点データテーブルを用いて、前記画像ファイル内の画像データを画像処理する処理工程とを備えることを特徴とする画像処理方法。
  19. 請求項16乃至18のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのプログラム。
  20. 請求項19に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2007327994A 2007-02-09 2007-12-19 撮像装置、情報処理装置及びそれらの画像処理方法 Active JP5248849B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007327994A JP5248849B2 (ja) 2007-02-09 2007-12-19 撮像装置、情報処理装置及びそれらの画像処理方法
US12/027,864 US8334910B2 (en) 2007-02-09 2008-02-07 Image capturing apparatus, information processing apparatus, and control methods thereof

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2007031280 2007-02-09
JP2007031280 2007-02-09
JP2007050196 2007-02-28
JP2007050196 2007-02-28
JP2007327994A JP5248849B2 (ja) 2007-02-09 2007-12-19 撮像装置、情報処理装置及びそれらの画像処理方法

Publications (2)

Publication Number Publication Date
JP2008245246A JP2008245246A (ja) 2008-10-09
JP5248849B2 true JP5248849B2 (ja) 2013-07-31

Family

ID=39915970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007327994A Active JP5248849B2 (ja) 2007-02-09 2007-12-19 撮像装置、情報処理装置及びそれらの画像処理方法

Country Status (1)

Country Link
JP (1) JP5248849B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5873380B2 (ja) 2012-04-11 2016-03-01 キヤノン株式会社 画像処理装置およびその制御方法
JP7077698B2 (ja) * 2018-03-20 2022-05-31 株式会社Jvcケンウッド 撮像装置、撮像方法及び撮像プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3950822B2 (ja) * 2002-08-08 2007-08-01 キヤノン株式会社 撮像装置、撮像方法、制御プログラム及びコンピュータ可読メモリ
JP2004112694A (ja) * 2002-09-20 2004-04-08 Fuji Xerox Co Ltd 色調整方法、色調整装置、色変換定義編集装置、画像処理装置、プログラム、記憶媒体
JP2005094565A (ja) * 2003-09-19 2005-04-07 Fuji Xerox Co Ltd 画像処理装置および画像形成装置
JP4182023B2 (ja) * 2004-04-05 2008-11-19 キヤノン株式会社 色処理装置およびその方法
JP2005192197A (ja) * 2003-12-04 2005-07-14 Canon Inc 撮像装置、撮像方法、記録媒体及びプログラム及び表示装置
JP4328610B2 (ja) * 2003-12-15 2009-09-09 キヤノン株式会社 撮像装置
JP2006222783A (ja) * 2005-02-10 2006-08-24 Seiko Epson Corp 色変換テーブルの作成
JP2006262451A (ja) * 2005-02-18 2006-09-28 Canon Inc 画像記録装置及び方法

Also Published As

Publication number Publication date
JP2008245246A (ja) 2008-10-09

Similar Documents

Publication Publication Date Title
JP4298253B2 (ja) 画像処理方法及び装置、及び撮像装置
JP5014099B2 (ja) 撮像装置及びその制御方法
JP4721415B2 (ja) 撮像装置、情報処理装置、情報処理システム及び画像処理方法並びに制御プログラム及びコンピュータ読み取り可能な記憶媒体
JP2005275977A (ja) 画像表示方法、画像表示装置及び画像表示プログラム
US20050219580A1 (en) Image processing method, image processing system, image processing apparatus and image processing program
JP2004120544A (ja) 画像編集装置、画像編集プログラム並びに画像編集方法
US20050238227A1 (en) Image processing apparatus, image processing method, program thereof, and recording medium
US20020140827A1 (en) Image processing apparatus and image reproducing apparatus
JP4618803B2 (ja) 画像処理用ファイル設定システム
US8334910B2 (en) Image capturing apparatus, information processing apparatus, and control methods thereof
JP4115177B2 (ja) 画像処理方法、画像処理装置、及び画像処理プログラム
US8094205B2 (en) Imaging apparatus, image processing method and computer program for smoothing dynamic range of luminance of an image signal, color conversion process
JP2009282860A (ja) 未現像画像データの現像処理装置、現像処理方法、および現像処理のためのコンピュータプログラム
JP4006431B2 (ja) 画像処理方法及び画像処理装置
JP5248849B2 (ja) 撮像装置、情報処理装置及びそれらの画像処理方法
JP2004080099A (ja) 撮像装置及び画像処理方法
JP4875833B2 (ja) 撮像装置、画像処理装置、画像処理システム、及び画像処理方法
JP2004056641A (ja) 画像ファイル編集方法、画像ファイル編集装置、及び画像ファイル編集プログラム
JP2007013475A (ja) 画像処理装置および方法
JP4402488B2 (ja) 画像処理装置
JP2004287794A (ja) 画像処理装置
JP4743922B2 (ja) パラメータ設定システム、撮像装置、それらの制御方法、制御プログラム及びコンピュータ読み取り可能な記憶媒体
JP4455110B2 (ja) 画像処理装置、画像処理システム、及び画像処理方法
JP5138057B2 (ja) 撮像装置及び情報処理装置及び画像処理方法
JP4750639B2 (ja) 情報処理装置及び画像処理パラメータ編集方法、並びに撮像装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130411

R151 Written notification of patent or utility model registration

Ref document number: 5248849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3